eslint-plugin-jsdoc 41.1.2 → 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)
@@ -133,7 +132,6 @@ Finally, enable all of the rules that you would like to use.
133
132
  "jsdoc/informative-docs": 1,
134
133
  "jsdoc/match-description": 1,
135
134
  "jsdoc/multiline-blocks": 1, // Recommended
136
- "jsdoc/newline-after-description": 1, // Recommended
137
135
  "jsdoc/no-bad-blocks": 1,
138
136
  "jsdoc/no-blank-block-descriptions": 1,
139
137
  "jsdoc/no-defaults": 1,
@@ -9214,247 +9212,6 @@ The following patterns are not considered problems:
9214
9212
  ````
9215
9213
 
9216
9214
 
9217
- <a name="user-content-eslint-plugin-jsdoc-rules-newline-after-description"></a>
9218
- <a name="eslint-plugin-jsdoc-rules-newline-after-description"></a>
9219
- ### <code>newline-after-description</code>
9220
-
9221
- Enforces a consistent padding of the block description.
9222
-
9223
- <a name="user-content-eslint-plugin-jsdoc-rules-newline-after-description-options-15"></a>
9224
- <a name="eslint-plugin-jsdoc-rules-newline-after-description-options-15"></a>
9225
- #### Options
9226
-
9227
- This rule allows one optional string argument. If it is `"always"` then a
9228
- problem is raised when there is no newline after the description. If it is
9229
- `"never"` then a problem is raised when there is a newline after the
9230
- description. The default value is `"always"`.
9231
-
9232
- |||
9233
- |---|---|
9234
- |Context|everywhere|
9235
- |Tags|N/A (doc block)|
9236
- |Options|(a string matching `"always" or "never"`)|
9237
- |Recommended|true|
9238
-
9239
- The following patterns are considered problems:
9240
-
9241
- ````js
9242
- /**
9243
- * Foo.
9244
- *
9245
- * Foo.
9246
- * @foo
9247
- */
9248
- function quux () {
9249
-
9250
- }
9251
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9252
- // Message: There must be a newline after the description of the JSDoc block.
9253
-
9254
- /**
9255
- * Foo.
9256
- * @foo
9257
- *
9258
- * Foo.
9259
- */
9260
- function quux () {
9261
-
9262
- }
9263
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9264
- // Message: There must be a newline after the description of the JSDoc block.
9265
-
9266
- /**
9267
- * Foo.
9268
- *
9269
- * Foo.
9270
- * @foo
9271
- */
9272
- function quux () {
9273
-
9274
- }
9275
- // Message: There must be a newline after the description of the JSDoc block.
9276
-
9277
- /**
9278
- * Bar.
9279
- *
9280
- * Bar.
9281
- *
9282
- * @bar
9283
- */
9284
- function quux () {
9285
-
9286
- }
9287
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9288
- // Message: There must be no newline after the description of the JSDoc block.
9289
-
9290
- /**
9291
- * Bar.
9292
- *
9293
- * @bar
9294
- *
9295
- * Bar.
9296
- */
9297
- function quux () {
9298
-
9299
- }
9300
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9301
- // Message: There must be no newline after the description of the JSDoc block.
9302
-
9303
-
9304
- /**\r
9305
- * Bar.\r
9306
- *\r
9307
- * Bar.\r
9308
- *\r
9309
- * @bar\r
9310
- */\r
9311
- function quux () {\r
9312
-
9313
- }
9314
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9315
- // Message: There must be no newline after the description of the JSDoc block.
9316
-
9317
- /**
9318
- * A.
9319
- *
9320
- * @typedef {object} A
9321
- * @prop {boolean} a A.
9322
- */
9323
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9324
- // Message: There must be no newline after the description of the JSDoc block.
9325
-
9326
- /**
9327
- * A.
9328
- * @typedef {object} A
9329
- * @prop {boolean} a A.
9330
- */
9331
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9332
- // Message: There must be a newline after the description of the JSDoc block.
9333
-
9334
-
9335
- /**\r
9336
- * Service for fetching symbols.\r
9337
- * @param {object} $http - Injected http helper.\r
9338
- * @param {object} $q - Injected Promise api helper.\r
9339
- * @param {object} $location - Injected window location object.\r
9340
- * @param {object} REPORT_DIALOG_CONSTANTS - Injected handle.\r
9341
- */
9342
- // Message: There must be a newline after the description of the JSDoc block.
9343
-
9344
- /** An example function.
9345
- *
9346
- * @returns {number} An example number.
9347
- */
9348
- function example() {
9349
- return 42;
9350
- }
9351
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9352
- // Message: There must be no newline after the description of the JSDoc block.
9353
-
9354
- /** An example function.
9355
- * @returns {number} An example number.
9356
- */
9357
- function example() {
9358
- return 42;
9359
- }
9360
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9361
- // Message: There must be a newline after the description of the JSDoc block.
9362
- ````
9363
-
9364
- The following patterns are not considered problems:
9365
-
9366
- ````js
9367
- /**
9368
- * Foo.
9369
- */
9370
- function quux () {
9371
-
9372
- }
9373
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9374
-
9375
- /**
9376
- * Bar.
9377
- */
9378
- function quux () {
9379
-
9380
- }
9381
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9382
-
9383
- /**
9384
- * Foo.
9385
- *
9386
- * @foo
9387
- */
9388
- function quux () {
9389
-
9390
- }
9391
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9392
-
9393
- /**
9394
- * Bar.
9395
- * @bar
9396
- */
9397
- function quux () {
9398
-
9399
- }
9400
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9401
-
9402
-
9403
- /**\r
9404
- * @foo\r
9405
- * Test \r
9406
- * abc \r
9407
- * @bar \r
9408
- */
9409
-
9410
-
9411
- /**\r
9412
- * \r
9413
- * @foo\r
9414
- * Test \r
9415
- * abc \r
9416
- * @bar \r
9417
- */
9418
-
9419
- /***
9420
- *
9421
- */
9422
- function quux () {
9423
-
9424
- }
9425
- // "jsdoc/newline-after-description": ["error"|"warn", "always"]
9426
-
9427
- /**\r
9428
- * Parses query string to object containing URL parameters\r
9429
- * \r
9430
- * @param queryString\r
9431
- * Input string\r
9432
- * \r
9433
- * @returns\r
9434
- * Object containing URL parameters\r
9435
- */\r
9436
- export function parseQueryString(queryString: string): { [key: string]: string } { // <-- Line 10 that fails\r
9437
-
9438
- }
9439
-
9440
- /** An example function.
9441
- *
9442
- * @returns {number} An example number.
9443
- */
9444
- function example() {
9445
- return 42;
9446
- }
9447
-
9448
- /** An example function.
9449
- * @returns {number} An example number.
9450
- */
9451
- function example() {
9452
- return 42;
9453
- }
9454
- // "jsdoc/newline-after-description": ["error"|"warn", "never"]
9455
- ````
9456
-
9457
-
9458
9215
  <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks"></a>
