eslint-plugin-jsdoc 44.2.3 → 44.2.4
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/dist/alignTransform.js +86 -4
- package/dist/alignTransform.js.map +1 -1
- package/dist/exportParser.js +134 -4
- package/dist/exportParser.js.map +1 -1
- package/dist/iterateJsdoc.js +936 -345
- package/dist/iterateJsdoc.js.map +1 -1
- package/dist/jsdocUtils.js +173 -105
- package/dist/jsdocUtils.js.map +1 -1
- package/dist/rules/checkAlignment.js +6 -0
- package/dist/rules/checkAlignment.js.map +1 -1
- package/dist/rules/checkExamples.js +70 -6
- package/dist/rules/checkExamples.js.map +1 -1
- package/dist/rules/checkIndentation.js +11 -1
- package/dist/rules/checkIndentation.js.map +1 -1
- package/dist/rules/checkLineAlignment.js +68 -4
- package/dist/rules/checkLineAlignment.js.map +1 -1
- package/dist/rules/checkParamNames.js +12 -7
- package/dist/rules/checkParamNames.js.map +1 -1
- package/dist/rules/checkPropertyNames.js +13 -7
- package/dist/rules/checkPropertyNames.js.map +1 -1
- package/dist/rules/checkTagNames.js +45 -5
- package/dist/rules/checkTagNames.js.map +1 -1
- package/dist/rules/checkTypes.js +97 -36
- package/dist/rules/checkTypes.js.map +1 -1
- package/dist/rules/checkValues.js +6 -6
- package/dist/rules/checkValues.js.map +1 -1
- package/dist/rules/emptyTags.js +8 -1
- package/dist/rules/emptyTags.js.map +1 -1
- package/dist/rules/informativeDocs.js +26 -7
- package/dist/rules/informativeDocs.js.map +1 -1
- package/dist/rules/matchDescription.js +18 -1
- package/dist/rules/matchDescription.js.map +1 -1
- package/dist/rules/matchName.js +2 -2
- package/dist/rules/matchName.js.map +1 -1
- package/dist/rules/multilineBlocks.js +12 -1
- package/dist/rules/multilineBlocks.js.map +1 -1
- package/dist/rules/noBadBlocks.js +3 -5
- package/dist/rules/noBadBlocks.js.map +1 -1
- package/dist/rules/noBlankBlockDescriptions.js +2 -0
- package/dist/rules/noBlankBlockDescriptions.js.map +1 -1
- package/dist/rules/noMissingSyntax.js +58 -15
- package/dist/rules/noMissingSyntax.js.map +1 -1
- package/dist/rules/noMultiAsterisks.js +1 -6
- package/dist/rules/noMultiAsterisks.js.map +1 -1
- package/dist/rules/noRestrictedSyntax.js +17 -4
- package/dist/rules/noRestrictedSyntax.js.map +1 -1
- package/dist/rules/noTypes.js +3 -0
- package/dist/rules/noTypes.js.map +1 -1
- package/dist/rules/noUndefinedTypes.js +61 -20
- package/dist/rules/noUndefinedTypes.js.map +1 -1
- package/dist/rules/requireAsteriskPrefix.js +20 -0
- package/dist/rules/requireAsteriskPrefix.js.map +1 -1
- package/dist/rules/requireDescription.js +6 -2
- package/dist/rules/requireDescription.js.map +1 -1
- package/dist/rules/requireDescriptionCompleteSentence.js +72 -9
- package/dist/rules/requireDescriptionCompleteSentence.js.map +1 -1
- package/dist/rules/requireFileOverview.js +9 -4
- package/dist/rules/requireFileOverview.js.map +1 -1
- package/dist/rules/requireHyphenBeforeParamDescription.js +23 -6
- package/dist/rules/requireHyphenBeforeParamDescription.js.map +1 -1
- package/dist/rules/requireJsdoc.js +144 -28
- package/dist/rules/requireJsdoc.js.map +1 -1
- package/dist/rules/requireParam.js +46 -2
- package/dist/rules/requireParam.js.map +1 -1
- package/dist/rules/requireProperty.js +1 -1
- package/dist/rules/requireProperty.js.map +1 -1
- package/dist/rules/requireReturns.js +2 -2
- package/dist/rules/requireReturns.js.map +1 -1
- package/dist/rules/requireReturnsCheck.js +9 -2
- package/dist/rules/requireReturnsCheck.js.map +1 -1
- package/dist/rules/requireThrows.js +2 -2
- package/dist/rules/requireThrows.js.map +1 -1
- package/dist/rules/requireYields.js +9 -2
- package/dist/rules/requireYields.js.map +1 -1
- package/dist/rules/requireYieldsCheck.js +19 -5
- package/dist/rules/requireYieldsCheck.js.map +1 -1
- package/dist/rules/sortTags.js +67 -9
- package/dist/rules/sortTags.js.map +1 -1
- package/dist/rules/tagLines.js +22 -3
- package/dist/rules/tagLines.js.map +1 -1
- package/dist/rules/textEscaping.js +16 -2
- package/dist/rules/textEscaping.js.map +1 -1
- package/dist/rules/validTypes.js +25 -8
- package/dist/rules/validTypes.js.map +1 -1
- package/dist/utils/hasReturnValue.js +77 -43
- package/dist/utils/hasReturnValue.js.map +1 -1
- package/docs/rules/check-tag-names.md +15 -0
- package/docs/rules/no-missing-syntax.md +6 -0
- package/docs/rules/require-description-complete-sentence.md +525 -289
- package/docs/rules/require-description.md +289 -525
- package/docs/rules/require-file-overview.md +7 -0
- package/docs/rules/require-jsdoc.md +1 -1
- package/docs/rules/require-param-description.md +116 -1694
- package/docs/rules/require-param-name.md +58 -133
- package/docs/rules/require-param-type.md +119 -55
- package/docs/rules/require-param.md +1700 -111
- package/docs/rules/require-property-description.md +39 -79
- package/docs/rules/require-property-name.md +21 -30
- package/docs/rules/require-property-type.md +21 -21
- package/docs/rules/require-property.md +82 -33
- package/docs/rules/require-returns-check.md +636 -747
- package/docs/rules/require-returns-description.md +61 -933
- package/docs/rules/require-returns-type.md +42 -79
- package/docs/rules/require-returns.md +1081 -61
- package/docs/rules/require-yields-check.md +238 -517
- package/docs/rules/require-yields.md +517 -238
- package/docs/rules/valid-types.md +1 -1
- package/docs/settings.md +1 -1
- package/package.json +5 -4
- package/tsconfig.json +2 -3
|
@@ -1,128 +1,88 @@
|
|
|
1
|
-
<a name="user-content-require-property"></a>
|
|
2
|
-
<a name="require-property"></a>
|
|
3
|
-
# <code>require-property</code>
|
|
1
|
+
<a name="user-content-require-property-description"></a>
|
|
2
|
+
<a name="require-property-description"></a>
|
|
3
|
+
# <code>require-property-description</code>
|
|
4
4
|
|
|
5
|
-
* [
|
|
6
|
-
* [
|
|
7
|
-
* [
|
|
8
|
-
* [Passing examples](#user-content-require-property-passing-examples)
|
|
5
|
+
* [Context and settings](#user-content-require-property-description-context-and-settings)
|
|
6
|
+
* [Failing examples](#user-content-require-property-description-failing-examples)
|
|
7
|
+
* [Passing examples](#user-content-require-property-description-passing-examples)
|
|
9
8
|
|
|
10
9
|
|
|
11
|
-
Requires that
|
|
12
|
-
tags when their type is a plain `object`, `Object`, or `PlainObject`.
|
|
10
|
+
Requires that each `@property` tag has a `description` value.
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<a name="user-content-require-property-fixer"></a>
|
|
18
|
-
<a name="require-property-fixer"></a>
|
|
19
|
-
## Fixer
|
|
20
|
-
|
|
21
|
-
The fixer for `require-property` will add an empty `@property`.
|
|
22
|
-
|
|
23
|
-
<a name="user-content-require-property-context-and-settings"></a>
|
|
24
|
-
<a name="require-property-context-and-settings"></a>
|
|
12
|
+
<a name="user-content-require-property-description-context-and-settings"></a>
|
|
13
|
+
<a name="require-property-description-context-and-settings"></a>
|
|
25
14
|
## Context and settings
|
|
26
15
|
|
|
27
16
|
|||
|
|
28
17
|
|---|---|
|
|
29
|
-
|Context|
|
|
30
|
-
|Tags|`
|
|
18
|
+
|Context|everywhere|
|
|
19
|
+
|Tags|`property`|
|
|
20
|
+
|Aliases|`prop`|
|
|
31
21
|
|Recommended|true|
|
|
32
22
|
|
|
33
|
-
<a name="user-content-require-property-failing-examples"></a>
|
|
34
|
-
<a name="require-property-failing-examples"></a>
|
|
23
|
+
<a name="user-content-require-property-description-failing-examples"></a>
|
|
24
|
+
<a name="require-property-description-failing-examples"></a>
|
|
35
25
|
## Failing examples
|
|
36
26
|
|
|
37
27
|
The following patterns are considered problems:
|
|
38
28
|
|
|
39
29
|
````js
|
|
40
30
|
/**
|
|
41
|
-
* @typedef {
|
|
31
|
+
* @typedef {SomeType} SomeTypedef
|
|
32
|
+
* @property foo
|
|
42
33
|
*/
|
|
43
|
-
// Message: Missing JSDoc @property.
|
|
44
|
-
|
|
45
|
-
class Test {
|
|
46
|
-
/**
|
|
47
|
-
* @typedef {object} SomeTypedef
|
|
48
|
-
*/
|
|
49
|
-
quux () {}
|
|
50
|
-
}
|
|
51
|
-
// Message: Missing JSDoc @property.
|
|
34
|
+
// Message: Missing JSDoc @property "foo" description.
|
|
52
35
|
|
|
53
36
|
/**
|
|
54
|
-
* @typedef {
|
|
37
|
+
* @typedef {SomeType} SomeTypedef
|
|
38
|
+
* @prop foo
|
|
55
39
|
*/
|
|
56
40
|
// Settings: {"jsdoc":{"tagNamePreference":{"property":"prop"}}}
|
|
57
|
-
// Message: Missing JSDoc @prop.
|
|
41
|
+
// Message: Missing JSDoc @prop "foo" description.
|
|
58
42
|
|
|
59
43
|
/**
|
|
60
|
-
* @
|
|
44
|
+
* @typedef {SomeType} SomeTypedef
|
|
45
|
+
* @property foo
|
|
61
46
|
*/
|
|
62
|
-
//
|
|
47
|
+
// Settings: {"jsdoc":{"tagNamePreference":{"property":false}}}
|
|
48
|
+
// Message: Unexpected tag `@property`
|
|
63
49
|
````
|
|
64
50
|
|
|
65
51
|
|
|
66
52
|
|
|
67
|
-
<a name="user-content-require-property-passing-examples"></a>
|
|
68
|
-
<a name="require-property-passing-examples"></a>
|
|
53
|
+
<a name="user-content-require-property-description-passing-examples"></a>
|
|
54
|
+
<a name="require-property-description-passing-examples"></a>
|
|
69
55
|
## Passing examples
|
|
70
56
|
|
|
71
57
|
The following patterns are not considered problems:
|
|
72
58
|
|
|
73
59
|
````js
|
|
74
60
|
/**
|
|
75
|
-
*
|
|
76
|
-
*/
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* @property
|
|
80
|
-
*/
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* @typedef {Object} SomeTypedef
|
|
84
|
-
* @property {SomeType} propName Prop description
|
|
61
|
+
* @typedef {SomeType} SomeTypedef
|
|
85
62
|
*/
|
|
86
63
|
|
|
87
64
|
/**
|
|
88
|
-
* @typedef {
|
|
89
|
-
* @
|
|
65
|
+
* @typedef {SomeType} SomeTypedef
|
|
66
|
+
* @property foo Foo.
|
|
90
67
|
*/
|
|
91
|
-
// Settings: {"jsdoc":{"tagNamePreference":{"property":"prop"}}}
|
|
92
68
|
|
|
93
69
|
/**
|
|
94
|
-
* @
|
|
95
|
-
* @property
|
|
96
|
-
* // arbitrary property content
|
|
70
|
+
* @namespace {SomeType} SomeName
|
|
71
|
+
* @property foo Foo.
|
|
97
72
|
*/
|
|
98
73
|
|
|
99
74
|
/**
|
|
100
|
-
* @
|
|
75
|
+
* @class
|
|
76
|
+
* @property foo Foo.
|
|
101
77
|
*/
|
|
102
78
|
|
|
103
79
|
/**
|
|
104
|
-
*
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*/
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* @namespace {object} SomeName
|
|
114
|
-
* @property
|
|
115
|
-
* // arbitrary property content
|
|
116
|
-
*/
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* @typedef {object} SomeTypedef
|
|
120
|
-
* @property someProp
|
|
121
|
-
* @property anotherProp This with a description
|
|
122
|
-
* @property {anotherType} yetAnotherProp This with a type and desc.
|
|
80
|
+
* Typedef with multi-line property type.
|
|
81
|
+
*
|
|
82
|
+
* @typedef {object} MyType
|
|
83
|
+
* @property {function(
|
|
84
|
+
* number
|
|
85
|
+
* )} numberEater Method which takes a number.
|
|
123
86
|
*/
|
|
124
|
-
function quux () {
|
|
125
|
-
|
|
126
|
-
}
|
|
127
87
|
````
|
|
128
88
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
<a name="user-content-require-property-
|
|
2
|
-
<a name="require-property-
|
|
3
|
-
# <code>require-property-
|
|
1
|
+
<a name="user-content-require-property-name"></a>
|
|
2
|
+
<a name="require-property-name"></a>
|
|
3
|
+
# <code>require-property-name</code>
|
|
4
4
|
|
|
5
|
-
* [Context and settings](#user-content-require-property-
|
|
6
|
-
* [Failing examples](#user-content-require-property-
|
|
7
|
-
* [Passing examples](#user-content-require-property-
|
|
5
|
+
* [Context and settings](#user-content-require-property-name-context-and-settings)
|
|
6
|
+
* [Failing examples](#user-content-require-property-name-failing-examples)
|
|
7
|
+
* [Passing examples](#user-content-require-property-name-passing-examples)
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
Requires that
|
|
10
|
+
Requires that all `@property` tags have names.
|
|
11
11
|
|
|
12
|
-
<a name="user-content-require-property-
|
|
13
|
-
<a name="require-property-
|
|
12
|
+
<a name="user-content-require-property-name-context-and-settings"></a>
|
|
13
|
+
<a name="require-property-name-context-and-settings"></a>
|
|
14
14
|
## Context and settings
|
|
15
15
|
|
|
16
16
|
|||
|
|
@@ -20,8 +20,8 @@ Requires that each `@property` tag has a `description` value.
|
|
|
20
20
|
|Aliases|`prop`|
|
|
21
21
|
|Recommended|true|
|
|
22
22
|
|
|
23
|
-
<a name="user-content-require-property-
|
|
24
|
-
<a name="require-property-
|
|
23
|
+
<a name="user-content-require-property-name-failing-examples"></a>
|
|
24
|
+
<a name="require-property-name-failing-examples"></a>
|
|
25
25
|
## Failing examples
|
|
26
26
|
|
|
27
27
|
The following patterns are considered problems:
|
|
@@ -29,16 +29,15 @@ The following patterns are considered problems:
|
|
|
29
29
|
````js
|
|
30
30
|
/**
|
|
31
31
|
* @typedef {SomeType} SomeTypedef
|
|
32
|
-
* @property
|
|
32
|
+
* @property
|
|
33
33
|
*/
|
|
34
|
-
// Message:
|
|
34
|
+
// Message: There must be an identifier after @property type.
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* @typedef {SomeType} SomeTypedef
|
|
38
|
-
* @
|
|
38
|
+
* @property {string}
|
|
39
39
|
*/
|
|
40
|
-
//
|
|
41
|
-
// Message: Missing JSDoc @prop "foo" description.
|
|
40
|
+
// Message: There must be an identifier after @property tag.
|
|
42
41
|
|
|
43
42
|
/**
|
|
44
43
|
* @typedef {SomeType} SomeTypedef
|
|
@@ -50,8 +49,8 @@ The following patterns are considered problems:
|
|
|
50
49
|
|
|
51
50
|
|
|
52
51
|
|
|
53
|
-
<a name="user-content-require-property-
|
|
54
|
-
<a name="require-property-
|
|
52
|
+
<a name="user-content-require-property-name-passing-examples"></a>
|
|
53
|
+
<a name="require-property-name-passing-examples"></a>
|
|
55
54
|
## Passing examples
|
|
56
55
|
|
|
57
56
|
The following patterns are not considered problems:
|
|
@@ -59,30 +58,22 @@ The following patterns are not considered problems:
|
|
|
59
58
|
````js
|
|
60
59
|
/**
|
|
61
60
|
* @typedef {SomeType} SomeTypedef
|
|
61
|
+
* @property foo
|
|
62
62
|
*/
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* @typedef {SomeType} SomeTypedef
|
|
66
|
-
* @property foo
|
|
66
|
+
* @property {string} foo
|
|
67
67
|
*/
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
70
|
* @namespace {SomeType} SomeName
|
|
71
|
-
* @property foo
|
|
71
|
+
* @property {string} foo
|
|
72
72
|
*/
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
75
|
* @class
|
|
76
|
-
* @property foo
|
|
77
|
-
*/
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Typedef with multi-line property type.
|
|
81
|
-
*
|
|
82
|
-
* @typedef {object} MyType
|
|
83
|
-
* @property {function(
|
|
84
|
-
* number
|
|
85
|
-
* )} numberEater Method which takes a number.
|
|
76
|
+
* @property {string} foo
|
|
86
77
|
*/
|
|
87
78
|
````
|
|
88
79
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
<a name="user-content-require-property-
|
|
2
|
-
<a name="require-property-
|
|
3
|
-
# <code>require-property-
|
|
1
|
+
<a name="user-content-require-property-type"></a>
|
|
2
|
+
<a name="require-property-type"></a>
|
|
3
|
+
# <code>require-property-type</code>
|
|
4
4
|
|
|
5
|
-
* [Context and settings](#user-content-require-property-
|
|
6
|
-
* [Failing examples](#user-content-require-property-
|
|
7
|
-
* [Passing examples](#user-content-require-property-
|
|
5
|
+
* [Context and settings](#user-content-require-property-type-context-and-settings)
|
|
6
|
+
* [Failing examples](#user-content-require-property-type-failing-examples)
|
|
7
|
+
* [Passing examples](#user-content-require-property-type-passing-examples)
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
Requires that
|
|
10
|
+
Requires that each `@property` tag has a type value (within curly brackets).
|
|
11
11
|
|
|
12
|
-
<a name="user-content-require-property-
|
|
13
|
-
<a name="require-property-
|
|
12
|
+
<a name="user-content-require-property-type-context-and-settings"></a>
|
|
13
|
+
<a name="require-property-type-context-and-settings"></a>
|
|
14
14
|
## Context and settings
|
|
15
15
|
|
|
16
16
|
|||
|
|
@@ -20,8 +20,8 @@ Requires that all `@property` tags have names.
|
|
|
20
20
|
|Aliases|`prop`|
|
|
21
21
|
|Recommended|true|
|
|
22
22
|
|
|
23
|
-
<a name="user-content-require-property-
|
|
24
|
-
<a name="require-property-
|
|
23
|
+
<a name="user-content-require-property-type-failing-examples"></a>
|
|
24
|
+
<a name="require-property-type-failing-examples"></a>
|
|
25
25
|
## Failing examples
|
|
26
26
|
|
|
27
27
|
The following patterns are considered problems:
|
|
@@ -29,15 +29,16 @@ The following patterns are considered problems:
|
|
|
29
29
|
````js
|
|
30
30
|
/**
|
|
31
31
|
* @typedef {SomeType} SomeTypedef
|
|
32
|
-
* @property
|
|
32
|
+
* @property foo
|
|
33
33
|
*/
|
|
34
|
-
// Message:
|
|
34
|
+
// Message: Missing JSDoc @property "foo" type.
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* @typedef {SomeType} SomeTypedef
|
|
38
|
-
* @
|
|
38
|
+
* @prop foo
|
|
39
39
|
*/
|
|
40
|
-
//
|
|
40
|
+
// Settings: {"jsdoc":{"tagNamePreference":{"property":"prop"}}}
|
|
41
|
+
// Message: Missing JSDoc @prop "foo" type.
|
|
41
42
|
|
|
42
43
|
/**
|
|
43
44
|
* @typedef {SomeType} SomeTypedef
|
|
@@ -49,8 +50,8 @@ The following patterns are considered problems:
|
|
|
49
50
|
|
|
50
51
|
|
|
51
52
|
|
|
52
|
-
<a name="user-content-require-property-
|
|
53
|
-
<a name="require-property-
|
|
53
|
+
<a name="user-content-require-property-type-passing-examples"></a>
|
|
54
|
+
<a name="require-property-type-passing-examples"></a>
|
|
54
55
|
## Passing examples
|
|
55
56
|
|
|
56
57
|
The following patterns are not considered problems:
|
|
@@ -58,22 +59,21 @@ The following patterns are not considered problems:
|
|
|
58
59
|
````js
|
|
59
60
|
/**
|
|
60
61
|
* @typedef {SomeType} SomeTypedef
|
|
61
|
-
* @property foo
|
|
62
62
|
*/
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* @typedef {SomeType} SomeTypedef
|
|
66
|
-
* @property {
|
|
66
|
+
* @property {number} foo
|
|
67
67
|
*/
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
70
|
* @namespace {SomeType} SomeName
|
|
71
|
-
* @property {
|
|
71
|
+
* @property {number} foo
|
|
72
72
|
*/
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
75
|
* @class
|
|
76
|
-
* @property {
|
|
76
|
+
* @property {number} foo
|
|
77
77
|
*/
|
|
78
78
|
````
|
|
79
79
|
|
|
@@ -1,79 +1,128 @@
|
|
|
1
|
-
<a name="user-content-require-property
|
|
2
|
-
<a name="require-property
|
|
3
|
-
# <code>require-property
|
|
1
|
+
<a name="user-content-require-property"></a>
|
|
2
|
+
<a name="require-property"></a>
|
|
3
|
+
# <code>require-property</code>
|
|
4
4
|
|
|
5
|
-
* [
|
|
6
|
-
* [
|
|
7
|
-
* [
|
|
5
|
+
* [Fixer](#user-content-require-property-fixer)
|
|
6
|
+
* [Context and settings](#user-content-require-property-context-and-settings)
|
|
7
|
+
* [Failing examples](#user-content-require-property-failing-examples)
|
|
8
|
+
* [Passing examples](#user-content-require-property-passing-examples)
|
|
8
9
|
|
|
9
10
|
|
|
10
|
-
Requires that
|
|
11
|
+
Requires that all `@typedef` and `@namespace` tags have `@property`
|
|
12
|
+
tags when their type is a plain `object`, `Object`, or `PlainObject`.
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
<
|
|
14
|
+
Note that any other type, including a subtype of object such as
|
|
15
|
+
`object<string, string>`, will not be reported.
|
|
16
|
+
|
|
17
|
+
<a name="user-content-require-property-fixer"></a>
|
|
18
|
+
<a name="require-property-fixer"></a>
|
|
19
|
+
## Fixer
|
|
20
|
+
|
|
21
|
+
The fixer for `require-property` will add an empty `@property`.
|
|
22
|
+
|
|
23
|
+
<a name="user-content-require-property-context-and-settings"></a>
|
|
24
|
+
<a name="require-property-context-and-settings"></a>
|
|
14
25
|
## Context and settings
|
|
15
26
|
|
|
16
27
|
|||
|
|
17
28
|
|---|---|
|
|
18
|
-
|Context|
|
|
19
|
-
|Tags|`
|
|
20
|
-
|Aliases|`prop`|
|
|
29
|
+
|Context|Everywhere|
|
|
30
|
+
|Tags|`typedef`, `namespace`|
|
|
21
31
|
|Recommended|true|
|
|
22
32
|
|
|
23
|
-
<a name="user-content-require-property-
|
|
24
|
-
<a name="require-property-
|
|
33
|
+
<a name="user-content-require-property-failing-examples"></a>
|
|
34
|
+
<a name="require-property-failing-examples"></a>
|
|
25
35
|
## Failing examples
|
|
26
36
|
|
|
27
37
|
The following patterns are considered problems:
|
|
28
38
|
|
|
29
39
|
````js
|
|
30
40
|
/**
|
|
31
|
-
* @typedef {
|
|
32
|
-
* @property foo
|
|
41
|
+
* @typedef {object} SomeTypedef
|
|
33
42
|
*/
|
|
34
|
-
// Message: Missing JSDoc @property
|
|
43
|
+
// Message: Missing JSDoc @property.
|
|
44
|
+
|
|
45
|
+
class Test {
|
|
46
|
+
/**
|
|
47
|
+
* @typedef {object} SomeTypedef
|
|
48
|
+
*/
|
|
49
|
+
quux () {}
|
|
50
|
+
}
|
|
51
|
+
// Message: Missing JSDoc @property.
|
|
35
52
|
|
|
36
53
|
/**
|
|
37
|
-
* @typedef {
|
|
38
|
-
* @prop foo
|
|
54
|
+
* @typedef {PlainObject} SomeTypedef
|
|
39
55
|
*/
|
|
40
56
|
// Settings: {"jsdoc":{"tagNamePreference":{"property":"prop"}}}
|
|
41
|
-
// Message: Missing JSDoc @prop
|
|
57
|
+
// Message: Missing JSDoc @prop.
|
|
42
58
|
|
|
43
59
|
/**
|
|
44
|
-
* @
|
|
45
|
-
* @property foo
|
|
60
|
+
* @namespace {Object} SomeName
|
|
46
61
|
*/
|
|
47
|
-
//
|
|
48
|
-
// Message: Unexpected tag `@property`
|
|
62
|
+
// Message: Missing JSDoc @property.
|
|
49
63
|
````
|
|
50
64
|
|
|
51
65
|
|
|
52
66
|
|
|
53
|
-
<a name="user-content-require-property-
|
|
54
|
-
<a name="require-property-
|
|
67
|
+
<a name="user-content-require-property-passing-examples"></a>
|
|
68
|
+
<a name="require-property-passing-examples"></a>
|
|
55
69
|
## Passing examples
|
|
56
70
|
|
|
57
71
|
The following patterns are not considered problems:
|
|
58
72
|
|
|
59
73
|
````js
|
|
60
74
|
/**
|
|
61
|
-
*
|
|
75
|
+
*
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* @property
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @typedef {Object} SomeTypedef
|
|
84
|
+
* @property {SomeType} propName Prop description
|
|
85
|
+
*/
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @typedef {object} SomeTypedef
|
|
89
|
+
* @prop {SomeType} propName Prop description
|
|
90
|
+
*/
|
|
91
|
+
// Settings: {"jsdoc":{"tagNamePreference":{"property":"prop"}}}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* @typedef {object} SomeTypedef
|
|
95
|
+
* @property
|
|
96
|
+
* // arbitrary property content
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @typedef {object<string, string>} SomeTypedef
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* @typedef {string} SomeTypedef
|
|
62
105
|
*/
|
|
63
106
|
|
|
64
107
|
/**
|
|
65
|
-
* @
|
|
66
|
-
* @property {
|
|
108
|
+
* @namespace {object} SomeName
|
|
109
|
+
* @property {SomeType} propName Prop description
|
|
67
110
|
*/
|
|
68
111
|
|
|
69
112
|
/**
|
|
70
|
-
* @namespace {
|
|
71
|
-
* @property
|
|
113
|
+
* @namespace {object} SomeName
|
|
114
|
+
* @property
|
|
115
|
+
* // arbitrary property content
|
|
72
116
|
*/
|
|
73
117
|
|
|
74
118
|
/**
|
|
75
|
-
* @
|
|
76
|
-
* @property
|
|
119
|
+
* @typedef {object} SomeTypedef
|
|
120
|
+
* @property someProp
|
|
121
|
+
* @property anotherProp This with a description
|
|
122
|
+
* @property {anotherType} yetAnotherProp This with a type and desc.
|
|
77
123
|
*/
|
|
124
|
+
function quux () {
|
|
125
|
+
|
|
126
|
+
}
|
|
78
127
|
````
|
|
79
128
|
|