eslint-plugin-jsdoc 41.1.2 → 43.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,32 +22385,52 @@ 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
+ Optionally allows adding line breaks between tag groups and/or between tags
22389
+ within a tag group.
22390
+
22391
+ Please note: unless you are disabling reporting of line breaks, this rule
22392
+ should not be used with the default "never" or "always" options of
22393
+ `tag-lines` (a rule enabled by default with the recommended config) as
22394
+ that rule adds its own line breaks after tags and may interfere with any
22395
+ line break setting this rule will attempt to do when not disabled.
22396
+
22397
+ You may, however, safely set the "any" option in that rule along with
22398
+ `startLines` and/or `endLines`.
22399
+
22400
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40"></a>
22401
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40"></a>
22633
22402
  #### Options
22634
22403
 
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>
22404
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-tagsequence"></a>
22405
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-tagsequence"></a>
22637
22406
  ##### <code>tagSequence</code>
22638
22407
 
22639
- An array of tag names indicating the preferred sequence for sorting tags.
22408
+ An array of tag group objects indicating the preferred sequence for sorting tags.
22409
+
22410
+ Each item in the array should be an object with a `tags` property set to an array
22411
+ of tag names.
22640
22412
 
22641
22413
  Tag names earlier in the list will be arranged first. The relative position of
22642
22414
  tags of the same name will not be changed.
22643
22415
 
22644
- Tags not in the list will be sorted alphabetically at the end (or in place of
22645
- the pseudo-tag `-other` placed within `tagSequence`) if `alphabetizeExtras` is
22646
- enabled and in their order of appearance otherwise (so if you want all your
22647
- tags alphabetized, supply an empty array with `alphabetizeExtras` enabled).
22416
+ Earlier groups will also be arranged before later groups, but with the added
22417
+ feature that additional line breaks may be added between (or before or after)
22418
+ such groups (depending on the setting of `linesBetween`).
22419
+
22420
+ Tag names not in the list will be grouped together at the end. The pseudo-tag
22421
+ `-other` can be used to place them anywhere else if desired. The tags will be
22422
+ placed in their order of appearance, or alphabetized if `alphabetizeExtras`
22423
+ is enabled, see more below about that option.
22648
22424
 
22649
- Defaults to the array below.
22425
+ Defaults to the array below (noting that it is just a single tag group with
22426
+ no lines between groups by default).
22650
22427
 
22651
22428
  Please note that this order is still experimental, so if you want to retain
22652
22429
  a fixed order that doesn't change into the future, supply your own
22653
22430
  `tagSequence`.
22654
22431
 
22655
22432
  ```js
22656
- [
22433
+ [{tags: [
22657
22434
  // Brief descriptions
22658
22435
  'summary',
22659
22436
  'typeSummary',
@@ -22806,24 +22583,52 @@ a fixed order that doesn't change into the future, supply your own
22806
22583
  'since',
22807
22584
  'deprecated',
22808
22585
  'todo',
22809
- ];
22586
+ ]}];
22810
22587
  ```
22811
22588
 
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>
22589
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-alphabetizeextras"></a>
22590
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-alphabetizeextras"></a>
22814
22591
  ##### <code>alphabetizeExtras</code>
22815
22592
 
22816
22593
  Defaults to `false`. Alphabetizes any items not within `tagSequence` after any
22817
22594
  items within `tagSequence` (or in place of the special `-other` pseudo-tag)
22818
22595
  are sorted.
22819
22596
 