9459
9216
  <a name="eslint-plugin-jsdoc-rules-no-bad-blocks"></a>
9460
9217
  ### <code>no-bad-blocks</code>
@@ -9465,14 +9222,14 @@ asterisks, but which appear to be intended as jsdoc blocks due to the presence
9465
9222
  of whitespace followed by whitespace or asterisks, and
9466
9223
  an at-sign (`@`) and some non-whitespace (as with a jsdoc block tag).
9467
9224
 
9468
- <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-16"></a>
9469
- <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>
9470
9227
  #### Options
9471
9228
 
9472
9229
  Takes an optional options object with the following.
9473
9230
 
9474
- <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-16-ignore"></a>
9475
- <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>
9476
9233
  ##### <code>ignore</code>
9477
9234
 
9478
9235
  An array of directives that will not be reported if present at the beginning of
@@ -9481,8 +9238,8 @@ a multi-comment block and at-sign `/* @`.
9481
9238
  Defaults to `['ts-check', 'ts-expect-error', 'ts-ignore', 'ts-nocheck']`
9482
9239
  (some directives [used by TypeScript](https://www.typescriptlang.org/docs/handbook/intro-to-js-ts.html#ts-check)).
9483
9240
 
9484
- <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-16-preventallmultiasteriskblocks"></a>
9485
- <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>
9486
9243
  ##### <code>preventAllMultiAsteriskBlocks</code>
9487
9244
 
9488
9245
  A boolean (defaulting to `false`) which if `true` will prevent all
@@ -9694,12 +9451,12 @@ tag is attached).
9694
9451
  Unless your `@default` is on a function, you will need to set `contexts`
9695
9452
  to an appropriate context, including, if you wish, "any".
9696
9453
 
9697
- <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-17"></a>
9698
- <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>
9699
9456
  #### Options
9700
9457
 
9701
- <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-17-nooptionalparamnames"></a>
9702
- <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>
9703
9460
  ##### <code>noOptionalParamNames</code>
9704
9461
 
9705
9462
  Set this to `true` to report the presence of optional parameters. May be
@@ -9708,8 +9465,8 @@ the presence of ES6 default parameters (bearing in mind that such
9708
9465
  "defaults" are only applied when the supplied value is missing or
9709
9466
  `undefined` but not for `null` or other "falsey" values).
9710
9467
 
9711
- <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-17-contexts-3"></a>
9712
- <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>
9713
9470
  ##### <code>contexts</code>
9714
9471
 
9715
9472
  Set this to an array of strings representing the AST context (or an object with
@@ -9895,12 +9652,12 @@ which are not adequate to satisfy a condition, e.g.,
9895
9652
  not report if there were only a function declaration of the name "ignoreMe"
9896
9653
  (though it would report by function declarations of other names).
9897
9654
 
9898
- <a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-18"></a>
9899
- <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>
9900
9657
  #### Options
9901
9658
 
9902
- <a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-18-contexts-4"></a>
9903
- <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>
9904
9661
  ##### <code>contexts</code>
9905
9662
 
9906
9663
  Set this to an array of strings representing the AST context (or an object with
@@ -10116,12 +9873,12 @@ Note that if you wish to prevent multiple asterisks at the very beginning of
10116
9873
  the jsdoc block, you should use `no-bad-blocks` (as that is not proper jsdoc
10117
9874
  and that rule is for catching blocks which only seem like jsdoc).
10118
9875
 
10119
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19"></a>
10120
- <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>
10121
9878
  #### Options
10122
9879
 
10123
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-allowwhitespace-defaults-to-false"></a>
10124
- <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>
10125
9882
  ##### <code>allowWhitespace</code> (defaults to <code>false</code>)
10126
9883
 
10127
9884
  Set to `true` if you wish to allow asterisks after a space (as with Markdown):
@@ -10132,8 +9889,8 @@ Set to `true` if you wish to allow asterisks after a space (as with Markdown):
10132
9889
  */
10133
9890
  ```
10134
9891
 
10135
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-preventatmiddlelines-defaults-to-true"></a>
10136
- <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>
10137
9894
  ##### <code>preventAtMiddleLines</code> (defaults to <code>true</code>)
10138
9895
 
10139
9896
  Prevent the likes of this:
@@ -10145,8 +9902,8 @@ Prevent the likes of this:
10145
9902
  */
10146
9903
  ```
10147
9904
 
10148
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-preventatend-defaults-to-true"></a>
10149
- <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>
10150
9907
  ##### <code>preventAtEnd</code> (defaults to <code>true</code>)
10151
9908
 
10152
9909
  Prevent the likes of this:
@@ -10381,12 +10138,12 @@ structures, (whether or not you add a specific `comment` condition).
10381
10138
  Note that if your parser supports comment AST (as [jsdoc-eslint-parser](https://github.com/brettz9/jsdoc-eslint-parser)
10382
10139
  is designed to do), you can just use ESLint's rule.
10383
10140
 
10384
- <a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-20"></a>
10385
- <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>
10386
10143
  #### Options
10387
10144
 
10388
- <a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-20-contexts-5"></a>
10389
- <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>
10390
10147
  ##### <code>contexts</code>
10391
10148
 
10392
10149
  Set this to an array of strings representing the AST context (or an object with
@@ -10711,12 +10468,12 @@ This rule reports types being used on `@param` or `@returns`.
10711
10468
  The rule is intended to prevent the indication of types on tags where
10712
10469
  the type information would be redundant with TypeScript.
10713
10470
 
10714
- <a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-21"></a>
10715
- <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>
10716
10473
  #### Options
10717
10474
 
10718
- <a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-21-contexts-6"></a>
10719
- <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>
10720
10477
  ##### <code>contexts</code>
10721
10478
 
10722
10479
  Set this to an array of strings representing the AST context (or an object with
@@ -10890,8 +10647,8 @@ reporting on use of that namepath elsewhere) and/or that a tag's `type` is
10890
10647
  `false` (and should not be checked for types). If the `type` is an array, that
10891
10648
  array's items will be considered as defined for the purposes of that tag.
10892
10649
 
10893
- <a name="user-content-eslint-plugin-jsdoc-rules-no-undefined-types-options-22"></a>
10894
- <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>
10895
10652
  #### Options
10896
10653
 
10897
10654
  An option object may have the following key:
@@ -11559,8 +11316,8 @@ class Foo {
11559
11316
 
11560
11317
  Requires that each JSDoc line starts with an `*`.
11561
11318
 
11562
- <a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-23"></a>
11563
- <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>
11564
11321
  #### Options
11565
11322
 
11566
11323
  This rule allows an optional string argument. If it is `"always"` then a
@@ -11571,8 +11328,8 @@ and use the `tags` option to apply to specific tags only.
11571
11328
 
11572
11329
  After the string option, one may add an object with the following.
11573
11330
 
11574
- <a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-23-tags-3"></a>
11575
- <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>
11576
11333
  ##### <code>tags</code>
11577
11334
 
11578
11335
  If you want different values to apply to specific tags, you may use
@@ -11856,12 +11613,12 @@ If sentences do not end with terminal punctuation, a period will be added.
11856
11613
  If sentences do not start with an uppercase character, the initial
11857
11614
  letter will be capitalized.
11858
11615
 
11859
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24"></a>
11860
- <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>
11861
11618
  #### Options
11862
11619
 
11863
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-tags-4"></a>
11864
- <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>
11865
11622
  ##### <code>tags</code>
11866
11623
 
11867
11624
  If you want additional tags to be checked for their descriptions, you may
@@ -11885,16 +11642,16 @@ its "description" (e.g., for `@returns {someType} some description`, the
11885
11642
  description is `some description` while for `@some-tag xyz`, the description
11886
11643
  is `xyz`).
11887
11644
 
11888
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-abbreviations"></a>
11889
- <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>
11890
11647
  ##### <code>abbreviations</code>
11891
11648
 
11892
11649
  You can provide an `abbreviations` options array to avoid such strings of text
11893
11650
  being treated as sentence endings when followed by dots. The `.` is not
11894
11651
  necessary at the end of the array items.
11895
11652
 
11896
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-newlinebeforecapsassumesbadsentenceend"></a>
11897
- <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>
11898
11655
  ##### <code>newlineBeforeCapsAssumesBadSentenceEnd</code>
11899
11656
 
11900
11657
  When `false` (the new default), we will not assume capital letters after
@@ -12635,8 +12392,8 @@ Requires that all functions have a description.
12635
12392
  is `"tag"`) must have a non-empty description that explains the purpose of
12636
12393
  the method.
12637
12394
 
12638
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-options-25"></a>
12639
- <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>
12640
12397
  #### Options
12641
12398
 
12642
12399
  An options object may have any of the following properties:
@@ -13197,14 +12954,14 @@ Requires that all functions have examples.
13197
12954
  * Every example tag must have a non-empty description that explains the
13198
12955
  method's usage.
13199
12956
 
13200
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26"></a>
13201
- <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>
13202
12959
  #### Options
13203
12960
 
13204
12961
  This rule has an object option.
13205
12962
 
13206
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-exemptedby"></a>
13207
- <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>
13208
12965
  ##### <code>exemptedBy</code>
13209
12966
 
13210
12967
  Array of tags (e.g., `['type']`) whose presence on the document
@@ -13213,15 +12970,15 @@ block avoids the need for an `@example`. Defaults to an array with
13213
12970
  so be sure to add back `inheritdoc` if you wish its presence to cause
13214
12971
  exemption of the rule.
13215
12972
 
13216
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-exemptnoarguments"></a>
13217
- <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>
13218
12975
  ##### <code>exemptNoArguments</code>
13219
12976
 
13220
12977
  Boolean to indicate that no-argument functions should not be reported for
13221
12978
  missing `@example` declarations.
13222
12979
 
13223
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-contexts-7"></a>
13224
- <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>
13225
12982
  ##### <code>contexts</code>
13226
12983
 
13227
12984
  Set this to an array of strings representing the AST context (or an object with
@@ -13233,27 +12990,27 @@ want the rule to apply to any jsdoc block throughout your files.
13233
12990
  See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
13234
12991
  section of our README for more on the expected format.
13235
12992
 
13236
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-checkconstructors"></a>
13237
- <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>
13238
12995
  ##### <code>checkConstructors</code>
13239
12996
 
13240
12997
  A value indicating whether `constructor`s should be checked.
13241
12998
  Defaults to `true`.
13242
12999
 
13243
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-checkgetters"></a>
13244
- <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>
13245
13002
  ##### <code>checkGetters</code>
13246
13003
 
13247
13004
  A value indicating whether getters should be checked. Defaults to `false`.
13248
13005
 
13249
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-checksetters"></a>
13250
- <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>
13251
13008
  ##### <code>checkSetters</code>
13252
13009
 
13253
13010
  A value indicating whether setters should be checked. Defaults to `false`.
13254
13011
 
13255
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-enablefixer-3"></a>
13256
- <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>
13257
13014
  ##### <code>enableFixer</code>
13258
13015
 
13259
13016
  A boolean on whether to enable the fixer (which adds an empty `@example` block).
@@ -13566,12 +13323,12 @@ Checks that:
13566
13323
  as being when the overview tag is not preceded by anything other than
13567
13324
  a comment.
13568
13325
 
13569
- <a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-27"></a>
13570
- <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>
13571
13328
  #### Options
13572
13329
 
13573
- <a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-27-tags-5"></a>
13574
- <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>
13575
13332
  ##### <code>tags</code>
13576
13333
 
13577
13334
  The keys of this object are tag names, and the values are configuration
@@ -13855,8 +13612,8 @@ function quux () {
13855
13612
 
13856
13613
  Requires (or disallows) a hyphen before the `@param` description.
13857
13614
 
13858
- <a name="user-content-eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-28"></a>
13859
- <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>
13860
13617
  #### Options
13861
13618
 
13862
13619
  This rule takes one optional string argument and an optional options object.
@@ -14088,14 +13845,14 @@ function main(argv) {
14088
13845
  Checks for presence of jsdoc comments, on class declarations as well as
14089
13846
  functions.
14090
13847
 
14091
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29"></a>
14092
- <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>
14093
13850
  #### Options
14094
13851
 
14095
13852
  Accepts one optional options object with the following optional keys.
14096
13853
 
14097
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-publiconly"></a>
14098
- <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>
14099
13856
  ##### <code>publicOnly</code>
14100
13857
 
14101
13858
  This option will insist that missing jsdoc blocks are only reported for
@@ -14111,8 +13868,8 @@ otherwise noted):
14111
13868
  - `cjs` - CommonJS exports are checked for JSDoc comments (Defaults to `true`)
14112
13869
  - `window` - Window global exports are checked for JSDoc comments
14113
13870
 
14114
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-require"></a>
14115
- <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>
14116
13873
  ##### <code>require</code>
14117
13874
 
14118
13875
  An object with the following optional boolean keys which all default to
@@ -14125,8 +13882,8 @@ An object with the following optional boolean keys which all default to
14125
13882
  - `FunctionExpression`
14126
13883
  - `MethodDefinition`
14127
13884
 
14128
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-contexts-8"></a>
14129
- <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>
14130
13887
  ##### <code>contexts</code>
14131
13888
 
14132
13889
  Set this to an array of strings or objects representing the additional AST
@@ -14143,8 +13900,8 @@ if you are specifying a more precise form in `contexts` (e.g., `MethodDefinition
14143
13900
  See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
14144
13901
  section of our README for more on the expected format.
14145
13902
 
14146
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-exemptemptyconstructors"></a>
14147
- <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>
14148
13905
  ##### <code>exemptEmptyConstructors</code>
14149
13906
 
14150
13907
  Default: true
@@ -14153,8 +13910,8 @@ When `true`, the rule will not report missing jsdoc blocks above constructors
14153
13910
  with no parameters or return values (this is enabled by default as the class
14154
13911
  name or description should be seen as sufficient to convey intent).
14155
13912
 
14156
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-exemptemptyfunctions"></a>
14157
- <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>
14158
13915
  ##### <code>exemptEmptyFunctions</code>
14159
13916
 
14160
13917
  Default: false.
@@ -14163,16 +13920,16 @@ When `true`, the rule will not report missing jsdoc blocks above
14163
13920
  functions/methods with no parameters or return values (intended where
14164
13921
  function/method names are sufficient for themselves as documentation).
14165
13922
 
14166
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checkconstructors-1"></a>
14167
- <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>
14168
13925
  ##### <code>checkConstructors</code>
14169
13926
 
14170
13927
  A value indicating whether `constructor`s should be checked. Defaults to
14171
13928
  `true`. When `true`, `exemptEmptyConstructors` may still avoid reporting when
14172
13929
  no parameters or return values are found.
14173
13930
 
14174
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checkgetters-1"></a>
14175
- <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>
14176
13933
  ##### <code>checkGetters</code>
14177
13934
 
14178
13935
  A value indicating whether getters should be checked. Besides setting as a
@@ -14181,8 +13938,8 @@ getters should be checked but only when there is no setter. This may be useful
14181
13938
  if one only wishes documentation on one of the two accessors. Defaults to
14182
13939
  `false`.
14183
13940
 
14184
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checksetters-1"></a>
14185
- <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>
14186
13943
  ##### <code>checkSetters</code>
14187
13944
 
14188
13945
  A value indicating whether setters should be checked. Besides setting as a
@@ -14191,15 +13948,15 @@ setters should be checked but only when there is no getter. This may be useful
14191
13948
  if one only wishes documentation on one of the two accessors. Defaults to
14192
13949
  `false`.
14193
13950
 
14194
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-enablefixer-4"></a>
14195
- <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>
14196
13953
  ##### <code>enableFixer</code>
14197
13954
 
14198
13955
  A boolean on whether to enable the fixer (which adds an empty jsdoc block).
14199
13956
  Defaults to `true`.
14200
13957
 
14201
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-minlinecount"></a>
14202
- <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>
14203
13960
  ##### <code>minLineCount</code>
14204
13961
 
14205
13962
  An integer to indicate a minimum number of lines expected for a node in order
@@ -15891,12 +15648,12 @@ Will exempt destructured roots and their children if
15891
15648
  `@param {object} props` will be exempted from requiring a description given
15892
15649
  `function someFunc ({child1, child2})`).
15893
15650
 
15894
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30"></a>
15895
- <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>
15896
15653
  #### Options
15897
15654
 
15898
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30-setdefaultdestructuredrootdescription"></a>
15899
- <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>
15900
15657
  ##### <code>setDefaultDestructuredRootDescription</code>
15901
15658
 
15902
15659
  Whether to set a default destructured root description. For example, you may
@@ -15905,15 +15662,15 @@ corresponding to a destructured root object as it should always be the same
15905
15662
  type of object. Uses `defaultDestructuredRootDescription` for the description
15906
15663
  string. Defaults to `false`.
15907
15664
 
15908
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30-defaultdestructuredrootdescription"></a>
15909
- <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>
15910
15667
  ##### <code>defaultDestructuredRootDescription</code>
15911
15668
 
15912
15669
  The description string to set by default for destructured roots. Defaults to
15913
15670
  "The root object".
15914
15671
 
15915
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30-contexts-9"></a>
15916
- <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>
15917
15674
  ##### <code>contexts</code>
15918
15675
 
15919
15676
  Set this to an array of strings representing the AST context (or an object with
@@ -16106,12 +15863,12 @@ Requires that all function parameters have names.
16106
15863
  >
16107
15864
  > [JSDoc](https://jsdoc.app/tags-param.html#overview)
16108
15865
 
16109
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-31"></a>
16110
- <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>
16111
15868
  #### Options
16112
15869
 
16113
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-31-contexts-10"></a>
16114
- <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>
16115
15872
  ##### <code>contexts</code>
16116
15873
 
16117
15874
  Set this to an array of strings representing the AST context (or an object with
@@ -16250,12 +16007,12 @@ Will exempt destructured roots and their children if
16250
16007
  `@param props` will be exempted from requiring a type given
16251
16008
  `function someFunc ({child1, child2})`).
16252
16009
 
16253
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32"></a>
16254
- <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>
16255
16012
  #### Options
16256
16013
 
16257
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32-setdefaultdestructuredroottype"></a>
16258
- <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>
16259
16016
  ##### <code>setDefaultDestructuredRootType</code>
16260
16017
 
16261
16018
  Whether to set a default destructured root type. For example, you may wish
@@ -16264,14 +16021,14 @@ corresponding to a destructured root object as it is always going to be an
16264
16021
  object. Uses `defaultDestructuredRootType` for the type string. Defaults to
16265
16022
  `false`.
16266
16023
 
16267
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32-defaultdestructuredroottype"></a>
16268
- <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>
16269
16026
  ##### <code>defaultDestructuredRootType</code>
16270
16027
 
16271
16028
  The type string to set by default for destructured roots. Defaults to "object".
16272
16029
 
16273
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32-contexts-11"></a>
16274
- <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>
16275
16032
  ##### <code>contexts</code>
16276
16033
 
16277
16034
  Set this to an array of strings representing the AST context (or an object with
@@ -16636,35 +16393,35 @@ other properties, so in looking at the docs alone without looking at the
16636
16393
  function signature, it may appear that there is an actual property named
16637
16394
  `extra`.
16638
16395
 
16639
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33"></a>
16640
- <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>
16641
16398
  #### Options
16642
16399
 
16643
16400
  An options object accepts the following optional properties:
16644
16401
 
16645
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-enablefixer-5"></a>
16646
- <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>
16647
16404
  ##### <code>enableFixer</code>
16648
16405
 
16649
16406
  Whether to enable the fixer. Defaults to `true`.
16650
16407
 
16651
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-enablerootfixer"></a>
16652
- <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>
16653
16410
  ##### <code>enableRootFixer</code>
16654
16411
 
16655
16412
  Whether to enable the auto-adding of incrementing roots (see the "Fixer"
16656
16413
  section). Defaults to `true`. Has no effect if `enableFixer` is set to
16657
16414
  `false`.
16658
16415
 
16659
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-enablerestelementfixer"></a>
16660
- <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>
16661
16418
  ##### <code>enableRestElementFixer</code>
16662
16419
 
16663
16420
  Whether to enable the rest element fixer (see
16664
16421
  "Rest Element (`RestElement`) insertions"). Defaults to `true`.
16665
16422
 
16666
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkrestproperty-1"></a>
16667
- <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>
16668
16425
  ##### <code>checkRestProperty</code>
16669
16426
 
16670
16427
  If set to `true`, will report (and add fixer insertions) for missing rest
@@ -16718,15 +16475,15 @@ function quux ({num, ...extra}) {
16718
16475
  }
16719
16476
  ```
16720
16477
 
16721
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-autoincrementbase"></a>
16722
- <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>
16723
16480
  ##### <code>autoIncrementBase</code>
16724
16481
 
16725
16482
  Numeric to indicate the number at which to begin auto-incrementing roots.
16726
16483
  Defaults to `0`.
16727
16484
 
16728
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-unnamedrootbase"></a>
16729
- <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>
16730
16487
  ##### <code>unnamedRootBase</code>
16731
16488
 
16732
16489
  An array of root names to use in the fixer when roots are missing. Defaults
@@ -16752,8 +16509,8 @@ function quux ({foo}, [bar], {baz}) {
16752
16509
  */
16753
16510
  ```
16754
16511
 
16755
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-exemptedby-1"></a>
16756
- <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>
16757
16514
  ##### <code>exemptedBy</code>
16758
16515
 
16759
16516
  Array of tags (e.g., `['type']`) whose presence on the document block
@@ -16762,8 +16519,8 @@ avoids the need for a `@param`. Defaults to an array with
16762
16519
  so be sure to add back `inheritdoc` if you wish its presence to cause
16763
16520
  exemption of the rule.
16764
16521
 
16765
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checktypespattern-1"></a>
16766
- <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>
16767
16524
  ##### <code>checkTypesPattern</code>
16768
16525
 
16769
16526
  When one specifies a type, unless it is of a generic type, like `object`
@@ -16798,8 +16555,8 @@ You could set this regular expression to a more expansive list, or you
16798
16555
  could restrict it such that even types matching those strings would not
16799
16556
  need destructuring.
16800
16557
 
16801
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-contexts-12"></a>
16802
- <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>
16803
16560
  ##### <code>contexts</code>
16804
16561
 
16805
16562
  Set this to an array of strings representing the AST context (or an object with
@@ -16811,33 +16568,33 @@ which are checked.
16811
16568
  See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
16812
16569
  section of our README for more on the expected format.
16813
16570
 
16814
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkconstructors-2"></a>
16815
- <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>
16816
16573
  ##### <code>checkConstructors</code>
16817
16574
 
16818
16575
  A value indicating whether `constructor`s should be checked. Defaults to
16819
16576
  `true`.
16820
16577
 
16821
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkgetters-2"></a>
16822
- <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>
16823
16580
  ##### <code>checkGetters</code>
16824
16581
 
16825
16582
  A value indicating whether getters should be checked. Defaults to `false`.
16826
16583
 
16827
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checksetters-2"></a>
16828
- <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>
16829
16586
  ##### <code>checkSetters</code>
16830
16587
 
16831
16588
  A value indicating whether setters should be checked. Defaults to `false`.
16832
16589
 
16833
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkdestructured-1"></a>
16834
- <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>
16835
16592
  ##### <code>checkDestructured</code>
16836
16593
 
16837
16594
  Whether to require destructured properties. Defaults to `true`.
16838
16595
 
16839
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkdestructuredroots"></a>
16840
- <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>
16841
16598
  ##### <code>checkDestructuredRoots</code>
16842
16599
 
16843
16600
  Whether to check the existence of a corresponding `@param` for root objects
@@ -16850,8 +16607,8 @@ implied to be `false` (i.e., the inside of the roots will not be checked
16850
16607
  either, e.g., it will also not complain if `a` or `b` do not have their own
16851
16608
  documentation). Defaults to `true`.
16852
16609
 
16853
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-usedefaultobjectproperties-1"></a>
16854
- <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>
16855
16612
  ##### <code>useDefaultObjectProperties</code>
16856
16613
 
16857
16614
  Set to `true` if you wish to expect documentation of properties on objects
@@ -18536,8 +18293,8 @@ is found. Also reports if `@returns {never}` is discovered with a return value.
18536
18293
 
18537
18294
  Will also report if multiple `@returns` tags are present.
18538
18295
 
18539
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-check-options-34"></a>
18540
- <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>
18541
18298
  #### Options
18542
18299
 
18543
18300
  - `exemptGenerators`- Because a generator might be labeled as having a
@@ -19563,12 +19320,12 @@ Requires that the `@returns` tag has a `description` value. The error
19563
19320
  will not be reported if the return value is `void` or `undefined`
19564
19321
  or if it is `Promise<void>` or `Promise<undefined>`.
19565
19322
 
19566
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-35"></a>
19567
- <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>
19568
19325
  #### Options
19569
19326
 
19570
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-35-contexts-13"></a>
19571
- <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>
19572
19329
  ##### <code>contexts</code>
19573
19330
 
19574
19331
  Set this to an array of strings representing the AST context (or an object with
@@ -19722,12 +19479,12 @@ function quux () {
19722
19479
 
19723
19480
  Requires that `@returns` tag has `type` value.
19724
19481
 
19725
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-36"></a>
19726
- <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>
19727
19484
  #### Options
19728
19485
 
19729
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-36-contexts-14"></a>
19730
- <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>
19731
19488
  ##### <code>contexts</code>
19732
19489
 
19733
19490
  Set this to an array of strings representing the AST context (or an object with
@@ -19848,8 +19605,8 @@ Requires that returns are documented.
19848
19605
 
19849
19606
  Will also report if multiple `@returns` tags are present.
19850
19607
 
19851
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-options-37"></a>
19852
- <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>
19853
19610
  #### Options
19854
19611
 
19855
19612
  - `checkConstructors` - A value indicating whether `constructor`s should
@@ -20998,8 +20755,8 @@ for our desire for a separate tag to document rejection types and see
20998
20755
  [this discussion](https://stackoverflow.com/questions/50071115/typescript-promise-rejection-type)
20999
20756
  on why TypeScript doesn't offer such a feature.
21000
20757
 
21001
- <a name="user-content-eslint-plugin-jsdoc-rules-require-throws-options-38"></a>
21002
- <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>
21003
20760
  #### Options
21004
20761
 
21005
20762
  - `exemptedBy` - Array of tags (e.g., `['type']`) whose presence on the
@@ -21303,8 +21060,8 @@ Will also report if multiple `@yields` tags are present.
21303
21060
  See the `next`, `forceRequireNext`, and `nextWithGeneratorTag` options for an
21304
21061
  option to expect a non-standard `@next` tag.
21305
21062
 
21306
- <a name="user-content-eslint-plugin-jsdoc-rules-require-yields-options-39"></a>
21307
- <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>
21308
21065
  #### Options
21309
21066
 
21310
21067
  - `exemptedBy` - Array of tags (e.g., `['type']`) whose presence on the
@@ -22115,8 +21872,8 @@ function bodies.
22115
21872
 
22116
21873
  Will also report if multiple `@yields` tags are present.
22117
21874
 
22118
- <a name="user-content-eslint-plugin-jsdoc-rules-require-yields-check-options-40"></a>
22119
- <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>
22120
21877
  #### Options
22121
21878
 
22122
21879
  - `checkGeneratorsOnly` - Avoids checking the function body and merely insists
@@ -22628,12 +22385,12 @@ Sorts tags by a specified sequence according to tag name.
22628
22385
 
22629
22386
  (Default order originally inspired by [`@homer0/prettier-plugin-jsdoc`](https://github.com/homer0/packages/tree/main/packages/public/prettier-plugin-jsdoc).)
22630
22387
 
22631
- <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-41"></a>
22632
- <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>
22633
22390
  #### Options
22634
22391
 
22635
- <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-41-tagsequence"></a>
22636
- <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>
22637
22394
  ##### <code>tagSequence</code>
22638
22395
 
22639
22396
  An array of tag names indicating the preferred sequence for sorting tags.
@@ -22809,8 +22566,8 @@ a fixed order that doesn't change into the future, supply your own
22809
22566
  ];
22810
22567
  ```
22811
22568
 
22812
- <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-41-alphabetizeextras"></a>
22813
- <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>
22814
22571
  ##### <code>alphabetizeExtras</code>
22815
22572
 
22816
22573
  Defaults to `false`. Alphabetizes any items not within `tagSequence` after any
@@ -22967,39 +22724,57 @@ function quux () {}
22967
22724
 
22968
22725
  Enforces lines (or no lines) between tags.
22969
22726
 
22970
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42"></a>
22971
- <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>
22972
22736
  #### Options
22973
22737
 
22974
22738
  The first option is a single string set to "always", "never", or "any"
22975
22739
  (defaults to "never").
22976
22740
 
22977
22741
  "any" is only useful with `tags` (allowing non-enforcement of lines except
22978
- 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.
22979
22746
 
22980
22747
  The second option is an object with the following optional properties.
22981
22748
 
22982
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-count-defaults-to-1"></a>
22983
- <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>
22984
22751
  ##### <code>count</code> (defaults to 1)
22985
22752
 
22986
22753
  Use with "always" to indicate the number of lines to require be present.
22987
22754
 
22988
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-noendlines-defaults-to-false"></a>
22989
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-noendlines-defaults-to-false"></a>
22990
- ##### <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>)
22758
+
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.
22991
22761
 
22992
- Use with "always" to indicate the normal lines to be added after tags should
22993
- not be added after the final tag.
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>)
22994
22765
 
22995
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-dropendlines-defaults-to-false"></a>
22996
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-dropendlines-defaults-to-false"></a>
22997
- ##### <code>dropEndLines</code> (defaults to <code>false</code>)
22766
+ If not set to `null`, will enforce end lines to the given count before the
22767
+ first tag only.
22998
22768
 
22999
- If defined, will drop end lines for the final tag only.
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>)
23000
22772
 
23001
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-tags-default-to-empty-object"></a>
23002
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-tags-default-to-empty-object"></a>
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>
23003
22778
  ##### <code>tags</code> (default to empty object)
23004
22779
 
23005
22780
  Overrides the default behavior depending on specific tags.
@@ -23016,7 +22791,7 @@ following keys:
23016
22791
  |Tags|Any|
23017
22792
  |Recommended|true|
23018
22793
  |Settings|N/A|
23019
- |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`)|
23020
22795
 
23021
22796
  The following patterns are considered problems:
23022
22797
 
@@ -23051,7 +22826,7 @@ The following patterns are considered problems:
23051
22826
  * @param {string} a
23052
22827
  * @param {number} b
23053
22828
  */
23054
- // "jsdoc/tag-lines": ["error"|"warn", "always",{"noEndLines":true}]
22829
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"applyToEndTag":false}]
23055
22830
  // Message: Expected 1 line between tags but found 0
23056
22831
 
23057
22832
  /**
@@ -23142,7 +22917,7 @@ The following patterns are considered problems:
23142
22917
  * @param {number} b
23143
22918
  *
23144
22919
  */
23145
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
22920
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23146
22921
  // Message: Expected 1 line between tags but found 0
23147
22922
 
23148
22923
  /**
@@ -23167,8 +22942,70 @@ The following patterns are considered problems:
23167
22942
  * This is still part of `@returns`.
23168
22943
  *
23169
22944
  */
23170
- // "jsdoc/tag-lines": ["error"|"warn", "any",{"dropEndLines":true}]
23171
- // 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
23172
23009
  ````
23173
23010
 
23174
23011
  The following patterns are not considered problems:
@@ -23192,15 +23029,15 @@ The following patterns are not considered problems:
23192
23029
  *
23193
23030
  * @param {string} a
23194
23031
  */
23195
- // "jsdoc/tag-lines": ["error"|"warn", "always",{"noEndLines":true}]
23032
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"applyToEndTag":false}]
23196
23033
 
23197
23034
  /**
23198
23035
  * @param {string} a
23199
23036
  */
23200
- // "jsdoc/tag-lines": ["error"|"warn", "never",{"noEndLines":true}]
23037
+ // "jsdoc/tag-lines": ["error"|"warn", "never",{"applyToEndTag":false}]
23201
23038
 
23202
23039
  /** @param {number} b */
23203
- // "jsdoc/tag-lines": ["error"|"warn", "never",{"noEndLines":true}]
23040
+ // "jsdoc/tag-lines": ["error"|"warn", "never",{"applyToEndTag":false}]
23204
23041
 
23205
23042
  /**
23206
23043
  * Some description
@@ -23209,7 +23046,7 @@ The following patterns are not considered problems:
23209
23046
  * @param {number} b
23210
23047
  *
23211
23048
  */
23212
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
23049
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23213
23050
 
23214
23051
  /**
23215
23052
  * Some description
@@ -23220,7 +23057,7 @@ The following patterns are not considered problems:
23220
23057
  *
23221
23058
  *
23222
23059
  */
23223
- // "jsdoc/tag-lines": ["error"|"warn", "always",{"count":2}]
23060
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"count":2,"endLines":null}]
23224
23061
 
23225
23062
  /**
23226
23063
  * Some description
@@ -23313,7 +23150,7 @@ The following patterns are not considered problems:
23313
23150
  * description.
23314
23151
  *
23315
23152
  */
23316
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
23153
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23317
23154
 
23318
23155
  /**
23319
23156
  * Some description
@@ -23325,7 +23162,7 @@ The following patterns are not considered problems:
23325
23162
  * This is still part of `@returns`.
23326
23163
  *
23327
23164
  */
23328
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
23165
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23329
23166
 
23330
23167
  /**
23331
23168
  * Some description
@@ -23337,7 +23174,35 @@ The following patterns are not considered problems:
23337
23174
  *
23338
23175
  * This is still part of `@returns`.
23339
23176
  */
23340
- // "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}]
23341
23206
  ````
23342
23207
 
23343
23208
 
@@ -23353,19 +23218,19 @@ Markdown and you therefore do not wish for it to be accidentally interpreted
23353
23218
  as such by the likes of Visual Studio Code or if you wish to view it escaped
23354
23219
  within it or your documentation.
23355
23220
 
23356
- <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-43"></a>
23357
- <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>
23358
23223
  #### Options
23359
23224
 
23360
- <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-43-escapehtml"></a>
23361
- <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>
23362
23227
  ##### <code>escapeHTML</code>
23363
23228
 
23364
23229
  This option escapes all `<` and `&` characters (except those followed by
23365
23230
  whitespace which are treated as literals by Visual Studio Code).
23366
23231
 
23367
- <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-43-escapemarkdown"></a>
23368
- <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>
23369
23234
  ##### <code>escapeMarkdown</code>
23370
23235
 
23371
23236
  This option escapes the first backtick (`` ` ``) in a paired sequence.
@@ -23572,8 +23437,8 @@ for valid types (based on the tag's `type` value), and either portion checked
23572
23437
  for presence (based on `false` `name` or `type` values or their `required`
23573
23438
  value). See the setting for more details.
23574
23439
 
23575
- <a name="user-content-eslint-plugin-jsdoc-rules-valid-types-options-44"></a>
23576
- <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>
23577
23442
  #### Options
23578
23443
 
23579
23444
  - `allowEmptyNamepaths` (default: true) - Set to `false` to bulk disallow