eslint-plugin-jsdoc 43.1.1 → 44.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.
Files changed (109) hide show
  1. package/README.md +58 -24393
  2. package/dist/WarnSettings.js.map +1 -1
  3. package/dist/alignTransform.js.map +1 -1
  4. package/dist/bin/generateRule.js.map +1 -1
  5. package/dist/exportParser.js.map +1 -1
  6. package/dist/generateRule.js.map +1 -1
  7. package/dist/iterateJsdoc.js +2 -2
  8. package/dist/iterateJsdoc.js.map +1 -1
  9. package/dist/jsdocUtils.js.map +1 -1
  10. package/dist/rules/checkAccess.js.map +1 -1
  11. package/dist/rules/checkExamples.js.map +1 -1
  12. package/dist/rules/checkLineAlignment.js.map +1 -1
  13. package/dist/rules/checkParamNames.js.map +1 -1
  14. package/dist/rules/checkPropertyNames.js.map +1 -1
  15. package/dist/rules/checkTagNames.js.map +1 -1
  16. package/dist/rules/checkTypes.js.map +1 -1
  17. package/dist/rules/checkValues.js.map +1 -1
  18. package/dist/rules/emptyTags.js.map +1 -1
  19. package/dist/rules/implementsOnClasses.js.map +1 -1
  20. package/dist/rules/informativeDocs.js.map +1 -1
  21. package/dist/rules/matchDescription.js.map +1 -1
  22. package/dist/rules/matchName.js.map +1 -1
  23. package/dist/rules/multilineBlocks.js.map +1 -1
  24. package/dist/rules/noBadBlocks.js.map +1 -1
  25. package/dist/rules/noBlankBlockDescriptions.js.map +1 -1
  26. package/dist/rules/noBlankBlocks.js.map +1 -1
  27. package/dist/rules/noDefaults.js.map +1 -1
  28. package/dist/rules/noMultiAsterisks.js.map +1 -1
  29. package/dist/rules/noTypes.js.map +1 -1
  30. package/dist/rules/noUndefinedTypes.js.map +1 -1
  31. package/dist/rules/requireDescription.js.map +1 -1
  32. package/dist/rules/requireDescriptionCompleteSentence.js.map +1 -1
  33. package/dist/rules/requireExample.js.map +1 -1
  34. package/dist/rules/requireFileOverview.js.map +1 -1
  35. package/dist/rules/requireHyphenBeforeParamDescription.js.map +1 -1
  36. package/dist/rules/requireJsdoc.js.map +1 -1
  37. package/dist/rules/requireParam.js.map +1 -1
  38. package/dist/rules/requireParamDescription.js.map +1 -1
  39. package/dist/rules/requireParamName.js.map +1 -1
  40. package/dist/rules/requireParamType.js.map +1 -1
  41. package/dist/rules/requirePropertyDescription.js.map +1 -1
  42. package/dist/rules/requirePropertyName.js.map +1 -1
  43. package/dist/rules/requirePropertyType.js.map +1 -1
  44. package/dist/rules/requireReturns.js.map +1 -1
  45. package/dist/rules/requireReturnsCheck.js.map +1 -1
  46. package/dist/rules/requireReturnsDescription.js.map +1 -1
  47. package/dist/rules/requireThrows.js.map +1 -1
  48. package/dist/rules/requireYields.js.map +1 -1
  49. package/dist/rules/requireYieldsCheck.js.map +1 -1
  50. package/dist/rules/sortTags.js.map +1 -1
  51. package/dist/rules/tagLines.js.map +1 -1
  52. package/dist/rules/textEscaping.js.map +1 -1
  53. package/dist/rules/validTypes.js.map +1 -1
  54. package/dist/utils/hasReturnValue.js.map +1 -1
  55. package/docs/advanced.md +102 -0
  56. package/docs/rules/check-access.md +193 -0
  57. package/docs/rules/check-alignment.md +169 -0
  58. package/docs/rules/check-examples.md +784 -0
  59. package/docs/rules/check-indentation.md +296 -0
  60. package/docs/rules/check-line-alignment.md +995 -0
  61. package/docs/rules/check-param-names.md +1035 -0
  62. package/docs/rules/check-property-names.md +244 -0
  63. package/docs/rules/check-syntax.md +80 -0
  64. package/docs/rules/check-tag-names.md +1117 -0
  65. package/docs/rules/check-types.md +1198 -0
  66. package/docs/rules/check-values.md +409 -0
  67. package/docs/rules/empty-tags.md +220 -0
  68. package/docs/rules/implements-on-classes.md +219 -0
  69. package/docs/rules/informative-docs.md +400 -0
  70. package/docs/rules/match-description.md +979 -0
  71. package/docs/rules/match-name.md +243 -0
  72. package/docs/rules/multiline-blocks.md +398 -0
  73. package/docs/rules/no-bad-blocks.md +174 -0
  74. package/docs/rules/no-blank-block-descriptions.md +91 -0
  75. package/docs/rules/no-blank-blocks.md +98 -0
  76. package/docs/rules/no-defaults.md +207 -0
  77. package/docs/rules/no-missing-syntax.md +269 -0
  78. package/docs/rules/no-multi-asterisks.md +278 -0
  79. package/docs/rules/no-restricted-syntax.md +377 -0
  80. package/docs/rules/no-types.md +168 -0
  81. package/docs/rules/no-undefined-types.md +731 -0
  82. package/docs/rules/require-asterisk-prefix.md +297 -0
  83. package/docs/rules/require-description-complete-sentence.md +584 -0
  84. package/docs/rules/require-description.md +820 -0
  85. package/docs/rules/require-example.md +390 -0
  86. package/docs/rules/require-file-overview.md +317 -0
  87. package/docs/rules/require-hyphen-before-param-description.md +258 -0
  88. package/docs/rules/require-jsdoc.md +1837 -0
  89. package/docs/rules/require-param-description.md +1816 -0
  90. package/docs/rules/require-param-name.md +238 -0
  91. package/docs/rules/require-param-type.md +163 -0
  92. package/docs/rules/require-param.md +227 -0
  93. package/docs/rules/require-property-description.md +128 -0
  94. package/docs/rules/require-property-name.md +88 -0
  95. package/docs/rules/require-property-type.md +79 -0
  96. package/docs/rules/require-property.md +79 -0
  97. package/docs/rules/require-returns-check.md +1164 -0
  98. package/docs/rules/require-returns-description.md +1053 -0
  99. package/docs/rules/require-returns-type.md +181 -0
  100. package/docs/rules/require-returns.md +144 -0
  101. package/docs/rules/require-throws.md +326 -0
  102. package/docs/rules/require-yields-check.md +823 -0
  103. package/docs/rules/require-yields.md +544 -0
  104. package/docs/rules/sort-tags.md +635 -0
  105. package/docs/rules/tag-lines.md +551 -0
  106. package/docs/rules/text-escaping.md +177 -0
  107. package/docs/rules/valid-types.md +834 -0
  108. package/docs/settings.md +355 -0
  109. package/package.json +15 -15
