eslint-plugin-jsdoc 37.9.4 → 37.9.7
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/README.md +337 -99
- package/dist/jsdocUtils.js +11 -1
- package/dist/jsdocUtils.js.map +1 -1
- package/dist/rules/noUndefinedTypes.js +1 -1
- package/dist/rules/noUndefinedTypes.js.map +1 -1
- package/dist/rules/requireReturns.js +1 -1
- package/dist/rules/requireReturns.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<a name="user-content-eslint-plugin-jsdoc"></a>
|
|
1
2
|
<a name="eslint-plugin-jsdoc"></a>
|
|
2
3
|
# eslint-plugin-jsdoc
|
|
3
4
|
|
|
@@ -9,72 +10,73 @@
|
|
|
9
10
|
|
|
10
11
|
JSDoc linting rules for ESLint.
|
|
11
12
|
|
|
12
|
-
* [eslint-plugin-jsdoc](#eslint-plugin-jsdoc)
|
|
13
|
-
* [Installation](#eslint-plugin-jsdoc-installation)
|
|
14
|
-
* [Configuration](#eslint-plugin-jsdoc-configuration)
|
|
15
|
-
* [Options](#eslint-plugin-jsdoc-options)
|
|
16
|
-
* [Settings](#eslint-plugin-jsdoc-settings)
|
|
17
|
-
* [Allow tags (`@private` or `@internal`) to disable rules for that comment block](#eslint-plugin-jsdoc-settings-allow-tags-private-or-internal-to-disable-rules-for-that-comment-block)
|
|
18
|
-
* [`maxLines` and `minLines`](#eslint-plugin-jsdoc-settings-maxlines-and-minlines)
|
|
19
|
-
* [Mode](#eslint-plugin-jsdoc-settings-mode)
|
|
20
|
-
* [Alias Preference](#eslint-plugin-jsdoc-settings-alias-preference)
|
|
21
|
-
* [`@override`/`@augments`/`@extends`/`@implements`/`@ignore` Without Accompanying `@param`/`@description`/`@example`/`@returns`/`@throws`/`@yields`](#eslint-plugin-jsdoc-settings-override-augments-extends-implements-ignore-without-accompanying-param-description-example-returns-throws-yields)
|
|
22
|
-
* [Settings to Configure `check-types` and `no-undefined-types`](#eslint-plugin-jsdoc-settings-settings-to-configure-check-types-and-no-undefined-types)
|
|
23
|
-
* [`structuredTags`](#eslint-plugin-jsdoc-settings-structuredtags)
|
|
24
|
-
* [Advanced](#eslint-plugin-jsdoc-advanced)
|
|
25
|
-
* [AST and Selectors](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
26
|
-
* [Rules](#eslint-plugin-jsdoc-rules)
|
|
27
|
-
* [`check-access`](#eslint-plugin-jsdoc-rules-check-access)
|
|
28
|
-
* [`check-alignment`](#eslint-plugin-jsdoc-rules-check-alignment)
|
|
29
|
-
* [`check-examples`](#eslint-plugin-jsdoc-rules-check-examples)
|
|
30
|
-
* [`check-indentation`](#eslint-plugin-jsdoc-rules-check-indentation)
|
|
31
|
-
* [`check-line-alignment`](#eslint-plugin-jsdoc-rules-check-line-alignment)
|
|
32
|
-
* [`check-param-names`](#eslint-plugin-jsdoc-rules-check-param-names)
|
|
33
|
-
* [`check-property-names`](#eslint-plugin-jsdoc-rules-check-property-names)
|
|
34
|
-
* [`check-syntax`](#eslint-plugin-jsdoc-rules-check-syntax)
|
|
35
|
-
* [`check-tag-names`](#eslint-plugin-jsdoc-rules-check-tag-names)
|
|
36
|
-
* [`check-types`](#eslint-plugin-jsdoc-rules-check-types)
|
|
37
|
-
* [`check-values`](#eslint-plugin-jsdoc-rules-check-values)
|
|
38
|
-
* [`empty-tags`](#eslint-plugin-jsdoc-rules-empty-tags)
|
|
39
|
-
* [`implements-on-classes`](#eslint-plugin-jsdoc-rules-implements-on-classes)
|
|
40
|
-
* [`match-description`](#eslint-plugin-jsdoc-rules-match-description)
|
|
41
|
-
* [`match-name`](#eslint-plugin-jsdoc-rules-match-name)
|
|
42
|
-
* [`multiline-blocks`](#eslint-plugin-jsdoc-rules-multiline-blocks)
|
|
43
|
-
* [`newline-after-description`](#eslint-plugin-jsdoc-rules-newline-after-description)
|
|
44
|
-
* [`no-bad-blocks`](#eslint-plugin-jsdoc-rules-no-bad-blocks)
|
|
45
|
-
* [`no-defaults`](#eslint-plugin-jsdoc-rules-no-defaults)
|
|
46
|
-
* [`no-missing-syntax`](#eslint-plugin-jsdoc-rules-no-missing-syntax)
|
|
47
|
-
* [`no-multi-asterisks`](#eslint-plugin-jsdoc-rules-no-multi-asterisks)
|
|
48
|
-
* [`no-restricted-syntax`](#eslint-plugin-jsdoc-rules-no-restricted-syntax)
|
|
49
|
-
* [`no-types`](#eslint-plugin-jsdoc-rules-no-types)
|
|
50
|
-
* [`no-undefined-types`](#eslint-plugin-jsdoc-rules-no-undefined-types)
|
|
51
|
-
* [`require-asterisk-prefix`](#eslint-plugin-jsdoc-rules-require-asterisk-prefix)
|
|
52
|
-
* [`require-description-complete-sentence`](#eslint-plugin-jsdoc-rules-require-description-complete-sentence)
|
|
53
|
-
* [`require-description`](#eslint-plugin-jsdoc-rules-require-description)
|
|
54
|
-
* [`require-example`](#eslint-plugin-jsdoc-rules-require-example)
|
|
55
|
-
* [`require-file-overview`](#eslint-plugin-jsdoc-rules-require-file-overview)
|
|
56
|
-
* [`require-hyphen-before-param-description`](#eslint-plugin-jsdoc-rules-require-hyphen-before-param-description)
|
|
57
|
-
* [`require-jsdoc`](#eslint-plugin-jsdoc-rules-require-jsdoc)
|
|
58
|
-
* [`require-param-description`](#eslint-plugin-jsdoc-rules-require-param-description)
|
|
59
|
-
* [`require-param-name`](#eslint-plugin-jsdoc-rules-require-param-name)
|
|
60
|
-
* [`require-param-type`](#eslint-plugin-jsdoc-rules-require-param-type)
|
|
61
|
-
* [`require-param`](#eslint-plugin-jsdoc-rules-require-param)
|
|
62
|
-
* [`require-property`](#eslint-plugin-jsdoc-rules-require-property)
|
|
63
|
-
* [`require-property-description`](#eslint-plugin-jsdoc-rules-require-property-description)
|
|
64
|
-
* [`require-property-name`](#eslint-plugin-jsdoc-rules-require-property-name)
|
|
65
|
-
* [`require-property-type`](#eslint-plugin-jsdoc-rules-require-property-type)
|
|
66
|
-
* [`require-returns-check`](#eslint-plugin-jsdoc-rules-require-returns-check)
|
|
67
|
-
* [`require-returns-description`](#eslint-plugin-jsdoc-rules-require-returns-description)
|
|
68
|
-
* [`require-returns-type`](#eslint-plugin-jsdoc-rules-require-returns-type)
|
|
69
|
-
* [`require-returns`](#eslint-plugin-jsdoc-rules-require-returns)
|
|
70
|
-
* [`require-throws`](#eslint-plugin-jsdoc-rules-require-throws)
|
|
71
|
-
* [`require-yields`](#eslint-plugin-jsdoc-rules-require-yields)
|
|
72
|
-
* [`require-yields-check`](#eslint-plugin-jsdoc-rules-require-yields-check)
|
|
73
|
-
* [`sort-tags`](#eslint-plugin-jsdoc-rules-sort-tags)
|
|
74
|
-
* [`tag-lines`](#eslint-plugin-jsdoc-rules-tag-lines)
|
|
75
|
-
* [`valid-types`](#eslint-plugin-jsdoc-rules-valid-types)
|
|
76
|
-
|
|
77
|
-
|
|
13
|
+
* [eslint-plugin-jsdoc](#user-content-eslint-plugin-jsdoc)
|
|
14
|
+
* [Installation](#user-content-eslint-plugin-jsdoc-installation)
|
|
15
|
+
* [Configuration](#user-content-eslint-plugin-jsdoc-configuration)
|
|
16
|
+
* [Options](#user-content-eslint-plugin-jsdoc-options)
|
|
17
|
+
* [Settings](#user-content-eslint-plugin-jsdoc-settings)
|
|
18
|
+
* [Allow tags (`@private` or `@internal`) to disable rules for that comment block](#user-content-eslint-plugin-jsdoc-settings-allow-tags-private-or-internal-to-disable-rules-for-that-comment-block)
|
|
19
|
+
* [`maxLines` and `minLines`](#user-content-eslint-plugin-jsdoc-settings-maxlines-and-minlines)
|
|
20
|
+
* [Mode](#user-content-eslint-plugin-jsdoc-settings-mode)
|
|
21
|
+
* [Alias Preference](#user-content-eslint-plugin-jsdoc-settings-alias-preference)
|
|
22
|
+
* [`@override`/`@augments`/`@extends`/`@implements`/`@ignore` Without Accompanying `@param`/`@description`/`@example`/`@returns`/`@throws`/`@yields`](#user-content-eslint-plugin-jsdoc-settings-override-augments-extends-implements-ignore-without-accompanying-param-description-example-returns-throws-yields)
|
|
23
|
+
* [Settings to Configure `check-types` and `no-undefined-types`](#user-content-eslint-plugin-jsdoc-settings-settings-to-configure-check-types-and-no-undefined-types)
|
|
24
|
+
* [`structuredTags`](#user-content-eslint-plugin-jsdoc-settings-structuredtags)
|
|
25
|
+
* [Advanced](#user-content-eslint-plugin-jsdoc-advanced)
|
|
26
|
+
* [AST and Selectors](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
27
|
+
* [Rules](#user-content-eslint-plugin-jsdoc-rules)
|
|
28
|
+
* [`check-access`](#user-content-eslint-plugin-jsdoc-rules-check-access)
|
|
29
|
+
* [`check-alignment`](#user-content-eslint-plugin-jsdoc-rules-check-alignment)
|
|
30
|
+
* [`check-examples`](#user-content-eslint-plugin-jsdoc-rules-check-examples)
|
|
31
|
+
* [`check-indentation`](#user-content-eslint-plugin-jsdoc-rules-check-indentation)
|
|
32
|
+
* [`check-line-alignment`](#user-content-eslint-plugin-jsdoc-rules-check-line-alignment)
|
|
33
|
+
* [`check-param-names`](#user-content-eslint-plugin-jsdoc-rules-check-param-names)
|
|
34
|
+
* [`check-property-names`](#user-content-eslint-plugin-jsdoc-rules-check-property-names)
|
|
35
|
+
* [`check-syntax`](#user-content-eslint-plugin-jsdoc-rules-check-syntax)
|
|
36
|
+
* [`check-tag-names`](#user-content-eslint-plugin-jsdoc-rules-check-tag-names)
|
|
37
|
+
* [`check-types`](#user-content-eslint-plugin-jsdoc-rules-check-types)
|
|
38
|
+
* [`check-values`](#user-content-eslint-plugin-jsdoc-rules-check-values)
|
|
39
|
+
* [`empty-tags`](#user-content-eslint-plugin-jsdoc-rules-empty-tags)
|
|
40
|
+
* [`implements-on-classes`](#user-content-eslint-plugin-jsdoc-rules-implements-on-classes)
|
|
41
|
+
* [`match-description`](#user-content-eslint-plugin-jsdoc-rules-match-description)
|
|
42
|
+
* [`match-name`](#user-content-eslint-plugin-jsdoc-rules-match-name)
|
|
43
|
+
* [`multiline-blocks`](#user-content-eslint-plugin-jsdoc-rules-multiline-blocks)
|
|
44
|
+
* [`newline-after-description`](#user-content-eslint-plugin-jsdoc-rules-newline-after-description)
|
|
45
|
+
* [`no-bad-blocks`](#user-content-eslint-plugin-jsdoc-rules-no-bad-blocks)
|
|
46
|
+
* [`no-defaults`](#user-content-eslint-plugin-jsdoc-rules-no-defaults)
|
|
47
|
+
* [`no-missing-syntax`](#user-content-eslint-plugin-jsdoc-rules-no-missing-syntax)
|
|
48
|
+
* [`no-multi-asterisks`](#user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks)
|
|
49
|
+
* [`no-restricted-syntax`](#user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax)
|
|
50
|
+
* [`no-types`](#user-content-eslint-plugin-jsdoc-rules-no-types)
|
|
51
|
+
* [`no-undefined-types`](#user-content-eslint-plugin-jsdoc-rules-no-undefined-types)
|
|
52
|
+
* [`require-asterisk-prefix`](#user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix)
|
|
53
|
+
* [`require-description-complete-sentence`](#user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence)
|
|
54
|
+
* [`require-description`](#user-content-eslint-plugin-jsdoc-rules-require-description)
|
|
55
|
+
* [`require-example`](#user-content-eslint-plugin-jsdoc-rules-require-example)
|
|
56
|
+
* [`require-file-overview`](#user-content-eslint-plugin-jsdoc-rules-require-file-overview)
|
|
57
|
+
* [`require-hyphen-before-param-description`](#user-content-eslint-plugin-jsdoc-rules-require-hyphen-before-param-description)
|
|
58
|
+
* [`require-jsdoc`](#user-content-eslint-plugin-jsdoc-rules-require-jsdoc)
|
|
59
|
+
* [`require-param-description`](#user-content-eslint-plugin-jsdoc-rules-require-param-description)
|
|
60
|
+
* [`require-param-name`](#user-content-eslint-plugin-jsdoc-rules-require-param-name)
|
|
61
|
+
* [`require-param-type`](#user-content-eslint-plugin-jsdoc-rules-require-param-type)
|
|
62
|
+
* [`require-param`](#user-content-eslint-plugin-jsdoc-rules-require-param)
|
|
63
|
+
* [`require-property`](#user-content-eslint-plugin-jsdoc-rules-require-property)
|
|
64
|
+
* [`require-property-description`](#user-content-eslint-plugin-jsdoc-rules-require-property-description)
|
|
65
|
+
* [`require-property-name`](#user-content-eslint-plugin-jsdoc-rules-require-property-name)
|
|
66
|
+
* [`require-property-type`](#user-content-eslint-plugin-jsdoc-rules-require-property-type)
|
|
67
|
+
* [`require-returns-check`](#user-content-eslint-plugin-jsdoc-rules-require-returns-check)
|
|
68
|
+
* [`require-returns-description`](#user-content-eslint-plugin-jsdoc-rules-require-returns-description)
|
|
69
|
+
* [`require-returns-type`](#user-content-eslint-plugin-jsdoc-rules-require-returns-type)
|
|
70
|
+
* [`require-returns`](#user-content-eslint-plugin-jsdoc-rules-require-returns)
|
|
71
|
+
* [`require-throws`](#user-content-eslint-plugin-jsdoc-rules-require-throws)
|
|
72
|
+
* [`require-yields`](#user-content-eslint-plugin-jsdoc-rules-require-yields)
|
|
73
|
+
* [`require-yields-check`](#user-content-eslint-plugin-jsdoc-rules-require-yields-check)
|
|
74
|
+
* [`sort-tags`](#user-content-eslint-plugin-jsdoc-rules-sort-tags)
|
|
75
|
+
* [`tag-lines`](#user-content-eslint-plugin-jsdoc-rules-tag-lines)
|
|
76
|
+
* [`valid-types`](#user-content-eslint-plugin-jsdoc-rules-valid-types)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<a name="user-content-eslint-plugin-jsdoc-installation"></a>
|
|
78
80
|
<a name="eslint-plugin-jsdoc-installation"></a>
|
|
79
81
|
## Installation
|
|
80
82
|
|
|
@@ -92,6 +94,7 @@ globally too. Otherwise, install it locally.
|
|
|
92
94
|
npm install --save-dev eslint-plugin-jsdoc
|
|
93
95
|
```
|
|
94
96
|
|
|
97
|
+
<a name="user-content-eslint-plugin-jsdoc-configuration"></a>
|
|
95
98
|
<a name="eslint-plugin-jsdoc-configuration"></a>
|
|
96
99
|
## Configuration
|
|
97
100
|
|
|
@@ -174,6 +177,7 @@ which enables the rules commented above as "recommended":
|
|
|
174
177
|
|
|
175
178
|
You can then selectively add to or override the recommended rules.
|
|
176
179
|
|
|
180
|
+
<a name="user-content-eslint-plugin-jsdoc-options"></a>
|
|
177
181
|
<a name="eslint-plugin-jsdoc-options"></a>
|
|
178
182
|
## Options
|
|
179
183
|
|
|
@@ -202,9 +206,11 @@ object supplied as the second argument in an array after the error level
|
|
|
202
206
|
}
|
|
203
207
|
```
|
|
204
208
|
|
|
209
|
+
<a name="user-content-eslint-plugin-jsdoc-settings"></a>
|
|
205
210
|
<a name="eslint-plugin-jsdoc-settings"></a>
|
|
206
211
|
## Settings
|
|
207
212
|
|
|
213
|
+
<a name="user-content-eslint-plugin-jsdoc-settings-allow-tags-private-or-internal-to-disable-rules-for-that-comment-block"></a>
|
|
208
214
|
<a name="eslint-plugin-jsdoc-settings-allow-tags-private-or-internal-to-disable-rules-for-that-comment-block"></a>
|
|
209
215
|
### Allow tags (<code>@private</code> or <code>@internal</code>) to disable rules for that comment block
|
|
210
216
|
|
|
@@ -217,6 +223,7 @@ object supplied as the second argument in an array after the error level
|
|
|
217
223
|
on which a `@internal` tag occurs. Defaults to `false`. Note: This has no
|
|
218
224
|
effect with the rule `empty-tags` (which checks `@internal` itself).
|
|
219
225
|
|
|
226
|
+
<a name="user-content-eslint-plugin-jsdoc-settings-maxlines-and-minlines"></a>
|
|
220
227
|
<a name="eslint-plugin-jsdoc-settings-maxlines-and-minlines"></a>
|
|
221
228
|
### <code>maxLines</code> and <code>minLines</code>
|
|
222
229
|
|
|
@@ -229,6 +236,7 @@ be enforced so as to report problems if a jsdoc block is not found within
|
|
|
229
236
|
the specified boundaries. The settings are also used in the fixer to determine
|
|
230
237
|
how many line breaks to add when a block is missing.
|
|
231
238
|
|
|
239
|
+
<a name="user-content-eslint-plugin-jsdoc-settings-mode"></a>
|
|
232
240
|
<a name="eslint-plugin-jsdoc-settings-mode"></a>
|
|
233
241
|
### Mode
|
|
234
242
|
|
|
@@ -257,6 +265,7 @@ how many line breaks to add when a block is missing.
|
|
|
257
265
|
- Disallows namepath on `@interface` for "closure" mode in `valid-types` (and
|
|
258
266
|
avoids checking in other rules)
|
|
259
267
|
|
|
268
|
+
<a name="user-content-eslint-plugin-jsdoc-settings-alias-preference"></a>
|
|
260
269
|
<a name="eslint-plugin-jsdoc-settings-alias-preference"></a>
|
|
261
270
|
### Alias Preference
|
|
262
271
|
|
|
@@ -349,6 +358,7 @@ See `check-tag-names` for how that fact can be used to set an alias to itself
|
|
|
349
358
|
to allow both the alias and the default (since aliases are otherwise not
|
|
350
359
|
permitted unless used in `tagNamePreference`).
|
|
351
360
|
|
|
361
|
+
<a name="user-content-eslint-plugin-jsdoc-settings-alias-preference-default-preferred-aliases"></a>
|
|
352
362
|
<a name="eslint-plugin-jsdoc-settings-alias-preference-default-preferred-aliases"></a>
|
|
353
363
|
#### Default Preferred Aliases
|
|
354
364
|
|
|
@@ -388,6 +398,7 @@ This setting is utilized by the the rule for tag name checking
|
|
|
388
398
|
- `require-returns-description`
|
|
389
399
|
- `require-returns-type`
|
|
390
400
|
|
|
401
|
+
<a name="user-content-eslint-plugin-jsdoc-settings-override-augments-extends-implements-ignore-without-accompanying-param-description-example-returns-throws-yields"></a>
|
|
391
402
|
<a name="eslint-plugin-jsdoc-settings-override-augments-extends-implements-ignore-without-accompanying-param-description-example-returns-throws-yields"></a>
|
|
392
403
|
### <code>@override</code>/<code>@augments</code>/<code>@extends</code>/<code>@implements</code>/<code>@ignore</code> Without Accompanying <code>@param</code>/<code>@description</code>/<code>@example</code>/<code>@returns</code>/<code>@throws</code>/<code>@yields</code>
|
|
393
404
|
|
|
@@ -418,6 +429,7 @@ The format of the configuration is as follows:
|
|
|
418
429
|
}
|
|
419
430
|
```
|
|
420
431
|
|
|
432
|
+
<a name="user-content-eslint-plugin-jsdoc-settings-settings-to-configure-check-types-and-no-undefined-types"></a>
|
|
421
433
|
<a name="eslint-plugin-jsdoc-settings-settings-to-configure-check-types-and-no-undefined-types"></a>
|
|
422
434
|
### Settings to Configure <code>check-types</code> and <code>no-undefined-types</code>
|
|
423
435
|
|
|
@@ -483,6 +495,7 @@ key nor the value will be reported. Thus in `check-types`, this fact can
|
|
|
483
495
|
be used to allow both `object` and `Object` if one has a `preferredTypes`
|
|
484
496
|
key `object: 'Object'` and `Object: 'object'`.
|
|
485
497
|
|
|
498
|
+
<a name="user-content-eslint-plugin-jsdoc-settings-structuredtags"></a>
|
|
486
499
|
<a name="eslint-plugin-jsdoc-settings-structuredtags"></a>
|
|
487
500
|
### <code>structuredTags</code>
|
|
488
501
|
|
|
@@ -528,9 +541,11 @@ values are objects with the following optional properties:
|
|
|
528
541
|
name (`@throws Some text`); does not require that both exist but
|
|
529
542
|
disallows just an empty tag.
|
|
530
543
|
|
|
544
|
+
<a name="user-content-eslint-plugin-jsdoc-advanced"></a>
|
|
531
545
|
<a name="eslint-plugin-jsdoc-advanced"></a>
|
|
532
546
|
## Advanced
|
|
533
547
|
|
|
548
|
+
<a name="user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors"></a>
|
|
534
549
|
<a name="eslint-plugin-jsdoc-advanced-ast-and-selectors"></a>
|
|
535
550
|
### AST and Selectors
|
|
536
551
|
|
|
@@ -546,6 +561,7 @@ your files' code which are of interest to check. However, in
|
|
|
546
561
|
`eslint-plugin-jsdoc`, we also allow you to use these selectors to define
|
|
547
562
|
additional contexts where you wish our own rules to be applied.
|
|
548
563
|
|
|
564
|
+
<a name="user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors-contexts-format"></a>
|
|
549
565
|
<a name="eslint-plugin-jsdoc-advanced-ast-and-selectors-contexts-format"></a>
|
|
550
566
|
#### <code>contexts</code> format
|
|
551
567
|
|
|
@@ -582,6 +598,7 @@ properties:
|
|
|
582
598
|
function). See [@es-joy/jsdoccomment](https://github.com/es-joy/jsdoccomment)
|
|
583
599
|
for the precise structure of the comment (and comment type) nodes.
|
|
584
600
|
|
|
601
|
+
<a name="user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors-discovering-available-ast-definitions"></a>
|
|
585
602
|
<a name="eslint-plugin-jsdoc-advanced-ast-and-selectors-discovering-available-ast-definitions"></a>
|
|
586
603
|
#### Discovering available AST definitions
|
|
587
604
|
|
|
@@ -602,6 +619,7 @@ providing some of your JavaScript to the wonderful
|
|
|
602
619
|
[AST Explorer](https://astexplorer.net/) tool and see what AST is built out
|
|
603
620
|
of your code. You can set the tool to the specific parser which you are using.
|
|
604
621
|
|
|
622
|
+
<a name="user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors-uses-tips-for-ast"></a>
|
|
605
623
|
<a name="eslint-plugin-jsdoc-advanced-ast-and-selectors-uses-tips-for-ast"></a>
|
|
606
624
|
#### Uses/Tips for AST
|
|
607
625
|
|
|
@@ -623,9 +641,11 @@ to the selector you wish so as to get messages reported in the bottom right
|
|
|
623
641
|
pane which match your [esquery](https://github.com/estools/esquery/#readme)
|
|
624
642
|
selector).
|
|
625
643
|
|
|
644
|
+
<a name="user-content-eslint-plugin-jsdoc-rules"></a>
|
|
626
645
|
<a name="eslint-plugin-jsdoc-rules"></a>
|
|
627
646
|
## Rules
|
|
628
647
|
|
|
648
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-access"></a>
|
|
629
649
|
<a name="eslint-plugin-jsdoc-rules-check-access"></a>
|
|
630
650
|
### <code>check-access</code>
|
|
631
651
|
|
|
@@ -800,6 +820,7 @@ function quux (foo) {
|
|
|
800
820
|
````
|
|
801
821
|
|
|
802
822
|
|
|
823
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-alignment"></a>
|
|
803
824
|
<a name="eslint-plugin-jsdoc-rules-check-alignment"></a>
|
|
804
825
|
### <code>check-alignment</code>
|
|
805
826
|
|
|
@@ -943,6 +964,7 @@ function quux (foo) {
|
|
|
943
964
|
````
|
|
944
965
|
|
|
945
966
|
|
|
967
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-examples"></a>
|
|
946
968
|
<a name="eslint-plugin-jsdoc-rules-check-examples"></a>
|
|
947
969
|
### <code>check-examples</code>
|
|
948
970
|
|
|
@@ -953,11 +975,13 @@ Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules. Also
|
|
|
953
975
|
has options to lint the default values of optional `@param`/`@arg`/`@argument`
|
|
954
976
|
and `@property`/`@prop` tags or the values of `@default`/`@defaultvalue` tags.
|
|
955
977
|
|
|
978
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-examples-options-1"></a>
|
|
956
979
|
<a name="eslint-plugin-jsdoc-rules-check-examples-options-1"></a>
|
|
957
980
|
#### Options
|
|
958
981
|
|
|
959
982
|
The options below all default to no-op/`false` except as noted.
|
|
960
983
|
|
|
984
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-examples-options-1-captionrequired"></a>
|
|
961
985
|
<a name="eslint-plugin-jsdoc-rules-check-examples-options-1-captionrequired"></a>
|
|
962
986
|
##### <code>captionRequired</code>
|
|
963
987
|
|
|
@@ -969,6 +993,7 @@ the beginning of any `@example`.
|
|
|
969
993
|
|
|
970
994
|
Used only for `@example`.
|
|
971
995
|
|
|
996
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-examples-options-1-examplecoderegex-and-rejectexamplecoderegex"></a>
|
|
972
997
|
<a name="eslint-plugin-jsdoc-rules-check-examples-options-1-examplecoderegex-and-rejectexamplecoderegex"></a>
|
|
973
998
|
##### <code>exampleCodeRegex</code> and <code>rejectExampleCodeRegex</code>
|
|
974
999
|
|
|
@@ -998,6 +1023,7 @@ If neither is in use, all examples will be matched. Note also that even if
|
|
|
998
1023
|
`captionRequired` is not set, any initial `<caption>` will be stripped out
|
|
999
1024
|
before doing the regex matching.
|
|
1000
1025
|
|
|
1026
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-examples-options-1-paddedindent"></a>
|
|
1001
1027
|
<a name="eslint-plugin-jsdoc-rules-check-examples-options-1-paddedindent"></a>
|
|
1002
1028
|
##### <code>paddedIndent</code>
|
|
1003
1029
|
|
|
@@ -1019,6 +1045,7 @@ out before evaluation.
|
|
|
1019
1045
|
|
|
1020
1046
|
Only applied to `@example` linting.
|
|
1021
1047
|
|
|
1048
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-examples-options-1-reportunuseddisabledirectives"></a>
|
|
1022
1049
|
<a name="eslint-plugin-jsdoc-rules-check-examples-options-1-reportunuseddisabledirectives"></a>
|
|
1023
1050
|
##### <code>reportUnusedDisableDirectives</code>
|
|
1024
1051
|
|
|
@@ -1031,6 +1058,7 @@ Inline ESLint config within `@example` JavaScript is allowed (or within
|
|
|
1031
1058
|
needed by the resolved rules will be reported as with the ESLint
|
|
1032
1059
|
`--report-unused-disable-directives` command.
|
|
1033
1060
|
|
|
1061
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-examples-options-for-determining-eslint-rule-applicability-allowinlineconfig-nodefaultexamplerules-matchingfilename-configfile-checkeslintrc-and-baseconfig"></a>
|
|
1034
1062
|
<a name="eslint-plugin-jsdoc-rules-check-examples-options-for-determining-eslint-rule-applicability-allowinlineconfig-nodefaultexamplerules-matchingfilename-configfile-checkeslintrc-and-baseconfig"></a>
|
|
1035
1063
|
#### Options for Determining ESLint Rule Applicability (<code>allowInlineConfig</code>, <code>noDefaultExampleRules</code>, <code>matchingFileName</code>, <code>configFile</code>, <code>checkEslintrc</code>, and <code>baseConfig</code>)
|
|
1036
1064
|
|
|
@@ -1083,6 +1111,7 @@ by decreasing precedence:
|
|
|
1083
1111
|
* `baseConfig` - Set to an object of rules with the same schema
|
|
1084
1112
|
as `.eslintrc.*` for defaults.
|
|
1085
1113
|
|
|
1114
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-examples-options-for-determining-eslint-rule-applicability-allowinlineconfig-nodefaultexamplerules-matchingfilename-configfile-checkeslintrc-and-baseconfig-rules-disabled-by-default-unless-nodefaultexamplerules-is-set-to-true"></a>
|
|
1086
1115
|
<a name="eslint-plugin-jsdoc-rules-check-examples-options-for-determining-eslint-rule-applicability-allowinlineconfig-nodefaultexamplerules-matchingfilename-configfile-checkeslintrc-and-baseconfig-rules-disabled-by-default-unless-nodefaultexamplerules-is-set-to-true"></a>
|
|
1087
1116
|
##### Rules Disabled by Default Unless <code>noDefaultExampleRules</code> is Set to <code>true</code>
|
|
1088
1117
|
|
|
@@ -1119,6 +1148,7 @@ expression-oriented rules will be used by default as well:
|
|
|
1119
1148
|
* `no-unused-expressions` - Disabled.
|
|
1120
1149
|
* `chai-friendly/no-unused-expressions` - Disabled.
|
|
1121
1150
|
|
|
1151
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-examples-options-for-determining-eslint-rule-applicability-allowinlineconfig-nodefaultexamplerules-matchingfilename-configfile-checkeslintrc-and-baseconfig-options-for-checking-other-than-example-checkdefaults-checkparams-or-checkproperties"></a>
|
|
1122
1152
|
<a name="eslint-plugin-jsdoc-rules-check-examples-options-for-determining-eslint-rule-applicability-allowinlineconfig-nodefaultexamplerules-matchingfilename-configfile-checkeslintrc-and-baseconfig-options-for-checking-other-than-example-checkdefaults-checkparams-or-checkproperties"></a>
|
|
1123
1153
|
##### Options for checking other than <code>@example</code> (<code>checkDefaults</code>, <code>checkParams</code>, or <code>checkProperties</code>)
|
|
1124
1154
|
|
|
@@ -1692,6 +1722,7 @@ const functionName = function (paramOne, paramTwo,
|
|
|
1692
1722
|
````
|
|
1693
1723
|
|
|
1694
1724
|
|
|
1725
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-indentation"></a>
|
|
1695
1726
|
<a name="eslint-plugin-jsdoc-rules-check-indentation"></a>
|
|
1696
1727
|
### <code>check-indentation</code>
|
|
1697
1728
|
|
|
@@ -1711,11 +1742,13 @@ the following description is not reported:
|
|
|
1711
1742
|
*/
|
|
1712
1743
|
```
|
|
1713
1744
|
|
|
1745
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-indentation-options-2"></a>
|
|
1714
1746
|
<a name="eslint-plugin-jsdoc-rules-check-indentation-options-2"></a>
|
|
1715
1747
|
#### Options
|
|
1716
1748
|
|
|
1717
1749
|
This rule has an object option.
|
|
1718
1750
|
|
|
1751
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-indentation-options-2-excludetags"></a>
|
|
1719
1752
|
<a name="eslint-plugin-jsdoc-rules-check-indentation-options-2-excludetags"></a>
|
|
1720
1753
|
##### <code>excludeTags</code>
|
|
1721
1754
|
|
|
@@ -1965,6 +1998,7 @@ function MyDecorator(options: { myOptions: number }) {
|
|
|
1965
1998
|
````
|
|
1966
1999
|
|
|
1967
2000
|
|
|
2001
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-line-alignment"></a>
|
|
1968
2002
|
<a name="eslint-plugin-jsdoc-rules-check-line-alignment"></a>
|
|
1969
2003
|
### <code>check-line-alignment</code>
|
|
1970
2004
|
|
|
@@ -1972,6 +2006,7 @@ Reports invalid alignment of JSDoc block lines. This is a
|
|
|
1972
2006
|
[standard recommended to WordPress code](https://make.wordpress.org/core/handbook/best-practices/inline-documentation-standards/javascript/#aligning-comments),
|
|
1973
2007
|
for example.
|
|
1974
2008
|
|
|
2009
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-line-alignment-options-3"></a>
|
|
1975
2010
|
<a name="eslint-plugin-jsdoc-rules-check-line-alignment-options-3"></a>
|
|
1976
2011
|
#### Options
|
|
1977
2012
|
|
|
@@ -1985,6 +2020,7 @@ space is present after the asterisk delimiter.
|
|
|
1985
2020
|
|
|
1986
2021
|
After the string, an options object is allowed with the following properties.
|
|
1987
2022
|
|
|
2023
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-line-alignment-options-3-tags"></a>
|
|
1988
2024
|
<a name="eslint-plugin-jsdoc-rules-check-line-alignment-options-3-tags"></a>
|
|
1989
2025
|
##### <code>tags</code>
|
|
1990
2026
|
|
|
@@ -1992,6 +2028,7 @@ Use this to change the tags which are sought for alignment changes. *Currently*
|
|
|
1992
2028
|
*only works with the "never" option.* Defaults to an array of
|
|
1993
2029
|
`['param', 'arg', 'argument', 'property', 'prop', 'returns', 'return']`.
|
|
1994
2030
|
|
|
2031
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-line-alignment-options-3-customspacings"></a>
|
|
1995
2032
|
<a name="eslint-plugin-jsdoc-rules-check-line-alignment-options-3-customspacings"></a>
|
|
1996
2033
|
##### <code>customSpacings</code>
|
|
1997
2034
|
|
|
@@ -2651,11 +2688,13 @@ const fn = ({ids}) => {}
|
|
|
2651
2688
|
````
|
|
2652
2689
|
|
|
2653
2690
|
|
|
2691
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-param-names"></a>
|
|
2654
2692
|
<a name="eslint-plugin-jsdoc-rules-check-param-names"></a>
|
|
2655
2693
|
### <code>check-param-names</code>
|
|
2656
2694
|
|
|
2657
2695
|
Ensures that parameter names in JSDoc match those in the function declaration.
|
|
2658
2696
|
|
|
2697
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-param-names-destructuring"></a>
|
|
2659
2698
|
<a name="eslint-plugin-jsdoc-rules-check-param-names-destructuring"></a>
|
|
2660
2699
|
#### Destructuring
|
|
2661
2700
|
|
|
@@ -2682,19 +2721,23 @@ other properties, so in looking at the docs alone without looking at the
|
|
|
2682
2721
|
function signature, the disadvantage of enabling this option is that it
|
|
2683
2722
|
may appear that there is an actual property named `extra`.
|
|
2684
2723
|
|
|
2724
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-param-names-options-4"></a>
|
|
2685
2725
|
<a name="eslint-plugin-jsdoc-rules-check-param-names-options-4"></a>
|
|
2686
2726
|
#### Options
|
|
2687
2727
|
|
|
2728
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-param-names-options-4-checkrestproperty"></a>
|
|
2688
2729
|
<a name="eslint-plugin-jsdoc-rules-check-param-names-options-4-checkrestproperty"></a>
|
|
2689
2730
|
##### <code>checkRestProperty</code>
|
|
2690
2731
|
|
|
2691
2732
|
See the "Destructuring" section. Defaults to `false`.
|
|
2692
2733
|
|
|
2734
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-param-names-options-4-checktypespattern"></a>
|
|
2693
2735
|
<a name="eslint-plugin-jsdoc-rules-check-param-names-options-4-checktypespattern"></a>
|
|
2694
2736
|
##### <code>checkTypesPattern</code>
|
|
2695
2737
|
|
|
2696
2738
|
See `require-param` under the option of the same name.
|
|
2697
2739
|
|
|
2740
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-param-names-options-4-enablefixer"></a>
|
|
2698
2741
|
<a name="eslint-plugin-jsdoc-rules-check-param-names-options-4-enablefixer"></a>
|
|
2699
2742
|
##### <code>enableFixer</code>
|
|
2700
2743
|
|
|
@@ -2705,6 +2748,7 @@ Note that this option will remove duplicates of the same name even if
|
|
|
2705
2748
|
the definitions do not match in other ways (e.g., the second param will
|
|
2706
2749
|
be removed even if it has a different type or description).
|
|
2707
2750
|
|
|
2751
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-param-names-options-4-allowextratrailingparamdocs"></a>
|
|
2708
2752
|
<a name="eslint-plugin-jsdoc-rules-check-param-names-options-4-allowextratrailingparamdocs"></a>
|
|
2709
2753
|
##### <code>allowExtraTrailingParamDocs</code>
|
|
2710
2754
|
|
|
@@ -2713,11 +2757,13 @@ representing future expected or virtual params) to be present without needing
|
|
|
2713
2757
|
their presence within the function signature. Other inconsistencies between
|
|
2714
2758
|
`@param`'s and present function parameters will still be reported.
|
|
2715
2759
|
|
|
2760
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-param-names-options-4-checkdestructured"></a>
|
|
2716
2761
|
<a name="eslint-plugin-jsdoc-rules-check-param-names-options-4-checkdestructured"></a>
|
|
2717
2762
|
##### <code>checkDestructured</code>
|
|
2718
2763
|
|
|
2719
2764
|
Whether to check destructured properties. Defaults to `true`.
|
|
2720
2765
|
|
|
2766
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-param-names-options-4-usedefaultobjectproperties"></a>
|
|
2721
2767
|
<a name="eslint-plugin-jsdoc-rules-check-param-names-options-4-usedefaultobjectproperties"></a>
|
|
2722
2768
|
##### <code>useDefaultObjectProperties</code>
|
|
2723
2769
|
|
|
@@ -2726,6 +2772,7 @@ where instead of destructuring, a whole plain object is supplied as default
|
|
|
2726
2772
|
value but you wish its keys to be considered as signalling that the properties
|
|
2727
2773
|
are present and can therefore be documented. Defaults to `false`.
|
|
2728
2774
|
|
|
2775
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-param-names-options-4-disableextrapropertyreporting"></a>
|
|
2729
2776
|
<a name="eslint-plugin-jsdoc-rules-check-param-names-options-4-disableextrapropertyreporting"></a>
|
|
2730
2777
|
##### <code>disableExtraPropertyReporting</code>
|
|
2731
2778
|
|
|
@@ -3598,15 +3645,18 @@ const foo = ([, b]) => b;
|
|
|
3598
3645
|
````
|
|
3599
3646
|
|
|
3600
3647
|
|
|
3648
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-property-names"></a>
|
|
3601
3649
|
<a name="eslint-plugin-jsdoc-rules-check-property-names"></a>
|
|
3602
3650
|
### <code>check-property-names</code>
|
|
3603
3651
|
|
|
3604
3652
|
Ensures that property names in JSDoc are not duplicated on the same block
|
|
3605
3653
|
and that nested properties have defined roots.
|
|
3606
3654
|
|
|
3655
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-property-names-options-5"></a>
|
|
3607
3656
|
<a name="eslint-plugin-jsdoc-rules-check-property-names-options-5"></a>
|
|
3608
3657
|
#### Options
|
|
3609
3658
|
|
|
3659
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-property-names-options-5-enablefixer-1"></a>
|
|
3610
3660
|
<a name="eslint-plugin-jsdoc-rules-check-property-names-options-5-enablefixer-1"></a>
|
|
3611
3661
|
##### <code>enableFixer</code>
|
|
3612
3662
|
|
|
@@ -3812,6 +3862,7 @@ function quux (code = 1) {
|
|
|
3812
3862
|
````
|
|
3813
3863
|
|
|
3814
3864
|
|
|
3865
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-syntax"></a>
|
|
3815
3866
|
<a name="eslint-plugin-jsdoc-rules-check-syntax"></a>
|
|
3816
3867
|
### <code>check-syntax</code>
|
|
3817
3868
|
|
|
@@ -3873,6 +3924,7 @@ function quux (foo) {
|
|
|
3873
3924
|
````
|
|
3874
3925
|
|
|
3875
3926
|
|
|
3927
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-tag-names"></a>
|
|
3876
3928
|
<a name="eslint-plugin-jsdoc-rules-check-tag-names"></a>
|
|
3877
3929
|
### <code>check-tag-names</code>
|
|
3878
3930
|
|
|
@@ -4050,9 +4102,11 @@ typeSummary
|
|
|
4050
4102
|
wizaction
|
|
4051
4103
|
```
|
|
4052
4104
|
|
|
4105
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-tag-names-options-6"></a>
|
|
4053
4106
|
<a name="eslint-plugin-jsdoc-rules-check-tag-names-options-6"></a>
|
|
4054
4107
|
#### Options
|
|
4055
4108
|
|
|
4109
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-tag-names-options-6-definedtags"></a>
|
|
4056
4110
|
<a name="eslint-plugin-jsdoc-rules-check-tag-names-options-6-definedtags"></a>
|
|
4057
4111
|
##### <code>definedTags</code>
|
|
4058
4112
|
|
|
@@ -4065,6 +4119,7 @@ The format is as follows:
|
|
|
4065
4119
|
}
|
|
4066
4120
|
```
|
|
4067
4121
|
|
|
4122
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-tag-names-jsxtags"></a>
|
|
4068
4123
|
<a name="eslint-plugin-jsdoc-rules-check-tag-names-jsxtags"></a>
|
|
4069
4124
|
#### <code>jsxTags</code>
|
|
4070
4125
|
|
|
@@ -4713,6 +4768,7 @@ export function transient<T>(target?: T): T {
|
|
|
4713
4768
|
````
|
|
4714
4769
|
|
|
4715
4770
|
|
|
4771
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-types"></a>
|
|
4716
4772
|
<a name="eslint-plugin-jsdoc-rules-check-types"></a>
|
|
4717
4773
|
### <code>check-types</code>
|
|
4718
4774
|
|
|
@@ -4736,6 +4792,7 @@ Date
|
|
|
4736
4792
|
RegExp
|
|
4737
4793
|
```
|
|
4738
4794
|
|
|
4795
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-types-options-7"></a>
|
|
4739
4796
|
<a name="eslint-plugin-jsdoc-rules-check-types-options-7"></a>
|
|
4740
4797
|
#### Options
|
|
4741
4798
|
|
|
@@ -4785,6 +4842,7 @@ Note that if there is an error [parsing](https://github.com/jsdoc-type-pratt-par
|
|
|
4785
4842
|
types for a tag, the function will silently ignore that tag, leaving it to
|
|
4786
4843
|
the `valid-types` rule to report parsing errors.
|
|
4787
4844
|
|
|
4845
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-types-why-not-capital-case-everything"></a>
|
|
4788
4846
|
<a name="eslint-plugin-jsdoc-rules-check-types-why-not-capital-case-everything"></a>
|
|
4789
4847
|
#### Why not capital case everything?
|
|
4790
4848
|
|
|
@@ -5802,6 +5860,7 @@ function a () {}
|
|
|
5802
5860
|
````
|
|
5803
5861
|
|
|
5804
5862
|
|
|
5863
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-values"></a>
|
|
5805
5864
|
<a name="eslint-plugin-jsdoc-rules-check-values"></a>
|
|
5806
5865
|
### <code>check-values</code>
|
|
5807
5866
|
|
|
@@ -5822,21 +5881,25 @@ This rule checks the values for a handful of tags:
|
|
|
5822
5881
|
'constant', 'event', 'external', 'file', 'function', 'member', 'mixin',
|
|
5823
5882
|
'module', 'namespace', 'typedef',
|
|
5824
5883
|
|
|
5884
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-values-options-8"></a>
|
|
5825
5885
|
<a name="eslint-plugin-jsdoc-rules-check-values-options-8"></a>
|
|
5826
5886
|
#### Options
|
|
5827
5887
|
|
|
5888
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-values-options-8-allowedauthors"></a>
|
|
5828
5889
|
<a name="eslint-plugin-jsdoc-rules-check-values-options-8-allowedauthors"></a>
|
|
5829
5890
|
##### <code>allowedAuthors</code>
|
|
5830
5891
|
|
|
5831
5892
|
An array of allowable author values. If absent, only non-whitespace will
|
|
5832
5893
|
be checked for.
|
|
5833
5894
|
|
|
5895
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-values-options-8-allowedlicenses"></a>
|
|
5834
5896
|
<a name="eslint-plugin-jsdoc-rules-check-values-options-8-allowedlicenses"></a>
|
|
5835
5897
|
##### <code>allowedLicenses</code>
|
|
5836
5898
|
|
|
5837
5899
|
An array of allowable license values or `true` to allow any license text.
|
|
5838
5900
|
If present as an array, will be used in place of SPDX identifiers.
|
|
5839
5901
|
|
|
5902
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-values-options-8-licensepattern"></a>
|
|
5840
5903
|
<a name="eslint-plugin-jsdoc-rules-check-values-options-8-licensepattern"></a>
|
|
5841
5904
|
##### <code>licensePattern</code>
|
|
5842
5905
|
|
|
@@ -5851,6 +5914,7 @@ Note that the `/` delimiters are optional, but necessary to add flags.
|
|
|
5851
5914
|
Defaults to using the `u` flag, so to add your own flags, encapsulate
|
|
5852
5915
|
your expression as a string, but like a literal, e.g., `/^mit$/ui`.
|
|
5853
5916
|
|
|
5917
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-check-values-options-8-numericonlyvariation"></a>
|
|
5854
5918
|
<a name="eslint-plugin-jsdoc-rules-check-values-options-8-numericonlyvariation"></a>
|
|
5855
5919
|
##### <code>numericOnlyVariation</code>
|
|
5856
5920
|
|
|
@@ -6137,6 +6201,7 @@ function quux (foo) {
|
|
|
6137
6201
|
````
|
|
6138
6202
|
|
|
6139
6203
|
|
|
6204
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-empty-tags"></a>
|
|
6140
6205
|
<a name="eslint-plugin-jsdoc-rules-empty-tags"></a>
|
|
6141
6206
|
### <code>empty-tags</code>
|
|
6142
6207
|
|
|
@@ -6171,9 +6236,11 @@ causes rules not to take effect).
|
|
|
6171
6236
|
Similarly, `@internal` will still be checked for content by this rule even with
|
|
6172
6237
|
`settings.jsdoc.ignoreInternal` set to `true`.
|
|
6173
6238
|
|
|
6239
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-empty-tags-options-9"></a>
|
|
6174
6240
|
<a name="eslint-plugin-jsdoc-rules-empty-tags-options-9"></a>
|
|
6175
6241
|
#### Options
|
|
6176
6242
|
|
|
6243
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-empty-tags-options-9-tags-1"></a>
|
|
6177
6244
|
<a name="eslint-plugin-jsdoc-rules-empty-tags-options-9-tags-1"></a>
|
|
6178
6245
|
##### <code>tags</code>
|
|
6179
6246
|
|
|
@@ -6332,6 +6399,7 @@ function quux () {}
|
|
|
6332
6399
|
````
|
|
6333
6400
|
|
|
6334
6401
|
|
|
6402
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-implements-on-classes"></a>
|
|
6335
6403
|
<a name="eslint-plugin-jsdoc-rules-implements-on-classes"></a>
|
|
6336
6404
|
### <code>implements-on-classes</code>
|
|
6337
6405
|
|
|
@@ -6344,9 +6412,11 @@ To indicate that a function follows another function's signature, one might
|
|
|
6344
6412
|
instead use `@type` to indicate the `@function` or `@callback` to which the
|
|
6345
6413
|
function is adhering.
|
|
6346
6414
|
|
|
6415
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-implements-on-classes-options-10"></a>
|
|
6347
6416
|
<a name="eslint-plugin-jsdoc-rules-implements-on-classes-options-10"></a>
|
|
6348
6417
|
#### Options
|
|
6349
6418
|
|
|
6419
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-implements-on-classes-options-10-contexts"></a>
|
|
6350
6420
|
<a name="eslint-plugin-jsdoc-rules-implements-on-classes-options-10-contexts"></a>
|
|
6351
6421
|
##### <code>contexts</code>
|
|
6352
6422
|
|
|
@@ -6359,7 +6429,7 @@ for finding function blocks not attached to a function declaration or
|
|
|
6359
6429
|
expression, i.e., `@callback` or `@function` (or its aliases `@func` or
|
|
6360
6430
|
`@method`) (including those associated with an `@interface`).
|
|
6361
6431
|
|
|
6362
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
6432
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
6363
6433
|
section of our README for more on the expected format.
|
|
6364
6434
|
|
|
6365
6435
|
|||
|
|
@@ -6528,6 +6598,7 @@ function quux () {
|
|
|
6528
6598
|
````
|
|
6529
6599
|
|
|
6530
6600
|
|
|
6601
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-match-description"></a>
|
|
6531
6602
|
<a name="eslint-plugin-jsdoc-rules-match-description"></a>
|
|
6532
6603
|
### <code>match-description</code>
|
|
6533
6604
|
|
|
@@ -6555,9 +6626,11 @@ case-insensitive unless one opts in to add the `i` flag.
|
|
|
6555
6626
|
You can add the `s` flag if you want `.` to match newlines. Note, however,
|
|
6556
6627
|
that the trailing newlines of a description will not be matched.
|
|
6557
6628
|
|
|
6629
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11"></a>
|
|
6558
6630
|
<a name="eslint-plugin-jsdoc-rules-match-description-options-11"></a>
|
|
6559
6631
|
#### Options
|
|
6560
6632
|
|
|
6633
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11-matchdescription"></a>
|
|
6561
6634
|
<a name="eslint-plugin-jsdoc-rules-match-description-options-11-matchdescription"></a>
|
|
6562
6635
|
##### <code>matchDescription</code>
|
|
6563
6636
|
|
|
@@ -6570,6 +6643,7 @@ You can supply your own expression to override the default, passing a
|
|
|
6570
6643
|
}
|
|
6571
6644
|
```
|
|
6572
6645
|
|
|
6646
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11-message"></a>
|
|
6573
6647
|
<a name="eslint-plugin-jsdoc-rules-match-description-options-11-message"></a>
|
|
6574
6648
|
##### <code>message</code>
|
|
6575
6649
|
|
|
@@ -6586,6 +6660,7 @@ You may provide a custom default message by using the following format:
|
|
|
6586
6660
|
This can be overridden per tag or for the main block description by setting
|
|
6587
6661
|
`message` within `tags` or `mainDescription`, respectively.
|
|
6588
6662
|
|
|
6663
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11-tags-2"></a>
|
|
6589
6664
|
<a name="eslint-plugin-jsdoc-rules-match-description-options-11-tags-2"></a>
|
|
6590
6665
|
##### <code>tags</code>
|
|
6591
6666
|
|
|
@@ -6635,6 +6710,7 @@ its "description" (e.g., for `@returns {someType} some description`, the
|
|
|
6635
6710
|
description is `some description` while for `@some-tag xyz`, the description
|
|
6636
6711
|
is `xyz`).
|
|
6637
6712
|
|
|
6713
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11-maindescription"></a>
|
|
6638
6714
|
<a name="eslint-plugin-jsdoc-rules-match-description-options-11-maindescription"></a>
|
|
6639
6715
|
##### <code>mainDescription</code>
|
|
6640
6716
|
|
|
@@ -6675,6 +6751,7 @@ You may also provide an object with `message`:
|
|
|
6675
6751
|
}
|
|
6676
6752
|
```
|
|
6677
6753
|
|
|
6754
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11-contexts-1"></a>
|
|
6678
6755
|
<a name="eslint-plugin-jsdoc-rules-match-description-options-11-contexts-1"></a>
|
|
6679
6756
|
##### <code>contexts</code>
|
|
6680
6757
|
|
|
@@ -6684,7 +6761,7 @@ Set this to an array of strings representing the AST context (or an object with
|
|
|
6684
6761
|
classes). Overrides the default contexts (see below). Set to `"any"` if you
|
|
6685
6762
|
want the rule to apply to any jsdoc block throughout your files.
|
|
6686
6763
|
|
|
6687
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
6764
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
6688
6765
|
section of our README for more on the expected format.
|
|
6689
6766
|
|
|
6690
6767
|
|||
|
|
@@ -7432,6 +7509,7 @@ function quux () {
|
|
|
7432
7509
|
````
|
|
7433
7510
|
|
|
7434
7511
|
|
|
7512
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-match-name"></a>
|
|
7435
7513
|
<a name="eslint-plugin-jsdoc-rules-match-name"></a>
|
|
7436
7514
|
### <code>match-name</code>
|
|
7437
7515
|
|
|
@@ -7444,11 +7522,13 @@ name will actually be part of the description (e.g., for
|
|
|
7444
7522
|
`structuredTags` setting (if `name: false`, this rule will not apply to
|
|
7445
7523
|
that tag).
|
|
7446
7524
|
|
|
7525
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-match-name-options-12"></a>
|
|
7447
7526
|
<a name="eslint-plugin-jsdoc-rules-match-name-options-12"></a>
|
|
7448
7527
|
#### Options
|
|
7449
7528
|
|
|
7450
7529
|
A single options object with the following properties:
|
|
7451
7530
|
|
|
7531
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-match-name-options-12-match"></a>
|
|
7452
7532
|
<a name="eslint-plugin-jsdoc-rules-match-name-options-12-match"></a>
|
|
7453
7533
|
##### <code>match</code>
|
|
7454
7534
|
|
|
@@ -7473,7 +7553,7 @@ properties, all of which act to confine one another:
|
|
|
7473
7553
|
|
|
7474
7554
|
- `context` - AST to confine the allowing or disallowing to jsdoc blocks
|
|
7475
7555
|
associated with a particular context. See the
|
|
7476
|
-
["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
7556
|
+
["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
7477
7557
|
section of our README for more on the expected format.
|
|
7478
7558
|
- `comment` - As with `context` but AST for the JSDoc block comment and types
|
|
7479
7559
|
|
|
@@ -7643,6 +7723,7 @@ class A {
|
|
|
7643
7723
|
````
|
|
7644
7724
|
|
|
7645
7725
|
|
|
7726
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks"></a>
|
|
7646
7727
|
<a name="eslint-plugin-jsdoc-rules-multiline-blocks"></a>
|
|
7647
7728
|
### <code>multiline-blocks</code>
|
|
7648
7729
|
|
|
@@ -7655,11 +7736,13 @@ all jsdoc blocks!
|
|
|
7655
7736
|
|
|
7656
7737
|
Also allows for preventing text at the very beginning or very end of blocks.
|
|
7657
7738
|
|
|
7739
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13"></a>
|
|
7658
7740
|
<a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13"></a>
|
|
7659
7741
|
#### Options
|
|
7660
7742
|
|
|
7661
7743
|
A single options object with the following properties.
|
|
7662
7744
|
|
|
7745
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nozerolinetext-defaults-to-true"></a>
|
|
7663
7746
|
<a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nozerolinetext-defaults-to-true"></a>
|
|
7664
7747
|
##### <code>noZeroLineText</code> (defaults to <code>true</code>)
|
|
7665
7748
|
|
|
@@ -7668,6 +7751,7 @@ space will be reported. (Text after a newline is not reported.)
|
|
|
7668
7751
|
|
|
7669
7752
|
`noMultilineBlocks` will have priority over this rule if it applies.
|
|
7670
7753
|
|
|
7754
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nofinallinetext-defaults-to-true"></a>
|
|
7671
7755
|
<a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nofinallinetext-defaults-to-true"></a>
|
|
7672
7756
|
##### <code>noFinalLineText</code> (defaults to <code>true</code>)
|
|
7673
7757
|
|
|
@@ -7676,12 +7760,14 @@ line will be reported. (Text preceding a newline is not reported.)
|
|
|
7676
7760
|
|
|
7677
7761
|
`noMultilineBlocks` will have priority over this rule if it applies.
|
|
7678
7762
|
|
|
7763
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nosinglelineblocks-defaults-to-false"></a>
|
|
7679
7764
|
<a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nosinglelineblocks-defaults-to-false"></a>
|
|
7680
7765
|
##### <code>noSingleLineBlocks</code> (defaults to <code>false</code>)
|
|
7681
7766
|
|
|
7682
7767
|
If this is `true`, any single line blocks will be reported, except those which
|
|
7683
7768
|
are whitelisted in `singleLineTags`.
|
|
7684
7769
|
|
|
7770
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-singlelinetags-defaults-to-lends-type"></a>
|
|
7685
7771
|
<a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-singlelinetags-defaults-to-lends-type"></a>
|
|
7686
7772
|
##### <code>singleLineTags</code> (defaults to <code>['lends', 'type']</code>)
|
|
7687
7773
|
|
|
@@ -7691,6 +7777,7 @@ cause all single line blocks to be reported. If `'*'` is present, then
|
|
|
7691
7777
|
the presence of a tag will allow single line blocks (but not if a tag is
|
|
7692
7778
|
missing).
|
|
7693
7779
|
|
|
7780
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nomultilineblocks-defaults-to-false"></a>
|
|
7694
7781
|
<a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nomultilineblocks-defaults-to-false"></a>
|
|
7695
7782
|
##### <code>noMultilineBlocks</code> (defaults to <code>false</code>)
|
|
7696
7783
|
|
|
@@ -7698,6 +7785,7 @@ Requires that jsdoc blocks are restricted to single lines only unless impacted
|
|
|
7698
7785
|
by the options `minimumLengthForMultiline`, `multilineTags`, or
|
|
7699
7786
|
`allowMultipleTags`.
|
|
7700
7787
|
|
|
7788
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-minimumlengthformultiline-defaults-to-not-being-in-effect"></a>
|
|
7701
7789
|
<a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-minimumlengthformultiline-defaults-to-not-being-in-effect"></a>
|
|
7702
7790
|
##### <code>minimumLengthForMultiline</code> (defaults to not being in effect)
|
|
7703
7791
|
|
|
@@ -7707,6 +7795,7 @@ be permitted if containing at least the given amount of text.
|
|
|
7707
7795
|
If not set, multiline blocks will not be permitted regardless of length unless
|
|
7708
7796
|
a relevant tag is present and `multilineTags` is set.
|
|
7709
7797
|
|
|
7798
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-multilinetags-defaults-to"></a>
|
|
7710
7799
|
<a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-multilinetags-defaults-to"></a>
|
|
7711
7800
|
##### <code>multilineTags</code> (defaults to <code>['*']</code>)
|
|
7712
7801
|
|
|
@@ -7723,6 +7812,7 @@ such a tag will cause multiline blocks to be allowed.
|
|
|
7723
7812
|
You may set this to an empty array to prevent any tag from permitting multiple
|
|
7724
7813
|
lines.
|
|
7725
7814
|
|
|
7815
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-allowmultipletags-defaults-to-true"></a>
|
|
7726
7816
|
<a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-allowmultipletags-defaults-to-true"></a>
|
|
7727
7817
|
##### <code>allowMultipleTags</code> (defaults to <code>true</code>)
|
|
7728
7818
|
|
|
@@ -8010,11 +8100,13 @@ The following patterns are not considered problems:
|
|
|
8010
8100
|
````
|
|
8011
8101
|
|
|
8012
8102
|
|
|
8103
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-newline-after-description"></a>
|
|
8013
8104
|
<a name="eslint-plugin-jsdoc-rules-newline-after-description"></a>
|
|
8014
8105
|
### <code>newline-after-description</code>
|
|
8015
8106
|
|
|
8016
8107
|
Enforces a consistent padding of the block description.
|
|
8017
8108
|
|
|
8109
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-newline-after-description-options-14"></a>
|
|
8018
8110
|
<a name="eslint-plugin-jsdoc-rules-newline-after-description-options-14"></a>
|
|
8019
8111
|
#### Options
|
|
8020
8112
|
|
|
@@ -8249,6 +8341,7 @@ function example() {
|
|
|
8249
8341
|
````
|
|
8250
8342
|
|
|
8251
8343
|
|
|
8344
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks"></a>
|
|
8252
8345
|
<a name="eslint-plugin-jsdoc-rules-no-bad-blocks"></a>
|
|
8253
8346
|
### <code>no-bad-blocks</code>
|
|
8254
8347
|
|
|
@@ -8258,11 +8351,13 @@ asterisks, but which appear to be intended as jsdoc blocks due to the presence
|
|
|
8258
8351
|
of whitespace followed by whitespace or asterisks, and
|
|
8259
8352
|
an at-sign (`@`) and some non-whitespace (as with a jsdoc block tag).
|
|
8260
8353
|
|
|
8354
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-15"></a>
|
|
8261
8355
|
<a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-15"></a>
|
|
8262
8356
|
#### Options
|
|
8263
8357
|
|
|
8264
8358
|
Takes an optional options object with the following.
|
|
8265
8359
|
|
|
8360
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-ignore"></a>
|
|
8266
8361
|
<a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-ignore"></a>
|
|
8267
8362
|
##### <code>ignore</code>
|
|
8268
8363
|
|
|
@@ -8272,6 +8367,7 @@ a multi-comment block and at-sign `/* @`.
|
|
|
8272
8367
|
Defaults to `['ts-check', 'ts-expect-error', 'ts-ignore', 'ts-nocheck']`
|
|
8273
8368
|
(some directives [used by TypeScript](https://www.typescriptlang.org/docs/handbook/intro-to-js-ts.html#ts-check)).
|
|
8274
8369
|
|
|
8370
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-preventallmultiasteriskblocks"></a>
|
|
8275
8371
|
<a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-preventallmultiasteriskblocks"></a>
|
|
8276
8372
|
##### <code>preventAllMultiAsteriskBlocks</code>
|
|
8277
8373
|
|
|
@@ -8394,6 +8490,7 @@ function quux (foo) {
|
|
|
8394
8490
|
````
|
|
8395
8491
|
|
|
8396
8492
|
|
|
8493
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-defaults"></a>
|
|
8397
8494
|
<a name="eslint-plugin-jsdoc-rules-no-defaults"></a>
|
|
8398
8495
|
### <code>no-defaults</code>
|
|
8399
8496
|
|
|
@@ -8409,9 +8506,11 @@ tag is attached).
|
|
|
8409
8506
|
Unless your `@default` is on a function, you will need to set `contexts`
|
|
8410
8507
|
to an appropriate context, including, if you wish, "any".
|
|
8411
8508
|
|
|
8509
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-16"></a>
|
|
8412
8510
|
<a name="eslint-plugin-jsdoc-rules-no-defaults-options-16"></a>
|
|
8413
8511
|
#### Options
|
|
8414
8512
|
|
|
8513
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-16-nooptionalparamnames"></a>
|
|
8415
8514
|
<a name="eslint-plugin-jsdoc-rules-no-defaults-options-16-nooptionalparamnames"></a>
|
|
8416
8515
|
##### <code>noOptionalParamNames</code>
|
|
8417
8516
|
|
|
@@ -8421,6 +8520,7 @@ the presence of ES6 default parameters (bearing in mind that such
|
|
|
8421
8520
|
"defaults" are only applied when the supplied value is missing or
|
|
8422
8521
|
`undefined` but not for `null` or other "falsey" values).
|
|
8423
8522
|
|
|
8523
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-16-contexts-2"></a>
|
|
8424
8524
|
<a name="eslint-plugin-jsdoc-rules-no-defaults-options-16-contexts-2"></a>
|
|
8425
8525
|
##### <code>contexts</code>
|
|
8426
8526
|
|
|
@@ -8432,7 +8532,7 @@ for finding function blocks not attached to a function declaration or
|
|
|
8432
8532
|
expression, i.e., `@callback` or `@function` (or its aliases `@func` or
|
|
8433
8533
|
`@method`) (including those associated with an `@interface`).
|
|
8434
8534
|
|
|
8435
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
8535
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
8436
8536
|
section of our README for more on the expected format.
|
|
8437
8537
|
|
|
8438
8538
|
|||
|
|
@@ -8569,6 +8669,7 @@ const a = {};
|
|
|
8569
8669
|
````
|
|
8570
8670
|
|
|
8571
8671
|
|
|
8672
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax"></a>
|
|
8572
8673
|
<a name="eslint-plugin-jsdoc-rules-no-missing-syntax"></a>
|
|
8573
8674
|
### <code>no-missing-syntax</code>
|
|
8574
8675
|
|
|
@@ -8606,9 +8707,11 @@ which are not adequate to satisfy a condition, e.g.,
|
|
|
8606
8707
|
not report if there were only a function declaration of the name "ignoreMe"
|
|
8607
8708
|
(though it would report by function declarations of other names).
|
|
8608
8709
|
|
|
8710
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-17"></a>
|
|
8609
8711
|
<a name="eslint-plugin-jsdoc-rules-no-missing-syntax-options-17"></a>
|
|
8610
8712
|
#### Options
|
|
8611
8713
|
|
|
8714
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-17-contexts-3"></a>
|
|
8612
8715
|
<a name="eslint-plugin-jsdoc-rules-no-missing-syntax-options-17-contexts-3"></a>
|
|
8613
8716
|
##### <code>contexts</code>
|
|
8614
8717
|
|
|
@@ -8627,7 +8730,7 @@ your files (as is necessary for finding function blocks not attached to a
|
|
|
8627
8730
|
function declaration or expression, i.e., `@callback` or `@function` (or its
|
|
8628
8731
|
aliases `@func` or `@method`) (including those associated with an `@interface`).
|
|
8629
8732
|
|
|
8630
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
8733
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
8631
8734
|
section of our README for more on the expected format.
|
|
8632
8735
|
|
|
8633
8736
|
|||
|
|
@@ -8806,6 +8909,7 @@ function quux () {
|
|
|
8806
8909
|
````
|
|
8807
8910
|
|
|
8808
8911
|
|
|
8912
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks"></a>
|
|
8809
8913
|
<a name="eslint-plugin-jsdoc-rules-no-multi-asterisks"></a>
|
|
8810
8914
|
### <code>no-multi-asterisks</code>
|
|
8811
8915
|
|
|
@@ -8815,9 +8919,11 @@ Note that if you wish to prevent multiple asterisks at the very beginning of
|
|
|
8815
8919
|
the jsdoc block, you should use `no-bad-blocks` (as that is not proper jsdoc
|
|
8816
8920
|
and that rule is for catching blocks which only seem like jsdoc).
|
|
8817
8921
|
|
|
8922
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18"></a>
|
|
8818
8923
|
<a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18"></a>
|
|
8819
8924
|
#### Options
|
|
8820
8925
|
|
|
8926
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-allowwhitespace-defaults-to-false"></a>
|
|
8821
8927
|
<a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-allowwhitespace-defaults-to-false"></a>
|
|
8822
8928
|
##### <code>allowWhitespace</code> (defaults to <code>false</code>)
|
|
8823
8929
|
|
|
@@ -8829,6 +8935,7 @@ Set to `true` if you wish to allow asterisks after a space (as with Markdown):
|
|
|
8829
8935
|
*/
|
|
8830
8936
|
```
|
|
8831
8937
|
|
|
8938
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatmiddlelines-defaults-to-true"></a>
|
|
8832
8939
|
<a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatmiddlelines-defaults-to-true"></a>
|
|
8833
8940
|
##### <code>preventAtMiddleLines</code> (defaults to <code>true</code>)
|
|
8834
8941
|
|
|
@@ -8841,6 +8948,7 @@ Prevent the likes of this:
|
|
|
8841
8948
|
*/
|
|
8842
8949
|
```
|
|
8843
8950
|
|
|
8951
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatend-defaults-to-true"></a>
|
|
8844
8952
|
<a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatend-defaults-to-true"></a>
|
|
8845
8953
|
##### <code>preventAtEnd</code> (defaults to <code>true</code>)
|
|
8846
8954
|
|
|
@@ -9058,6 +9166,7 @@ function foo() {
|
|
|
9058
9166
|
````
|
|
9059
9167
|
|
|
9060
9168
|
|
|
9169
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax"></a>
|
|
9061
9170
|
<a name="eslint-plugin-jsdoc-rules-no-restricted-syntax"></a>
|
|
9062
9171
|
### <code>no-restricted-syntax</code>
|
|
9063
9172
|
|
|
@@ -9075,9 +9184,11 @@ structures, (whether or not you add a specific `comment` condition).
|
|
|
9075
9184
|
Note that if your parser supports comment AST (as [jsdoc-eslint-parser](https://github.com/brettz9/jsdoc-eslint-parser)
|
|
9076
9185
|
is designed to do), you can just use ESLint's rule.
|
|
9077
9186
|
|
|
9187
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19"></a>
|
|
9078
9188
|
<a name="eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19"></a>
|
|
9079
9189
|
#### Options
|
|
9080
9190
|
|
|
9191
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19-contexts-4"></a>
|
|
9081
9192
|
<a name="eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19-contexts-4"></a>
|
|
9082
9193
|
##### <code>contexts</code>
|
|
9083
9194
|
|
|
@@ -9092,7 +9203,7 @@ your files (as is necessary for finding function blocks not attached to a
|
|
|
9092
9203
|
function declaration or expression, i.e., `@callback` or `@function` (or its
|
|
9093
9204
|
aliases `@func` or `@method`) (including those associated with an `@interface`).
|
|
9094
9205
|
|
|
9095
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
9206
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
9096
9207
|
section of our README for more on the expected format.
|
|
9097
9208
|
|
|
9098
9209
|
|||
|
|
@@ -9270,6 +9381,7 @@ const MY_ENUM = Object.freeze({
|
|
|
9270
9381
|
````
|
|
9271
9382
|
|
|
9272
9383
|
|
|
9384
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-types"></a>
|
|
9273
9385
|
<a name="eslint-plugin-jsdoc-rules-no-types"></a>
|
|
9274
9386
|
### <code>no-types</code>
|
|
9275
9387
|
|
|
@@ -9278,9 +9390,11 @@ This rule reports types being used on `@param` or `@returns`.
|
|
|
9278
9390
|
The rule is intended to prevent the indication of types on tags where
|
|
9279
9391
|
the type information would be redundant with TypeScript.
|
|
9280
9392
|
|
|
9393
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-20"></a>
|
|
9281
9394
|
<a name="eslint-plugin-jsdoc-rules-no-types-options-20"></a>
|
|
9282
9395
|
#### Options
|
|
9283
9396
|
|
|
9397
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-20-contexts-5"></a>
|
|
9284
9398
|
<a name="eslint-plugin-jsdoc-rules-no-types-options-20-contexts-5"></a>
|
|
9285
9399
|
##### <code>contexts</code>
|
|
9286
9400
|
|
|
@@ -9292,7 +9406,7 @@ for finding function blocks not attached to a function declaration or
|
|
|
9292
9406
|
expression, i.e., `@callback` or `@function` (or its aliases `@func` or
|
|
9293
9407
|
`@method`) (including those associated with an `@interface`).
|
|
9294
9408
|
|
|
9295
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
9409
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
9296
9410
|
section of our README for more on the expected format.
|
|
9297
9411
|
|
|
9298
9412
|
|||
|
|
@@ -9405,6 +9519,7 @@ function quux (foo) {
|
|
|
9405
9519
|
````
|
|
9406
9520
|
|
|
9407
9521
|
|
|
9522
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-undefined-types"></a>
|
|
9408
9523
|
<a name="eslint-plugin-jsdoc-rules-no-undefined-types"></a>
|
|
9409
9524
|
### <code>no-undefined-types</code>
|
|
9410
9525
|
|
|
@@ -9434,7 +9549,7 @@ The following types are always considered defined.
|
|
|
9434
9549
|
- `null`, `undefined`, `void`, `string`, `boolean`, `object`,
|
|
9435
9550
|
`function`, `symbol`
|
|
9436
9551
|
- `number`, `bigint`, `NaN`, `Infinity`
|
|
9437
|
-
- `any`,
|
|
9552
|
+
- `any`, `*`, `never`, `unknown`, `const`
|
|
9438
9553
|
- `this`, `true`, `false`
|
|
9439
9554
|
- `Array`, `Object`, `RegExp`, `Date`, `Function`
|
|
9440
9555
|
|
|
@@ -9451,6 +9566,7 @@ reporting on use of that namepath elsewhere) and/or that a tag's `type` is
|
|
|
9451
9566
|
`false` (and should not be checked for types). If the `type` is an array, that
|
|
9452
9567
|
array's items will be considered as defined for the purposes of that tag.
|
|
9453
9568
|
|
|
9569
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-no-undefined-types-options-21"></a>
|
|
9454
9570
|
<a name="eslint-plugin-jsdoc-rules-no-undefined-types-options-21"></a>
|
|
9455
9571
|
#### Options
|
|
9456
9572
|
|
|
@@ -9781,14 +9897,6 @@ function foo () {
|
|
|
9781
9897
|
|
|
9782
9898
|
}
|
|
9783
9899
|
|
|
9784
|
-
/**
|
|
9785
|
-
*
|
|
9786
|
-
*
|
|
9787
|
-
*/
|
|
9788
|
-
function foo () {
|
|
9789
|
-
|
|
9790
|
-
}
|
|
9791
|
-
|
|
9792
9900
|
/**
|
|
9793
9901
|
* @param {MyType} foo - Bar.
|
|
9794
9902
|
* @param {HisType} bar - Foo.
|
|
@@ -10073,14 +10181,21 @@ export class Foo {
|
|
|
10073
10181
|
}
|
|
10074
10182
|
}
|
|
10075
10183
|
// Settings: {"jsdoc":{"mode":"typescript"}}
|
|
10184
|
+
|
|
10185
|
+
/**
|
|
10186
|
+
* @type {const}
|
|
10187
|
+
*/
|
|
10188
|
+
const a = 'string';
|
|
10076
10189
|
````
|
|
10077
10190
|
|
|
10078
10191
|
|
|
10192
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix"></a>
|
|
10079
10193
|
<a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix"></a>
|
|
10080
10194
|
### <code>require-asterisk-prefix</code>
|
|
10081
10195
|
|
|
10082
10196
|
Requires that each JSDoc line starts with an `*`.
|
|
10083
10197
|
|
|
10198
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22"></a>
|
|
10084
10199
|
<a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22"></a>
|
|
10085
10200
|
#### Options
|
|
10086
10201
|
|
|
@@ -10092,6 +10207,7 @@ and use the `tags` option to apply to specific tags only.
|
|
|
10092
10207
|
|
|
10093
10208
|
After the string option, one may add an object with the following.
|
|
10094
10209
|
|
|
10210
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22-tags-3"></a>
|
|
10095
10211
|
<a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22-tags-3"></a>
|
|
10096
10212
|
##### <code>tags</code>
|
|
10097
10213
|
|
|
@@ -10349,6 +10465,7 @@ function quux (foo) {
|
|
|
10349
10465
|
````
|
|
10350
10466
|
|
|
10351
10467
|
|
|
10468
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence"></a>
|
|
10352
10469
|
<a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence"></a>
|
|
10353
10470
|
### <code>require-description-complete-sentence</code>
|
|
10354
10471
|
|
|
@@ -10366,9 +10483,11 @@ Requires that block description, explicit `@description`, and
|
|
|
10366
10483
|
* Periods after items within the `abbreviations` option array are not treated
|
|
10367
10484
|
as sentence endings.
|
|
10368
10485
|
|
|
10486
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23"></a>
|
|
10369
10487
|
<a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23"></a>
|
|
10370
10488
|
#### Options
|
|
10371
10489
|
|
|
10490
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-tags-4"></a>
|
|
10372
10491
|
<a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-tags-4"></a>
|
|
10373
10492
|
##### <code>tags</code>
|
|
10374
10493
|
|
|
@@ -10393,6 +10512,7 @@ its "description" (e.g., for `@returns {someType} some description`, the
|
|
|
10393
10512
|
description is `some description` while for `@some-tag xyz`, the description
|
|
10394
10513
|
is `xyz`).
|
|
10395
10514
|
|
|
10515
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-abbreviations"></a>
|
|
10396
10516
|
<a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-abbreviations"></a>
|
|
10397
10517
|
##### <code>abbreviations</code>
|
|
10398
10518
|
|
|
@@ -10400,6 +10520,7 @@ You can provide an `abbreviations` options array to avoid such strings of text
|
|
|
10400
10520
|
being treated as sentence endings when followed by dots. The `.` is not
|
|
10401
10521
|
necessary at the end of the array items.
|
|
10402
10522
|
|
|
10523
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-newlinebeforecapsassumesbadsentenceend"></a>
|
|
10403
10524
|
<a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-newlinebeforecapsassumesbadsentenceend"></a>
|
|
10404
10525
|
##### <code>newlineBeforeCapsAssumesBadSentenceEnd</code>
|
|
10405
10526
|
|
|
@@ -11059,6 +11180,7 @@ export default (foo) => {
|
|
|
11059
11180
|
````
|
|
11060
11181
|
|
|
11061
11182
|
|
|
11183
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-description"></a>
|
|
11062
11184
|
<a name="eslint-plugin-jsdoc-rules-require-description"></a>
|
|
11063
11185
|
### <code>require-description</code>
|
|
11064
11186
|
|
|
@@ -11071,6 +11193,7 @@ Requires that all functions have a description.
|
|
|
11071
11193
|
is `"tag"`) must have a non-empty description that explains the purpose of
|
|
11072
11194
|
the method.
|
|
11073
11195
|
|
|
11196
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-description-options-24"></a>
|
|
11074
11197
|
<a name="eslint-plugin-jsdoc-rules-require-description-options-24"></a>
|
|
11075
11198
|
#### Options
|
|
11076
11199
|
|
|
@@ -11612,6 +11735,7 @@ class quux {
|
|
|
11612
11735
|
````
|
|
11613
11736
|
|
|
11614
11737
|
|
|
11738
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-example"></a>
|
|
11615
11739
|
<a name="eslint-plugin-jsdoc-rules-require-example"></a>
|
|
11616
11740
|
### <code>require-example</code>
|
|
11617
11741
|
|
|
@@ -11621,11 +11745,13 @@ Requires that all functions have examples.
|
|
|
11621
11745
|
* Every example tag must have a non-empty description that explains the
|
|
11622
11746
|
method's usage.
|
|
11623
11747
|
|
|
11748
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25"></a>
|
|
11624
11749
|
<a name="eslint-plugin-jsdoc-rules-require-example-options-25"></a>
|
|
11625
11750
|
#### Options
|
|
11626
11751
|
|
|
11627
11752
|
This rule has an object option.
|
|
11628
11753
|
|
|
11754
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-exemptedby"></a>
|
|
11629
11755
|
<a name="eslint-plugin-jsdoc-rules-require-example-options-25-exemptedby"></a>
|
|
11630
11756
|
##### <code>exemptedBy</code>
|
|
11631
11757
|
|
|
@@ -11635,12 +11761,14 @@ block avoids the need for an `@example`. Defaults to an array with
|
|
|
11635
11761
|
so be sure to add back `inheritdoc` if you wish its presence to cause
|
|
11636
11762
|
exemption of the rule.
|
|
11637
11763
|
|
|
11764
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-exemptnoarguments"></a>
|
|
11638
11765
|
<a name="eslint-plugin-jsdoc-rules-require-example-options-25-exemptnoarguments"></a>
|
|
11639
11766
|
##### <code>exemptNoArguments</code>
|
|
11640
11767
|
|
|
11641
11768
|
Boolean to indicate that no-argument functions should not be reported for
|
|
11642
11769
|
missing `@example` declarations.
|
|
11643
11770
|
|
|
11771
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-contexts-6"></a>
|
|
11644
11772
|
<a name="eslint-plugin-jsdoc-rules-require-example-options-25-contexts-6"></a>
|
|
11645
11773
|
##### <code>contexts</code>
|
|
11646
11774
|
|
|
@@ -11650,25 +11778,29 @@ Set this to an array of strings representing the AST context (or an object with
|
|
|
11650
11778
|
classes). Overrides the default contexts (see below). Set to `"any"` if you
|
|
11651
11779
|
want the rule to apply to any jsdoc block throughout your files.
|
|
11652
11780
|
|
|
11653
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
11781
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
11654
11782
|
section of our README for more on the expected format.
|
|
11655
11783
|
|
|
11784
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-checkconstructors"></a>
|
|
11656
11785
|
<a name="eslint-plugin-jsdoc-rules-require-example-options-25-checkconstructors"></a>
|
|
11657
11786
|
##### <code>checkConstructors</code>
|
|
11658
11787
|
|
|
11659
11788
|
A value indicating whether `constructor`s should be checked.
|
|
11660
11789
|
Defaults to `true`.
|
|
11661
11790
|
|
|
11791
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-checkgetters"></a>
|
|
11662
11792
|
<a name="eslint-plugin-jsdoc-rules-require-example-options-25-checkgetters"></a>
|
|
11663
11793
|
##### <code>checkGetters</code>
|
|
11664
11794
|
|
|
11665
11795
|
A value indicating whether getters should be checked. Defaults to `false`.
|
|
11666
11796
|
|
|
11797
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-checksetters"></a>
|
|
11667
11798
|
<a name="eslint-plugin-jsdoc-rules-require-example-options-25-checksetters"></a>
|
|
11668
11799
|
##### <code>checkSetters</code>
|
|
11669
11800
|
|
|
11670
11801
|
A value indicating whether setters should be checked. Defaults to `false`.
|
|
11671
11802
|
|
|
11803
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-example-fixer"></a>
|
|
11672
11804
|
<a name="eslint-plugin-jsdoc-rules-require-example-fixer"></a>
|
|
11673
11805
|
#### Fixer
|
|
11674
11806
|
|
|
@@ -11943,6 +12075,7 @@ function quux () {
|
|
|
11943
12075
|
````
|
|
11944
12076
|
|
|
11945
12077
|
|
|
12078
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview"></a>
|
|
11946
12079
|
<a name="eslint-plugin-jsdoc-rules-require-file-overview"></a>
|
|
11947
12080
|
### <code>require-file-overview</code>
|
|
11948
12081
|
|
|
@@ -11956,9 +12089,11 @@ Checks that:
|
|
|
11956
12089
|
as being when the overview tag is not preceded by anything other than
|
|
11957
12090
|
a comment.
|
|
11958
12091
|
|
|
12092
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-26"></a>
|
|
11959
12093
|
<a name="eslint-plugin-jsdoc-rules-require-file-overview-options-26"></a>
|
|
11960
12094
|
#### Options
|
|
11961
12095
|
|
|
12096
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-26-tags-5"></a>
|
|
11962
12097
|
<a name="eslint-plugin-jsdoc-rules-require-file-overview-options-26-tags-5"></a>
|
|
11963
12098
|
##### <code>tags</code>
|
|
11964
12099
|
|
|
@@ -12237,11 +12372,13 @@ function quux () {
|
|
|
12237
12372
|
````
|
|
12238
12373
|
|
|
12239
12374
|
|
|
12375
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-hyphen-before-param-description"></a>
|
|
12240
12376
|
<a name="eslint-plugin-jsdoc-rules-require-hyphen-before-param-description"></a>
|
|
12241
12377
|
### <code>require-hyphen-before-param-description</code>
|
|
12242
12378
|
|
|
12243
12379
|
Requires (or disallows) a hyphen before the `@param` description.
|
|
12244
12380
|
|
|
12381
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-27"></a>
|
|
12245
12382
|
<a name="eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-27"></a>
|
|
12246
12383
|
#### Options
|
|
12247
12384
|
|
|
@@ -12467,17 +12604,20 @@ function main(argv) {
|
|
|
12467
12604
|
````
|
|
12468
12605
|
|
|
12469
12606
|
|
|
12607
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc"></a>
|
|
12470
12608
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc"></a>
|
|
12471
12609
|
### <code>require-jsdoc</code>
|
|
12472
12610
|
|
|
12473
12611
|
Checks for presence of jsdoc comments, on class declarations as well as
|
|
12474
12612
|
functions.
|
|
12475
12613
|
|
|
12614
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28"></a>
|
|
12476
12615
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28"></a>
|
|
12477
12616
|
#### Options
|
|
12478
12617
|
|
|
12479
12618
|
Accepts one optional options object with the following optional keys.
|
|
12480
12619
|
|
|
12620
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-publiconly"></a>
|
|
12481
12621
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-publiconly"></a>
|
|
12482
12622
|
##### <code>publicOnly</code>
|
|
12483
12623
|
|
|
@@ -12494,6 +12634,7 @@ otherwise noted):
|
|
|
12494
12634
|
- `cjs` - CommonJS exports are checked for JSDoc comments (Defaults to `true`)
|
|
12495
12635
|
- `window` - Window global exports are checked for JSDoc comments
|
|
12496
12636
|
|
|
12637
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-require"></a>
|
|
12497
12638
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-require"></a>
|
|
12498
12639
|
##### <code>require</code>
|
|
12499
12640
|
|
|
@@ -12507,6 +12648,7 @@ An object with the following optional boolean keys which all default to
|
|
|
12507
12648
|
- `FunctionExpression`
|
|
12508
12649
|
- `MethodDefinition`
|
|
12509
12650
|
|
|
12651
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-contexts-7"></a>
|
|
12510
12652
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-contexts-7"></a>
|
|
12511
12653
|
##### <code>contexts</code>
|
|
12512
12654
|
|
|
@@ -12520,9 +12662,10 @@ block which will otherwise be added. Defaults to an empty array.
|
|
|
12520
12662
|
Note that you may need to disable `require` items (e.g., `MethodDefinition`)
|
|
12521
12663
|
if you are specifying a more precise form in `contexts` (e.g., `MethodDefinition:not([accessibility="private"] > FunctionExpression`).
|
|
12522
12664
|
|
|
12523
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
12665
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
12524
12666
|
section of our README for more on the expected format.
|
|
12525
12667
|
|
|
12668
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyconstructors"></a>
|
|
12526
12669
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyconstructors"></a>
|
|
12527
12670
|
##### <code>exemptEmptyConstructors</code>
|
|
12528
12671
|
|
|
@@ -12532,6 +12675,7 @@ When `true`, the rule will not report missing jsdoc blocks above constructors
|
|
|
12532
12675
|
with no parameters or return values (this is enabled by default as the class
|
|
12533
12676
|
name or description should be seen as sufficient to convey intent).
|
|
12534
12677
|
|
|
12678
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyfunctions"></a>
|
|
12535
12679
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyfunctions"></a>
|
|
12536
12680
|
##### <code>exemptEmptyFunctions</code>
|
|
12537
12681
|
|
|
@@ -12541,6 +12685,7 @@ When `true`, the rule will not report missing jsdoc blocks above
|
|
|
12541
12685
|
functions/methods with no parameters or return values (intended where
|
|
12542
12686
|
function/method names are sufficient for themselves as documentation).
|
|
12543
12687
|
|
|
12688
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkconstructors-1"></a>
|
|
12544
12689
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkconstructors-1"></a>
|
|
12545
12690
|
##### <code>checkConstructors</code>
|
|
12546
12691
|
|
|
@@ -12548,6 +12693,7 @@ A value indicating whether `constructor`s should be checked. Defaults to
|
|
|
12548
12693
|
`true`. When `true`, `exemptEmptyConstructors` may still avoid reporting when
|
|
12549
12694
|
no parameters or return values are found.
|
|
12550
12695
|
|
|
12696
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkgetters-1"></a>
|
|
12551
12697
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkgetters-1"></a>
|
|
12552
12698
|
##### <code>checkGetters</code>
|
|
12553
12699
|
|
|
@@ -12557,6 +12703,7 @@ getters should be checked but only when there is no setter. This may be useful
|
|
|
12557
12703
|
if one only wishes documentation on one of the two accessors. Defaults to
|
|
12558
12704
|
`false`.
|
|
12559
12705
|
|
|
12706
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checksetters-1"></a>
|
|
12560
12707
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checksetters-1"></a>
|
|
12561
12708
|
##### <code>checkSetters</code>
|
|
12562
12709
|
|
|
@@ -12566,6 +12713,7 @@ setters should be checked but only when there is no getter. This may be useful
|
|
|
12566
12713
|
if one only wishes documentation on one of the two accessors. Defaults to
|
|
12567
12714
|
`false`.
|
|
12568
12715
|
|
|
12716
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-enablefixer-2"></a>
|
|
12569
12717
|
<a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-enablefixer-2"></a>
|
|
12570
12718
|
##### <code>enableFixer</code>
|
|
12571
12719
|
|
|
@@ -14156,14 +14304,17 @@ export class User {
|
|
|
14156
14304
|
````
|
|
14157
14305
|
|
|
14158
14306
|
|
|
14307
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-description"></a>
|
|
14159
14308
|
<a name="eslint-plugin-jsdoc-rules-require-param-description"></a>
|
|
14160
14309
|
### <code>require-param-description</code>
|
|
14161
14310
|
|
|
14162
14311
|
Requires that each `@param` tag has a `description` value.
|
|
14163
14312
|
|
|
14313
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-29"></a>
|
|
14164
14314
|
<a name="eslint-plugin-jsdoc-rules-require-param-description-options-29"></a>
|
|
14165
14315
|
#### Options
|
|
14166
14316
|
|
|
14317
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-29-contexts-8"></a>
|
|
14167
14318
|
<a name="eslint-plugin-jsdoc-rules-require-param-description-options-29-contexts-8"></a>
|
|
14168
14319
|
##### <code>contexts</code>
|
|
14169
14320
|
|
|
@@ -14175,7 +14326,7 @@ for finding function blocks not attached to a function declaration or
|
|
|
14175
14326
|
expression, i.e., `@callback` or `@function` (or its aliases `@func` or
|
|
14176
14327
|
`@method`) (including those associated with an `@interface`).
|
|
14177
14328
|
|
|
14178
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
14329
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
14179
14330
|
section of our README for more on the expected format.
|
|
14180
14331
|
|
|
14181
14332
|
|||
|
|
@@ -14276,6 +14427,7 @@ function quux (foo) {
|
|
|
14276
14427
|
````
|
|
14277
14428
|
|
|
14278
14429
|
|
|
14430
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-name"></a>
|
|
14279
14431
|
<a name="eslint-plugin-jsdoc-rules-require-param-name"></a>
|
|
14280
14432
|
### <code>require-param-name</code>
|
|
14281
14433
|
|
|
@@ -14285,9 +14437,11 @@ Requires that all function parameters have names.
|
|
|
14285
14437
|
>
|
|
14286
14438
|
> [JSDoc](https://jsdoc.app/tags-param.html#overview)
|
|
14287
14439
|
|
|
14440
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-30"></a>
|
|
14288
14441
|
<a name="eslint-plugin-jsdoc-rules-require-param-name-options-30"></a>
|
|
14289
14442
|
#### Options
|
|
14290
14443
|
|
|
14444
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-30-contexts-9"></a>
|
|
14291
14445
|
<a name="eslint-plugin-jsdoc-rules-require-param-name-options-30-contexts-9"></a>
|
|
14292
14446
|
##### <code>contexts</code>
|
|
14293
14447
|
|
|
@@ -14299,7 +14453,7 @@ for finding function blocks not attached to a function declaration or
|
|
|
14299
14453
|
expression, i.e., `@callback` or `@function` (or its aliases `@func` or
|
|
14300
14454
|
`@method`) (including those associated with an `@interface`).
|
|
14301
14455
|
|
|
14302
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
14456
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
14303
14457
|
section of our README for more on the expected format.
|
|
14304
14458
|
|
|
14305
14459
|
|||
|
|
@@ -14416,14 +14570,17 @@ function example(cb) {
|
|
|
14416
14570
|
````
|
|
14417
14571
|
|
|
14418
14572
|
|
|
14573
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-type"></a>
|
|
14419
14574
|
<a name="eslint-plugin-jsdoc-rules-require-param-type"></a>
|
|
14420
14575
|
### <code>require-param-type</code>
|
|
14421
14576
|
|
|
14422
14577
|
Requires that each `@param` tag has a `type` value.
|
|
14423
14578
|
|
|
14579
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-31"></a>
|
|
14424
14580
|
<a name="eslint-plugin-jsdoc-rules-require-param-type-options-31"></a>
|
|
14425
14581
|
#### Options
|
|
14426
14582
|
|
|
14583
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-31-contexts-10"></a>
|
|
14427
14584
|
<a name="eslint-plugin-jsdoc-rules-require-param-type-options-31-contexts-10"></a>
|
|
14428
14585
|
##### <code>contexts</code>
|
|
14429
14586
|
|
|
@@ -14435,7 +14592,7 @@ for finding function blocks not attached to a function declaration or
|
|
|
14435
14592
|
expression, i.e., `@callback` or `@function` (or its aliases `@func` or
|
|
14436
14593
|
`@method`) (including those associated with an `@interface`).
|
|
14437
14594
|
|
|
14438
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
14595
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
14439
14596
|
section of our README for more on the expected format.
|
|
14440
14597
|
|
|
14441
14598
|
|||
|
|
@@ -14536,11 +14693,13 @@ function quux (foo) {
|
|
|
14536
14693
|
````
|
|
14537
14694
|
|
|
14538
14695
|
|
|
14696
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param"></a>
|
|
14539
14697
|
<a name="eslint-plugin-jsdoc-rules-require-param"></a>
|
|
14540
14698
|
### <code>require-param</code>
|
|
14541
14699
|
|
|
14542
14700
|
Requires that all function parameters are documented.
|
|
14543
14701
|
|
|
14702
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-fixer-1"></a>
|
|
14544
14703
|
<a name="eslint-plugin-jsdoc-rules-require-param-fixer-1"></a>
|
|
14545
14704
|
#### Fixer
|
|
14546
14705
|
|
|
@@ -14548,6 +14707,7 @@ Adds `@param <name>` for each tag present in the function signature but
|
|
|
14548
14707
|
missing in the jsdoc. Can be disabled by setting the `enableFixer`
|
|
14549
14708
|
option to `false`.
|
|
14550
14709
|
|
|
14710
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-fixer-1-destructured-object-and-array-naming"></a>
|
|
14551
14711
|
<a name="eslint-plugin-jsdoc-rules-require-param-fixer-1-destructured-object-and-array-naming"></a>
|
|
14552
14712
|
##### Destructured object and array naming
|
|
14553
14713
|
|
|
@@ -14600,6 +14760,7 @@ function quux ([foo, bar]) {
|
|
|
14600
14760
|
*/
|
|
14601
14761
|
```
|
|
14602
14762
|
|
|
14763
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-fixer-1-missing-root-fixing"></a>
|
|
14603
14764
|
<a name="eslint-plugin-jsdoc-rules-require-param-fixer-1-missing-root-fixing"></a>
|
|
14604
14765
|
##### Missing root fixing
|
|
14605
14766
|
|
|
@@ -14635,6 +14796,7 @@ numeric component).
|
|
|
14635
14796
|
And one can have the count begin at another number (e.g., `1`) by changing
|
|
14636
14797
|
`autoIncrementBase` from the default of `0`.
|
|
14637
14798
|
|
|
14799
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-fixer-1-rest-element-restelement-insertions"></a>
|
|
14638
14800
|
<a name="eslint-plugin-jsdoc-rules-require-param-fixer-1-rest-element-restelement-insertions"></a>
|
|
14639
14801
|
##### Rest Element (<code>RestElement</code>) insertions
|
|
14640
14802
|
|
|
@@ -14687,6 +14849,7 @@ function baar ([a, ...extra]) {
|
|
|
14687
14849
|
|
|
14688
14850
|
...because it does not use the `...` syntax in the type.
|
|
14689
14851
|
|
|
14852
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-fixer-1-object-rest-property-insertions"></a>
|
|
14690
14853
|
<a name="eslint-plugin-jsdoc-rules-require-param-fixer-1-object-rest-property-insertions"></a>
|
|
14691
14854
|
##### Object Rest Property insertions
|
|
14692
14855
|
|
|
@@ -14722,16 +14885,19 @@ other properties, so in looking at the docs alone without looking at the
|
|
|
14722
14885
|
function signature, it may appear that there is an actual property named
|
|
14723
14886
|
`extra`.
|
|
14724
14887
|
|
|
14888
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32"></a>
|
|
14725
14889
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32"></a>
|
|
14726
14890
|
#### Options
|
|
14727
14891
|
|
|
14728
14892
|
An options object accepts the following optional properties:
|
|
14729
14893
|
|
|
14894
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-enablefixer-3"></a>
|
|
14730
14895
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-enablefixer-3"></a>
|
|
14731
14896
|
##### <code>enableFixer</code>
|
|
14732
14897
|
|
|
14733
14898
|
Whether to enable the fixer. Defaults to `true`.
|
|
14734
14899
|
|
|
14900
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-enablerootfixer"></a>
|
|
14735
14901
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-enablerootfixer"></a>
|
|
14736
14902
|
##### <code>enableRootFixer</code>
|
|
14737
14903
|
|
|
@@ -14739,12 +14905,14 @@ Whether to enable the auto-adding of incrementing roots (see the "Fixer"
|
|
|
14739
14905
|
section). Defaults to `true`. Has no effect if `enableFixer` is set to
|
|
14740
14906
|
`false`.
|
|
14741
14907
|
|
|
14908
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-enablerestelementfixer"></a>
|
|
14742
14909
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-enablerestelementfixer"></a>
|
|
14743
14910
|
##### <code>enableRestElementFixer</code>
|
|
14744
14911
|
|
|
14745
14912
|
Whether to enable the rest element fixer (see
|
|
14746
14913
|
"Rest Element (`RestElement`) insertions"). Defaults to `true`.
|
|
14747
14914
|
|
|
14915
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkrestproperty-1"></a>
|
|
14748
14916
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkrestproperty-1"></a>
|
|
14749
14917
|
##### <code>checkRestProperty</code>
|
|
14750
14918
|
|
|
@@ -14799,12 +14967,14 @@ function quux ({num, ...extra}) {
|
|
|
14799
14967
|
}
|
|
14800
14968
|
```
|
|
14801
14969
|
|
|
14970
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-autoincrementbase"></a>
|
|
14802
14971
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-autoincrementbase"></a>
|
|
14803
14972
|
##### <code>autoIncrementBase</code>
|
|
14804
14973
|
|
|
14805
14974
|
Numeric to indicate the number at which to begin auto-incrementing roots.
|
|
14806
14975
|
Defaults to `0`.
|
|
14807
14976
|
|
|
14977
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-unnamedrootbase"></a>
|
|
14808
14978
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-unnamedrootbase"></a>
|
|
14809
14979
|
##### <code>unnamedRootBase</code>
|
|
14810
14980
|
|
|
@@ -14831,6 +15001,7 @@ function quux ({foo}, [bar], {baz}) {
|
|
|
14831
15001
|
*/
|
|
14832
15002
|
```
|
|
14833
15003
|
|
|
15004
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-exemptedby-1"></a>
|
|
14834
15005
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-exemptedby-1"></a>
|
|
14835
15006
|
##### <code>exemptedBy</code>
|
|
14836
15007
|
|
|
@@ -14840,6 +15011,7 @@ avoids the need for a `@param`. Defaults to an array with
|
|
|
14840
15011
|
so be sure to add back `inheritdoc` if you wish its presence to cause
|
|
14841
15012
|
exemption of the rule.
|
|
14842
15013
|
|
|
15014
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checktypespattern-1"></a>
|
|
14843
15015
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-checktypespattern-1"></a>
|
|
14844
15016
|
##### <code>checkTypesPattern</code>
|
|
14845
15017
|
|
|
@@ -14875,6 +15047,7 @@ You could set this regular expression to a more expansive list, or you
|
|
|
14875
15047
|
could restrict it such that even types matching those strings would not
|
|
14876
15048
|
need destructuring.
|
|
14877
15049
|
|
|
15050
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-contexts-11"></a>
|
|
14878
15051
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-contexts-11"></a>
|
|
14879
15052
|
##### <code>contexts</code>
|
|
14880
15053
|
|
|
@@ -14884,30 +15057,35 @@ Overrides the default contexts (see below). May be useful for adding such as
|
|
|
14884
15057
|
`TSMethodSignature` in TypeScript or restricting the contexts
|
|
14885
15058
|
which are checked.
|
|
14886
15059
|
|
|
14887
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
15060
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
14888
15061
|
section of our README for more on the expected format.
|
|
14889
15062
|
|
|
15063
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkconstructors-2"></a>
|
|
14890
15064
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkconstructors-2"></a>
|
|
14891
15065
|
##### <code>checkConstructors</code>
|
|
14892
15066
|
|
|
14893
15067
|
A value indicating whether `constructor`s should be checked. Defaults to
|
|
14894
15068
|
`true`.
|
|
14895
15069
|
|
|
15070
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkgetters-2"></a>
|
|
14896
15071
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkgetters-2"></a>
|
|
14897
15072
|
##### <code>checkGetters</code>
|
|
14898
15073
|
|
|
14899
15074
|
A value indicating whether getters should be checked. Defaults to `false`.
|
|
14900
15075
|
|
|
15076
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checksetters-2"></a>
|
|
14901
15077
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-checksetters-2"></a>
|
|
14902
15078
|
##### <code>checkSetters</code>
|
|
14903
15079
|
|
|
14904
15080
|
A value indicating whether setters should be checked. Defaults to `false`.
|
|
14905
15081
|
|
|
15082
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructured-1"></a>
|
|
14906
15083
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructured-1"></a>
|
|
14907
15084
|
##### <code>checkDestructured</code>
|
|
14908
15085
|
|
|
14909
15086
|
Whether to require destructured properties. Defaults to `true`.
|
|
14910
15087
|
|
|
15088
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructuredroots"></a>
|
|
14911
15089
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructuredroots"></a>
|
|
14912
15090
|
##### <code>checkDestructuredRoots</code>
|
|
14913
15091
|
|
|
@@ -14921,6 +15099,7 @@ implied to be `false` (i.e., the inside of the roots will not be checked
|
|
|
14921
15099
|
either, e.g., it will also not complain if `a` or `b` do not have their own
|
|
14922
15100
|
documentation). Defaults to `true`.
|
|
14923
15101
|
|
|
15102
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-usedefaultobjectproperties-1"></a>
|
|
14924
15103
|
<a name="eslint-plugin-jsdoc-rules-require-param-options-32-usedefaultobjectproperties-1"></a>
|
|
14925
15104
|
##### <code>useDefaultObjectProperties</code>
|
|
14926
15105
|
|
|
@@ -16264,6 +16443,7 @@ export function testFn1 ({ prop = { a: 1, b: 2 } }) {
|
|
|
16264
16443
|
````
|
|
16265
16444
|
|
|
16266
16445
|
|
|
16446
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-property"></a>
|
|
16267
16447
|
<a name="eslint-plugin-jsdoc-rules-require-property"></a>
|
|
16268
16448
|
### <code>require-property</code>
|
|
16269
16449
|
|
|
@@ -16273,6 +16453,7 @@ when their type is a plain `object`, `Object`, or `PlainObject`.
|
|
|
16273
16453
|
Note that any other type, including a subtype of object such as
|
|
16274
16454
|
`object<string, string>`, will not be reported.
|
|
16275
16455
|
|
|
16456
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-property-fixer-2"></a>
|
|
16276
16457
|
<a name="eslint-plugin-jsdoc-rules-require-property-fixer-2"></a>
|
|
16277
16458
|
#### Fixer
|
|
16278
16459
|
|
|
@@ -16371,6 +16552,7 @@ function quux () {
|
|
|
16371
16552
|
````
|
|
16372
16553
|
|
|
16373
16554
|
|
|
16555
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-property-description"></a>
|
|
16374
16556
|
<a name="eslint-plugin-jsdoc-rules-require-property-description"></a>
|
|
16375
16557
|
### <code>require-property-description</code>
|
|
16376
16558
|
|
|
@@ -16440,6 +16622,7 @@ The following patterns are not considered problems:
|
|
|
16440
16622
|
````
|
|
16441
16623
|
|
|
16442
16624
|
|
|
16625
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-property-name"></a>
|
|
16443
16626
|
<a name="eslint-plugin-jsdoc-rules-require-property-name"></a>
|
|
16444
16627
|
### <code>require-property-name</code>
|
|
16445
16628
|
|
|
@@ -16500,6 +16683,7 @@ The following patterns are not considered problems:
|
|
|
16500
16683
|
````
|
|
16501
16684
|
|
|
16502
16685
|
|
|
16686
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-property-type"></a>
|
|
16503
16687
|
<a name="eslint-plugin-jsdoc-rules-require-property-type"></a>
|
|
16504
16688
|
### <code>require-property-type</code>
|
|
16505
16689
|
|
|
@@ -16560,6 +16744,7 @@ The following patterns are not considered problems:
|
|
|
16560
16744
|
````
|
|
16561
16745
|
|
|
16562
16746
|
|
|
16747
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-returns-check"></a>
|
|
16563
16748
|
<a name="eslint-plugin-jsdoc-rules-require-returns-check"></a>
|
|
16564
16749
|
### <code>require-returns-check</code>
|
|
16565
16750
|
|
|
@@ -16572,6 +16757,7 @@ is set to `false` no non-`undefined` returned or resolved value is found.
|
|
|
16572
16757
|
|
|
16573
16758
|
Will also report if multiple `@returns` tags are present.
|
|
16574
16759
|
|
|
16760
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-returns-check-options-33"></a>
|
|
16575
16761
|
<a name="eslint-plugin-jsdoc-rules-require-returns-check-options-33"></a>
|
|
16576
16762
|
#### Options
|
|
16577
16763
|
|
|
@@ -17149,6 +17335,7 @@ function * quux() {}
|
|
|
17149
17335
|
````
|
|
17150
17336
|
|
|
17151
17337
|
|
|
17338
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description"></a>
|
|
17152
17339
|
<a name="eslint-plugin-jsdoc-rules-require-returns-description"></a>
|
|
17153
17340
|
### <code>require-returns-description</code>
|
|
17154
17341
|
|
|
@@ -17156,9 +17343,11 @@ Requires that the `@returns` tag has a `description` value. The error
|
|
|
17156
17343
|
will not be reported if the return value is `void` or `undefined`
|
|
17157
17344
|
or if it is `Promise<void>` or `Promise<undefined>`.
|
|
17158
17345
|
|
|
17346
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-34"></a>
|
|
17159
17347
|
<a name="eslint-plugin-jsdoc-rules-require-returns-description-options-34"></a>
|
|
17160
17348
|
#### Options
|
|
17161
17349
|
|
|
17350
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-34-contexts-12"></a>
|
|
17162
17351
|
<a name="eslint-plugin-jsdoc-rules-require-returns-description-options-34-contexts-12"></a>
|
|
17163
17352
|
##### <code>contexts</code>
|
|
17164
17353
|
|
|
@@ -17170,7 +17359,7 @@ for finding function blocks not attached to a function declaration or
|
|
|
17170
17359
|
expression, i.e., `@callback` or `@function` (or its aliases `@func` or
|
|
17171
17360
|
`@method`) (including those associated with an `@interface`).
|
|
17172
17361
|
|
|
17173
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
17362
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
17174
17363
|
section of our README for more on the expected format.
|
|
17175
17364
|
|
|
17176
17365
|
|||
|
|
@@ -17307,14 +17496,17 @@ function quux () {
|
|
|
17307
17496
|
````
|
|
17308
17497
|
|
|
17309
17498
|
|
|
17499
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type"></a>
|
|
17310
17500
|
<a name="eslint-plugin-jsdoc-rules-require-returns-type"></a>
|
|
17311
17501
|
### <code>require-returns-type</code>
|
|
17312
17502
|
|
|
17313
17503
|
Requires that `@returns` tag has `type` value.
|
|
17314
17504
|
|
|
17505
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-35"></a>
|
|
17315
17506
|
<a name="eslint-plugin-jsdoc-rules-require-returns-type-options-35"></a>
|
|
17316
17507
|
#### Options
|
|
17317
17508
|
|
|
17509
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-35-contexts-13"></a>
|
|
17318
17510
|
<a name="eslint-plugin-jsdoc-rules-require-returns-type-options-35-contexts-13"></a>
|
|
17319
17511
|
##### <code>contexts</code>
|
|
17320
17512
|
|
|
@@ -17326,7 +17518,7 @@ for finding function blocks not attached to a function declaration or
|
|
|
17326
17518
|
expression, i.e., `@callback` or `@function` (or its aliases `@func` or
|
|
17327
17519
|
`@method`) (including those associated with an `@interface`).
|
|
17328
17520
|
|
|
17329
|
-
See the ["AST and Selectors"](#eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
17521
|
+
See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
|
|
17330
17522
|
section of our README for more on the expected format.
|
|
17331
17523
|
|
|
17332
17524
|
|||
|
|
@@ -17428,6 +17620,7 @@ function quux () {
|
|
|
17428
17620
|
````
|
|
17429
17621
|
|
|
17430
17622
|
|
|
17623
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-returns"></a>
|
|
17431
17624
|
<a name="eslint-plugin-jsdoc-rules-require-returns"></a>
|
|
17432
17625
|
### <code>require-returns</code>
|
|
17433
17626
|
|
|
@@ -17435,6 +17628,7 @@ Requires that returns are documented.
|
|
|
17435
17628
|
|
|
17436
17629
|
Will also report if multiple `@returns` tags are present.
|
|
17437
17630
|
|
|
17631
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-returns-options-36"></a>
|
|
17438
17632
|
<a name="eslint-plugin-jsdoc-rules-require-returns-options-36"></a>
|
|
17439
17633
|
#### Options
|
|
17440
17634
|
|
|
@@ -17700,14 +17894,6 @@ class quux {
|
|
|
17700
17894
|
// "jsdoc/require-returns": ["error"|"warn", {"contexts":["any"],"forceRequireReturn":true}]
|
|
17701
17895
|
// Message: Missing JSDoc @returns declaration.
|
|
17702
17896
|
|
|
17703
|
-
/**
|
|
17704
|
-
* @param {array} a
|
|
17705
|
-
*/
|
|
17706
|
-
async function foo(a) {
|
|
17707
|
-
return Promise.all(a);
|
|
17708
|
-
}
|
|
17709
|
-
// Message: Missing JSDoc @returns declaration.
|
|
17710
|
-
|
|
17711
17897
|
/**
|
|
17712
17898
|
*
|
|
17713
17899
|
*/
|
|
@@ -18005,6 +18191,21 @@ export function f(): string {
|
|
|
18005
18191
|
}
|
|
18006
18192
|
// "jsdoc/require-returns": ["error"|"warn", {"contexts":[":not(BlockStatement) > FunctionDeclaration","MethodDefinition","TSMethodSignature","TSPropertySignature > TSTypeAnnotation > TSFunctionType"]}]
|
|
18007
18193
|
// Message: Missing JSDoc @returns declaration.
|
|
18194
|
+
|
|
18195
|
+
/**
|
|
18196
|
+
* @param ms time in millis
|
|
18197
|
+
*/
|
|
18198
|
+
export const sleep = (ms: number) =>
|
|
18199
|
+
new Promise<string>((res) => setTimeout(res, ms));
|
|
18200
|
+
// Message: Missing JSDoc @returns declaration.
|
|
18201
|
+
|
|
18202
|
+
/**
|
|
18203
|
+
* @param ms time in millis
|
|
18204
|
+
*/
|
|
18205
|
+
export const sleep = (ms: number) => {
|
|
18206
|
+
return new Promise<string>((res) => setTimeout(res, ms));
|
|
18207
|
+
};
|
|
18208
|
+
// Message: Missing JSDoc @returns declaration.
|
|
18008
18209
|
````
|
|
18009
18210
|
|
|
18010
18211
|
The following patterns are not considered problems:
|
|
@@ -18488,14 +18689,36 @@ function quux () {
|
|
|
18488
18689
|
async function foo() {
|
|
18489
18690
|
return new Promise(resolve => resolve());
|
|
18490
18691
|
}
|
|
18692
|
+
|
|
18693
|
+
/**
|
|
18694
|
+
* @param {array} a
|
|
18695
|
+
*/
|
|
18696
|
+
async function foo(a) {
|
|
18697
|
+
return Promise.all(a);
|
|
18698
|
+
}
|
|
18699
|
+
|
|
18700
|
+
/**
|
|
18701
|
+
* @param ms time in millis
|
|
18702
|
+
*/
|
|
18703
|
+
export const sleep = (ms: number) =>
|
|
18704
|
+
new Promise<void>((res) => setTimeout(res, ms));
|
|
18705
|
+
|
|
18706
|
+
/**
|
|
18707
|
+
* @param ms time in millis
|
|
18708
|
+
*/
|
|
18709
|
+
export const sleep = (ms: number) => {
|
|
18710
|
+
return new Promise<void>((res) => setTimeout(res, ms));
|
|
18711
|
+
};
|
|
18491
18712
|
````
|
|
18492
18713
|
|
|
18493
18714
|
|
|
18715
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-throws"></a>
|
|
18494
18716
|
<a name="eslint-plugin-jsdoc-rules-require-throws"></a>
|
|
18495
18717
|
### <code>require-throws</code>
|
|
18496
18718
|
|
|
18497
18719
|
Requires that throw statements are documented.
|
|
18498
18720
|
|
|
18721
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-throws-options-37"></a>
|
|
18499
18722
|
<a name="eslint-plugin-jsdoc-rules-require-throws-options-37"></a>
|
|
18500
18723
|
#### Options
|
|
18501
18724
|
|
|
@@ -18789,6 +19012,7 @@ function quux (foo) {
|
|
|
18789
19012
|
````
|
|
18790
19013
|
|
|
18791
19014
|
|
|
19015
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-yields"></a>
|
|
18792
19016
|
<a name="eslint-plugin-jsdoc-rules-require-yields"></a>
|
|
18793
19017
|
### <code>require-yields</code>
|
|
18794
19018
|
|
|
@@ -18799,6 +19023,7 @@ Will also report if multiple `@yields` tags are present.
|
|
|
18799
19023
|
See the `next`, `forceRequireNext`, and `nextWithGeneratorTag` options for an
|
|
18800
19024
|
option to expect a non-standard `@next` tag.
|
|
18801
19025
|
|
|
19026
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-yields-options-38"></a>
|
|
18802
19027
|
<a name="eslint-plugin-jsdoc-rules-require-yields-options-38"></a>
|
|
18803
19028
|
#### Options
|
|
18804
19029
|
|
|
@@ -19591,6 +19816,7 @@ function * quux (foo) {
|
|
|
19591
19816
|
````
|
|
19592
19817
|
|
|
19593
19818
|
|
|
19819
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-yields-check"></a>
|
|
19594
19820
|
<a name="eslint-plugin-jsdoc-rules-require-yields-check"></a>
|
|
19595
19821
|
### <code>require-yields-check</code>
|
|
19596
19822
|
|
|
@@ -19609,6 +19835,7 @@ function bodies.
|
|
|
19609
19835
|
|
|
19610
19836
|
Will also report if multiple `@yields` tags are present.
|
|
19611
19837
|
|
|
19838
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-require-yields-check-options-39"></a>
|
|
19612
19839
|
<a name="eslint-plugin-jsdoc-rules-require-yields-check-options-39"></a>
|
|
19613
19840
|
#### Options
|
|
19614
19841
|
|
|
@@ -20113,6 +20340,7 @@ function * quux (foo) {
|
|
|
20113
20340
|
````
|
|
20114
20341
|
|
|
20115
20342
|
|
|
20343
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-sort-tags"></a>
|
|
20116
20344
|
<a name="eslint-plugin-jsdoc-rules-sort-tags"></a>
|
|
20117
20345
|
### <code>sort-tags</code>
|
|
20118
20346
|
|
|
@@ -20120,9 +20348,11 @@ Sorts tags by a specified sequence according to tag name.
|
|
|
20120
20348
|
|
|
20121
20349
|
(Default order originally inspired by [`@homer0/prettier-plugin-jsdoc`](https://github.com/homer0/packages/tree/main/packages/public/prettier-plugin-jsdoc).)
|
|
20122
20350
|
|
|
20351
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40"></a>
|
|
20123
20352
|
<a name="eslint-plugin-jsdoc-rules-sort-tags-options-40"></a>
|
|
20124
20353
|
#### Options
|
|
20125
20354
|
|
|
20355
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-tagsequence"></a>
|
|
20126
20356
|
<a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-tagsequence"></a>
|
|
20127
20357
|
##### <code>tagSequence</code>
|
|
20128
20358
|
|
|
@@ -20299,6 +20529,7 @@ a fixed order that doesn't change into the future, supply your own
|
|
|
20299
20529
|
];
|
|
20300
20530
|
```
|
|
20301
20531
|
|
|
20532
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-alphabetizeextras"></a>
|
|
20302
20533
|
<a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-alphabetizeextras"></a>
|
|
20303
20534
|
##### <code>alphabetizeExtras</code>
|
|
20304
20535
|
|
|
@@ -20450,11 +20681,13 @@ function quux () {}
|
|
|
20450
20681
|
````
|
|
20451
20682
|
|
|
20452
20683
|
|
|
20684
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-tag-lines"></a>
|
|
20453
20685
|
<a name="eslint-plugin-jsdoc-rules-tag-lines"></a>
|
|
20454
20686
|
### <code>tag-lines</code>
|
|
20455
20687
|
|
|
20456
20688
|
Enforces lines (or no lines) between tags.
|
|
20457
20689
|
|
|
20690
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41"></a>
|
|
20458
20691
|
<a name="eslint-plugin-jsdoc-rules-tag-lines-options-41"></a>
|
|
20459
20692
|
#### Options
|
|
20460
20693
|
|
|
@@ -20466,17 +20699,20 @@ for particular tags).
|
|
|
20466
20699
|
|
|
20467
20700
|
The second option is an object with the following optional properties.
|
|
20468
20701
|
|
|
20702
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-count-defaults-to-1"></a>
|
|
20469
20703
|
<a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-count-defaults-to-1"></a>
|
|
20470
20704
|
##### <code>count</code> (defaults to 1)
|
|
20471
20705
|
|
|
20472
20706
|
Use with "always" to indicate the number of lines to require be present.
|
|
20473
20707
|
|
|
20708
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-noendlines-defaults-to-false"></a>
|
|
20474
20709
|
<a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-noendlines-defaults-to-false"></a>
|
|
20475
20710
|
##### <code>noEndLines</code> (defaults to <code>false</code>)
|
|
20476
20711
|
|
|
20477
20712
|
Use with "always" to indicate the normal lines to be added after tags should
|
|
20478
20713
|
not be added after the final tag.
|
|
20479
20714
|
|
|
20715
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-tags-default-to-empty-object"></a>
|
|
20480
20716
|
<a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-tags-default-to-empty-object"></a>
|
|
20481
20717
|
##### <code>tags</code> (default to empty object)
|
|
20482
20718
|
|
|
@@ -20793,13 +21029,14 @@ The following patterns are not considered problems:
|
|
|
20793
21029
|
````
|
|
20794
21030
|
|
|
20795
21031
|
|
|
21032
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-valid-types"></a>
|
|
20796
21033
|
<a name="eslint-plugin-jsdoc-rules-valid-types"></a>
|
|
20797
21034
|
### <code>valid-types</code>
|
|
20798
21035
|
|
|
20799
21036
|
Requires all types to be valid JSDoc, Closure, or TypeScript compiler types
|
|
20800
21037
|
without syntax errors. Note that what determines a valid type is handled by
|
|
20801
21038
|
our type parsing engine, [jsdoc-type-pratt-parser](https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser),
|
|
20802
|
-
using [`settings.jsdoc.mode`](#eslint-plugin-jsdoc-settings-mode) to
|
|
21039
|
+
using [`settings.jsdoc.mode`](#user-content-eslint-plugin-jsdoc-settings-mode) to
|
|
20803
21040
|
determine whether to use jsdoc-type-pratt-parser's "permissive" parsing or
|
|
20804
21041
|
the stricter "jsdoc", "typescript", "closure" modes.
|
|
20805
21042
|
|
|
@@ -20873,6 +21110,7 @@ for valid types (based on the tag's `type` value), and either portion checked
|
|
|
20873
21110
|
for presence (based on `false` `name` or `type` values or their `required`
|
|
20874
21111
|
value). See the setting for more details.
|
|
20875
21112
|
|
|
21113
|
+
<a name="user-content-eslint-plugin-jsdoc-rules-valid-types-options-42"></a>
|
|
20876
21114
|
<a name="eslint-plugin-jsdoc-rules-valid-types-options-42"></a>
|
|
20877
21115
|
#### Options
|
|
20878
21116
|
|