eslint-plugin-jsdoc 41.1.1 → 42.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -42,7 +42,6 @@ JSDoc linting rules for ESLint.
42
42
  * [`match-description`](#user-content-eslint-plugin-jsdoc-rules-match-description)
43
43
  * [`match-name`](#user-content-eslint-plugin-jsdoc-rules-match-name)
44
44
  * [`multiline-blocks`](#user-content-eslint-plugin-jsdoc-rules-multiline-blocks)
45
- * [`newline-after-description`](#user-content-eslint-plugin-jsdoc-rules-newline-after-description)
46
45
  * [`no-bad-blocks`](#user-content-eslint-plugin-jsdoc-rules-no-bad-blocks)
47
46
  * [`no-blank-block-descriptions`](#user-content-eslint-plugin-jsdoc-rules-no-blank-block-descriptions)
48
47
  * [`no-defaults`](#user-content-eslint-plugin-jsdoc-rules-no-defaults)
@@ -130,10 +129,11 @@ Finally, enable all of the rules that you would like to use.
130
129
  "jsdoc/check-values": 1, // Recommended
131
130
  "jsdoc/empty-tags": 1, // Recommended
132
131
  "jsdoc/implements-on-classes": 1, // Recommended
132
+ "jsdoc/informative-docs": 1,
133
133
  "jsdoc/match-description": 1,
134
134
  "jsdoc/multiline-blocks": 1, // Recommended
135
- "jsdoc/newline-after-description": 1, // Recommended
136
135
  "jsdoc/no-bad-blocks": 1,
136
+ "jsdoc/no-blank-block-descriptions": 1,
137
137
  "jsdoc/no-defaults": 1,
138
138
  "jsdoc/no-missing-syntax": 1,
139
139
  "jsdoc/no-multi-asterisks": 1, // Recommended
@@ -9212,247 +9212,6 @@ The following patterns are not considered problems:
9212
9212
  ````
9213
9213
 
9214
9214
 
9215
- <a name="user-content-eslint-plugin-jsdoc-rules-newline-after-description"></a>
9216
- <a name="eslint-plugin-jsdoc-rules-newline-after-description"></a>
9217
- ### <code>newline-after-description</code>
9218
-
9219
- Enforces a consistent padding of the block description.
9220
-
9221
- <a name="user-content-eslint-plugin-jsdoc-rules-newline-after-description-options-15"></a>
9222
- <a name="eslint-plugin-jsdoc-rules-newline-after-description-options-15"></a>
9223
- #### Options
9224
-
9225
- This rule allows one optional string argument. If it is `"always"` then a
9226
- problem is raised when there is no newline after the description. If it is
9227
- `"never"` then a problem is raised when there is a newline after the
9228
- description. The default value is `"always"`.
9229
-
9230
- |||
9231
- |---|---|
9232
- |Context|everywhere|
9233
- |Tags|N/A (doc block)|
9234
- |Options|(a string matching `"always" or "never"`)|
9235
- |Recommended|true|
9236
-
9237
- The following patterns are considered problems:
9238
-
9239
- ````js
9240
- /**
9241
- * Foo.
9242
- *
9243
- * Foo.
9244
- * @foo
9245
- */
9246
- function quux () {
9247
-
9248
- }
9249
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9250
- // Message: There must be a newline after the description of the JSDoc block.
9251
-
9252
- /**
9253
- * Foo.
9254
- * @foo
9255
- *
9256
- * Foo.
9257
- */
9258
- function quux () {
9259
-
9260
- }
9261
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9262
- // Message: There must be a newline after the description of the JSDoc block.
9263
-
9264
- /**
9265
- * Foo.
9266
- *
9267
- * Foo.
9268
- * @foo
9269
- */
9270
- function quux () {
9271
-
9272
- }
9273
- // Message: There must be a newline after the description of the JSDoc block.
9274
-
9275
- /**
9276
- * Bar.
9277
- *
9278
- * Bar.
9279
- *
9280
- * @bar
9281
- */
9282
- function quux () {
9283
-
9284
- }
9285
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9286
- // Message: There must be no newline after the description of the JSDoc block.
9287
-
9288
- /**
9289
- * Bar.
9290
- *
9291
- * @bar
9292
- *
9293
- * Bar.
9294
- */
9295
- function quux () {
9296
-
9297
- }
9298
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9299
- // Message: There must be no newline after the description of the JSDoc block.
9300
-
9301
-
9302
- /**\r
9303
- * Bar.\r
9304
- *\r
9305
- * Bar.\r
9306
- *\r
9307
- * @bar\r
9308
- */\r
9309
- function quux () {\r
9310
-
9311
- }
9312
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9313
- // Message: There must be no newline after the description of the JSDoc block.
9314
-
9315
- /**
9316
- * A.
9317
- *
9318
- * @typedef {object} A
9319
- * @prop {boolean} a A.
9320
- */
9321
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9322
- // Message: There must be no newline after the description of the JSDoc block.
9323
-
9324
- /**
9325
- * A.
9326
- * @typedef {object} A
9327
- * @prop {boolean} a A.
9328
- */
9329
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9330
- // Message: There must be a newline after the description of the JSDoc block.
9331
-
9332
-
9333
- /**\r
9334
- * Service for fetching symbols.\r
9335
- * @param {object} $http - Injected http helper.\r
9336
- * @param {object} $q - Injected Promise api helper.\r
9337
- * @param {object} $location - Injected window location object.\r
9338
- * @param {object} REPORT_DIALOG_CONSTANTS - Injected handle.\r
9339
- */
9340
- // Message: There must be a newline after the description of the JSDoc block.
9341
-
9342
- /** An example function.
9343
- *
9344
- * @returns {number} An example number.
9345
- */
9346
- function example() {
9347
- return 42;
9348
- }
9349
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9350
- // Message: There must be no newline after the description of the JSDoc block.
9351
-
9352
- /** An example function.
9353
- * @returns {number} An example number.
9354
- */
9355
- function example() {
9356
- return 42;
9357
- }
9358
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9359
- // Message: There must be a newline after the description of the JSDoc block.
9360
- ````
9361
-
9362
- The following patterns are not considered problems:
9363
-
9364
- ````js
9365
- /**
9366
- * Foo.
9367
- */
9368
- function quux () {
9369
-
9370
- }
9371
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9372
-
9373
- /**
9374
- * Bar.
9375
- */
9376
- function quux () {
9377
-
9378
- }
9379
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9380
-
9381
- /**
9382
- * Foo.
9383
- *
9384
- * @foo
9385
- */
9386
- function quux () {
9387
-
9388
- }
9389
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9390
-
9391
- /**
9392
- * Bar.
9393
- * @bar
9394
- */
9395
- function quux () {
9396
-
9397
- }
9398
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9399
-
9400
-
9401
- /**\r
9402
- * @foo\r
9403
- * Test \r
9404
- * abc \r
9405
- * @bar \r
9406
- */
9407
-
9408
-
9409
- /**\r
9410
- * \r
9411
- * @foo\r
9412
- * Test \r
9413
- * abc \r
9414
- * @bar \r
9415
- */
9416
-
9417
- /***
9418
- *
9419
- */
9420
- function quux () {
9421
-
9422
- }
9423
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9424
-
9425
- /**\r
9426
- * Parses query string to object containing URL parameters\r
9427
- * \r
9428
- * @param queryString\r
9429
- * Input string\r
9430
- * \r
9431
- * @returns\r
9432
- * Object containing URL parameters\r
9433
- */\r
9434
- export function parseQueryString(queryString: string): { [key: string]: string } { // <-- Line 10 that fails\r
9435
-
9436
- }
9437
-
9438
- /** An example function.
9439
- *
9440
- * @returns {number} An example number.
9441
- */
9442
- function example() {
9443
- return 42;
9444
- }
9445
-
9446
- /** An example function.
9447
- * @returns {number} An example number.
9448
- */
9449
- function example() {
9450
- return 42;
9451
- }
9452
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9453
- ````
9454
-
9455
-
9456
9215
  <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks"></a>
9457
9216
  <a name="eslint-plugin-jsdoc-rules-no-bad-blocks"></a>
9458
9217
  ### <code>no-bad-blocks</code>
@@ -9463,14 +9222,14 @@ asterisks, but which appear to be intended as jsdoc blocks due to the presence
9463
9222
  of whitespace followed by whitespace or asterisks, and
9464
9223
  an at-sign (`@`) and some non-whitespace (as with a jsdoc block tag).
9465
9224
 
9466
- <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-16"></a>
9467
- <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-16"></a>
9225
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-15"></a>
9226
+ <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-15"></a>
9468
9227
  #### Options
9469
9228
 
9470
9229
  Takes an optional options object with the following.
9471
9230
 
9472
- <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-16-ignore"></a>
9473
- <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-16-ignore"></a>
9231
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-ignore"></a>
9232
+ <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-ignore"></a>
9474
9233
  ##### <code>ignore</code>
9475
9234
 
9476
9235
  An array of directives that will not be reported if present at the beginning of
@@ -9479,8 +9238,8 @@ a multi-comment block and at-sign `/* @`.
9479
9238
  Defaults to `['ts-check', 'ts-expect-error', 'ts-ignore', 'ts-nocheck']`
9480
9239
  (some directives [used by TypeScript](https://www.typescriptlang.org/docs/handbook/intro-to-js-ts.html#ts-check)).
9481
9240
 
9482
- <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-16-preventallmultiasteriskblocks"></a>
9483
- <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-16-preventallmultiasteriskblocks"></a>
9241
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-preventallmultiasteriskblocks"></a>
9242
+ <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-preventallmultiasteriskblocks"></a>
9484
9243
  ##### <code>preventAllMultiAsteriskBlocks</code>
9485
9244
 
9486
9245
  A boolean (defaulting to `false`) which if `true` will prevent all
@@ -9692,12 +9451,12 @@ tag is attached).
9692
9451
  Unless your `@default` is on a function, you will need to set `contexts`
9693
9452
  to an appropriate context, including, if you wish, "any".
9694
9453
 
9695
- <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-17"></a>
9696
- <a name="eslint-plugin-jsdoc-rules-no-defaults-options-17"></a>
9454
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-16"></a>
9455
+ <a name="eslint-plugin-jsdoc-rules-no-defaults-options-16"></a>
9697
9456
  #### Options
9698
9457
 
9699
- <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-17-nooptionalparamnames"></a>
9700
- <a name="eslint-plugin-jsdoc-rules-no-defaults-options-17-nooptionalparamnames"></a>
9458
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-16-nooptionalparamnames"></a>
9459
+ <a name="eslint-plugin-jsdoc-rules-no-defaults-options-16-nooptionalparamnames"></a>
9701
9460
  ##### <code>noOptionalParamNames</code>
9702
9461
 
9703
9462
  Set this to `true` to report the presence of optional parameters. May be
@@ -9706,8 +9465,8 @@ the presence of ES6 default parameters (bearing in mind that such
9706
9465
  "defaults" are only applied when the supplied value is missing or
9707
9466
  `undefined` but not for `null` or other "falsey" values).
9708
9467
 
9709
- <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-17-contexts-3"></a>
9710
- <a name="eslint-plugin-jsdoc-rules-no-defaults-options-17-contexts-3"></a>
9468
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-16-contexts-3"></a>
9469
+ <a name="eslint-plugin-jsdoc-rules-no-defaults-options-16-contexts-3"></a>
9711
9470
  ##### <code>contexts</code>
9712
9471
 
9713
9472
  Set this to an array of strings representing the AST context (or an object with
@@ -9893,12 +9652,12 @@ which are not adequate to satisfy a condition, e.g.,
9893
9652
  not report if there were only a function declaration of the name "ignoreMe"
9894
9653
  (though it would report by function declarations of other names).
9895
9654
 
9896
- <a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-18"></a>
9897
- <a name="eslint-plugin-jsdoc-rules-no-missing-syntax-options-18"></a>
9655
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-17"></a>
9656
+ <a name="eslint-plugin-jsdoc-rules-no-missing-syntax-options-17"></a>
9898
9657
  #### Options
9899
9658
 
9900
- <a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-18-contexts-4"></a>
9901
- <a name="eslint-plugin-jsdoc-rules-no-missing-syntax-options-18-contexts-4"></a>
9659
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-17-contexts-4"></a>
9660
+ <a name="eslint-plugin-jsdoc-rules-no-missing-syntax-options-17-contexts-4"></a>
9902
9661
  ##### <code>contexts</code>
9903
9662
 
9904
9663
  Set this to an array of strings representing the AST context (or an object with
@@ -10114,12 +9873,12 @@ Note that if you wish to prevent multiple asterisks at the very beginning of
10114
9873
  the jsdoc block, you should use `no-bad-blocks` (as that is not proper jsdoc
10115
9874
  and that rule is for catching blocks which only seem like jsdoc).
10116
9875
 
10117
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19"></a>
10118
- <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19"></a>
9876
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18"></a>
9877
+ <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18"></a>
10119
9878
  #### Options
10120
9879
 
10121
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-allowwhitespace-defaults-to-false"></a>
10122
- <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-allowwhitespace-defaults-to-false"></a>
9880
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-allowwhitespace-defaults-to-false"></a>
9881
+ <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-allowwhitespace-defaults-to-false"></a>
10123
9882
  ##### <code>allowWhitespace</code> (defaults to <code>false</code>)
10124
9883
 
10125
9884
  Set to `true` if you wish to allow asterisks after a space (as with Markdown):
@@ -10130,8 +9889,8 @@ Set to `true` if you wish to allow asterisks after a space (as with Markdown):
10130
9889
  */
10131
9890
  ```
10132
9891
 
10133
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-preventatmiddlelines-defaults-to-true"></a>
10134
- <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-preventatmiddlelines-defaults-to-true"></a>
9892
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatmiddlelines-defaults-to-true"></a>
9893
+ <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatmiddlelines-defaults-to-true"></a>
10135
9894
  ##### <code>preventAtMiddleLines</code> (defaults to <code>true</code>)
10136
9895
 
10137
9896
  Prevent the likes of this:
@@ -10143,8 +9902,8 @@ Prevent the likes of this:
10143
9902
  */
10144
9903
  ```
10145
9904
 
10146
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-preventatend-defaults-to-true"></a>
10147
- <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-preventatend-defaults-to-true"></a>
9905
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatend-defaults-to-true"></a>
9906
+ <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatend-defaults-to-true"></a>
10148
9907
  ##### <code>preventAtEnd</code> (defaults to <code>true</code>)
10149
9908
 
10150
9909
  Prevent the likes of this:
@@ -10379,12 +10138,12 @@ structures, (whether or not you add a specific `comment` condition).
10379
10138
  Note that if your parser supports comment AST (as [jsdoc-eslint-parser](https://github.com/brettz9/jsdoc-eslint-parser)
10380
10139
  is designed to do), you can just use ESLint's rule.
10381
10140
 
10382
- <a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-20"></a>
10383
- <a name="eslint-plugin-jsdoc-rules-no-restricted-syntax-options-20"></a>
10141
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19"></a>
10142
+ <a name="eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19"></a>
10384
10143
  #### Options
10385
10144
 
10386
- <a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-20-contexts-5"></a>
10387
- <a name="eslint-plugin-jsdoc-rules-no-restricted-syntax-options-20-contexts-5"></a>
10145
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19-contexts-5"></a>
10146
+ <a name="eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19-contexts-5"></a>
10388
10147
  ##### <code>contexts</code>
10389
10148
 
10390
10149
  Set this to an array of strings representing the AST context (or an object with
@@ -10709,12 +10468,12 @@ This rule reports types being used on `@param` or `@returns`.
10709
10468
  The rule is intended to prevent the indication of types on tags where
10710
10469
  the type information would be redundant with TypeScript.
10711
10470
 
10712
- <a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-21"></a>
10713
- <a name="eslint-plugin-jsdoc-rules-no-types-options-21"></a>
10471
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-20"></a>
10472
+ <a name="eslint-plugin-jsdoc-rules-no-types-options-20"></a>
10714
10473
  #### Options
10715
10474
 
10716
- <a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-21-contexts-6"></a>
10717
- <a name="eslint-plugin-jsdoc-rules-no-types-options-21-contexts-6"></a>
10475
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-20-contexts-6"></a>
10476
+ <a name="eslint-plugin-jsdoc-rules-no-types-options-20-contexts-6"></a>
10718
10477
  ##### <code>contexts</code>
10719
10478
 
10720
10479
  Set this to an array of strings representing the AST context (or an object with
@@ -10888,8 +10647,8 @@ reporting on use of that namepath elsewhere) and/or that a tag's `type` is
10888
10647
  `false` (and should not be checked for types). If the `type` is an array, that
10889
10648
  array's items will be considered as defined for the purposes of that tag.
10890
10649
 
10891
- <a name="user-content-eslint-plugin-jsdoc-rules-no-undefined-types-options-22"></a>
10892
- <a name="eslint-plugin-jsdoc-rules-no-undefined-types-options-22"></a>
10650
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-undefined-types-options-21"></a>
10651
+ <a name="eslint-plugin-jsdoc-rules-no-undefined-types-options-21"></a>
10893
10652
  #### Options
10894
10653
 
10895
10654
  An option object may have the following key:
@@ -11557,8 +11316,8 @@ class Foo {
11557
11316
 
11558
11317
  Requires that each JSDoc line starts with an `*`.
11559
11318
 
11560
- <a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-23"></a>
11561
- <a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-23"></a>
11319
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22"></a>
11320
+ <a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22"></a>
11562
11321
  #### Options
11563
11322
 
11564
11323
  This rule allows an optional string argument. If it is `"always"` then a
@@ -11569,8 +11328,8 @@ and use the `tags` option to apply to specific tags only.
11569
11328
 
11570
11329
  After the string option, one may add an object with the following.
11571
11330
 
11572
- <a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-23-tags-3"></a>
11573
- <a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-23-tags-3"></a>
11331
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22-tags-3"></a>
11332
+ <a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22-tags-3"></a>
11574
11333
  ##### <code>tags</code>
11575
11334
 
11576
11335
  If you want different values to apply to specific tags, you may use
@@ -11854,12 +11613,12 @@ If sentences do not end with terminal punctuation, a period will be added.
11854
11613
  If sentences do not start with an uppercase character, the initial
11855
11614
  letter will be capitalized.
11856
11615
 
11857
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24"></a>
11858
- <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24"></a>
11616
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23"></a>
11617
+ <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23"></a>
11859
11618
  #### Options
11860
11619
 
11861
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-tags-4"></a>
11862
- <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-tags-4"></a>
11620
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-tags-4"></a>
11621
+ <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-tags-4"></a>
11863
11622
  ##### <code>tags</code>
11864
11623
 
11865
11624
  If you want additional tags to be checked for their descriptions, you may
@@ -11883,16 +11642,16 @@ its "description" (e.g., for `@returns {someType} some description`, the
11883
11642
  description is `some description` while for `@some-tag xyz`, the description
11884
11643
  is `xyz`).
11885
11644
 
11886
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-abbreviations"></a>
11887
- <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-abbreviations"></a>
11645
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-abbreviations"></a>
11646
+ <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-abbreviations"></a>
11888
11647
  ##### <code>abbreviations</code>
11889
11648
 
11890
11649
  You can provide an `abbreviations` options array to avoid such strings of text
11891
11650
  being treated as sentence endings when followed by dots. The `.` is not
11892
11651
  necessary at the end of the array items.
11893
11652
 
11894
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-newlinebeforecapsassumesbadsentenceend"></a>
11895
- <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-newlinebeforecapsassumesbadsentenceend"></a>
11653
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-newlinebeforecapsassumesbadsentenceend"></a>
11654
+ <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-newlinebeforecapsassumesbadsentenceend"></a>
11896
11655
  ##### <code>newlineBeforeCapsAssumesBadSentenceEnd</code>
11897
11656
 
11898
11657
  When `false` (the new default), we will not assume capital letters after
@@ -12633,8 +12392,8 @@ Requires that all functions have a description.
12633
12392
  is `"tag"`) must have a non-empty description that explains the purpose of
12634
12393
  the method.
12635
12394
 
12636
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-options-25"></a>
12637
- <a name="eslint-plugin-jsdoc-rules-require-description-options-25"></a>
12395
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-description-options-24"></a>
12396
+ <a name="eslint-plugin-jsdoc-rules-require-description-options-24"></a>
12638
12397
  #### Options
12639
12398
 
12640
12399
  An options object may have any of the following properties:
@@ -13195,14 +12954,14 @@ Requires that all functions have examples.
13195
12954
  * Every example tag must have a non-empty description that explains the
13196
12955
  method's usage.
13197
12956
 
13198
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26"></a>
13199
- <a name="eslint-plugin-jsdoc-rules-require-example-options-26"></a>
12957
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25"></a>
12958
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-25"></a>
13200
12959
  #### Options
13201
12960
 
13202
12961
  This rule has an object option.
13203
12962
 
13204
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-exemptedby"></a>
13205
- <a name="eslint-plugin-jsdoc-rules-require-example-options-26-exemptedby"></a>
12963
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-exemptedby"></a>
12964
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-25-exemptedby"></a>
13206
12965
  ##### <code>exemptedBy</code>
13207
12966
 
13208
12967
  Array of tags (e.g., `['type']`) whose presence on the document
@@ -13211,15 +12970,15 @@ block avoids the need for an `@example`. Defaults to an array with
13211
12970
  so be sure to add back `inheritdoc` if you wish its presence to cause
13212
12971
  exemption of the rule.
13213
12972
 
13214
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-exemptnoarguments"></a>
13215
- <a name="eslint-plugin-jsdoc-rules-require-example-options-26-exemptnoarguments"></a>
12973
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-exemptnoarguments"></a>
12974
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-25-exemptnoarguments"></a>
13216
12975
  ##### <code>exemptNoArguments</code>
13217
12976
 
13218
12977
  Boolean to indicate that no-argument functions should not be reported for
13219
12978
  missing `@example` declarations.
13220
12979
 
13221
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-contexts-7"></a>
13222
- <a name="eslint-plugin-jsdoc-rules-require-example-options-26-contexts-7"></a>
12980
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-contexts-7"></a>
12981
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-25-contexts-7"></a>
13223
12982
  ##### <code>contexts</code>
13224
12983
 
13225
12984
  Set this to an array of strings representing the AST context (or an object with
@@ -13231,27 +12990,27 @@ want the rule to apply to any jsdoc block throughout your files.
13231
12990
  See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
13232
12991
  section of our README for more on the expected format.
13233
12992
 
13234
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-checkconstructors"></a>
13235
- <a name="eslint-plugin-jsdoc-rules-require-example-options-26-checkconstructors"></a>
12993
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-checkconstructors"></a>
12994
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-25-checkconstructors"></a>
13236
12995
  ##### <code>checkConstructors</code>
13237
12996
 
13238
12997
  A value indicating whether `constructor`s should be checked.
13239
12998
  Defaults to `true`.
13240
12999
 
13241
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-checkgetters"></a>
13242
- <a name="eslint-plugin-jsdoc-rules-require-example-options-26-checkgetters"></a>
13000
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-checkgetters"></a>
13001
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-25-checkgetters"></a>
13243
13002
  ##### <code>checkGetters</code>
13244
13003
 
13245
13004
  A value indicating whether getters should be checked. Defaults to `false`.
13246
13005
 
13247
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-checksetters"></a>
13248
- <a name="eslint-plugin-jsdoc-rules-require-example-options-26-checksetters"></a>
13006
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-checksetters"></a>
13007
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-25-checksetters"></a>
13249
13008
  ##### <code>checkSetters</code>
13250
13009
 
13251
13010
  A value indicating whether setters should be checked. Defaults to `false`.
13252
13011
 
13253
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-enablefixer-3"></a>
13254
- <a name="eslint-plugin-jsdoc-rules-require-example-options-26-enablefixer-3"></a>
13012
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-enablefixer-3"></a>
13013
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-25-enablefixer-3"></a>
13255
13014
  ##### <code>enableFixer</code>
13256
13015
 
13257
13016
  A boolean on whether to enable the fixer (which adds an empty `@example` block).
@@ -13564,12 +13323,12 @@ Checks that:
13564
13323
  as being when the overview tag is not preceded by anything other than
13565
13324
  a comment.
13566
13325
 
13567
- <a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-27"></a>
13568
- <a name="eslint-plugin-jsdoc-rules-require-file-overview-options-27"></a>
13326
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-26"></a>
13327
+ <a name="eslint-plugin-jsdoc-rules-require-file-overview-options-26"></a>
13569
13328
  #### Options
13570
13329
 
13571
- <a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-27-tags-5"></a>
13572
- <a name="eslint-plugin-jsdoc-rules-require-file-overview-options-27-tags-5"></a>
13330
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-26-tags-5"></a>
13331
+ <a name="eslint-plugin-jsdoc-rules-require-file-overview-options-26-tags-5"></a>
13573
13332
  ##### <code>tags</code>
13574
13333
 
13575
13334
  The keys of this object are tag names, and the values are configuration
@@ -13853,8 +13612,8 @@ function quux () {
13853
13612
 
13854
13613
  Requires (or disallows) a hyphen before the `@param` description.
13855
13614
 
13856
- <a name="user-content-eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-28"></a>
13857
- <a name="eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-28"></a>
13615
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-27"></a>
13616
+ <a name="eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-27"></a>
13858
13617
  #### Options
13859
13618
 
13860
13619
  This rule takes one optional string argument and an optional options object.
@@ -14086,14 +13845,14 @@ function main(argv) {
14086
13845
  Checks for presence of jsdoc comments, on class declarations as well as
14087
13846
  functions.
14088
13847
 
14089
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29"></a>
14090
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29"></a>
13848
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28"></a>
13849
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28"></a>
14091
13850
  #### Options
14092
13851
 
14093
13852
  Accepts one optional options object with the following optional keys.
14094
13853
 
14095
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-publiconly"></a>
14096
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-publiconly"></a>
13854
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-publiconly"></a>
13855
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-publiconly"></a>
14097
13856
  ##### <code>publicOnly</code>
14098
13857
 
14099
13858
  This option will insist that missing jsdoc blocks are only reported for
@@ -14109,8 +13868,8 @@ otherwise noted):
14109
13868
  - `cjs` - CommonJS exports are checked for JSDoc comments (Defaults to `true`)
14110
13869
  - `window` - Window global exports are checked for JSDoc comments
14111
13870
 
14112
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-require"></a>
14113
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-require"></a>
13871
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-require"></a>
13872
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-require"></a>
14114
13873
  ##### <code>require</code>
14115
13874
 
14116
13875
  An object with the following optional boolean keys which all default to
@@ -14123,8 +13882,8 @@ An object with the following optional boolean keys which all default to
14123
13882
  - `FunctionExpression`
14124
13883
  - `MethodDefinition`
14125
13884
 
14126
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-contexts-8"></a>
14127
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-contexts-8"></a>
13885
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-contexts-8"></a>
13886
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-contexts-8"></a>
14128
13887
  ##### <code>contexts</code>
14129
13888
 
14130
13889
  Set this to an array of strings or objects representing the additional AST
@@ -14141,8 +13900,8 @@ if you are specifying a more precise form in `contexts` (e.g., `MethodDefinition
14141
13900
  See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
14142
13901
  section of our README for more on the expected format.
14143
13902
 
14144
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-exemptemptyconstructors"></a>
14145
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-exemptemptyconstructors"></a>
13903
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyconstructors"></a>
13904
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyconstructors"></a>
14146
13905
  ##### <code>exemptEmptyConstructors</code>
14147
13906
 
14148
13907
  Default: true
@@ -14151,8 +13910,8 @@ When `true`, the rule will not report missing jsdoc blocks above constructors
14151
13910
  with no parameters or return values (this is enabled by default as the class
14152
13911
  name or description should be seen as sufficient to convey intent).
14153
13912
 
14154
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-exemptemptyfunctions"></a>
14155
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-exemptemptyfunctions"></a>
13913
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyfunctions"></a>
13914
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyfunctions"></a>
14156
13915
  ##### <code>exemptEmptyFunctions</code>
14157
13916
 
14158
13917
  Default: false.
@@ -14161,16 +13920,16 @@ When `true`, the rule will not report missing jsdoc blocks above
14161
13920
  functions/methods with no parameters or return values (intended where
14162
13921
  function/method names are sufficient for themselves as documentation).
14163
13922
 
14164
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checkconstructors-1"></a>
14165
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checkconstructors-1"></a>
13923
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkconstructors-1"></a>
13924
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkconstructors-1"></a>
14166
13925
  ##### <code>checkConstructors</code>
14167
13926
 
14168
13927
  A value indicating whether `constructor`s should be checked. Defaults to
14169
13928
  `true`. When `true`, `exemptEmptyConstructors` may still avoid reporting when
14170
13929
  no parameters or return values are found.
14171
13930
 
14172
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checkgetters-1"></a>
14173
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checkgetters-1"></a>
13931
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkgetters-1"></a>
13932
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkgetters-1"></a>
14174
13933
  ##### <code>checkGetters</code>
14175
13934
 
14176
13935
  A value indicating whether getters should be checked. Besides setting as a
@@ -14179,8 +13938,8 @@ getters should be checked but only when there is no setter. This may be useful
14179
13938
  if one only wishes documentation on one of the two accessors. Defaults to
14180
13939
  `false`.
14181
13940
 
14182
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checksetters-1"></a>
14183
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checksetters-1"></a>
13941
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checksetters-1"></a>
13942
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checksetters-1"></a>
14184
13943
  ##### <code>checkSetters</code>
14185
13944
 
14186
13945
  A value indicating whether setters should be checked. Besides setting as a
@@ -14189,15 +13948,15 @@ setters should be checked but only when there is no getter. This may be useful
14189
13948
  if one only wishes documentation on one of the two accessors. Defaults to
14190
13949
  `false`.
14191
13950
 
14192
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-enablefixer-4"></a>
14193
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-enablefixer-4"></a>
13951
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-enablefixer-4"></a>
13952
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-enablefixer-4"></a>
14194
13953
  ##### <code>enableFixer</code>
14195
13954
 
14196
13955
  A boolean on whether to enable the fixer (which adds an empty jsdoc block).
14197
13956
  Defaults to `true`.
14198
13957
 
14199
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-minlinecount"></a>
14200
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-minlinecount"></a>
13958
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-minlinecount"></a>
13959
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-minlinecount"></a>
14201
13960
  ##### <code>minLineCount</code>
14202
13961
 
14203
13962
  An integer to indicate a minimum number of lines expected for a node in order
@@ -15889,12 +15648,12 @@ Will exempt destructured roots and their children if
15889
15648
  `@param {object} props` will be exempted from requiring a description given
15890
15649
  `function someFunc ({child1, child2})`).
15891
15650
 
15892
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30"></a>
15893
- <a name="eslint-plugin-jsdoc-rules-require-param-description-options-30"></a>
15651
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-29"></a>
15652
+ <a name="eslint-plugin-jsdoc-rules-require-param-description-options-29"></a>
15894
15653
  #### Options
15895
15654
 
15896
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30-setdefaultdestructuredrootdescription"></a>
15897
- <a name="eslint-plugin-jsdoc-rules-require-param-description-options-30-setdefaultdestructuredrootdescription"></a>
15655
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-29-setdefaultdestructuredrootdescription"></a>
15656
+ <a name="eslint-plugin-jsdoc-rules-require-param-description-options-29-setdefaultdestructuredrootdescription"></a>
15898
15657
  ##### <code>setDefaultDestructuredRootDescription</code>
15899
15658
 
15900
15659
  Whether to set a default destructured root description. For example, you may
@@ -15903,15 +15662,15 @@ corresponding to a destructured root object as it should always be the same
15903
15662
  type of object. Uses `defaultDestructuredRootDescription` for the description
15904
15663
  string. Defaults to `false`.
15905
15664
 
15906
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30-defaultdestructuredrootdescription"></a>
15907
- <a name="eslint-plugin-jsdoc-rules-require-param-description-options-30-defaultdestructuredrootdescription"></a>
15665
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-29-defaultdestructuredrootdescription"></a>
15666
+ <a name="eslint-plugin-jsdoc-rules-require-param-description-options-29-defaultdestructuredrootdescription"></a>
15908
15667
  ##### <code>defaultDestructuredRootDescription</code>
15909
15668
 
15910
15669
  The description string to set by default for destructured roots. Defaults to
15911
15670
  "The root object".
15912
15671
 
15913
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30-contexts-9"></a>
15914
- <a name="eslint-plugin-jsdoc-rules-require-param-description-options-30-contexts-9"></a>
15672
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-29-contexts-9"></a>
15673
+ <a name="eslint-plugin-jsdoc-rules-require-param-description-options-29-contexts-9"></a>
15915
15674
  ##### <code>contexts</code>
15916
15675
 
15917
15676
  Set this to an array of strings representing the AST context (or an object with
@@ -16104,12 +15863,12 @@ Requires that all function parameters have names.
16104
15863
  >
16105
15864
  > [JSDoc](https://jsdoc.app/tags-param.html#overview)
16106
15865
 
16107
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-31"></a>
16108
- <a name="eslint-plugin-jsdoc-rules-require-param-name-options-31"></a>
15866
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-30"></a>
15867
+ <a name="eslint-plugin-jsdoc-rules-require-param-name-options-30"></a>
16109
15868
  #### Options
16110
15869
 
16111
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-31-contexts-10"></a>
16112
- <a name="eslint-plugin-jsdoc-rules-require-param-name-options-31-contexts-10"></a>
15870
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-30-contexts-10"></a>
15871
+ <a name="eslint-plugin-jsdoc-rules-require-param-name-options-30-contexts-10"></a>
16113
15872
  ##### <code>contexts</code>
16114
15873
 
16115
15874
  Set this to an array of strings representing the AST context (or an object with
@@ -16248,12 +16007,12 @@ Will exempt destructured roots and their children if
16248
16007
  `@param props` will be exempted from requiring a type given
16249
16008
  `function someFunc ({child1, child2})`).
16250
16009
 
16251
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32"></a>
16252
- <a name="eslint-plugin-jsdoc-rules-require-param-type-options-32"></a>
16010
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-31"></a>
16011
+ <a name="eslint-plugin-jsdoc-rules-require-param-type-options-31"></a>
16253
16012
  #### Options
16254
16013
 
16255
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32-setdefaultdestructuredroottype"></a>
16256
- <a name="eslint-plugin-jsdoc-rules-require-param-type-options-32-setdefaultdestructuredroottype"></a>
16014
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-31-setdefaultdestructuredroottype"></a>
16015
+ <a name="eslint-plugin-jsdoc-rules-require-param-type-options-31-setdefaultdestructuredroottype"></a>
16257
16016
  ##### <code>setDefaultDestructuredRootType</code>
16258
16017
 
16259
16018
  Whether to set a default destructured root type. For example, you may wish
@@ -16262,14 +16021,14 @@ corresponding to a destructured root object as it is always going to be an
16262
16021
  object. Uses `defaultDestructuredRootType` for the type string. Defaults to
16263
16022
  `false`.
16264
16023
 
16265
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32-defaultdestructuredroottype"></a>
16266
- <a name="eslint-plugin-jsdoc-rules-require-param-type-options-32-defaultdestructuredroottype"></a>
16024
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-31-defaultdestructuredroottype"></a>
16025
+ <a name="eslint-plugin-jsdoc-rules-require-param-type-options-31-defaultdestructuredroottype"></a>
16267
16026
  ##### <code>defaultDestructuredRootType</code>
16268
16027
 
16269
16028
  The type string to set by default for destructured roots. Defaults to "object".
16270
16029
 
16271
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32-contexts-11"></a>
16272
- <a name="eslint-plugin-jsdoc-rules-require-param-type-options-32-contexts-11"></a>
16030
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-31-contexts-11"></a>
16031
+ <a name="eslint-plugin-jsdoc-rules-require-param-type-options-31-contexts-11"></a>
16273
16032
  ##### <code>contexts</code>
16274
16033
 
16275
16034
  Set this to an array of strings representing the AST context (or an object with
@@ -16634,35 +16393,35 @@ other properties, so in looking at the docs alone without looking at the
16634
16393
  function signature, it may appear that there is an actual property named
16635
16394
  `extra`.
16636
16395
 
16637
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33"></a>
16638
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33"></a>
16396
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32"></a>
16397
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32"></a>
16639
16398
  #### Options
16640
16399
 
16641
16400
  An options object accepts the following optional properties:
16642
16401
 
16643
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-enablefixer-5"></a>
16644
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-enablefixer-5"></a>
16402
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-enablefixer-5"></a>
16403
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-enablefixer-5"></a>
16645
16404
  ##### <code>enableFixer</code>
16646
16405
 
16647
16406
  Whether to enable the fixer. Defaults to `true`.
16648
16407
 
16649
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-enablerootfixer"></a>
16650
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-enablerootfixer"></a>
16408
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-enablerootfixer"></a>
16409
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-enablerootfixer"></a>
16651
16410
  ##### <code>enableRootFixer</code>
16652
16411
 
16653
16412
  Whether to enable the auto-adding of incrementing roots (see the "Fixer"
16654
16413
  section). Defaults to `true`. Has no effect if `enableFixer` is set to
16655
16414
  `false`.
16656
16415
 
16657
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-enablerestelementfixer"></a>
16658
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-enablerestelementfixer"></a>
16416
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-enablerestelementfixer"></a>
16417
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-enablerestelementfixer"></a>
16659
16418
  ##### <code>enableRestElementFixer</code>
16660
16419
 
16661
16420
  Whether to enable the rest element fixer (see
16662
16421
  "Rest Element (`RestElement`) insertions"). Defaults to `true`.
16663
16422
 
16664
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkrestproperty-1"></a>
16665
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checkrestproperty-1"></a>
16423
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkrestproperty-1"></a>
16424
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkrestproperty-1"></a>
16666
16425
  ##### <code>checkRestProperty</code>
16667
16426
 
16668
16427
  If set to `true`, will report (and add fixer insertions) for missing rest
@@ -16716,15 +16475,15 @@ function quux ({num, ...extra}) {
16716
16475
  }
16717
16476
  ```
16718
16477
 
16719
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-autoincrementbase"></a>
16720
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-autoincrementbase"></a>
16478
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-autoincrementbase"></a>
16479
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-autoincrementbase"></a>
16721
16480
  ##### <code>autoIncrementBase</code>
16722
16481
 
16723
16482
  Numeric to indicate the number at which to begin auto-incrementing roots.
16724
16483
  Defaults to `0`.
16725
16484
 
16726
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-unnamedrootbase"></a>
16727
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-unnamedrootbase"></a>
16485
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-unnamedrootbase"></a>
16486
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-unnamedrootbase"></a>
16728
16487
  ##### <code>unnamedRootBase</code>
16729
16488
 
16730
16489
  An array of root names to use in the fixer when roots are missing. Defaults
@@ -16750,8 +16509,8 @@ function quux ({foo}, [bar], {baz}) {
16750
16509
  */
16751
16510
  ```
16752
16511
 
16753
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-exemptedby-1"></a>
16754
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-exemptedby-1"></a>
16512
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-exemptedby-1"></a>
16513
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-exemptedby-1"></a>
16755
16514
  ##### <code>exemptedBy</code>
16756
16515
 
16757
16516
  Array of tags (e.g., `['type']`) whose presence on the document block
@@ -16760,8 +16519,8 @@ avoids the need for a `@param`. Defaults to an array with
16760
16519
  so be sure to add back `inheritdoc` if you wish its presence to cause
16761
16520
  exemption of the rule.
16762
16521
 
16763
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checktypespattern-1"></a>
16764
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checktypespattern-1"></a>
16522
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checktypespattern-1"></a>
16523
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checktypespattern-1"></a>
16765
16524
  ##### <code>checkTypesPattern</code>
16766
16525
 
16767
16526
  When one specifies a type, unless it is of a generic type, like `object`
@@ -16796,8 +16555,8 @@ You could set this regular expression to a more expansive list, or you
16796
16555
  could restrict it such that even types matching those strings would not
16797
16556
  need destructuring.
16798
16557
 
16799
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-contexts-12"></a>
16800
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-contexts-12"></a>
16558
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-contexts-12"></a>
16559
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-contexts-12"></a>
16801
16560
  ##### <code>contexts</code>
16802
16561
 
16803
16562
  Set this to an array of strings representing the AST context (or an object with
@@ -16809,33 +16568,33 @@ which are checked.
16809
16568
  See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
16810
16569
  section of our README for more on the expected format.
16811
16570
 
16812
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkconstructors-2"></a>
16813
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checkconstructors-2"></a>
16571
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkconstructors-2"></a>
16572
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkconstructors-2"></a>
16814
16573
  ##### <code>checkConstructors</code>
16815
16574
 
16816
16575
  A value indicating whether `constructor`s should be checked. Defaults to
16817
16576
  `true`.
16818
16577
 
16819
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkgetters-2"></a>
16820
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checkgetters-2"></a>
16578
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkgetters-2"></a>
16579
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkgetters-2"></a>
16821
16580
  ##### <code>checkGetters</code>
16822
16581
 
16823
16582
  A value indicating whether getters should be checked. Defaults to `false`.
16824
16583
 
16825
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checksetters-2"></a>
16826
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checksetters-2"></a>
16584
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checksetters-2"></a>
16585
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checksetters-2"></a>
16827
16586
  ##### <code>checkSetters</code>
16828
16587
 
16829
16588
  A value indicating whether setters should be checked. Defaults to `false`.
16830
16589
 
16831
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkdestructured-1"></a>
16832
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checkdestructured-1"></a>
16590
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructured-1"></a>
16591
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructured-1"></a>
16833
16592
  ##### <code>checkDestructured</code>
16834
16593
 
16835
16594
  Whether to require destructured properties. Defaults to `true`.
16836
16595
 
16837
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkdestructuredroots"></a>
16838
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checkdestructuredroots"></a>
16596
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructuredroots"></a>
16597
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructuredroots"></a>
16839
16598
  ##### <code>checkDestructuredRoots</code>
16840
16599
 
16841
16600
  Whether to check the existence of a corresponding `@param` for root objects
@@ -16848,8 +16607,8 @@ implied to be `false` (i.e., the inside of the roots will not be checked
16848
16607
  either, e.g., it will also not complain if `a` or `b` do not have their own
16849
16608
  documentation). Defaults to `true`.
16850
16609
 
16851
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-usedefaultobjectproperties-1"></a>
16852
- <a name="eslint-plugin-jsdoc-rules-require-param-options-33-usedefaultobjectproperties-1"></a>
16610
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-usedefaultobjectproperties-1"></a>
16611
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-32-usedefaultobjectproperties-1"></a>
16853
16612
  ##### <code>useDefaultObjectProperties</code>
16854
16613
 
16855
16614
  Set to `true` if you wish to expect documentation of properties on objects
@@ -18534,8 +18293,8 @@ is found. Also reports if `@returns {never}` is discovered with a return value.
18534
18293
 
18535
18294
  Will also report if multiple `@returns` tags are present.
18536
18295
 
18537
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-check-options-34"></a>
18538
- <a name="eslint-plugin-jsdoc-rules-require-returns-check-options-34"></a>
18296
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-check-options-33"></a>
18297
+ <a name="eslint-plugin-jsdoc-rules-require-returns-check-options-33"></a>
18539
18298
  #### Options
18540
18299
 
18541
18300
  - `exemptGenerators`- Because a generator might be labeled as having a
@@ -19561,12 +19320,12 @@ Requires that the `@returns` tag has a `description` value. The error
19561
19320
  will not be reported if the return value is `void` or `undefined`
19562
19321
  or if it is `Promise<void>` or `Promise<undefined>`.
19563
19322
 
19564
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-35"></a>
19565
- <a name="eslint-plugin-jsdoc-rules-require-returns-description-options-35"></a>
19323
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-34"></a>
19324
+ <a name="eslint-plugin-jsdoc-rules-require-returns-description-options-34"></a>
19566
19325
  #### Options
19567
19326
 
19568
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-35-contexts-13"></a>
19569
- <a name="eslint-plugin-jsdoc-rules-require-returns-description-options-35-contexts-13"></a>
19327
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-34-contexts-13"></a>
19328
+ <a name="eslint-plugin-jsdoc-rules-require-returns-description-options-34-contexts-13"></a>
19570
19329
  ##### <code>contexts</code>
19571
19330
 
19572
19331
  Set this to an array of strings representing the AST context (or an object with
@@ -19720,12 +19479,12 @@ function quux () {
19720
19479
 
19721
19480
  Requires that `@returns` tag has `type` value.
19722
19481
 
19723
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-36"></a>
19724
- <a name="eslint-plugin-jsdoc-rules-require-returns-type-options-36"></a>
19482
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-35"></a>
19483
+ <a name="eslint-plugin-jsdoc-rules-require-returns-type-options-35"></a>
19725
19484
  #### Options
19726
19485
 
19727
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-36-contexts-14"></a>
19728
- <a name="eslint-plugin-jsdoc-rules-require-returns-type-options-36-contexts-14"></a>
19486
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-35-contexts-14"></a>
19487
+ <a name="eslint-plugin-jsdoc-rules-require-returns-type-options-35-contexts-14"></a>
19729
19488
  ##### <code>contexts</code>
19730
19489
 
19731
19490
  Set this to an array of strings representing the AST context (or an object with
@@ -19846,8 +19605,8 @@ Requires that returns are documented.
19846
19605
 
19847
19606
  Will also report if multiple `@returns` tags are present.
19848
19607
 
19849
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-options-37"></a>
19850
- <a name="eslint-plugin-jsdoc-rules-require-returns-options-37"></a>
19608
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-options-36"></a>
19609
+ <a name="eslint-plugin-jsdoc-rules-require-returns-options-36"></a>
19851
19610
  #### Options
19852
19611
 
19853
19612
  - `checkConstructors` - A value indicating whether `constructor`s should
@@ -20444,6 +20203,22 @@ export function readFixture(path: string): void;
20444
20203
  export function readFixture(path: string);
20445
20204
  // "jsdoc/require-returns": ["error"|"warn", {"forceRequireReturn":true}]
20446
20205
  // Message: Missing JSDoc @returns declaration.
20206
+
20207
+ /**
20208
+ * @param {array} a
20209
+ */
20210
+ async function foo(a) {
20211
+ return Promise.all(a);
20212
+ }
20213
+ // Message: Missing JSDoc @returns declaration.
20214
+
20215
+ /**
20216
+ * Description.
20217
+ */
20218
+ export default async function demo() {
20219
+ return true;
20220
+ }
20221
+ // Message: Missing JSDoc @returns declaration.
20447
20222
  ````
20448
20223
 
20449
20224
  The following patterns are not considered problems:
@@ -20928,13 +20703,6 @@ async function foo() {
20928
20703
  return new Promise(resolve => resolve());
20929
20704
  }
20930
20705
 
20931
- /**
20932
- * @param {array} a
20933
- */
20934
- async function foo(a) {
20935
- return Promise.all(a);
20936
- }
20937
-
20938
20706
  /**
20939
20707
  * @param ms time in millis
20940
20708
  */
@@ -20987,8 +20755,8 @@ for our desire for a separate tag to document rejection types and see
20987
20755
  [this discussion](https://stackoverflow.com/questions/50071115/typescript-promise-rejection-type)
20988
20756
  on why TypeScript doesn't offer such a feature.
20989
20757
 
20990
- <a name="user-content-eslint-plugin-jsdoc-rules-require-throws-options-38"></a>
20991
- <a name="eslint-plugin-jsdoc-rules-require-throws-options-38"></a>
20758
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-throws-options-37"></a>
20759
+ <a name="eslint-plugin-jsdoc-rules-require-throws-options-37"></a>
20992
20760
  #### Options
20993
20761
 
20994
20762
  - `exemptedBy` - Array of tags (e.g., `['type']`) whose presence on the
@@ -21292,8 +21060,8 @@ Will also report if multiple `@yields` tags are present.
21292
21060
  See the `next`, `forceRequireNext`, and `nextWithGeneratorTag` options for an
21293
21061
  option to expect a non-standard `@next` tag.
21294
21062
 
21295
- <a name="user-content-eslint-plugin-jsdoc-rules-require-yields-options-39"></a>
21296
- <a name="eslint-plugin-jsdoc-rules-require-yields-options-39"></a>
21063
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-yields-options-38"></a>
21064
+ <a name="eslint-plugin-jsdoc-rules-require-yields-options-38"></a>
21297
21065
  #### Options
21298
21066
 
21299
21067
  - `exemptedBy` - Array of tags (e.g., `['type']`) whose presence on the
@@ -22104,8 +21872,8 @@ function bodies.
22104
21872
 
22105
21873
  Will also report if multiple `@yields` tags are present.
22106
21874
 
22107
- <a name="user-content-eslint-plugin-jsdoc-rules-require-yields-check-options-40"></a>
22108
- <a name="eslint-plugin-jsdoc-rules-require-yields-check-options-40"></a>
21875
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-yields-check-options-39"></a>
21876
+ <a name="eslint-plugin-jsdoc-rules-require-yields-check-options-39"></a>
22109
21877
  #### Options
22110
21878
 
22111
21879
  - `checkGeneratorsOnly` - Avoids checking the function body and merely insists
@@ -22617,12 +22385,12 @@ Sorts tags by a specified sequence according to tag name.
22617
22385
 
22618
22386
  (Default order originally inspired by [`@homer0/prettier-plugin-jsdoc`](https://github.com/homer0/packages/tree/main/packages/public/prettier-plugin-jsdoc).)
22619
22387
 
22620
- <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-41"></a>
22621
- <a name="eslint-plugin-jsdoc-rules-sort-tags-options-41"></a>
22388
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40"></a>
22389
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40"></a>
22622
22390
  #### Options
22623
22391
 
22624
- <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-41-tagsequence"></a>
22625
- <a name="eslint-plugin-jsdoc-rules-sort-tags-options-41-tagsequence"></a>
22392
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-tagsequence"></a>
22393
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-tagsequence"></a>
22626
22394
  ##### <code>tagSequence</code>
22627
22395
 
22628
22396
  An array of tag names indicating the preferred sequence for sorting tags.
@@ -22798,8 +22566,8 @@ a fixed order that doesn't change into the future, supply your own
22798
22566
  ];
22799
22567
  ```
22800
22568
 
22801
- <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-41-alphabetizeextras"></a>
22802
- <a name="eslint-plugin-jsdoc-rules-sort-tags-options-41-alphabetizeextras"></a>
22569
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-alphabetizeextras"></a>
22570
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-alphabetizeextras"></a>
22803
22571
  ##### <code>alphabetizeExtras</code>
22804
22572
 
22805
22573
  Defaults to `false`. Alphabetizes any items not within `tagSequence` after any
@@ -22956,39 +22724,57 @@ function quux () {}
22956
22724
 
22957
22725
  Enforces lines (or no lines) between tags.
22958
22726
 
22959
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42"></a>
22960
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42"></a>
22727
+ If you only want lines preceding all tags or after all tags, you can use
22728
+ the "any" option along with `startLines` and/or `endLines`.
22729
+
22730
+ The "always" or "never" options of this rule should not
22731
+ be used with the linebreak-setting options of the `sort-tags` rule as both
22732
+ may try to impose a conflicting number of lines.
22733
+
22734
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41"></a>
22735
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41"></a>
22961
22736
  #### Options
22962
22737
 
22963
22738
  The first option is a single string set to "always", "never", or "any"
22964
22739
  (defaults to "never").
22965
22740
 
22966
22741
  "any" is only useful with `tags` (allowing non-enforcement of lines except
22967
- for particular tags) or with `dropEndLines`.
22742
+ for particular tags) or with `startLines` or `endLines`. It is also
22743
+ necessary if using the linebreak-setting options of the `sort-tags` rule
22744
+ so that the two rules won't conflict in both attempting to set lines
22745
+ between tags.
22968
22746
 
22969
22747
  The second option is an object with the following optional properties.
22970
22748
 
22971
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-count-defaults-to-1"></a>
22972
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-count-defaults-to-1"></a>
22749
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-count-defaults-to-1"></a>
22750
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-count-defaults-to-1"></a>
22973
22751
  ##### <code>count</code> (defaults to 1)
22974
22752
 
22975
22753
  Use with "always" to indicate the number of lines to require be present.
22976
22754
 
22977
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-noendlines-defaults-to-false"></a>
22978
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-noendlines-defaults-to-false"></a>
22979
- ##### <code>noEndLines</code> (defaults to <code>false</code>)
22755
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-applytoendtag-defaults-to-true"></a>
22756
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-applytoendtag-defaults-to-true"></a>
22757
+ ##### <code>applyToEndTag</code> (defaults to <code>true</code>)
22980
22758
 
22981
- Use with "always" to indicate the normal lines to be added after tags should
22982
- not be added after the final tag.
22759
+ Set to `false` and use with "always" to indicate the normal lines to be
22760
+ added after tags should not be added after the final tag.
22983
22761
 
22984
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-dropendlines-defaults-to-false"></a>
22985
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-dropendlines-defaults-to-false"></a>
22986
- ##### <code>dropEndLines</code> (defaults to <code>false</code>)
22762
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-startlines-defaults-to-0"></a>
22763
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-startlines-defaults-to-0"></a>
22764
+ ##### <code>startLines</code> (defaults to <code>0</code>)
22987
22765
 
22988
- If defined, will drop end lines for the final tag only.
22766
+ If not set to `null`, will enforce end lines to the given count before the
22767
+ first tag only.
22989
22768
 
22990
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-tags-default-to-empty-object"></a>
22991
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-tags-default-to-empty-object"></a>
22769
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-endlines-defaults-to-0"></a>
22770
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-endlines-defaults-to-0"></a>
22771
+ ##### <code>endLines</code> (defaults to <code>0</code>)
22772
+
22773
+ If not set to `null`, will enforce end lines to the given count on the
22774
+ final tag only.
22775
+
22776
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-tags-default-to-empty-object"></a>
22777
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-tags-default-to-empty-object"></a>
22992
22778
  ##### <code>tags</code> (default to empty object)
22993
22779
 
22994
22780
  Overrides the default behavior depending on specific tags.
@@ -23005,7 +22791,7 @@ following keys:
23005
22791
  |Tags|Any|
23006
22792
  |Recommended|true|
23007
22793
  |Settings|N/A|
23008
- |Options|(a string matching `"always" or "never"` and optional object with `count` and `noEndLines`)|
22794
+ |Options|(a string matching `"always"`, `"never"`, or `"any"` and optional object with `count`, `applyToEndTag`, `startLines`, `endLines`)|
23009
22795
 
23010
22796
  The following patterns are considered problems:
23011
22797
 
@@ -23040,7 +22826,7 @@ The following patterns are considered problems:
23040
22826
  * @param {string} a
23041
22827
  * @param {number} b
23042
22828
  */
23043
- // "jsdoc/tag-lines": ["error"|"warn", "always",{"noEndLines":true}]
22829
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"applyToEndTag":false}]
23044
22830
  // Message: Expected 1 line between tags but found 0
23045
22831
 
23046
22832
  /**
@@ -23131,7 +22917,7 @@ The following patterns are considered problems:
23131
22917
  * @param {number} b
23132
22918
  *
23133
22919
  */
23134
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
22920
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23135
22921
  // Message: Expected 1 line between tags but found 0
23136
22922
 
23137
22923
  /**
@@ -23156,8 +22942,70 @@ The following patterns are considered problems:
23156
22942
  * This is still part of `@returns`.
23157
22943
  *
23158
22944
  */
23159
- // "jsdoc/tag-lines": ["error"|"warn", "any",{"dropEndLines":true}]
23160
- // Message: Expected no trailing lines
22945
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"endLines":0}]
22946
+ // Message: Expected 0 trailing lines
22947
+
22948
+ /**
22949
+ * Some description
22950
+ * @param {string} a
22951
+ * @param {string} b
22952
+ *
22953
+ * @returns {SomeType} An extended
22954
+ * description.
22955
+ *
22956
+ * This is still part of `@returns`.
22957
+ *
22958
+ *
22959
+ *
22960
+ */
22961
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"endLines":1}]
22962
+ // Message: Expected 1 trailing lines
22963
+
22964
+ /**
22965
+ * Some description
22966
+ * @param {string} a
22967
+ * @param {string} b
22968
+ *
22969
+ * @returns {SomeType} An extended
22970
+ * description.
22971
+ *
22972
+ * This is still part of `@returns`.
22973
+ *
22974
+ */
22975
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"endLines":2}]
22976
+ // Message: Expected 2 trailing lines
22977
+
22978
+ /**
22979
+ * Some description
22980
+ *
22981
+ *
22982
+ * @param {string} a
22983
+ */
22984
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"startLines":1}]
22985
+ // Message: Expected only 1 line after block description
22986
+
22987
+ /**
22988
+ * Some description
22989
+ *
22990
+ * @param {string} a
22991
+ */
22992
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"startLines":0}]
22993
+ // Message: Expected only 0 line after block description
22994
+
22995
+ /**
22996
+ * Some description
22997
+ *
22998
+ * @param {string} a
22999
+ */
23000
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"startLines":2}]
23001
+ // Message: Expected 2 lines after block description
23002
+
23003
+ /**
23004
+ * Some description
23005
+ * @param {string} a
23006
+ */
23007
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"startLines":1}]
23008
+ // Message: Expected 1 lines after block description
23161
23009
  ````