22597
+ If you want all your tags alphabetized, you can supply an empty array for
22598
+ `tagSequence` along with setting this option to `true`.
22599
+
22600
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-linesbetween"></a>
22601
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-linesbetween"></a>
22602
+ ##### <code>linesBetween</code>
22603
+
22604
+ Indicates the number of lines to be added between tag groups. Defaults to 1.
22605
+ Do not set to 0 or 2+ if you are using `tag-lines` and `"always"` and do not
22606
+ set to 1+ if you are using `tag-lines` and `"never"`.
22607
+
22608
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-reporttaggroupspacing"></a>
22609
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-reporttaggroupspacing"></a>
22610
+ ##### <code>reportTagGroupSpacing</code>
22611
+
22612
+ Whether to enable reporting and fixing of line breaks between tag groups
22613
+ as set by `linesBetween`. Defaults to `true`. Note that the very last tag
22614
+ will not have spacing applied regardless. For adding line breaks there, you
22615
+ may wish to use the `endLines` option of the `tag-lines` rule.
22616
+
22617
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-reportintrataggroupspacing"></a>
22618
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-reportintrataggroupspacing"></a>
22619
+ ##### <code>reportIntraTagGroupSpacing</code>
22620
+
22621
+ Whether to enable reporting and fixing of line breaks within tags of a given
22622
+ tag group. Defaults to `true` which will remove any line breaks at the end of
22623
+ such tags. Do not use with `true` if you are using `tag-lines` and `always`.
22624
+
22820
22625
  |||
22821
22626
  |---|---|
22822
22627
  |Context|everywhere|
22823
22628
  |Tags|any|
22824
22629
  |Recommended|false|
22825
22630
  |Settings||
22826
- |Options|`tagSequence`, `alphabetizeExtras`|
22631
+ |Options|`tagSequence`, `alphabetizeExtras`, `linesBetween`, `reportTagGroupSpacing`, `reportIntraTagGroupSpacing`|
22827
22632
 
22828
22633
  The following patterns are considered problems:
22829
22634
 
@@ -22888,7 +22693,16 @@ function quux () {}
22888
22693
  * @abc
22889
22694
  */
22890
22695
  function quux () {}
22891
- // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":["def","xyz","abc"]}]
22696
+ // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["def","xyz","abc"]}]}]
22697
+ // Message: Tags are not in the prescribed order: def, xyz, abc
22698
+
22699
+ /**
22700
+ * @xyz
22701
+ * @def
22702
+ * @abc
22703
+ */
22704
+ function quux () {}
22705
+ // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["def","xyz"]},{"tags":["abc"]}]}]
22892
22706
  // Message: Tags are not in the prescribed order: def, xyz, abc
22893
22707
 
22894
22708
  /**
@@ -22920,6 +22734,135 @@ function quux () {}
22920
22734
  */
22921
22735
  function quux () {}
22922
22736
  // Message: Tags are not in the prescribed order: summary, typeSummary, module, exports, file, fileoverview, overview, typedef, interface, record, template, name, kind, type, alias, external, host, callback, func, function, method, class, constructor, modifies, mixes, mixin, mixinClass, mixinFunction, namespace, borrows, constructs, lends, implements, requires, desc, description, classdesc, tutorial, copyright, license, internal, const, constant, final, global, readonly, abstract, virtual, var, member, memberof, memberof!, inner, instance, inheritdoc, inheritDoc, override, hideconstructor, param, arg, argument, prop, property, return, returns, async, generator, default, defaultvalue, enum, augments, extends, throws, exception, yield, yields, event, fires, emits, listens, this, static, private, protected, public, access, package, -other, see, example, closurePrimitive, customElement, expose, hidden, idGenerator, meaning, ngInject, owner, wizaction, define, dict, export, externs, implicitCast, noalias, nocollapse, nocompile, noinline, nosideeffects, polymer, polymerBehavior, preserve, struct, suppress, unrestricted, category, ignore, author, version, variation, since, deprecated, todo