@@ -0,0 +1,258 @@
1
+ <a name="user-content-require-hyphen-before-param-description"></a>
2
+ <a name="require-hyphen-before-param-description"></a>
3
+ # <code>require-hyphen-before-param-description</code>
4
+
5
+ * [Fixer](#user-content-require-hyphen-before-param-description-fixer)
6
+ * [Options](#user-content-require-hyphen-before-param-description-options)
7
+ * [Context and settings](#user-content-require-hyphen-before-param-description-context-and-settings)
8
+ * [Failing examples](#user-content-require-hyphen-before-param-description-failing-examples)
9
+ * [Passing examples](#user-content-require-hyphen-before-param-description-passing-examples)
10
+
11
+
12
+ Requires (or disallows) a hyphen before the `@param` description.
13
+
14
+ <a name="user-content-require-hyphen-before-param-description-fixer"></a>
15
+ <a name="require-hyphen-before-param-description-fixer"></a>
16
+ ## Fixer
17
+
18
+ (Todo)
19
+
20
+ <a name="user-content-require-hyphen-before-param-description-options"></a>
21
+ <a name="require-hyphen-before-param-description-options"></a>
22
+ ## Options
23
+
24
+ This rule takes one optional string argument and an optional options object.
25
+
26
+ If the string is `"always"` then a problem is raised when there is no hyphen
27
+ before the description. If it is `"never"` then a problem is raised when there
28
+ is a hyphen before the description. The default value is `"always"`.
29
+
30
+ The options object may have the following properties to indicate behavior for
31
+ other tags besides the `@param` tag (or the `@arg` tag if so set):
32
+
33
+ - `tags` - Object whose keys indicate different tags to check for the
34
+ presence or absence of hyphens; the key value should be "always" or "never",
35
+ indicating how hyphens are to be applied, e.g., `{property: 'never'}`
36
+ to ensure `@property` never uses hyphens. A key can also be set as `*`, e.g.,
37
+ `'*': 'always'` to apply hyphen checking to any tag (besides the preferred
38
+ `@param` tag which follows the main string option setting and besides any
39
+ other `tags` entries).
40
+
41
+ <a name="user-content-require-hyphen-before-param-description-context-and-settings"></a>
42
+ <a name="require-hyphen-before-param-description-context-and-settings"></a>
43
+ ## Context and settings
44
+
45
+ |||
46
+ |---|---|
47
+ |Context|everywhere|
48
+ |Tags|`param` and optionally other tags within `tags`|
49
+ |Aliases|`arg`, `argument`; potentially `prop` or other aliases|
50
+ |Recommended|false|
51
+ |Options|a string matching `"always" or "never"` followed by an optional object with a `tags` property|
52
+
53
+ <a name="user-content-require-hyphen-before-param-description-failing-examples"></a>
54
+ <a name="require-hyphen-before-param-description-failing-examples"></a>
55
+ ## Failing examples
56
+
57
+ The following patterns are considered problems:
58
+
59
+ ````js
60
+ /**
61
+ * @param foo Foo.
62
+ */
63
+ function quux () {
64
+
65
+ }
66
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always"]
67
+ // Message: There must be a hyphen before @param description.
68
+
69
+ /**
70
+ * @param foo Foo.
71
+ */
72
+ function quux () {
73
+
74
+ }
75
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always",{"tags":{"*":"never"}}]
76
+ // Message: There must be a hyphen before @param description.
77
+
78
+ /**
79
+ * @param foo Foo.
80
+ * @returns {SomeType} - Hyphen here.
81
+ */
82
+ function quux () {
83
+
84
+ }
85
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always",{"tags":{"*":"never","returns":"always"}}]
86
+ // Message: There must be a hyphen before @param description.
87
+
88
+ /**
89
+ * @param foo Foo.
90
+ */
91
+ function quux () {
92
+
93
+ }
94
+ // Message: There must be a hyphen before @param description.
95
+
96
+ /**
97
+ * @param foo - Foo.
98
+ */
99
+ function quux () {
100
+
101
+ }
102
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "never"]
103
+ // Message: There must be no hyphen before @param description.
104
+
105
+ /**
106
+ * @param foo - Foo.
107
+ */
108
+ function quux () {
109
+
110
+ }
111
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "never"]
112
+ // Message: There must be no hyphen before @param description.
113
+
114
+ /**
115
+ * @param foo - foo
116
+ * @param foo foo
117
+ */
118
+ function quux () {
119
+
120
+ }
121
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always"]
122
+ // Message: There must be a hyphen before @param description.
123
+
124
+ /**
125
+ * @param foo foo
126
+ * bar
127
+ * @param bar - bar
128
+ */
129
+ function quux () {
130
+
131
+ }
132
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always"]
133
+ // Message: There must be a hyphen before @param description.
134
+
135
+ /**
136
+ * @param foo
137
+ */
138
+ function quux (foo) {
139
+
140
+ }
141
+ // Settings: {"jsdoc":{"tagNamePreference":{"param":false}}}
142
+ // Message: Unexpected tag `@param`
143
+
144
+ /**
145
+ * @typedef {SomeType} ATypeDefName
146
+ * @property foo Foo.
147
+ */
148
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always",{"tags":{"property":"always"}}]
149
+ // Message: There must be a hyphen before @property description.
150
+
151
+ /**
152
+ * @template TempA, TempB A desc.
153
+ */
154
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always",{"tags":{"template":"always"}}]
155
+ // Message: There must be a hyphen before @template description.
156
+
157
+ /**
158
+ * @typedef {SomeType} ATypeDefName
159
+ * @property foo - Foo.
160
+ */
161
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "never",{"tags":{"property":"never"}}]
162
+ // Message: There must be no hyphen before @property description.
163
+
164
+ /**
165
+ * @param foo Foo.
166
+ * @returns {SomeType} - A description.
167
+ */
168
+ function quux () {
169
+
170
+ }
171
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always",{"tags":{"returns":"never"}}]
172
+ // Message: There must be a hyphen before @param description.
173
+ ````
174
+
175
+
176
+
177
+ <a name="user-content-require-hyphen-before-param-description-passing-examples"></a>
178
+ <a name="require-hyphen-before-param-description-passing-examples"></a>
179
+ ## Passing examples
180
+
181
+ The following patterns are not considered problems:
182
+
183
+ ````js
184
+ /**
185
+ * @param foo - Foo.
186
+ */
187
+ function quux () {
188
+
189
+ }
190
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always"]
191
+
192
+ /**
193
+ * @param foo - Foo.
194
+ */
195
+ function quux () {
196
+
197
+ }
198
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always"]
199
+
200
+ /**
201
+ * @param foo - Foo.
202
+ * @returns {SomeType} A description.
203
+ */
204
+ function quux () {
205
+
206
+ }
207
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always",{"tags":{"returns":"never"}}]
208
+
209
+ /**
210
+ * @param foo Foo.
211
+ */
212
+ function quux () {
213
+
214
+ }
215
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "never"]
216
+
217
+ /**
218
+ * @param foo
219
+ */
220
+ function quux () {
221
+
222
+ }
223
+
224
+ /**
225
+ *
226
+ */
227
+ function quux () {
228
+
229
+ }
230
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always",{"tags":{"*":"always"}}]
231
+
232
+ /**
233
+ * @typedef {SomeType} ATypeDefName
234
+ * @property foo - Foo.
235
+ */
236
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "always",{"tags":{"property":"always"}}]
237
+
238
+ /**
239
+ * @typedef {SomeType} ATypeDefName
240
+ * @property foo Foo.
241
+ */
242
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "never",{"tags":{"property":"never"}}]
243
+
244
+ /**
245
+ * @typedef {SomeType} ATypeDefName
246
+ * @property foo - Foo.
247
+ */
248
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "never",{"tags":{"*":"always"}}]
249
+
250
+ /** Entry point for module.
251
+ *
252
+ * @param {!Array<string>} argv Command-line arguments.
253
+ */
254
+ function main(argv) {
255
+ };
256
+ // "jsdoc/require-hyphen-before-param-description": ["error"|"warn", "never"]
257
+ ````
258
+