23162
23010
 
23163
23011
  The following patterns are not considered problems:
@@ -23181,15 +23029,15 @@ The following patterns are not considered problems:
23181
23029
  *
23182
23030
  * @param {string} a
23183
23031
  */
23184
- // "jsdoc/tag-lines": ["error"|"warn", "always",{"noEndLines":true}]
23032
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"applyToEndTag":false}]
23185
23033
 
23186
23034
  /**
23187
23035
  * @param {string} a
23188
23036
  */
23189
- // "jsdoc/tag-lines": ["error"|"warn", "never",{"noEndLines":true}]
23037
+ // "jsdoc/tag-lines": ["error"|"warn", "never",{"applyToEndTag":false}]
23190
23038
 
23191
23039
  /** @param {number} b */
23192
- // "jsdoc/tag-lines": ["error"|"warn", "never",{"noEndLines":true}]
23040
+ // "jsdoc/tag-lines": ["error"|"warn", "never",{"applyToEndTag":false}]
23193
23041
 
23194
23042
  /**
23195
23043
  * Some description
@@ -23198,7 +23046,7 @@ The following patterns are not considered problems:
23198
23046
  * @param {number} b
23199
23047
  *
23200
23048
  */
23201
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
23049
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23202
23050
 
23203
23051
  /**
23204
23052
  * Some description
@@ -23209,7 +23057,7 @@ The following patterns are not considered problems:
23209
23057
  *
23210
23058
  *
23211
23059
  */