22737
+
22738
+ /**
22739
+ * @def
22740
+ * @xyz
22741
+ * @abc
22742
+ */
22743
+ function quux () {}
22744
+ // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":2,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
22745
+ // Message: Tag groups do not have the expected whitespace
22746
+
22747
+ /**
22748
+ * @def
22749
+ * @xyz
22750
+ *
22751
+ *
22752
+ * @abc
22753
+ */
22754
+ function quux () {}
22755
+ // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":1,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
22756
+ // Message: Tag groups do not have the expected whitespace
22757
+
22758
+ /**
22759
+ * @def
22760
+ * @xyz A multiline
22761
+ * description
22762
+ * @abc
22763
+ */
22764
+ function quux () {}
22765
+ // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":2,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
22766
+ // Message: Tag groups do not have the expected whitespace
22767
+
22768
+ /**
22769
+ * @def
22770
+ * @xyz
22771
+ * @xyz
22772
+ *
22773
+ *
22774
+ * @abc
22775
+ */
22776
+ function quux () {}
22777
+ // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":1,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
22778
+ // Message: Tag groups do not have the expected whitespace
22779
+
22780
+ /**
22781
+ * Foo
22782
+ *
22783
+ * @param {(
22784
+ * req: express.Request,
22785
+ * done: (error: any, user?: any, info?: any) => void
22786
+ * ) => void} verify - callback to excute custom authentication logic
22787
+ * @see https://github.com/jaredhanson/passport/blob/v0.4.1/lib/middleware/authenticate.js#L217
22788
+ *
22789
+ */
22790
+ // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["since","access"]},{"tags":["class","augments","mixes"]},{"tags":["alias","memberof"]},{"tags":["see","link","global"]},{"tags":["fires","listens"]},{"tags":["param"]},{"tags":["yields"]},{"tags":["returns"]}]}]
22791
+ // Message: Tags are not in the prescribed order: since, access, class, augments, mixes, alias, memberof, see, link, global, fires, listens, param, yields, returns
22792
+
22793
+ /**
22794
+ * Summary. (use period)
22795
+ *
22796
+ * Description. (use period)
22797
+ *
22798
+ * @since 1.0.1
22799
+ * @access private
22800
+ *
22801
+ * @class
22802
+ * @mixes mixin
22803
+ *
22804
+ * @alias realName
22805
+ * @memberof namespace
22806
+ *
22807
+ * @see Function/class relied on
22808
+ * @global
22809
+ *
22810
+ * @tutorial Asd
22811
+ * @license MIT
22812
+ *
22813
+ * @fires eventName
22814
+ * @fires className#eventName
22815
+ * @listens event:eventName
22816
+ * @listens className~event:eventName
22817
+ *
22818
+ * @tutorial Asd
22819
+ * @license MIT
22820
+ *
22821
+ * @yields {string} Yielded value description.
22822
+ *
22823
+ * @param {string} var1 - Description.
22824
+ * @param {string} var2 - Description of optional variable.
22825
+ * @param {string} var3 - Description of optional variable with default variable.
22826
+ * @param {object} objectVar - Description.
22827
+ * @param {string} objectVar.key - Description of a key in the objectVar parameter.
22828
+ *
22829
+ * @returns {string} Return value description.
22830
+ */
22831
+ // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["since","access"]},{"tags":["class","augments","mixes"]},{"tags":["alias","memberof"]},{"tags":["see","link","global"]},{"tags":["fires","listens"]},{"tags":["param"]},{"tags":["yields"]},{"tags":["returns"]}]}]
22832
+ // Message: Tags are not in the prescribed order: since, access, class, augments, mixes, alias, memberof, see, link, global, fires, listens, param, yields, returns
22833
+
22834
+ /**
22835
+ * @def
22836
+ * @zzz
22837
+ * @abc
22838
+ */
22839
+ function quux () {}
22840
+ // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":1,"tagSequence":[{"tags":["qrs"]},{"tags":["def","-other","xyz"]},{"tags":["abc"]}]}]
22841
+ // Message: Tag groups do not have the expected whitespace
22842
+
22843
+ /**
22844
+ * @xyz
22845
+ * @def
22846
+ * @abc
22847
+ */
22848
+ function quux () {}
22849
+ // "jsdoc/sort-tags": ["error"|"warn", {"alphabetizeExtras":true,"tagSequence":[]}]
22850
+ // Message: Tags are not in the prescribed order: (alphabetical)
22851
+
22852
+ /**
22853
+ * @example
22854
+ * enum Color { Red, Green, Blue }
22855
+ * faker.helpers.enumValue(Color) // 1 (Green)
22856
+ *
22857
+ * enum Direction { North = 'North', South = 'South'}
22858
+ * faker.helpers.enumValue(Direction) // 'South'
22859
+ *
22860
+ * enum HttpStatus { Ok = 200, Created = 201, BadRequest = 400, Unauthorized = 401 }
22861
+ * faker.helpers.enumValue(HttpStatus) // 200 (Ok)
22862
+ * @since 8.0.0
22863
+ */
22864
+ // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["internal"]},{"tags":["template","param"]},{"tags":["returns"]},{"tags":["throws"]},{"tags":["see"]},{"tags":["example"]},{"tags":["since"]},{"tags":["deprecated"]}]}]
22865
+ // Message: Tag groups do not have the expected whitespace
22923
22866
  ````
