@kazupon/eslint-config 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +15 -12
  2. package/dist/config.d.cts +6 -1
  3. package/dist/config.d.ts +6 -1
  4. package/dist/configs/comments.d.cts +14 -3
  5. package/dist/configs/comments.d.ts +14 -3
  6. package/dist/configs/index.d.cts +1 -0
  7. package/dist/configs/index.d.ts +1 -0
  8. package/dist/configs/javascript.d.cts +14 -3
  9. package/dist/configs/javascript.d.ts +14 -3
  10. package/dist/configs/jsdoc.d.cts +24 -4
  11. package/dist/configs/jsdoc.d.ts +24 -4
  12. package/dist/configs/jsonc.d.cts +36 -6
  13. package/dist/configs/jsonc.d.ts +36 -6
  14. package/dist/configs/prettier.d.cts +14 -3
  15. package/dist/configs/prettier.d.ts +14 -3
  16. package/dist/configs/promise.d.cts +15 -0
  17. package/dist/configs/promise.d.ts +15 -0
  18. package/dist/configs/regexp.d.cts +14 -3
  19. package/dist/configs/regexp.d.ts +14 -3
  20. package/dist/configs/typescript.d.cts +33 -6
  21. package/dist/configs/typescript.d.ts +33 -6
  22. package/dist/configs/unicorn.d.cts +14 -3
  23. package/dist/configs/unicorn.d.ts +14 -3
  24. package/dist/configs/vue.d.cts +17 -3
  25. package/dist/configs/vue.d.ts +17 -3
  26. package/dist/configs/yml.d.cts +18 -3
  27. package/dist/configs/yml.d.ts +18 -3
  28. package/dist/globs.d.cts +9 -9
  29. package/dist/globs.d.ts +9 -9
  30. package/dist/index.cjs +18 -3
  31. package/dist/index.d.cts +1 -0
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.js +18 -4
  34. package/dist/types/gens/comments.d.cts +65 -0
  35. package/dist/types/gens/comments.d.ts +65 -0
  36. package/dist/types/gens/eslint.d.cts +17 -0
  37. package/dist/types/gens/eslint.d.ts +17 -0
  38. package/dist/types/gens/javascript.d.cts +3162 -0
  39. package/dist/types/gens/javascript.d.ts +3162 -0
  40. package/dist/types/gens/jsdoc.d.cts +744 -0
  41. package/dist/types/gens/jsdoc.d.ts +744 -0
  42. package/dist/types/gens/jsonc.d.cts +513 -0
  43. package/dist/types/gens/jsonc.d.ts +513 -0
  44. package/dist/types/gens/prettier.d.cts +2 -0
  45. package/dist/types/gens/prettier.d.ts +2 -0
  46. package/dist/types/gens/promise.d.cts +107 -0
  47. package/dist/types/gens/promise.d.ts +107 -0
  48. package/dist/types/gens/regexp.d.cts +553 -0
  49. package/dist/types/gens/regexp.d.ts +553 -0
  50. package/dist/types/gens/typescript.d.cts +2253 -0
  51. package/dist/types/gens/typescript.d.ts +2253 -0
  52. package/dist/types/gens/unicorn.d.cts +905 -0
  53. package/dist/types/gens/unicorn.d.ts +905 -0
  54. package/dist/types/gens/vue.d.cts +2465 -0
  55. package/dist/types/gens/vue.d.ts +2465 -0
  56. package/dist/types/gens/yml.d.cts +375 -0
  57. package/dist/types/gens/yml.d.ts +375 -0
  58. package/dist/types/index.d.cts +14 -0
  59. package/dist/types/index.d.ts +14 -0
  60. package/dist/types/overrides.d.cts +6 -0
  61. package/dist/types/overrides.d.ts +6 -0
  62. package/dist/types/utils.d.cts +4 -0
  63. package/dist/types/utils.d.ts +4 -0
  64. package/dist/utils.d.cts +22 -1
  65. package/dist/utils.d.ts +22 -1
  66. package/package.json +9 -2