23212
- // "jsdoc/tag-lines": ["error"|"warn", "always",{"count":2}]
23060
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"count":2,"endLines":null}]
23213
23061
 
23214
23062
  /**
23215
23063
  * Some description
@@ -23302,7 +23150,7 @@ The following patterns are not considered problems:
23302
23150
  * description.
23303
23151
  *
23304
23152
  */
23305
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
23153
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23306
23154
 
23307
23155
  /**
23308
23156
  * Some description
@@ -23314,7 +23162,7 @@ The following patterns are not considered problems:
23314
23162
  * This is still part of `@returns`.
23315
23163
  *
23316
23164
  */
23317
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
23165
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23318
23166
 
23319
23167
  /**
23320
23168
  * Some description
@@ -23326,7 +23174,35 @@ The following patterns are not considered problems:
23326
23174
  *
23327
23175
  * This is still part of `@returns`.
23328
23176
  */
23329
- // "jsdoc/tag-lines": ["error"|"warn", "any",{"dropEndLines":true}]
23177
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"endLines":0}]
23178
+
23179
+ /**
23180
+ * Some description
23181
+ *
23182
+ * @param {string} a
23183
+ */
23184
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"startLines":1}]
23185
+
23186
+ /**
23187
+ * Some description
23188
+ * @param {string} a
23189
+ *
23190
+ */
23191
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"endLines":1}]
23192
+
23193
+ /**
23194
+ * Some description
23195
+ *
23196
+ *
23197
+ * @param {string} a
23198
+ */
23199
+ // "jsdoc/tag-lines": ["error"|"warn", "never",{"startLines":null}]
23200
+
23201
+ /**
23202
+ * Some description
23203
+ * @param {string} a
23204
+ */
23205
+ // "jsdoc/tag-lines": ["error"|"warn", "never",{"startLines":null}]
23330
23206
  ````