22924
22867
 
22925
22868
  The following patterns are not considered problems:
@@ -22954,10 +22897,86 @@ function quux () {}
22954
22897
  * @abc
22955
22898
  */
22956
22899
  function quux () {}
22957
- // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":["def","xyz","abc"]}]
22900
+ // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["def","xyz","abc"]}]}]
22958
22901
 
22959
22902
  /** @def */
22960
22903
  function quux () {}
22904
+
22905
+ /**
22906
+ * @def
22907
+ * @xyz
22908
+ *
22909
+ * @abc
22910
+ */
22911
+ function quux () {}
22912
+ // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":1,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
22913
+
22914
+ /**
22915
+ * @def
22916
+ * @xyz A multiline
22917
+ * description
22918
+ *
22919
+ * @abc
22920
+ */
22921
+ function quux () {}
22922
+ // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":1,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
22923
+
22924
+ /**
22925
+ * Foo
22926
+ *
22927
+ * @see https://github.com/jaredhanson/passport/blob/v0.4.1/lib/middleware/authenticate.js#L217
22928
+ *
22929
+ * @param {(
22930
+ * req: express.Request,
22931
+ * done: (error: any, user?: any, info?: any) => void
22932
+ * ) => void} verify - callback to excute custom authentication logic
22933
+ */
22934
+ // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["since","access"]},{"tags":["class","augments","mixes"]},{"tags":["alias","memberof"]},{"tags":["see","link","global"]},{"tags":["fires","listens"]},{"tags":["param"]},{"tags":["yields"]},{"tags":["returns"]}]}]
22935
+
22936
+ /**
22937
+ * Constructor.
22938
+ *
22939
+ * @public
22940
+ *
22941
+ * @param {string} [message] - Error message.
22942
+ */
22943
+ // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["since","access"]},{"tags":["class","augments","mixes"]},{"tags":["alias","memberof"]},{"tags":["public","protected","private","override"]},{"tags":["override","async"]},{"tags":["see","link","global"]},{"tags":["param"]},{"tags":["yields"]},{"tags":["returns"]},{"tags":["fires","-other","listens"]}]}]
22944
+
22945
+ /**
22946
+ * @param options.mode The mode to generate the birthdate. Supported modes are `'age'` and `'year'` .
22947
+ *
22948
+ * There are two modes available `'age'` and `'year'`:
22949
+ * - `'age'`: The min and max options define the age of the person (e.g. `18` - `42`).
22950
+ * - `'year'`: The min and max options define the range the birthdate may be in (e.g. `1900` - `2000`).
22951
+ *
22952
+ * Defaults to `year`.
22953
+ *
22954
+ * @example
22955
+ */
22956
+ // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["internal"]},{"tags":["template","param"]},{"tags":["returns"]},{"tags":["throws"]},{"tags":["see"]},{"tags":["example"]},{"tags":["since"]},{"tags":["deprecated"]}]}]
22957
+
22958
+ /**
22959
+ * @example
22960
+ * enum Color { Red, Green, Blue }
22961
+ * faker.helpers.enumValue(Color) // 1 (Green)
22962
+ *
22963
+ * enum Direction { North = 'North', South = 'South'}
22964
+ * faker.helpers.enumValue(Direction) // 'South'
22965
+ *
22966
+ * enum HttpStatus { Ok = 200, Created = 201, BadRequest = 400, Unauthorized = 401 }
22967
+ * faker.helpers.enumValue(HttpStatus) // 200 (Ok)
22968
+ *
22969
+ * @since 8.0.0
22970
+ */
22971
+ // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["internal"]},{"tags":["template","param"]},{"tags":["returns"]},{"tags":["throws"]},{"tags":["see"]},{"tags":["example"]},{"tags":["since"]},{"tags":["deprecated"]}]}]
22972
+
22973
+ /**
22974
+ * @def
22975
+ * @xyz
22976
+ * @abc
22977
+ */
22978
+ function quux () {}
22979
+ // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":2,"reportTagGroupSpacing":false,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
22961
22980
  ````
