eslint-plugin-tsdoc-require-2 1.0.2 → 1.0.3
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 +115 -73
- package/dist/internal/require-tag-factory.cjs +309 -0
- package/dist/internal/require-tag-factory.d.ts +26 -0
- package/dist/internal/require-tag-factory.d.ts.map +1 -0
- package/dist/internal/require-tag-factory.js +302 -0
- package/dist/internal/require-tag-factory.js.map +1 -0
- package/dist/plugin.cjs +33 -11
- package/dist/plugin.d.ts +2 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +33 -11
- package/dist/plugin.js.map +1 -1
- package/dist/rules/require-tag-rules.cjs +88 -0
- package/dist/rules/require-tag-rules.d.ts +35 -0
- package/dist/rules/require-tag-rules.d.ts.map +1 -0
- package/dist/rules/require-tag-rules.js +85 -0
- package/dist/rules/require-tag-rules.js.map +1 -0
- package/dist/rules/require.cjs +16 -3
- package/dist/rules/require.d.ts +1 -0
- package/dist/rules/require.d.ts.map +1 -1
- package/dist/rules/require.js +16 -3
- package/dist/rules/require.js.map +1 -1
- package/dist/rules/required-tags/require-alpha.cjs +32 -0
- package/dist/rules/required-tags/require-alpha.d.ts +4 -0
- package/dist/rules/required-tags/require-alpha.d.ts.map +1 -0
- package/dist/rules/required-tags/require-alpha.js +30 -0
- package/dist/rules/required-tags/require-alpha.js.map +1 -0
- package/dist/rules/required-tags/require-beta.cjs +32 -0
- package/dist/rules/required-tags/require-beta.d.ts +4 -0
- package/dist/rules/required-tags/require-beta.d.ts.map +1 -0
- package/dist/rules/required-tags/require-beta.js +30 -0
- package/dist/rules/required-tags/require-beta.js.map +1 -0
- package/dist/rules/required-tags/require-decorator.cjs +32 -0
- package/dist/rules/required-tags/require-decorator.d.ts +4 -0
- package/dist/rules/required-tags/require-decorator.d.ts.map +1 -0
- package/dist/rules/required-tags/require-decorator.js +30 -0
- package/dist/rules/required-tags/require-decorator.js.map +1 -0
- package/dist/rules/required-tags/require-default-value.cjs +32 -0
- package/dist/rules/required-tags/require-default-value.d.ts +4 -0
- package/dist/rules/required-tags/require-default-value.d.ts.map +1 -0
- package/dist/rules/required-tags/require-default-value.js +30 -0
- package/dist/rules/required-tags/require-default-value.js.map +1 -0
- package/dist/rules/required-tags/require-deprecated.cjs +32 -0
- package/dist/rules/required-tags/require-deprecated.d.ts +4 -0
- package/dist/rules/required-tags/require-deprecated.d.ts.map +1 -0
- package/dist/rules/required-tags/require-deprecated.js +30 -0
- package/dist/rules/required-tags/require-deprecated.js.map +1 -0
- package/dist/rules/required-tags/require-event-property.cjs +32 -0
- package/dist/rules/required-tags/require-event-property.d.ts +4 -0
- package/dist/rules/required-tags/require-event-property.d.ts.map +1 -0
- package/dist/rules/required-tags/require-event-property.js +30 -0
- package/dist/rules/required-tags/require-event-property.js.map +1 -0
- package/dist/rules/required-tags/require-example.cjs +32 -0
- package/dist/rules/required-tags/require-example.d.ts +4 -0
- package/dist/rules/required-tags/require-example.d.ts.map +1 -0
- package/dist/rules/required-tags/require-example.js +30 -0
- package/dist/rules/required-tags/require-example.js.map +1 -0
- package/dist/rules/required-tags/require-experimental.cjs +32 -0
- package/dist/rules/required-tags/require-experimental.d.ts +4 -0
- package/dist/rules/required-tags/require-experimental.d.ts.map +1 -0
- package/dist/rules/required-tags/require-experimental.js +30 -0
- package/dist/rules/required-tags/require-experimental.js.map +1 -0
- package/dist/rules/required-tags/require-inherit-doc.cjs +32 -0
- package/dist/rules/required-tags/require-inherit-doc.d.ts +4 -0
- package/dist/rules/required-tags/require-inherit-doc.d.ts.map +1 -0
- package/dist/rules/required-tags/require-inherit-doc.js +30 -0
- package/dist/rules/required-tags/require-inherit-doc.js.map +1 -0
- package/dist/rules/required-tags/require-internal.cjs +32 -0
- package/dist/rules/required-tags/require-internal.d.ts +4 -0
- package/dist/rules/required-tags/require-internal.d.ts.map +1 -0
- package/dist/rules/required-tags/require-internal.js +30 -0
- package/dist/rules/required-tags/require-internal.js.map +1 -0
- package/dist/rules/required-tags/require-label.cjs +32 -0
- package/dist/rules/required-tags/require-label.d.ts +4 -0
- package/dist/rules/required-tags/require-label.d.ts.map +1 -0
- package/dist/rules/required-tags/require-label.js +30 -0
- package/dist/rules/required-tags/require-label.js.map +1 -0
- package/dist/rules/required-tags/require-link.cjs +32 -0
- package/dist/rules/required-tags/require-link.d.ts +4 -0
- package/dist/rules/required-tags/require-link.d.ts.map +1 -0
- package/dist/rules/required-tags/require-link.js +30 -0
- package/dist/rules/required-tags/require-link.js.map +1 -0
- package/dist/rules/required-tags/require-override.cjs +32 -0
- package/dist/rules/required-tags/require-override.d.ts +4 -0
- package/dist/rules/required-tags/require-override.d.ts.map +1 -0
- package/dist/rules/required-tags/require-override.js +30 -0
- package/dist/rules/required-tags/require-override.js.map +1 -0
- package/dist/rules/required-tags/require-package-documentation.cjs +32 -0
- package/dist/rules/required-tags/require-package-documentation.d.ts +4 -0
- package/dist/rules/required-tags/require-package-documentation.d.ts.map +1 -0
- package/dist/rules/required-tags/require-package-documentation.js +30 -0
- package/dist/rules/required-tags/require-package-documentation.js.map +1 -0
- package/dist/rules/required-tags/require-param.cjs +32 -0
- package/dist/rules/required-tags/require-param.d.ts +4 -0
- package/dist/rules/required-tags/require-param.d.ts.map +1 -0
- package/dist/rules/required-tags/require-param.js +30 -0
- package/dist/rules/required-tags/require-param.js.map +1 -0
- package/dist/rules/required-tags/require-private-remarks.cjs +32 -0
- package/dist/rules/required-tags/require-private-remarks.d.ts +4 -0
- package/dist/rules/required-tags/require-private-remarks.d.ts.map +1 -0
- package/dist/rules/required-tags/require-private-remarks.js +30 -0
- package/dist/rules/required-tags/require-private-remarks.js.map +1 -0
- package/dist/rules/required-tags/require-public.cjs +32 -0
- package/dist/rules/required-tags/require-public.d.ts +4 -0
- package/dist/rules/required-tags/require-public.d.ts.map +1 -0
- package/dist/rules/required-tags/require-public.js +30 -0
- package/dist/rules/required-tags/require-public.js.map +1 -0
- package/dist/rules/required-tags/require-readonly.cjs +32 -0
- package/dist/rules/required-tags/require-readonly.d.ts +4 -0
- package/dist/rules/required-tags/require-readonly.d.ts.map +1 -0
- package/dist/rules/required-tags/require-readonly.js +30 -0
- package/dist/rules/required-tags/require-readonly.js.map +1 -0
- package/dist/rules/required-tags/require-remarks.cjs +32 -0
- package/dist/rules/required-tags/require-remarks.d.ts +4 -0
- package/dist/rules/required-tags/require-remarks.d.ts.map +1 -0
- package/dist/rules/required-tags/require-remarks.js +30 -0
- package/dist/rules/required-tags/require-remarks.js.map +1 -0
- package/dist/rules/required-tags/require-returns.cjs +32 -0
- package/dist/rules/required-tags/require-returns.d.ts +4 -0
- package/dist/rules/required-tags/require-returns.d.ts.map +1 -0
- package/dist/rules/required-tags/require-returns.js +30 -0
- package/dist/rules/required-tags/require-returns.js.map +1 -0
- package/dist/rules/required-tags/require-sealed.cjs +32 -0
- package/dist/rules/required-tags/require-sealed.d.ts +4 -0
- package/dist/rules/required-tags/require-sealed.d.ts.map +1 -0
- package/dist/rules/required-tags/require-sealed.js +30 -0
- package/dist/rules/required-tags/require-sealed.js.map +1 -0
- package/dist/rules/required-tags/require-see.cjs +32 -0
- package/dist/rules/required-tags/require-see.d.ts +4 -0
- package/dist/rules/required-tags/require-see.d.ts.map +1 -0
- package/dist/rules/required-tags/require-see.js +30 -0
- package/dist/rules/required-tags/require-see.js.map +1 -0
- package/dist/rules/required-tags/require-throws.cjs +32 -0
- package/dist/rules/required-tags/require-throws.d.ts +4 -0
- package/dist/rules/required-tags/require-throws.d.ts.map +1 -0
- package/dist/rules/required-tags/require-throws.js +30 -0
- package/dist/rules/required-tags/require-throws.js.map +1 -0
- package/dist/rules/required-tags/require-type-param.cjs +32 -0
- package/dist/rules/required-tags/require-type-param.d.ts +4 -0
- package/dist/rules/required-tags/require-type-param.d.ts.map +1 -0
- package/dist/rules/required-tags/require-type-param.js +30 -0
- package/dist/rules/required-tags/require-type-param.js.map +1 -0
- package/dist/rules/required-tags/require-virtual.cjs +32 -0
- package/dist/rules/required-tags/require-virtual.d.ts +4 -0
- package/dist/rules/required-tags/require-virtual.d.ts.map +1 -0
- package/dist/rules/required-tags/require-virtual.js +30 -0
- package/dist/rules/required-tags/require-virtual.js.map +1 -0
- package/docs/rules/require.md +39 -5
- package/docs/rules/required-tags/require-alpha.md +57 -0
- package/docs/rules/required-tags/require-beta.md +57 -0
- package/docs/rules/required-tags/require-decorator.md +57 -0
- package/docs/rules/required-tags/require-default-value.md +57 -0
- package/docs/rules/required-tags/require-deprecated.md +57 -0
- package/docs/rules/required-tags/require-event-property.md +57 -0
- package/docs/rules/required-tags/require-example.md +57 -0
- package/docs/rules/required-tags/require-experimental.md +57 -0
- package/docs/rules/required-tags/require-inherit-doc.md +57 -0
- package/docs/rules/required-tags/require-internal.md +57 -0
- package/docs/rules/required-tags/require-label.md +57 -0
- package/docs/rules/required-tags/require-link.md +57 -0
- package/docs/rules/required-tags/require-override.md +57 -0
- package/docs/rules/required-tags/require-package-documentation.md +57 -0
- package/docs/rules/required-tags/require-param.md +57 -0
- package/docs/rules/required-tags/require-private-remarks.md +57 -0
- package/docs/rules/required-tags/require-public.md +57 -0
- package/docs/rules/required-tags/require-readonly.md +57 -0
- package/docs/rules/required-tags/require-remarks.md +57 -0
- package/docs/rules/required-tags/require-returns.md +57 -0
- package/docs/rules/required-tags/require-sealed.md +57 -0
- package/docs/rules/required-tags/require-see.md +57 -0
- package/docs/rules/required-tags/require-throws.md +57 -0
- package/docs/rules/required-tags/require-type-param.md +57 -0
- package/docs/rules/required-tags/require-virtual.md +57 -0
- package/docs/rules/required-tags.md +76 -0
- package/package.json +23 -11
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# tsdoc-require-2/require-public
|
|
2
|
+
|
|
3
|
+
Require the `@public` tag in TSDoc blocks for exported declarations.
|
|
4
|
+
|
|
5
|
+
## Rule details
|
|
6
|
+
|
|
7
|
+
By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@public`. Set `includeNonExported: true` to also check non-exported top-level declarations.
|
|
8
|
+
|
|
9
|
+
It supports the same options as [`tsdoc-require-2/require`](../require.md):
|
|
10
|
+
|
|
11
|
+
- `enforceFor`: choose which declaration kinds are checked.
|
|
12
|
+
- `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"rules": {
|
|
19
|
+
"tsdoc-require-2/require-public": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
"enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### ❌ Incorrect
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
/**
|
|
35
|
+
* Performs a task.
|
|
36
|
+
*/
|
|
37
|
+
export function runTask(value: string): string {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### ✅ Correct
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
/**
|
|
46
|
+
* Performs a task.
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
49
|
+
export function runTask(value: string): string {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Further reading
|
|
55
|
+
|
|
56
|
+
- TSDoc tag reference: <https://tsdoc.org/pages/tags/public/>
|
|
57
|
+
- Rule index: [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# tsdoc-require-2/require-readonly
|
|
2
|
+
|
|
3
|
+
Require the `@readonly` tag in TSDoc blocks for exported declarations.
|
|
4
|
+
|
|
5
|
+
## Rule details
|
|
6
|
+
|
|
7
|
+
By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@readonly`. Set `includeNonExported: true` to also check non-exported top-level declarations.
|
|
8
|
+
|
|
9
|
+
It supports the same options as [`tsdoc-require-2/require`](../require.md):
|
|
10
|
+
|
|
11
|
+
- `enforceFor`: choose which declaration kinds are checked.
|
|
12
|
+
- `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"rules": {
|
|
19
|
+
"tsdoc-require-2/require-readonly": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
"enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### ❌ Incorrect
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
/**
|
|
35
|
+
* Performs a task.
|
|
36
|
+
*/
|
|
37
|
+
export function runTask(value: string): string {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### ✅ Correct
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
/**
|
|
46
|
+
* Performs a task.
|
|
47
|
+
* @readonly
|
|
48
|
+
*/
|
|
49
|
+
export function runTask(value: string): string {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Further reading
|
|
55
|
+
|
|
56
|
+
- TSDoc tag reference: <https://tsdoc.org/pages/tags/readonly/>
|
|
57
|
+
- Rule index: [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# tsdoc-require-2/require-remarks
|
|
2
|
+
|
|
3
|
+
Require the `@remarks` tag in TSDoc blocks for exported declarations.
|
|
4
|
+
|
|
5
|
+
## Rule details
|
|
6
|
+
|
|
7
|
+
By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@remarks`. Set `includeNonExported: true` to also check non-exported top-level declarations.
|
|
8
|
+
|
|
9
|
+
It supports the same options as [`tsdoc-require-2/require`](../require.md):
|
|
10
|
+
|
|
11
|
+
- `enforceFor`: choose which declaration kinds are checked.
|
|
12
|
+
- `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"rules": {
|
|
19
|
+
"tsdoc-require-2/require-remarks": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
"enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### ❌ Incorrect
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
/**
|
|
35
|
+
* Performs a task.
|
|
36
|
+
*/
|
|
37
|
+
export function runTask(value: string): string {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### ✅ Correct
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
/**
|
|
46
|
+
* Performs a task.
|
|
47
|
+
* @remarks
|
|
48
|
+
*/
|
|
49
|
+
export function runTask(value: string): string {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Further reading
|
|
55
|
+
|
|
56
|
+
- TSDoc tag reference: <https://tsdoc.org/pages/tags/remarks/>
|
|
57
|
+
- Rule index: [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# tsdoc-require-2/require-returns
|
|
2
|
+
|
|
3
|
+
Require the `@returns` tag in TSDoc blocks for exported declarations.
|
|
4
|
+
|
|
5
|
+
## Rule details
|
|
6
|
+
|
|
7
|
+
By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@returns`. Set `includeNonExported: true` to also check non-exported top-level declarations.
|
|
8
|
+
|
|
9
|
+
It supports the same options as [`tsdoc-require-2/require`](../require.md):
|
|
10
|
+
|
|
11
|
+
- `enforceFor`: choose which declaration kinds are checked.
|
|
12
|
+
- `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"rules": {
|
|
19
|
+
"tsdoc-require-2/require-returns": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
"enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### ❌ Incorrect
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
/**
|
|
35
|
+
* Performs a task.
|
|
36
|
+
*/
|
|
37
|
+
export function runTask(value: string): string {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### ✅ Correct
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
/**
|
|
46
|
+
* Performs a task.
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
export function runTask(value: string): string {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Further reading
|
|
55
|
+
|
|
56
|
+
- TSDoc tag reference: <https://tsdoc.org/pages/tags/returns/>
|
|
57
|
+
- Rule index: [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# tsdoc-require-2/require-sealed
|
|
2
|
+
|
|
3
|
+
Require the `@sealed` tag in TSDoc blocks for exported declarations.
|
|
4
|
+
|
|
5
|
+
## Rule details
|
|
6
|
+
|
|
7
|
+
By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@sealed`. Set `includeNonExported: true` to also check non-exported top-level declarations.
|
|
8
|
+
|
|
9
|
+
It supports the same options as [`tsdoc-require-2/require`](../require.md):
|
|
10
|
+
|
|
11
|
+
- `enforceFor`: choose which declaration kinds are checked.
|
|
12
|
+
- `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"rules": {
|
|
19
|
+
"tsdoc-require-2/require-sealed": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
"enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### ❌ Incorrect
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
/**
|
|
35
|
+
* Performs a task.
|
|
36
|
+
*/
|
|
37
|
+
export function runTask(value: string): string {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### ✅ Correct
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
/**
|
|
46
|
+
* Performs a task.
|
|
47
|
+
* @sealed
|
|
48
|
+
*/
|
|
49
|
+
export function runTask(value: string): string {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Further reading
|
|
55
|
+
|
|
56
|
+
- TSDoc tag reference: <https://tsdoc.org/pages/tags/sealed/>
|
|
57
|
+
- Rule index: [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# tsdoc-require-2/require-see
|
|
2
|
+
|
|
3
|
+
Require the `@see` tag in TSDoc blocks for exported declarations.
|
|
4
|
+
|
|
5
|
+
## Rule details
|
|
6
|
+
|
|
7
|
+
By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@see`. Set `includeNonExported: true` to also check non-exported top-level declarations.
|
|
8
|
+
|
|
9
|
+
It supports the same options as [`tsdoc-require-2/require`](../require.md):
|
|
10
|
+
|
|
11
|
+
- `enforceFor`: choose which declaration kinds are checked.
|
|
12
|
+
- `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"rules": {
|
|
19
|
+
"tsdoc-require-2/require-see": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
"enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### ❌ Incorrect
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
/**
|
|
35
|
+
* Performs a task.
|
|
36
|
+
*/
|
|
37
|
+
export function runTask(value: string): string {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### ✅ Correct
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
/**
|
|
46
|
+
* Performs a task.
|
|
47
|
+
* @see
|
|
48
|
+
*/
|
|
49
|
+
export function runTask(value: string): string {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Further reading
|
|
55
|
+
|
|
56
|
+
- TSDoc tag reference: <https://tsdoc.org/pages/tags/see/>
|
|
57
|
+
- Rule index: [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# tsdoc-require-2/require-throws
|
|
2
|
+
|
|
3
|
+
Require the `@throws` tag in TSDoc blocks for exported declarations.
|
|
4
|
+
|
|
5
|
+
## Rule details
|
|
6
|
+
|
|
7
|
+
By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@throws`. Set `includeNonExported: true` to also check non-exported top-level declarations.
|
|
8
|
+
|
|
9
|
+
It supports the same options as [`tsdoc-require-2/require`](../require.md):
|
|
10
|
+
|
|
11
|
+
- `enforceFor`: choose which declaration kinds are checked.
|
|
12
|
+
- `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"rules": {
|
|
19
|
+
"tsdoc-require-2/require-throws": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
"enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### ❌ Incorrect
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
/**
|
|
35
|
+
* Performs a task.
|
|
36
|
+
*/
|
|
37
|
+
export function runTask(value: string): string {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### ✅ Correct
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
/**
|
|
46
|
+
* Performs a task.
|
|
47
|
+
* @throws
|
|
48
|
+
*/
|
|
49
|
+
export function runTask(value: string): string {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Further reading
|
|
55
|
+
|
|
56
|
+
- TSDoc tag reference: <https://tsdoc.org/pages/tags/throws/>
|
|
57
|
+
- Rule index: [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# tsdoc-require-2/require-type-param
|
|
2
|
+
|
|
3
|
+
Require the `@typeParam` tag in TSDoc blocks for exported declarations.
|
|
4
|
+
|
|
5
|
+
## Rule details
|
|
6
|
+
|
|
7
|
+
By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@typeParam`. Set `includeNonExported: true` to also check non-exported top-level declarations.
|
|
8
|
+
|
|
9
|
+
It supports the same options as [`tsdoc-require-2/require`](../require.md):
|
|
10
|
+
|
|
11
|
+
- `enforceFor`: choose which declaration kinds are checked.
|
|
12
|
+
- `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"rules": {
|
|
19
|
+
"tsdoc-require-2/require-type-param": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
"enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### ❌ Incorrect
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
/**
|
|
35
|
+
* Performs a task.
|
|
36
|
+
*/
|
|
37
|
+
export function runTask(value: string): string {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### ✅ Correct
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
/**
|
|
46
|
+
* Performs a task.
|
|
47
|
+
* @typeParam
|
|
48
|
+
*/
|
|
49
|
+
export function runTask(value: string): string {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Further reading
|
|
55
|
+
|
|
56
|
+
- TSDoc tag reference: <https://tsdoc.org/pages/tags/typeparam/>
|
|
57
|
+
- Rule index: [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# tsdoc-require-2/require-virtual
|
|
2
|
+
|
|
3
|
+
Require the `@virtual` tag in TSDoc blocks for exported declarations.
|
|
4
|
+
|
|
5
|
+
## Rule details
|
|
6
|
+
|
|
7
|
+
By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@virtual`. Set `includeNonExported: true` to also check non-exported top-level declarations.
|
|
8
|
+
|
|
9
|
+
It supports the same options as [`tsdoc-require-2/require`](../require.md):
|
|
10
|
+
|
|
11
|
+
- `enforceFor`: choose which declaration kinds are checked.
|
|
12
|
+
- `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"rules": {
|
|
19
|
+
"tsdoc-require-2/require-virtual": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
"enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### ❌ Incorrect
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
/**
|
|
35
|
+
* Performs a task.
|
|
36
|
+
*/
|
|
37
|
+
export function runTask(value: string): string {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### ✅ Correct
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
/**
|
|
46
|
+
* Performs a task.
|
|
47
|
+
* @virtual
|
|
48
|
+
*/
|
|
49
|
+
export function runTask(value: string): string {
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Further reading
|
|
55
|
+
|
|
56
|
+
- TSDoc tag reference: <https://tsdoc.org/pages/tags/virtual/>
|
|
57
|
+
- Rule index: [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# required-tags
|
|
2
|
+
|
|
3
|
+
Require specific TSDoc tags to exist in TSDoc blocks for exported declarations, with optional enforcement for non-exported top-level declarations.
|
|
4
|
+
|
|
5
|
+
## Rules in this family
|
|
6
|
+
|
|
7
|
+
- [`tsdoc-require-2/require-alpha`](./required-tags/require-alpha.md)
|
|
8
|
+
- [`tsdoc-require-2/require-beta`](./required-tags/require-beta.md)
|
|
9
|
+
- [`tsdoc-require-2/require-decorator`](./required-tags/require-decorator.md)
|
|
10
|
+
- [`tsdoc-require-2/require-default-value`](./required-tags/require-default-value.md)
|
|
11
|
+
- [`tsdoc-require-2/require-deprecated`](./required-tags/require-deprecated.md)
|
|
12
|
+
- [`tsdoc-require-2/require-event-property`](./required-tags/require-event-property.md)
|
|
13
|
+
- [`tsdoc-require-2/require-example`](./required-tags/require-example.md)
|
|
14
|
+
- [`tsdoc-require-2/require-experimental`](./required-tags/require-experimental.md)
|
|
15
|
+
- [`tsdoc-require-2/require-inherit-doc`](./required-tags/require-inherit-doc.md)
|
|
16
|
+
- [`tsdoc-require-2/require-internal`](./required-tags/require-internal.md)
|
|
17
|
+
- [`tsdoc-require-2/require-label`](./required-tags/require-label.md)
|
|
18
|
+
- [`tsdoc-require-2/require-link`](./required-tags/require-link.md)
|
|
19
|
+
- [`tsdoc-require-2/require-override`](./required-tags/require-override.md)
|
|
20
|
+
- [`tsdoc-require-2/require-package-documentation`](./required-tags/require-package-documentation.md)
|
|
21
|
+
- [`tsdoc-require-2/require-param`](./required-tags/require-param.md)
|
|
22
|
+
- [`tsdoc-require-2/require-private-remarks`](./required-tags/require-private-remarks.md)
|
|
23
|
+
- [`tsdoc-require-2/require-public`](./required-tags/require-public.md)
|
|
24
|
+
- [`tsdoc-require-2/require-readonly`](./required-tags/require-readonly.md)
|
|
25
|
+
- [`tsdoc-require-2/require-remarks`](./required-tags/require-remarks.md)
|
|
26
|
+
- [`tsdoc-require-2/require-returns`](./required-tags/require-returns.md)
|
|
27
|
+
- [`tsdoc-require-2/require-sealed`](./required-tags/require-sealed.md)
|
|
28
|
+
- [`tsdoc-require-2/require-see`](./required-tags/require-see.md)
|
|
29
|
+
- [`tsdoc-require-2/require-throws`](./required-tags/require-throws.md)
|
|
30
|
+
- [`tsdoc-require-2/require-type-param`](./required-tags/require-type-param.md)
|
|
31
|
+
- [`tsdoc-require-2/require-virtual`](./required-tags/require-virtual.md)
|
|
32
|
+
|
|
33
|
+
## Shared options
|
|
34
|
+
|
|
35
|
+
Each rule accepts the same option shape:
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
[
|
|
39
|
+
{
|
|
40
|
+
enforceFor?: Array<
|
|
41
|
+
| "class"
|
|
42
|
+
| "enum"
|
|
43
|
+
| "function"
|
|
44
|
+
| "interface"
|
|
45
|
+
| "object"
|
|
46
|
+
| "type"
|
|
47
|
+
| "variable"
|
|
48
|
+
>;
|
|
49
|
+
includeNonExported?: boolean;
|
|
50
|
+
},
|
|
51
|
+
]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Default:
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
[
|
|
58
|
+
{
|
|
59
|
+
enforceFor: [
|
|
60
|
+
"class",
|
|
61
|
+
"enum",
|
|
62
|
+
"function",
|
|
63
|
+
"interface",
|
|
64
|
+
"object",
|
|
65
|
+
"type",
|
|
66
|
+
"variable",
|
|
67
|
+
],
|
|
68
|
+
includeNonExported: false,
|
|
69
|
+
},
|
|
70
|
+
]
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
- `enforceFor`: limits which declaration kinds are checked.
|
|
74
|
+
- `includeNonExported`: when `true`, also checks non-exported top-level declarations.
|
|
75
|
+
|
|
76
|
+
For behavior and examples, open each individual rule document linked above.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://www.schemastore.org/package.json",
|
|
3
3
|
"name": "eslint-plugin-tsdoc-require-2",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.3",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Require TSDoc comments for exported TypeScript declarations.",
|
|
7
7
|
"keywords": [
|
|
@@ -57,6 +57,11 @@
|
|
|
57
57
|
"build": "tsc -p tsconfig.build.json && node ./scripts/write-cjs-entry.mjs",
|
|
58
58
|
"changelog:release-notes": "node ./scripts/changelog-release-notes.mjs",
|
|
59
59
|
"clean": "rimraf coverage dist temp .cache",
|
|
60
|
+
"contrib": "all-contributors",
|
|
61
|
+
"contrib:add": "all-contributors add",
|
|
62
|
+
"contrib:check": "all-contributors check",
|
|
63
|
+
"contrib:compare": "npm run contrib:check",
|
|
64
|
+
"contrib:generate": "all-contributors generate",
|
|
60
65
|
"lint": "eslint --cache --cache-strategy content --cache-location .cache/.eslintcache",
|
|
61
66
|
"lint:compat:eslint": "node ./scripts/eslint-compat-smoke.mjs",
|
|
62
67
|
"lint:compat:eslint10": "npm run lint:compat:eslint -- --expect-eslint-major=10",
|
|
@@ -70,6 +75,12 @@
|
|
|
70
75
|
"lint:prettier:fix": "prettier . --log-level warn --cache --cache-location=.cache/.prettier-cache --cache-strategy=content --write",
|
|
71
76
|
"lint:release": "npm run release:check",
|
|
72
77
|
"release:check": "npm run clean && npm run build && npm run typecheck && npm run lint:fix && npm run lint:prettier:fix && npm run test",
|
|
78
|
+
"sync:readme": "npm run sync:readme:rules-table && npm run sync:readme:presets-matrix",
|
|
79
|
+
"sync:readme:check": "npm run sync:readme:rules-table:check && npm run sync:readme:presets-matrix:check",
|
|
80
|
+
"sync:readme:presets-matrix": "node ./scripts/sync-presets-rules-matrix.mjs",
|
|
81
|
+
"sync:readme:presets-matrix:check": "node ./scripts/sync-presets-rules-matrix.mjs --check",
|
|
82
|
+
"sync:readme:rules-table": "node ./scripts/sync-readme-rules-table.mjs",
|
|
83
|
+
"sync:readme:rules-table:check": "node ./scripts/sync-readme-rules-table.mjs --check",
|
|
73
84
|
"test": "vitest run",
|
|
74
85
|
"test:coverage": "vitest run --coverage",
|
|
75
86
|
"test:watch": "vitest",
|
|
@@ -94,12 +105,13 @@
|
|
|
94
105
|
"@microsoft/eslint-plugin-sdl": "^1.1.0",
|
|
95
106
|
"@softonus/prettier-plugin-duplicate-remover": "^1.1.2",
|
|
96
107
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
97
|
-
"@types/node": "^25.
|
|
108
|
+
"@types/node": "^25.5.0",
|
|
98
109
|
"@typescript-eslint/eslint-plugin": "^8.57.0",
|
|
99
110
|
"@typescript-eslint/parser": "^8.57.0",
|
|
100
111
|
"@typescript-eslint/rule-tester": "^8.57.0",
|
|
101
|
-
"@vitest/coverage-v8": "^4.0
|
|
102
|
-
"@vitest/eslint-plugin": "^1.6.
|
|
112
|
+
"@vitest/coverage-v8": "^4.1.0",
|
|
113
|
+
"@vitest/eslint-plugin": "^1.6.12",
|
|
114
|
+
"all-contributors-cli": "^6.26.1",
|
|
103
115
|
"eslint": "^10.0.3",
|
|
104
116
|
"eslint-config-flat-gitignore": "^2.2.1",
|
|
105
117
|
"eslint-config-prettier": "^10.1.8",
|
|
@@ -113,10 +125,10 @@
|
|
|
113
125
|
"eslint-plugin-depend": "^1.5.0",
|
|
114
126
|
"eslint-plugin-eslint-plugin": "^7.3.2",
|
|
115
127
|
"eslint-plugin-etc": "^2.0.3",
|
|
116
|
-
"eslint-plugin-file-progress-2": "^3.4.
|
|
128
|
+
"eslint-plugin-file-progress-2": "^3.4.3",
|
|
117
129
|
"eslint-plugin-import-x": "^4.16.2",
|
|
118
|
-
"eslint-plugin-jsdoc": "^62.
|
|
119
|
-
"eslint-plugin-jsonc": "^3.1.
|
|
130
|
+
"eslint-plugin-jsdoc": "^62.8.0",
|
|
131
|
+
"eslint-plugin-jsonc": "^3.1.2",
|
|
120
132
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
121
133
|
"eslint-plugin-listeners": "^1.5.1",
|
|
122
134
|
"eslint-plugin-loadable-imports": "^1.0.1",
|
|
@@ -133,7 +145,7 @@
|
|
|
133
145
|
"eslint-plugin-no-unsanitized": "^4.1.5",
|
|
134
146
|
"eslint-plugin-no-use-extend-native": "^0.7.2",
|
|
135
147
|
"eslint-plugin-node-dependencies": "^2.2.0",
|
|
136
|
-
"eslint-plugin-package-json": "^0.
|
|
148
|
+
"eslint-plugin-package-json": "^0.91.0",
|
|
137
149
|
"eslint-plugin-perfectionist": "^5.6.0",
|
|
138
150
|
"eslint-plugin-prefer-arrow": "^1.2.3",
|
|
139
151
|
"eslint-plugin-prettier": "^5.5.5",
|
|
@@ -161,7 +173,7 @@
|
|
|
161
173
|
"prettier-plugin-interpolated-html-tags": "^2.0.1",
|
|
162
174
|
"prettier-plugin-jsdoc": "^1.8.0",
|
|
163
175
|
"prettier-plugin-merge": "^0.10.0",
|
|
164
|
-
"prettier-plugin-multiline-arrays": "^4.1.
|
|
176
|
+
"prettier-plugin-multiline-arrays": "^4.1.5",
|
|
165
177
|
"prettier-plugin-packagejson": "^3.0.2",
|
|
166
178
|
"prettier-plugin-properties": "^0.3.1",
|
|
167
179
|
"prettier-plugin-sh": "^0.18.0",
|
|
@@ -173,9 +185,9 @@
|
|
|
173
185
|
"rimraf": "^6.1.3",
|
|
174
186
|
"toml-eslint-parser": "^1.0.3",
|
|
175
187
|
"typescript": "^5.9.3",
|
|
176
|
-
"vite": "^
|
|
188
|
+
"vite": "^8.0.0",
|
|
177
189
|
"vite-tsconfig-paths": "^6.1.1",
|
|
178
|
-
"vitest": "^4.0
|
|
190
|
+
"vitest": "^4.1.0",
|
|
179
191
|
"yaml-eslint-parser": "^2.0.0"
|
|
180
192
|
},
|
|
181
193
|
"peerDependencies": {
|