@@ -0,0 +1,744 @@
1
+ import type { Linter } from 'eslint';
2
+ export interface JsdocRules {
3
+ /**
4
+ * Checks that `@access` tags have a valid value.
5
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header
6
+ */
7
+ 'jsdoc/check-access'?: Linter.RuleEntry<[]>;
8
+ /**
9
+ * Reports invalid alignment of JSDoc block asterisks.
10
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-alignment.md#repos-sticky-header
11
+ */
12
+ 'jsdoc/check-alignment'?: Linter.RuleEntry<[]>;
13
+ /**
14
+ * Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.
15
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
16
+ */
17
+ 'jsdoc/check-examples'?: Linter.RuleEntry<JsdocCheckExamples>;
18
+ /**
19
+ * Reports invalid padding inside JSDoc blocks.
20
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-indentation.md#repos-sticky-header
21
+ */
22
+ 'jsdoc/check-indentation'?: Linter.RuleEntry<JsdocCheckIndentation>;
23
+ /**
24
+ * Reports invalid alignment of JSDoc block lines.
25
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-line-alignment.md#repos-sticky-header
26
+ */
27
+ 'jsdoc/check-line-alignment'?: Linter.RuleEntry<JsdocCheckLineAlignment>;
28
+ /**
29
+ * Ensures that parameter names in JSDoc match those in the function declaration.
30
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
31
+ */
32
+ 'jsdoc/check-param-names'?: Linter.RuleEntry<JsdocCheckParamNames>;
33
+ /**
34
+ * Ensures that property names in JSDoc are not duplicated on the same block and that nested properties have defined roots.
35
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-property-names.md#repos-sticky-header
36
+ */
37
+ 'jsdoc/check-property-names'?: Linter.RuleEntry<JsdocCheckPropertyNames>;
38
+ /**
39
+ * Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode).
40
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-syntax.md#repos-sticky-header
41
+ */
42
+ 'jsdoc/check-syntax'?: Linter.RuleEntry<[]>;
43
+ /**
44
+ * Reports invalid block tag names.
45
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md#repos-sticky-header
46
+ */
47
+ 'jsdoc/check-tag-names'?: Linter.RuleEntry<JsdocCheckTagNames>;
48
+ /**
49
+ * Reports invalid types.
50
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
51
+ */
52
+ 'jsdoc/check-types'?: Linter.RuleEntry<JsdocCheckTypes>;
53
+ /**
54
+ * This rule checks the values for a handful of tags: `@version`, `@since`, `@license` and `@author`.
55
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-values.md#repos-sticky-header
56
+ */
57
+ 'jsdoc/check-values'?: Linter.RuleEntry<JsdocCheckValues>;
58
+ /**
59
+ * Expects specific tags to be empty of any content.
60
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
61
+ */
62
+ 'jsdoc/empty-tags'?: Linter.RuleEntry<JsdocEmptyTags>;
63
+ /**
64
+ * Reports an issue with any non-constructor function using `@implements`.
65
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
66
+ */
67
+ 'jsdoc/implements-on-classes'?: Linter.RuleEntry<JsdocImplementsOnClasses>;
68
+ /**
69
+ * Reports if JSDoc `import()` statements point to a package which is not listed in `dependencies` or `devDependencies`
70
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/imports-as-dependencies.md#repos-sticky-header
71
+ */
72
+ 'jsdoc/imports-as-dependencies'?: Linter.RuleEntry<[]>;
73
+ /**
74
+ * This rule reports doc comments that only restate their attached name.
75
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/informative-docs.md#repos-sticky-header
76
+ */
77
+ 'jsdoc/informative-docs'?: Linter.RuleEntry<JsdocInformativeDocs>;
78
+ /**
79
+ * Enforces a regular expression pattern on descriptions.
80
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-description.md#repos-sticky-header
81
+ */
82
+ 'jsdoc/match-description'?: Linter.RuleEntry<JsdocMatchDescription>;
83
+ /**
84
+ * Reports the name portion of a JSDoc tag if matching or not matching a given regular expression.
85
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-name.md#repos-sticky-header
86
+ */
87
+ 'jsdoc/match-name'?: Linter.RuleEntry<JsdocMatchName>;
88
+ /**
89
+ * Controls how and whether jsdoc blocks can be expressed as single or multiple line blocks.
90
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
91
+ */
92
+ 'jsdoc/multiline-blocks'?: Linter.RuleEntry<JsdocMultilineBlocks>;
93
+ /**
94
+ * This rule checks for multi-line-style comments which fail to meet the criteria of a jsdoc block.
95
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
96
+ */
97
+ 'jsdoc/no-bad-blocks'?: Linter.RuleEntry<JsdocNoBadBlocks>;
98
+ /**
99
+ * Detects and removes extra lines of a blank block description
100
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
101
+ */
102
+ 'jsdoc/no-blank-block-descriptions'?: Linter.RuleEntry<[]>;
103
+ /**
104
+ * Removes empty blocks with nothing but possibly line breaks
105
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-blocks.md#repos-sticky-header
106
+ */
107
+ 'jsdoc/no-blank-blocks'?: Linter.RuleEntry<JsdocNoBlankBlocks>;
108
+ /**
109
+ * This rule reports defaults being used on the relevant portion of `@param` or `@default`.
110
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-defaults.md#repos-sticky-header
111
+ */
112
+ 'jsdoc/no-defaults'?: Linter.RuleEntry<JsdocNoDefaults>;
113
+ /**
114
+ * Reports when certain comment structures are always expected.
115
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-missing-syntax.md#repos-sticky-header
116
+ */
117
+ 'jsdoc/no-missing-syntax'?: Linter.RuleEntry<JsdocNoMissingSyntax>;
118
+ /**
119
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-multi-asterisks.md#repos-sticky-header
120
+ */
121
+ 'jsdoc/no-multi-asterisks'?: Linter.RuleEntry<JsdocNoMultiAsterisks>;
122
+ /**
123
+ * Reports when certain comment structures are present.
124
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-restricted-syntax.md#repos-sticky-header
125
+ */
126
+ 'jsdoc/no-restricted-syntax'?: Linter.RuleEntry<JsdocNoRestrictedSyntax>;
127
+ /**
128
+ * This rule reports types being used on `@param` or `@returns`.
129
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
130
+ */
131
+ 'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>;
132
+ /**
133
+ * Checks that types in jsdoc comments are defined.
134
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
135
+ */
136
+ 'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>;
137
+ /**
138
+ * Requires that each JSDoc line starts with an `*`.
139
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
140
+ */
141
+ 'jsdoc/require-asterisk-prefix'?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>;
142
+ /**
143
+ * Requires that all functions have a description.
144
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
145
+ */
146
+ 'jsdoc/require-description'?: Linter.RuleEntry<JsdocRequireDescription>;
147
+ /**
148
+ * Requires that block description, explicit `@description`, and `@param`/`@returns` tag descriptions are written in complete sentences.
149
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description-complete-sentence.md#repos-sticky-header
150
+ */
151
+ 'jsdoc/require-description-complete-sentence'?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>;
152
+ /**
153
+ * Requires that all functions have examples.
154
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
155
+ */
156
+ 'jsdoc/require-example'?: Linter.RuleEntry<JsdocRequireExample>;
157
+ /**
158
+ * Checks that all files have one `@file`, `@fileoverview`, or `@overview` tag at the beginning of the file.
159
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-file-overview.md#repos-sticky-header
160
+ */
161
+ 'jsdoc/require-file-overview'?: Linter.RuleEntry<JsdocRequireFileOverview>;
162
+ /**
163
+ * Requires a hyphen before the `@param` description.
164
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
165
+ */
166
+ 'jsdoc/require-hyphen-before-param-description'?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>;
167
+ /**
168
+ * Require JSDoc comments
169
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
170
+ */
171
+ 'jsdoc/require-jsdoc'?: Linter.RuleEntry<JsdocRequireJsdoc>;
172
+ /**
173
+ * Requires that all function parameters are documented.
174
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
175
+ */
176
+ 'jsdoc/require-param'?: Linter.RuleEntry<JsdocRequireParam>;
177
+ /**
178
+ * Requires that each `@param` tag has a `description` value.
179
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-description.md#repos-sticky-header
180
+ */
181
+ 'jsdoc/require-param-description'?: Linter.RuleEntry<JsdocRequireParamDescription>;
182
+ /**
183
+ * Requires that all function parameters have names.
184
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
185
+ */
186
+ 'jsdoc/require-param-name'?: Linter.RuleEntry<JsdocRequireParamName>;
187
+ /**
188
+ * Requires that each `@param` tag has a `type` value.
189
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
190
+ */
191
+ 'jsdoc/require-param-type'?: Linter.RuleEntry<JsdocRequireParamType>;
192
+ /**
193
+ * Requires that all `@typedef` and `@namespace` tags have `@property` when their type is a plain `object`, `Object`, or `PlainObject`.
194
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property.md#repos-sticky-header
195
+ */
196
+ 'jsdoc/require-property'?: Linter.RuleEntry<[]>;
197
+ /**
198
+ * Requires that each `@property` tag has a `description` value.
199
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-description.md#repos-sticky-header
200
+ */
201
+ 'jsdoc/require-property-description'?: Linter.RuleEntry<[]>;
202
+ /**
203
+ * Requires that all function `@property` tags have names.
204
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
205
+ */
206
+ 'jsdoc/require-property-name'?: Linter.RuleEntry<[]>;
207
+ /**
208
+ * Requires that each `@property` tag has a `type` value.
209
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
210
+ */
211
+ 'jsdoc/require-property-type'?: Linter.RuleEntry<[]>;
212
+ /**
213
+ * Requires that returns are documented.
214
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
215
+ */
216
+ 'jsdoc/require-returns'?: Linter.RuleEntry<JsdocRequireReturns>;
217
+ /**
218
+ * Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment.
219
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
220
+ */
221
+ 'jsdoc/require-returns-check'?: Linter.RuleEntry<JsdocRequireReturnsCheck>;
222
+ /**
223
+ * Requires that the `@returns` tag has a `description` value.
224
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
225
+ */
226
+ 'jsdoc/require-returns-description'?: Linter.RuleEntry<JsdocRequireReturnsDescription>;
227
+ /**
228
+ * Requires that `@returns` tag has `type` value.
229
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
230
+ */
231
+ 'jsdoc/require-returns-type'?: Linter.RuleEntry<JsdocRequireReturnsType>;
232
+ /**
233
+ * Requires that throw statements are documented.
234
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
235
+ */
236
+ 'jsdoc/require-throws'?: Linter.RuleEntry<JsdocRequireThrows>;
237
+ /**
238
+ * Requires yields are documented.
239
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
240
+ */
241
+ 'jsdoc/require-yields'?: Linter.RuleEntry<JsdocRequireYields>;
242
+ /**
243
+ * Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.
244
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
245
+ */
246
+ 'jsdoc/require-yields-check'?: Linter.RuleEntry<JsdocRequireYieldsCheck>;
247
+ /**
248
+ * Sorts tags by a specified sequence according to tag name.
249
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
250
+ */
251
+ 'jsdoc/sort-tags'?: Linter.RuleEntry<JsdocSortTags>;
252
+ /**
253
+ * Enforces lines (or no lines) between tags.
254
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
255
+ */
256
+ 'jsdoc/tag-lines'?: Linter.RuleEntry<JsdocTagLines>;
257
+ /**
258
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
259
+ */
260
+ 'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>;
261
+ /**
262
+ * Requires all types to be valid JSDoc or Closure compiler types without syntax errors.
263
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
264
+ */
265
+ 'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>;
266
+ }
267
+ type JsdocCheckExamples = [] | [
268
+ {
269
+ allowInlineConfig?: boolean;
270
+ baseConfig?: {
271
+ [k: string]: unknown | undefined;
272
+ };
273
+ captionRequired?: boolean;
274
+ checkDefaults?: boolean;
275
+ checkEslintrc?: boolean;
276
+ checkParams?: boolean;
277
+ checkProperties?: boolean;
278
+ configFile?: string;
279
+ exampleCodeRegex?: string;
280
+ matchingFileName?: string;
281
+ matchingFileNameDefaults?: string;
282
+ matchingFileNameParams?: string;
283
+ matchingFileNameProperties?: string;
284
+ noDefaultExampleRules?: boolean;
285
+ paddedIndent?: number;
286
+ rejectExampleCodeRegex?: string;
287
+ reportUnusedDisableDirectives?: boolean;
288
+ }
289
+ ];
290
+ type JsdocCheckIndentation = [] | [
291
+ {
292
+ excludeTags?: string[];
293
+ }
294
+ ];
295
+ type JsdocCheckLineAlignment = [] | [("always" | "never" | "any")] | [
296
+ ("always" | "never" | "any"),
297
+ {
298
+ customSpacings?: {
299
+ postDelimiter?: number;
300
+ postHyphen?: number;
301
+ postName?: number;
302
+ postTag?: number;
303
+ postType?: number;
304
+ };
305
+ preserveMainDescriptionPostDelimiter?: boolean;
306
+ tags?: string[];
307
+ wrapIndent?: string;
308
+ disableWrapIndent?: boolean;
309
+ }
310
+ ];
311
+ type JsdocCheckParamNames = [] | [
312
+ {
313
+ allowExtraTrailingParamDocs?: boolean;
314
+ checkDestructured?: boolean;
315
+ checkRestProperty?: boolean;
316
+ checkTypesPattern?: string;
317
+ disableExtraPropertyReporting?: boolean;
318
+ disableMissingParamChecks?: boolean;
319
+ enableFixer?: boolean;
320
+ useDefaultObjectProperties?: boolean;
321
+ }
322
+ ];
323
+ type JsdocCheckPropertyNames = [] | [
324
+ {
325
+ enableFixer?: boolean;
326
+ }
327
+ ];
328
+ type JsdocCheckTagNames = [] | [
329
+ {
330
+ definedTags?: string[];
331
+ enableFixer?: boolean;
332
+ jsxTags?: boolean;
333
+ typed?: boolean;
334
+ }
335
+ ];
336
+ type JsdocCheckTypes = [] | [
337
+ {
338
+ exemptTagContexts?: {
339
+ tag?: string;
340
+ types?: (boolean | string[]);
341
+ }[];
342
+ noDefaults?: boolean;
343
+ unifyParentAndChildTypeChecks?: boolean;
344
+ }
345
+ ];
346
+ type JsdocCheckValues = [] | [
347
+ {
348
+ allowedAuthors?: string[];
349
+ allowedLicenses?: (string[] | boolean);
350
+ licensePattern?: string;
351
+ numericOnlyVariation?: boolean;
352
+ }
353
+ ];
354
+ type JsdocEmptyTags = [] | [
355
+ {
356
+ tags?: string[];
357
+ }
358
+ ];
359
+ type JsdocImplementsOnClasses = [] | [
360
+ {
361
+ contexts?: (string | {
362
+ comment?: string;
363
+ context?: string;
364
+ })[];
365
+ }
366
+ ];
367
+ type JsdocInformativeDocs = [] | [
368
+ {
369
+ aliases?: {
370
+ [k: string]: string[];
371
+ };
372
+ excludedTags?: string[];
373
+ uselessWords?: string[];
374
+ }
375
+ ];
376
+ type JsdocMatchDescription = [] | [
377
+ {
378
+ contexts?: (string | {
379
+ comment?: string;
380
+ context?: string;
381
+ })[];
382
+ mainDescription?: (string | boolean | {
383
+ match?: (string | boolean);
384
+ message?: string;
385
+ });
386
+ matchDescription?: string;
387
+ message?: string;
388
+ nonemptyTags?: boolean;
389
+ tags?: {
390
+ [k: string]: (string | true | {
391
+ match?: (string | true);
392
+ message?: string;
393
+ });
394
+ };
395
+ }
396
+ ];
397
+ type JsdocMatchName = [] | [
398
+ {
399
+ match: {
400
+ allowName?: string;
401
+ comment?: string;
402
+ context?: string;
403
+ disallowName?: string;
404
+ message?: string;
405
+ tags?: string[];
406
+ [k: string]: unknown | undefined;
407
+ }[];
408
+ }
409
+ ];
410
+ type JsdocMultilineBlocks = [] | [
411
+ {
412
+ allowMultipleTags?: boolean;
413
+ minimumLengthForMultiline?: number;
414
+ multilineTags?: ("*" | string[]);
415
+ noFinalLineText?: boolean;
416
+ noMultilineBlocks?: boolean;
417
+ noSingleLineBlocks?: boolean;
418
+ noZeroLineText?: boolean;
419
+ singleLineTags?: string[];
420
+ }
421
+ ];
422
+ type JsdocNoBadBlocks = [] | [
423
+ {
424
+ ignore?: string[];
425
+ preventAllMultiAsteriskBlocks?: boolean;
426
+ }
427
+ ];
428
+ type JsdocNoBlankBlocks = [] | [
429
+ {
430
+ enableFixer?: boolean;
431
+ }
432
+ ];
433
+ type JsdocNoDefaults = [] | [
434
+ {
435
+ contexts?: (string | {
436
+ comment?: string;
437
+ context?: string;
438
+ })[];
439
+ noOptionalParamNames?: boolean;
440
+ }
441
+ ];
442
+ type JsdocNoMissingSyntax = [] | [
443
+ {
444
+ contexts?: (string | {
445
+ comment?: string;
446
+ context?: string;
447
+ message?: string;
448
+ minimum?: number;
449
+ })[];
450
+ }
451
+ ];
452
+ type JsdocNoMultiAsterisks = [] | [
453
+ {
454
+ allowWhitespace?: boolean;
455
+ preventAtEnd?: boolean;
456
+ preventAtMiddleLines?: boolean;
457
+ }
458
+ ];
459
+ type JsdocNoRestrictedSyntax = [] | [
460
+ {
461
+ contexts: (string | {
462
+ comment?: string;
463
+ context?: string;
464
+ message?: string;
465
+ })[];
466
+ }
467
+ ];
468
+ type JsdocNoTypes = [] | [
469
+ {
470
+ contexts?: (string | {
471
+ comment?: string;
472
+ context?: string;
473
+ })[];
474
+ }
475
+ ];
476
+ type JsdocNoUndefinedTypes = [] | [
477
+ {
478
+ definedTypes?: string[];
479
+ disableReporting?: boolean;
480
+ markVariablesAsUsed?: boolean;
481
+ }
482
+ ];
483
+ type JsdocRequireAsteriskPrefix = [] | [("always" | "never" | "any")] | [
484
+ ("always" | "never" | "any"),
485
+ {
486
+ tags?: {
487
+ always?: string[];
488
+ any?: string[];
489
+ never?: string[];
490
+ [k: string]: unknown | undefined;
491
+ };
492
+ }
493
+ ];
494
+ type JsdocRequireDescription = [] | [
495
+ {
496
+ checkConstructors?: boolean;
497
+ checkGetters?: boolean;
498
+ checkSetters?: boolean;
499
+ contexts?: (string | {
500
+ comment?: string;
501
+ context?: string;
502
+ })[];
503
+ descriptionStyle?: ("body" | "tag" | "any");
504
+ exemptedBy?: string[];
505
+ }
506
+ ];
507
+ type JsdocRequireDescriptionCompleteSentence = [] | [
508
+ {
509
+ abbreviations?: string[];
510
+ newlineBeforeCapsAssumesBadSentenceEnd?: boolean;
511
+ tags?: string[];
512
+ }
513
+ ];
514
+ type JsdocRequireExample = [] | [
515
+ {
516
+ checkConstructors?: boolean;
517
+ checkGetters?: boolean;
518
+ checkSetters?: boolean;
519
+ contexts?: (string | {
520
+ comment?: string;
521
+ context?: string;
522
+ })[];
523
+ enableFixer?: boolean;
524
+ exemptedBy?: string[];
525
+ exemptNoArguments?: boolean;
526
+ }
527
+ ];
528
+ type JsdocRequireFileOverview = [] | [
529
+ {
530
+ tags?: {
531
+ [k: string]: {
532
+ initialCommentsOnly?: boolean;
533
+ mustExist?: boolean;
534
+ preventDuplicates?: boolean;
535
+ };
536
+ };
537
+ }
538
+ ];
539
+ type JsdocRequireHyphenBeforeParamDescription = [] | [("always" | "never")] | [
540
+ ("always" | "never"),
541
+ {
542
+ tags?: ({
543
+ [k: string]: ("always" | "never");
544
+ } | "any");
545
+ }
546
+ ];
547
+ type JsdocRequireJsdoc = [] | [
548
+ {
549
+ checkConstructors?: boolean;
550
+ checkGetters?: (boolean | "no-setter");
551
+ checkSetters?: (boolean | "no-getter");
552
+ contexts?: (string | {
553
+ context?: string;
554
+ inlineCommentBlock?: boolean;
555
+ minLineCount?: number;
556
+ })[];
557
+ enableFixer?: boolean;
558
+ exemptEmptyConstructors?: boolean;
559
+ exemptEmptyFunctions?: boolean;
560
+ fixerMessage?: string;
561
+ minLineCount?: number;
562
+ publicOnly?: (boolean | {
563
+ ancestorsOnly?: boolean;
564
+ cjs?: boolean;
565
+ esm?: boolean;
566
+ window?: boolean;
567
+ });
568
+ require?: {
569
+ ArrowFunctionExpression?: boolean;
570
+ ClassDeclaration?: boolean;
571
+ ClassExpression?: boolean;
572
+ FunctionDeclaration?: boolean;
573
+ FunctionExpression?: boolean;
574
+ MethodDefinition?: boolean;
575
+ };
576
+ }
577
+ ];
578
+ type JsdocRequireParam = [] | [
579
+ {
580
+ autoIncrementBase?: number;
581
+ checkConstructors?: boolean;
582
+ checkDestructured?: boolean;
583
+ checkDestructuredRoots?: boolean;
584
+ checkGetters?: boolean;
585
+ checkRestProperty?: boolean;
586
+ checkSetters?: boolean;
587
+ checkTypesPattern?: string;
588
+ contexts?: (string | {
589
+ comment?: string;
590
+ context?: string;
591
+ })[];
592
+ enableFixer?: boolean;
593
+ enableRestElementFixer?: boolean;
594
+ enableRootFixer?: boolean;
595
+ exemptedBy?: string[];
596
+ unnamedRootBase?: string[];
597
+ useDefaultObjectProperties?: boolean;
598
+ }
599
+ ];
600
+ type JsdocRequireParamDescription = [] | [
601
+ {
602
+ contexts?: (string | {
603
+ comment?: string;
604
+ context?: string;
605
+ })[];
606
+ defaultDestructuredRootDescription?: string;
607
+ setDefaultDestructuredRootDescription?: boolean;
608
+ }
609
+ ];
610
+ type JsdocRequireParamName = [] | [
611
+ {
612
+ contexts?: (string | {
613
+ comment?: string;
614
+ context?: string;
615
+ })[];
616
+ }
617
+ ];
618
+ type JsdocRequireParamType = [] | [
619
+ {
620
+ contexts?: (string | {
621
+ comment?: string;
622
+ context?: string;
623
+ })[];
624
+ defaultDestructuredRootType?: string;
625
+ setDefaultDestructuredRootType?: boolean;
626
+ }
627
+ ];
628
+ type JsdocRequireReturns = [] | [
629
+ {
630
+ checkConstructors?: boolean;
631
+ checkGetters?: boolean;
632
+ contexts?: (string | {
633
+ comment?: string;
634
+ context?: string;
635
+ forceRequireReturn?: boolean;
636
+ })[];
637
+ enableFixer?: boolean;
638
+ exemptedBy?: string[];
639
+ forceRequireReturn?: boolean;
640
+ forceReturnsWithAsync?: boolean;
641
+ publicOnly?: (boolean | {
642
+ ancestorsOnly?: boolean;
643
+ cjs?: boolean;
644
+ esm?: boolean;
645
+ window?: boolean;
646
+ });
647
+ }
648
+ ];
649
+ type JsdocRequireReturnsCheck = [] | [
650
+ {
651
+ exemptAsync?: boolean;
652
+ exemptGenerators?: boolean;
653
+ reportMissingReturnForUndefinedTypes?: boolean;
654
+ }
655
+ ];
656
+ type JsdocRequireReturnsDescription = [] | [
657
+ {
658
+ contexts?: (string | {
659
+ comment?: string;
660
+ context?: string;
661
+ })[];
662
+ }
663
+ ];
664
+ type JsdocRequireReturnsType = [] | [
665
+ {
666
+ contexts?: (string | {
667
+ comment?: string;
668
+ context?: string;
669
+ })[];
670
+ }
671
+ ];
672
+ type JsdocRequireThrows = [] | [
673
+ {
674
+ contexts?: (string | {
675
+ comment?: string;
676
+ context?: string;
677
+ })[];
678
+ exemptedBy?: string[];
679
+ }
680
+ ];
681
+ type JsdocRequireYields = [] | [
682
+ {
683
+ contexts?: (string | {
684
+ comment?: string;
685
+ context?: string;
686
+ })[];
687
+ exemptedBy?: string[];
688
+ forceRequireNext?: boolean;
689
+ forceRequireYields?: boolean;
690
+ next?: boolean;
691
+ nextWithGeneratorTag?: boolean;
692
+ withGeneratorTag?: boolean;
693
+ }
694
+ ];
695
+ type JsdocRequireYieldsCheck = [] | [
696
+ {
697
+ checkGeneratorsOnly?: boolean;
698
+ contexts?: (string | {
699
+ comment?: string;
700
+ context?: string;
701
+ })[];
702
+ exemptedBy?: string[];
703
+ next?: boolean;
704
+ }
705
+ ];
706
+ type JsdocSortTags = [] | [
707
+ {
708
+ alphabetizeExtras?: boolean;
709
+ linesBetween?: number;
710
+ reportIntraTagGroupSpacing?: boolean;
711
+ reportTagGroupSpacing?: boolean;
712
+ tagSequence?: {
713
+ tags?: string[];
714
+ [k: string]: unknown | undefined;
715
+ }[];
716
+ }
717
+ ];
718
+ type JsdocTagLines = [] | [("always" | "any" | "never")] | [
719
+ ("always" | "any" | "never"),
720
+ {
721
+ applyToEndTag?: boolean;
722
+ count?: number;
723
+ endLines?: (number | null);
724
+ startLines?: (number | null);
725
+ tags?: {
726
+ [k: string]: {
727
+ count?: number;
728
+ lines?: ("always" | "never" | "any");
729
+ };
730
+ };
731
+ }
732
+ ];
733
+ type JsdocTextEscaping = [] | [
734
+ {
735
+ escapeHTML?: boolean;
736
+ escapeMarkdown?: boolean;
737
+ }
738
+ ];
739
+ type JsdocValidTypes = [] | [
740
+ {
741
+ allowEmptyNamepaths?: boolean;
742
+ }
743
+ ];
744
+ export {};