22962
22981
 
22963
22982
 
@@ -22967,39 +22986,57 @@ function quux () {}
22967
22986
 
22968
22987
  Enforces lines (or no lines) between tags.
22969
22988
 
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>
22989
+ If you only want lines preceding all tags or after all tags, you can use
22990
+ the "any" option along with `startLines` and/or `endLines`.
22991
+
22992
+ The "always" or "never" options of this rule should not
22993
+ be used with the linebreak-setting options of the `sort-tags` rule as both
22994
+ may try to impose a conflicting number of lines.
22995
+
22996
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41"></a>
22997
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41"></a>
22972
22998
  #### Options
22973
22999
 
22974
23000
  The first option is a single string set to "always", "never", or "any"
22975
23001
  (defaults to "never").
22976
23002
 
22977
23003
  "any" is only useful with `tags` (allowing non-enforcement of lines except
22978
- for particular tags) or with `dropEndLines`.
23004
+ for particular tags) or with `startLines` or `endLines`. It is also
23005
+ necessary if using the linebreak-setting options of the `sort-tags` rule
23006
+ so that the two rules won't conflict in both attempting to set lines
23007
+ between tags.
22979
23008
 
22980
23009
  The second option is an object with the following optional properties.
22981
23010
 
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>
23011
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-count-defaults-to-1"></a>
23012
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-count-defaults-to-1"></a>
22984
23013
  ##### <code>count</code> (defaults to 1)
22985
23014
 
22986
23015
  Use with "always" to indicate the number of lines to require be present.
22987
23016
 
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>)
23017
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-applytoendtag-defaults-to-true"></a>
23018
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-applytoendtag-defaults-to-true"></a>
23019
+ ##### <code>applyToEndTag</code> (defaults to <code>true</code>)
23020
+
23021
+ Set to `false` and use with "always" to indicate the normal lines to be
23022
+ added after tags should not be added after the final tag.
22991
23023
 
22992
- Use with "always" to indicate the normal lines to be added after tags should
22993
- not be added after the final tag.
23024
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-startlines-defaults-to-0"></a>
23025
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-startlines-defaults-to-0"></a>
23026
+ ##### <code>startLines</code> (defaults to <code>0</code>)
22994
23027
 
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>)
23028
+ If not set to `null`, will enforce end lines to the given count before the
23029
+ first tag only.
22998
23030
 
22999
- If defined, will drop end lines for the final tag only.
23031
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-endlines-defaults-to-0"></a>
23032
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-endlines-defaults-to-0"></a>
23033
+ ##### <code>endLines</code> (defaults to <code>0</code>)
23000
23034
 
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>
23035
+ If not set to `null`, will enforce end lines to the given count on the
23036
+ final tag only.
23037
+
23038
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-tags-default-to-empty-object"></a>
23039
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-tags-default-to-empty-object"></a>
23003
23040
  ##### <code>tags</code> (default to empty object)
23004
23041
 
23005
23042
  Overrides the default behavior depending on specific tags.
@@ -23016,7 +23053,7 @@ following keys:
23016
23053
  |Tags|Any|
23017
23054
  |Recommended|true|
23018
23055
  |Settings|N/A|
23019
- |Options|(a string matching `"always" or "never"` and optional object with `count` and `noEndLines`)|
23056
+ |Options|(a string matching `"always"`, `"never"`, or `"any"` and optional object with `count`, `applyToEndTag`, `startLines`, `endLines`)|
23020
23057
 