23331
23207
 
23332
23208
 
@@ -23342,19 +23218,19 @@ Markdown and you therefore do not wish for it to be accidentally interpreted
23342
23218
  as such by the likes of Visual Studio Code or if you wish to view it escaped
23343
23219
  within it or your documentation.
23344
23220
 
23345
- <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-43"></a>
23346
- <a name="eslint-plugin-jsdoc-rules-text-escaping-options-43"></a>
23221
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42"></a>
23222
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42"></a>
23347
23223
  #### Options
23348
23224
 
23349
- <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-43-escapehtml"></a>
23350
- <a name="eslint-plugin-jsdoc-rules-text-escaping-options-43-escapehtml"></a>
23225
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42-escapehtml"></a>
23226
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42-escapehtml"></a>
23351
23227
  ##### <code>escapeHTML</code>
23352
23228
 
23353
23229
  This option escapes all `<` and `&` characters (except those followed by
23354
23230
  whitespace which are treated as literals by Visual Studio Code).
23355
23231
 
23356
- <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-43-escapemarkdown"></a>
23357
- <a name="eslint-plugin-jsdoc-rules-text-escaping-options-43-escapemarkdown"></a>
23232
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42-escapemarkdown"></a>
23233
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42-escapemarkdown"></a>
23358
23234
  ##### <code>escapeMarkdown</code>
23359
23235
 
23360
23236
  This option escapes the first backtick (`` ` ``) in a paired sequence.
@@ -23561,8 +23437,8 @@ for valid types (based on the tag's `type` value), and either portion checked
23561
23437
  for presence (based on `false` `name` or `type` values or their `required`
23562
23438
  value). See the setting for more details.
23563
23439
 
23564
- <a name="user-content-eslint-plugin-jsdoc-rules-valid-types-options-44"></a>
23565
- <a name="eslint-plugin-jsdoc-rules-valid-types-options-44"></a>
23440
+ <a name="user-content-eslint-plugin-jsdoc-rules-valid-types-options-43"></a>
23441
+ <a name="eslint-plugin-jsdoc-rules-valid-types-options-43"></a>
23566
23442
  #### Options
23567
23443
 
23568
23444
  - `allowEmptyNamepaths` (default: true) - Set to `false` to bulk disallow