eslint-plugin-jsdoc 46.4.5 → 46.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +31 -0
  2. package/dist/alignTransform.js +5 -5
  3. package/dist/alignTransform.js.map +1 -1
  4. package/dist/index.js +21 -10
  5. package/dist/index.js.map +1 -1
  6. package/dist/iterateJsdoc.js +1 -1
  7. package/dist/iterateJsdoc.js.map +1 -1
  8. package/dist/rules/checkExamples.js +12 -6
  9. package/dist/rules/checkExamples.js.map +1 -1
  10. package/package.json +19 -15
  11. package/docs/advanced.md +0 -102
  12. package/docs/rules/check-access.md +0 -193
  13. package/docs/rules/check-alignment.md +0 -169
  14. package/docs/rules/check-examples.md +0 -784
  15. package/docs/rules/check-indentation.md +0 -296
  16. package/docs/rules/check-line-alignment.md +0 -1002
  17. package/docs/rules/check-param-names.md +0 -1035
  18. package/docs/rules/check-property-names.md +0 -244
  19. package/docs/rules/check-syntax.md +0 -80
  20. package/docs/rules/check-tag-names.md +0 -1132
  21. package/docs/rules/check-types.md +0 -1198
  22. package/docs/rules/check-values.md +0 -409
  23. package/docs/rules/empty-tags.md +0 -220
  24. package/docs/rules/implements-on-classes.md +0 -219
  25. package/docs/rules/imports-as-dependencies.md +0 -99
  26. package/docs/rules/informative-docs.md +0 -400
  27. package/docs/rules/match-description.md +0 -1008
  28. package/docs/rules/match-name.md +0 -249
  29. package/docs/rules/multiline-blocks.md +0 -398
  30. package/docs/rules/no-bad-blocks.md +0 -174
  31. package/docs/rules/no-blank-block-descriptions.md +0 -91
  32. package/docs/rules/no-blank-blocks.md +0 -98
  33. package/docs/rules/no-defaults.md +0 -207
  34. package/docs/rules/no-missing-syntax.md +0 -275
  35. package/docs/rules/no-multi-asterisks.md +0 -278
  36. package/docs/rules/no-restricted-syntax.md +0 -383
  37. package/docs/rules/no-types.md +0 -168
  38. package/docs/rules/no-undefined-types.md +0 -789
  39. package/docs/rules/require-asterisk-prefix.md +0 -297
  40. package/docs/rules/require-description-complete-sentence.md +0 -820
  41. package/docs/rules/require-description.md +0 -585
  42. package/docs/rules/require-example.md +0 -390
  43. package/docs/rules/require-file-overview.md +0 -324
  44. package/docs/rules/require-hyphen-before-param-description.md +0 -281
  45. package/docs/rules/require-jsdoc.md +0 -1857
  46. package/docs/rules/require-param-description.md +0 -238
  47. package/docs/rules/require-param-name.md +0 -163
  48. package/docs/rules/require-param-type.md +0 -227
  49. package/docs/rules/require-param.md +0 -1820
  50. package/docs/rules/require-property-description.md +0 -88
  51. package/docs/rules/require-property-name.md +0 -79
  52. package/docs/rules/require-property-type.md +0 -79
  53. package/docs/rules/require-property.md +0 -128
  54. package/docs/rules/require-returns-check.md +0 -1053
  55. package/docs/rules/require-returns-description.md +0 -181
  56. package/docs/rules/require-returns-type.md +0 -144
  57. package/docs/rules/require-returns.md +0 -1191
  58. package/docs/rules/require-throws.md +0 -326
  59. package/docs/rules/require-yields-check.md +0 -544
  60. package/docs/rules/require-yields.md +0 -823
  61. package/docs/rules/sort-tags.md +0 -635
  62. package/docs/rules/tag-lines.md +0 -551
  63. package/docs/rules/text-escaping.md +0 -177
  64. package/docs/rules/valid-types.md +0 -881
  65. package/docs/settings.md +0 -362
  66. package/tsconfig.json +0 -22