23021
23058
  The following patterns are considered problems:
23022
23059
 
@@ -23051,7 +23088,7 @@ The following patterns are considered problems:
23051
23088
  * @param {string} a
23052
23089
  * @param {number} b
23053
23090
  */
23054
- // "jsdoc/tag-lines": ["error"|"warn", "always",{"noEndLines":true}]
23091
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"applyToEndTag":false}]
23055
23092
  // Message: Expected 1 line between tags but found 0
23056
23093
 
23057
23094
  /**
@@ -23142,7 +23179,7 @@ The following patterns are considered problems:
23142
23179
  * @param {number} b
23143
23180
  *
23144
23181
  */
23145
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
23182
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23146
23183
  // Message: Expected 1 line between tags but found 0
23147
23184
 
23148
23185
  /**
@@ -23167,8 +23204,70 @@ The following patterns are considered problems:
23167
23204
  * This is still part of `@returns`.
23168
23205
  *
23169
23206
  */
23170
- // "jsdoc/tag-lines": ["error"|"warn", "any",{"dropEndLines":true}]
23171
- // Message: Expected no trailing lines
23207
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"endLines":0}]
23208
+ // Message: Expected 0 trailing lines
23209
+
23210
+ /**
23211
+ * Some description
23212
+ * @param {string} a
23213
+ * @param {string} b
23214
+ *
23215
+ * @returns {SomeType} An extended
23216
+ * description.
23217
+ *
23218
+ * This is still part of `@returns`.
23219
+ *
23220
+ *
23221
+ *
23222
+ */
23223
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"endLines":1}]
23224
+ // Message: Expected 1 trailing lines
23225
+
23226
+ /**
23227
+ * Some description
23228
+ * @param {string} a
23229
+ * @param {string} b
23230
+ *
23231
+ * @returns {SomeType} An extended
23232
+ * description.
23233
+ *
23234
+ * This is still part of `@returns`.
23235
+ *
23236
+ */
23237
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"endLines":2}]
23238
+ // Message: Expected 2 trailing lines
23239
+
23240
+ /**
23241
+ * Some description
23242
+ *
23243
+ *
23244
+ * @param {string} a
23245
+ */
23246
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"startLines":1}]
23247
+ // Message: Expected only 1 line after block description
23248
+
23249
+ /**
23250
+ * Some description
23251
+ *
23252
+ * @param {string} a
23253
+ */
23254
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"startLines":0}]
23255
+ // Message: Expected only 0 line after block description
23256
+
23257
+ /**
23258
+ * Some description
23259
+ *
23260
+ * @param {string} a
23261
+ */
23262
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"startLines":2}]
23263
+ // Message: Expected 2 lines after block description
23264
+
23265
+ /**
23266
+ * Some description
23267
+ * @param {string} a
23268
+ */
23269
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"startLines":1}]
23270
+ // Message: Expected 1 lines after block description
23172
23271
  ````
23173
23272
 
23174
23273
  The following patterns are not considered problems:
@@ -23192,15 +23291,15 @@ The following patterns are not considered problems:
23192
23291
  *
23193
23292
  * @param {string} a
23194
23293
  */
23195
- // "jsdoc/tag-lines": ["error"|"warn", "always",{"noEndLines":true}]
23294
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"applyToEndTag":false}]
23196
23295
 
23197
23296
  /**
23198
23297
  * @param {string} a
23199
23298
  */
23200
- // "jsdoc/tag-lines": ["error"|"warn", "never",{"noEndLines":true}]
23299
+ // "jsdoc/tag-lines": ["error"|"warn", "never",{"applyToEndTag":false}]
23201
23300
 
23202
23301
  /** @param {number} b */
23203
- // "jsdoc/tag-lines": ["error"|"warn", "never",{"noEndLines":true}]
23302
+ // "jsdoc/tag-lines": ["error"|"warn", "never",{"applyToEndTag":false}]
23204
23303
 
23205
23304
  /**
23206
23305
  * Some description
@@ -23209,7 +23308,7 @@ The following patterns are not considered problems:
23209
23308
  * @param {number} b
23210
23309
  *
23211
23310
  */