@@ -1,635 +0,0 @@
1
- <a name="user-content-sort-tags"></a>
2
- <a name="sort-tags"></a>
3
- # <code>sort-tags</code>
4
-
5
- * [Fixer](#user-content-sort-tags-fixer)
6
- * [Options](#user-content-sort-tags-options)
7
- * [`tagSequence`](#user-content-sort-tags-options-tagsequence)
8
- * [`alphabetizeExtras`](#user-content-sort-tags-options-alphabetizeextras)
9
- * [`linesBetween`](#user-content-sort-tags-options-linesbetween)
10
- * [`reportTagGroupSpacing`](#user-content-sort-tags-options-reporttaggroupspacing)
11
- * [`reportIntraTagGroupSpacing`](#user-content-sort-tags-options-reportintrataggroupspacing)
12
- * [Context and settings](#user-content-sort-tags-context-and-settings)
13
- * [Failing examples](#user-content-sort-tags-failing-examples)
14
- * [Passing examples](#user-content-sort-tags-passing-examples)
15
-
16
-
17
- Sorts tags by a specified sequence according to tag name, optionally
18
- adding line breaks between tag groups.
19
-
20
- (Default order originally inspired by [`@homer0/prettier-plugin-jsdoc`](https://github.com/homer0/packages/tree/main/packages/public/prettier-plugin-jsdoc).)
21
-
22
- Optionally allows adding line breaks between tag groups and/or between tags
23
- within a tag group.
24
-
25
- Please note: unless you are disabling reporting of line breaks, this rule
26
- should not be used with the default "never" or "always" options of
27
- `tag-lines` (a rule enabled by default with the recommended config) as
28
- that rule adds its own line breaks after tags and may interfere with any
29
- line break setting this rule will attempt to do when not disabled.
30
-
31
- You may, however, safely set the "any" option in that rule along with
32
- `startLines` and/or `endLines`.
33
-
34
- <a name="user-content-sort-tags-fixer"></a>
35
- <a name="sort-tags-fixer"></a>
36
- ## Fixer
37
-
38
- (TODO)
39
-
40
- <a name="user-content-sort-tags-options"></a>
41
- <a name="sort-tags-options"></a>
42
- ## Options
43
-
44
- <a name="user-content-sort-tags-options-tagsequence"></a>
45
- <a name="sort-tags-options-tagsequence"></a>
46
- ### <code>tagSequence</code>
47
-
48
- An array of tag group objects indicating the preferred sequence for sorting tags.
49
-
50
- Each item in the array should be an object with a `tags` property set to an array
51
- of tag names.
52
-
53
- Tag names earlier in the list will be arranged first. The relative position of
54
- tags of the same name will not be changed.
55
-
56
- Earlier groups will also be arranged before later groups, but with the added
57
- feature that additional line breaks may be added between (or before or after)
58
- such groups (depending on the setting of `linesBetween`).
59
-
60
- Tag names not in the list will be grouped together at the end. The pseudo-tag
61
- `-other` can be used to place them anywhere else if desired. The tags will be
62
- placed in their order of appearance, or alphabetized if `alphabetizeExtras`
63
- is enabled, see more below about that option.
64
-
65
- Defaults to the array below (noting that it is just a single tag group with
66
- no lines between groups by default).
67
-
68
- Please note that this order is still experimental, so if you want to retain
69
- a fixed order that doesn't change into the future, supply your own
70
- `tagSequence`.
71
-
72
- ```js
73
- [{tags: [
74
- // Brief descriptions
75
- 'summary',
76
- 'typeSummary',
77
-
78
- // Module/file-level
79
- 'module',
80
- 'exports',
81
- 'file',
82
- 'fileoverview',
83
- 'overview',
84
-
85
- // Identifying (name, type)
86
- 'typedef',
87
- 'interface',
88
- 'record',
89
- 'template',
90
- 'name',
91
- 'kind',
92
- 'type',
93
- 'alias',
94
- 'external',
95
- 'host',
96
- 'callback',
97
- 'func',
98
- 'function',
99
- 'method',
100
- 'class',
101
- 'constructor',
102
-
103
- // Relationships
104
- 'modifies',
105
- 'mixes',
106
- 'mixin',
107
- 'mixinClass',
108
- 'mixinFunction',
109
- 'namespace',
110
- 'borrows',
111
- 'constructs',
112
- 'lends',
113
- 'implements',
114
- 'requires',
115
-
116
- // Long descriptions
117
- 'desc',
118
- 'description',
119
- 'classdesc',
120
- 'tutorial',
121
- 'copyright',
122
- 'license',
123
-
124
- // Simple annotations
125
- 'const',
126
- 'constant',
127
- 'final',
128
- 'global',
129
- 'readonly',
130
- 'abstract',
131
- 'virtual',
132
- 'var',
133
- 'member',
134
- 'memberof',
135
- 'memberof!',
136
- 'inner',
137
- 'instance',
138
- 'inheritdoc',
139
- 'inheritDoc',
140
- 'override',
141
- 'hideconstructor',
142
-
143
- // Core function/object info
144
- 'param',
145
- 'arg',
146
- 'argument',
147
- 'prop',
148
- 'property',
149
- 'return',
150
- 'returns',
151
-
152
- // Important behavior details
153
- 'async',
154
- 'generator',
155
- 'default',
156
- 'defaultvalue',
157
- 'enum',
158
- 'augments',
159
- 'extends',
160
- 'throws',
161
- 'exception',
162
- 'yield',
163
- 'yields',
164
- 'event',
165
- 'fires',
166
- 'emits',
167
- 'listens',
168
- 'this',
169
-
170
- // Access
171
- 'static',
172
- 'private',
173
- 'protected',
174
- 'public',
175
- 'access',
176
- 'package',
177
-
178
- '-other',
179
-
180
- // Supplementary descriptions
181
- 'see',
182
- 'example',
183
-
184
- // METADATA
185
-
186
- // Other Closure (undocumented) metadata
187
- 'closurePrimitive',
188
- 'customElement',
189
- 'expose',
190
- 'hidden',
191
- 'idGenerator',
192
- 'meaning',
193
- 'ngInject',
194
- 'owner',
195
- 'wizaction',
196
-
197
- // Other Closure (documented) metadata
198
- 'define',
199
- 'dict',
200
- 'export',
201
- 'externs',
202
- 'implicitCast',
203
- 'noalias',
204
- 'nocollapse',
205
- 'nocompile',
206
- 'noinline',
207
- 'nosideeffects',
208
- 'polymer',
209
- 'polymerBehavior',
210
- 'preserve',
211
- 'struct',
212
- 'suppress',
213
- 'unrestricted',
214
-
215
- // @homer0/prettier-plugin-jsdoc metadata
216
- 'category',
217
-
218
- // Non-Closure metadata
219
- 'ignore',
220
- 'author',
221
- 'version',
222
- 'variation',
223
- 'since',
224
- 'deprecated',
225
- 'todo',
226
- ]}];
227
- ```
228
-
229
- <a name="user-content-sort-tags-options-alphabetizeextras"></a>
230
- <a name="sort-tags-options-alphabetizeextras"></a>
231
- ### <code>alphabetizeExtras</code>
232
-
233
- Defaults to `false`. Alphabetizes any items not within `tagSequence` after any
234
- items within `tagSequence` (or in place of the special `-other` pseudo-tag)
235
- are sorted.
236
-
237
- If you want all your tags alphabetized, you can supply an empty array for
238
- `tagSequence` along with setting this option to `true`.
239
-
240
- <a name="user-content-sort-tags-options-linesbetween"></a>
241
- <a name="sort-tags-options-linesbetween"></a>
242
- ### <code>linesBetween</code>
243
-
244
- Indicates the number of lines to be added between tag groups. Defaults to 1.
245
- Do not set to 0 or 2+ if you are using `tag-lines` and `"always"` and do not
246
- set to 1+ if you are using `tag-lines` and `"never"`.
247
-
248
- <a name="user-content-sort-tags-options-reporttaggroupspacing"></a>
249
- <a name="sort-tags-options-reporttaggroupspacing"></a>
250
- ### <code>reportTagGroupSpacing</code>
251
-
252
- Whether to enable reporting and fixing of line breaks between tag groups
253
- as set by `linesBetween`. Defaults to `true`. Note that the very last tag
254
- will not have spacing applied regardless. For adding line breaks there, you
255
- may wish to use the `endLines` option of the `tag-lines` rule.
256
-
257
- <a name="user-content-sort-tags-options-reportintrataggroupspacing"></a>
258
- <a name="sort-tags-options-reportintrataggroupspacing"></a>
259
- ### <code>reportIntraTagGroupSpacing</code>
260
-
261
- Whether to enable reporting and fixing of line breaks within tags of a given
262
- tag group. Defaults to `true` which will remove any line breaks at the end of
263
- such tags. Do not use with `true` if you are using `tag-lines` and `always`.
264
-
265
- <a name="user-content-sort-tags-context-and-settings"></a>
266
- <a name="sort-tags-context-and-settings"></a>
267
- ## Context and settings
268
-
269
- |||
270
- |---|---|
271
- |Context|everywhere|
272
- |Tags|any|
273
- |Recommended|false|
274
- |Settings||
275
- |Options|`alphabetizeExtras`, `linesBetween`, `reportIntraTagGroupSpacing`, `reportTagGroupSpacing`, `tagSequence`|
276
-
277
- <a name="user-content-sort-tags-failing-examples"></a>
278
- <a name="sort-tags-failing-examples"></a>
279
- ## Failing examples
280
-
281
- The following patterns are considered problems:
282
-
283
- ````js
284
- /**
285
- * @returns {string}
286
- * @param b
287
- * @param a
288
- */
289
- function quux () {}
290
- // 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, overload, 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, satisfies, 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
291
-
292
- /**
293
- * Some description
294
- * @returns {string}
295
- * @param b
296
- * @param a
297
- */
298
- function quux () {}
299
- // 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, overload, 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, satisfies, 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
300
-
301
- /**
302
- * @returns {string}
303
- * @param b A long
304
- * description
305
- * @param a
306
- */
307
- function quux () {}
308
- // 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, overload, 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, satisfies, 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
309
-
310
- /**
311
- * Some description
312
- * @returns {string}
313
- * @param b A long
314
- * description
315
- * @param a
316
- */
317
- function quux () {}
318
- // 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, overload, 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, satisfies, 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
319
-
320
- /**
321
- * @param b A long
322
- * description
323
- * @returns {string}
324
- * @param a
325
- */
326
- function quux () {}
327
- // 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, overload, 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, satisfies, 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
328
-
329
- /**
330
- * @def
331
- * @xyz
332
- * @abc
333
- */
334
- function quux () {}
335
- // "jsdoc/sort-tags": ["error"|"warn", {"alphabetizeExtras":true}]
336
- // 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, overload, 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, satisfies, 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
337
-
338
- /**
339
- * @xyz
340
- * @def
341
- * @abc
342
- */
343
- function quux () {}
344
- // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["def","xyz","abc"]}]}]
345
- // Message: Tags are not in the prescribed order: def, xyz, abc
346
-
347
- /**
348
- * @xyz
349
- * @def
350
- * @abc
351
- */
352
- function quux () {}
353
- // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["def","xyz"]},{"tags":["abc"]}]}]
354
- // Message: Tags are not in the prescribed order: def, xyz, abc
355
-
356
- /**
357
- * @returns {string}
358
- * @ignore
359
- * @param b A long
360
- * description
361
- * @param a
362
- * @module
363
- */
364
- function quux () {}
365
- // 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, overload, 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, satisfies, 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
366
-
367
- /**
368
- * @xyz
369
- * @abc
370
- * @abc
371
- * @def
372
- * @xyz
373
- */
374
- function quux () {}
375
- // "jsdoc/sort-tags": ["error"|"warn", {"alphabetizeExtras":true}]
376
- // 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, overload, 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, satisfies, 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
377
-
378
- /**
379
- * @param b A long
380
- * description
381
- * @module
382
- */
383
- function quux () {}
384
- // 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, overload, 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, satisfies, 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
385
-
386
- /**
387
- * @def
388
- * @xyz
389
- * @abc
390
- */
391
- function quux () {}
392
- // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":2,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
393
- // Message: Tag groups do not have the expected whitespace
394
-
395
- /**
396
- * @def
397
- * @xyz
398
- *
399
- *
400
- * @abc
401
- */
402
- function quux () {}
403
- // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":1,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
404
- // Message: Tag groups do not have the expected whitespace
405
-
406
- /**
407
- * @def
408
- * @xyz A multiline
409
- * description
410
- * @abc
411
- */
412
- function quux () {}
413
- // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":2,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
414
- // Message: Tag groups do not have the expected whitespace
415
-
416
- /**
417
- * @def
418
- * @xyz
419
- * @xyz
420
- *
421
- *
422
- * @abc
423
- */
424
- function quux () {}
425
- // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":1,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
426
- // Message: Tag groups do not have the expected whitespace
427
-
428
- /**
429
- * Foo
430
- *
431
- * @param {(
432
- * req: express.Request,
433
- * done: (error: any, user?: any, info?: any) => void
434
- * ) => void} verify - callback to excute custom authentication logic
435
- * @see https://github.com/jaredhanson/passport/blob/v0.4.1/lib/middleware/authenticate.js#L217
436
- *
437
- */
438
- // "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"]}]}]
439
- // Message: Tags are not in the prescribed order: since, access, class, augments, mixes, alias, memberof, see, link, global, fires, listens, param, yields, returns
440
-
441
- /**
442
- * Summary. (use period)
443
- *
444
- * Description. (use period)
445
- *
446
- * @since 1.0.1
447
- * @access private
448
- *
449
- * @class
450
- * @mixes mixin
451
- *
452
- * @alias realName
453
- * @memberof namespace
454
- *
455
- * @see Function/class relied on
456
- * @global
457
- *
458
- * @tutorial Asd
459
- * @license MIT
460
- *
461
- * @fires eventName
462
- * @fires className#eventName
463
- * @listens event:eventName
464
- * @listens className~event:eventName
465
- *
466
- * @tutorial Asd
467
- * @license MIT
468
- *
469
- * @yields {string} Yielded value description.
470
- *
471
- * @param {string} var1 - Description.
472
- * @param {string} var2 - Description of optional variable.
473
- * @param {string} var3 - Description of optional variable with default variable.
474
- * @param {object} objectVar - Description.
475
- * @param {string} objectVar.key - Description of a key in the objectVar parameter.
476
- *
477
- * @returns {string} Return value description.
478
- */
479
- // "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"]}]}]
480
- // Message: Tags are not in the prescribed order: since, access, class, augments, mixes, alias, memberof, see, link, global, fires, listens, param, yields, returns
481
-
482
- /**
483
- * @def
484
- * @zzz
485
- * @abc
486
- */
487
- function quux () {}
488
- // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":1,"tagSequence":[{"tags":["qrs"]},{"tags":["def","-other","xyz"]},{"tags":["abc"]}]}]
489
- // Message: Tag groups do not have the expected whitespace
490
-
491
- /**
492
- * @xyz
493
- * @def
494
- * @abc
495
- */
496
- function quux () {}
497
- // "jsdoc/sort-tags": ["error"|"warn", {"alphabetizeExtras":true,"tagSequence":[]}]
498
- // Message: Tags are not in the prescribed order: (alphabetical)
499
-
500
- /**
501
- * @example
502
- * enum Color { Red, Green, Blue }
503
- * faker.helpers.enumValue(Color) // 1 (Green)
504
- *
505
- * enum Direction { North = 'North', South = 'South'}
506
- * faker.helpers.enumValue(Direction) // 'South'
507
- *
508
- * enum HttpStatus { Ok = 200, Created = 201, BadRequest = 400, Unauthorized = 401 }
509
- * faker.helpers.enumValue(HttpStatus) // 200 (Ok)
510
- * @since 8.0.0
511
- */
512
- // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["internal"]},{"tags":["template","param"]},{"tags":["returns"]},{"tags":["throws"]},{"tags":["see"]},{"tags":["example"]},{"tags":["since"]},{"tags":["deprecated"]}]}]
513
- // Message: Tag groups do not have the expected whitespace
514
- ````
515
-
516
-
517
-
518
- <a name="user-content-sort-tags-passing-examples"></a>
519
- <a name="sort-tags-passing-examples"></a>
520
- ## Passing examples
521
-
522
- The following patterns are not considered problems:
523
-
524
- ````js
525
- /**
526
- * @param b
527
- * @param a
528
- * @returns {string}
529
- */
530
- function quux () {}
531
-
532
- /**
533
- * @abc
534
- * @def
535
- * @xyz
536
- */
537
- function quux () {}
538
- // "jsdoc/sort-tags": ["error"|"warn", {"alphabetizeExtras":true}]
539
-
540
- /**
541
- * @def
542
- * @xyz
543
- * @abc
544
- */
545
- function quux () {}
546
- // "jsdoc/sort-tags": ["error"|"warn", {"alphabetizeExtras":false}]
547
-
548
- /**
549
- * @def
550
- * @xyz
551
- * @abc
552
- */
553
- function quux () {}
554
- // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["def","xyz","abc"]}]}]
555
-
556
- /** @def */
557
- function quux () {}
558
-
559
- /**
560
- * @def
561
- * @xyz
562
- *
563
- * @abc
564
- */
565
- function quux () {}
566
- // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":1,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
567
-
568
- /**
569
- * @def
570
- * @xyz A multiline
571
- * description
572
- *
573
- * @abc
574
- */
575
- function quux () {}
576
- // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":1,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
577
-
578
- /**
579
- * Foo
580
- *
581
- * @see https://github.com/jaredhanson/passport/blob/v0.4.1/lib/middleware/authenticate.js#L217
582
- *
583
- * @param {(
584
- * req: express.Request,
585
- * done: (error: any, user?: any, info?: any) => void
586
- * ) => void} verify - callback to excute custom authentication logic
587
- */
588
- // "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"]}]}]
589
-
590
- /**
591
- * Constructor.
592
- *
593
- * @public
594
- *
595
- * @param {string} [message] - Error message.
596
- */
597
- // "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"]}]}]
598
-
599
- /**
600
- * @param options.mode The mode to generate the birthdate. Supported modes are `'age'` and `'year'` .
601
- *
602
- * There are two modes available `'age'` and `'year'`:
603
- * - `'age'`: The min and max options define the age of the person (e.g. `18` - `42`).
604
- * - `'year'`: The min and max options define the range the birthdate may be in (e.g. `1900` - `2000`).
605
- *
606
- * Defaults to `year`.
607
- *
608
- * @example
609
- */
610
- // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["internal"]},{"tags":["template","param"]},{"tags":["returns"]},{"tags":["throws"]},{"tags":["see"]},{"tags":["example"]},{"tags":["since"]},{"tags":["deprecated"]}]}]
611
-
612
- /**
613
- * @example
614
- * enum Color { Red, Green, Blue }
615
- * faker.helpers.enumValue(Color) // 1 (Green)
616
- *
617
- * enum Direction { North = 'North', South = 'South'}
618
- * faker.helpers.enumValue(Direction) // 'South'
619
- *
620
- * enum HttpStatus { Ok = 200, Created = 201, BadRequest = 400, Unauthorized = 401 }
621
- * faker.helpers.enumValue(HttpStatus) // 200 (Ok)
622
- *
623
- * @since 8.0.0
624
- */
625
- // "jsdoc/sort-tags": ["error"|"warn", {"tagSequence":[{"tags":["internal"]},{"tags":["template","param"]},{"tags":["returns"]},{"tags":["throws"]},{"tags":["see"]},{"tags":["example"]},{"tags":["since"]},{"tags":["deprecated"]}]}]
626
-
627
- /**
628
- * @def
629
- * @xyz
630
- * @abc
631
- */
632
- function quux () {}
633
- // "jsdoc/sort-tags": ["error"|"warn", {"linesBetween":2,"reportTagGroupSpacing":false,"tagSequence":[{"tags":["qrs"]},{"tags":["def","xyz"]},{"tags":["abc"]}]}]
634
- ````
635
-