23212
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
23311
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23213
23312
 
23214
23313
  /**
23215
23314
  * Some description
@@ -23220,7 +23319,7 @@ The following patterns are not considered problems:
23220
23319
  *
23221
23320
  *
23222
23321
  */
23223
- // "jsdoc/tag-lines": ["error"|"warn", "always",{"count":2}]
23322
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"count":2,"endLines":null}]
23224
23323
 
23225
23324
  /**
23226
23325
  * Some description
@@ -23313,7 +23412,7 @@ The following patterns are not considered problems:
23313
23412
  * description.
23314
23413
  *
23315
23414
  */
23316
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
23415
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23317
23416
 
23318
23417
  /**
23319
23418
  * Some description
@@ -23325,7 +23424,7 @@ The following patterns are not considered problems:
23325
23424
  * This is still part of `@returns`.
23326
23425
  *
23327
23426
  */
23328
- // "jsdoc/tag-lines": ["error"|"warn", "always"]
23427
+ // "jsdoc/tag-lines": ["error"|"warn", "always",{"endLines":null}]
23329
23428
 
23330
23429
  /**
23331
23430
  * Some description
@@ -23337,7 +23436,35 @@ The following patterns are not considered problems:
23337
23436
  *
23338
23437
  * This is still part of `@returns`.
23339
23438
  */
23340
- // "jsdoc/tag-lines": ["error"|"warn", "any",{"dropEndLines":true}]
23439
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"endLines":0}]
23440
+
23441
+ /**
23442
+ * Some description
23443
+ *
23444
+ * @param {string} a
23445
+ */
23446
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"startLines":1}]
23447
+
23448
+ /**
23449
+ * Some description
23450
+ * @param {string} a
23451
+ *
23452
+ */
23453
+ // "jsdoc/tag-lines": ["error"|"warn", "any",{"endLines":1}]
23454
+
23455
+ /**
23456
+ * Some description
23457
+ *
23458
+ *
23459
+ * @param {string} a
23460
+ */
23461
+ // "jsdoc/tag-lines": ["error"|"warn", "never",{"startLines":null}]
23462
+
23463
+ /**
23464
+ * Some description
23465
+ * @param {string} a
23466
+ */
23467
+ // "jsdoc/tag-lines": ["error"|"warn", "never",{"startLines":null}]
23341
23468
  ````
23342
23469
 
23343
23470
 
@@ -23353,19 +23480,19 @@ Markdown and you therefore do not wish for it to be accidentally interpreted
23353
23480
  as such by the likes of Visual Studio Code or if you wish to view it escaped
23354
23481
  within it or your documentation.
23355
23482
 
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>
23483
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42"></a>
23484
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42"></a>
23358
23485
  #### Options
23359
23486
 
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>
23487
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42-escapehtml"></a>
23488
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42-escapehtml"></a>
23362
23489
  ##### <code>escapeHTML</code>
23363
23490
 
23364
23491
  This option escapes all `<` and `&` characters (except those followed by
23365
23492
  whitespace which are treated as literals by Visual Studio Code).
23366
23493
 
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>
23494
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42-escapemarkdown"></a>
23495
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42-escapemarkdown"></a>
23369
23496
  ##### <code>escapeMarkdown</code>
23370
23497
 
23371
23498
  This option escapes the first backtick (`` ` ``) in a paired sequence.
@@ -23572,8 +23699,8 @@ for valid types (based on the tag's `type` value), and either portion checked
23572
23699
  for presence (based on `false` `name` or `type` values or their `required`
23573
23700
  value). See the setting for more details.
23574
23701
 
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>
23702
+ <a name="user-content-eslint-plugin-jsdoc-rules-valid-types-options-43"></a>
23703
+ <a name="eslint-plugin-jsdoc-rules-valid-types-options-43"></a>
23577
23704
  #### Options
23578
23705
 
23579
23706
  - `allowEmptyNamepaths` (default: true) - Set to `false` to bulk disallow