You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: .README/README.md
+69
Original file line number
Diff line number
Diff line change
@@ -50,6 +50,75 @@ const config = [
50
50
exportdefaultconfig;
51
51
```
52
52
53
+
The general starting rulesets you can extend from in flat config are:
54
+
55
+
-`jsdoc.configs['flat/recommended']`: Recommended starting rules for enforcing proper tag values, that common tags exist, and that tags are formatted and styled consistently
56
+
-`jsdoc.configs['flat/recommended-error']`: The same, reporting with failing errors instead of mere warnings
57
+
-`jsdoc.configs['flat/recommended-typescript']`: A similar recommended starting list, adjusted for projects using TypeScript syntax (and not just the "typescript" `mode` setting)
58
+
-`jsdoc.configs['flat/recommended-typescript-error']`: The same, reporting with failing errors instead of mere warnings
59
+
-`jsdoc.configs['flat/recommended-typescript-flavor']`: A similar recommended starting list, adjusted for projects using JavaScript syntax (source files that are still `.js`) but using TypeScript flavor within JSDoc (i.e., the default "typescript" `mode` in `eslint-plugin-jsdoc`)
60
+
-`jsdoc.configs['flat/recommended-typescript-flavor-error']`: The same, reporting with failing errors instead of mere warnings
61
+
62
+
#### Granular Flat Configs
63
+
64
+
There also exist several more granular, standalone TypeScript rulesets you can extend from.
65
+
These each only enable mostly or only rules from the recommended starting rules:
66
+
67
+
-**Contents**: rules that check names and descriptions
68
+
-`jsdoc.configs['flat/contents-typescript']`: for TypeScript files, with reports set to warn
69
+
-`jsdoc.configs['flat/contents-typescript-error']`: for TypeScript files, with reports set to error
70
+
-`jsdoc.configs['flat/contents-typescript-flavor']`: for files using JavaScript syntax and JSDoc types, with reports set to warn
71
+
-`jsdoc.configs['flat/contents-typescript-flavor-error']`: for files using JavaScript syntax and JSDoc types, with reports set to error
72
+
-**Logical**: rules that enforce proper tag values
73
+
-`jsdoc.configs['flat/logical-typescript']`: for TypeScript files, with reports set to warn
74
+
-`jsdoc.configs['flat/logical-typescript-error']`: for TypeScript files, with reports set to error
75
+
-`jsdoc.configs['flat/logical-typescript-flavor']`: for files using JavaScript syntax and JSDoc types, with reports set to warn
76
+
-`jsdoc.configs['flat/logical-typescript-flavor-error']`: for files using JavaScript syntax and JSDoc types, with reports set to error
77
+
-**Requirements**: rules that enforce tags exist
78
+
-`jsdoc.configs['flat/requirements-typescript']`: for TypeScript files, with reports set to warn
79
+
-`jsdoc.configs['flat/requirements-typescript-error']`: for TypeScript files, with reports set to error
80
+
-`jsdoc.configs['flat/requirements-typescript-flavor']`: for files using JavaScript syntax and JSDoc types, with reports set to warn
81
+
-`jsdoc.configs['flat/requirements-typescript-flavor-error']`: for files using JavaScript syntax and JSDoc types, with reports set to error
82
+
-**Stylistic**: rules that enforce clear, consistent tag formatting and styles
83
+
-`jsdoc.configs['flat/stylistic-typescript']`: for TypeScript files, with reports set to warn
84
+
-`jsdoc.configs['flat/stylistic-typescript-error']`: for TypeScript files, with reports set to error
85
+
-`jsdoc.configs['flat/stylistic-typescript-flavor']`: for files using JavaScript syntax and JSDoc types, with reports set to warn
86
+
-`jsdoc.configs['flat/stylistic-typescript-flavor-error']`: for files using JavaScript syntax and JSDoc types, with reports set to error
87
+
88
+
For example, to enforce only that any JSDoc tags and their contents are valid and styled consistently in TypeScript files, without enforcing that tags must always exist:
89
+
90
+
```js
91
+
importjsdocfrom'eslint-plugin-jsdoc';
92
+
93
+
exportdefault [
94
+
jsdoc.configs['flat/contents-typescript-error'],
95
+
jsdoc.configs['flat/logical-typescript-error'],
96
+
jsdoc.configs['flat/stylistic-typescript-error'],
97
+
];
98
+
```
99
+
100
+
##### Why certain rules were excluded from the granular configs
101
+
102
+
A few rules were left out of the granular configs. Here is why:
103
+
104
+
Rules which might have been added to `required`:
105
+
-[`require-throws`](./docs/rules/require-throws.md#readme) - Since this can't enforce all cases, some may not wish this rule enforced.
106
+
-[`require-file-overview`](./docs/rules/require-file-overview.md#readme) - Too demanding for all projects
107
+
-[`convert-to-jsdoc-comments`](./docs/rules/convert-to-jsdoc-comments.md#readme) - Overly aggressive for some projects
108
+
109
+
Rules which might have been added to `logical`:
110
+
-[`no-missing-syntax`](./docs/rules/no-missing-syntax.md#readme) - Has no default options.
111
+
-[`no-restricted-syntax`](./docs/rules/no-restricted-syntax.md#readme) - Has no default options.
112
+
113
+
Rules which might have been added to `contents`:
114
+
-[`match-name`](./docs/rules/match-name.md#readme) - Has no default options.
115
+
-[`require-description`](./docs/rules/require-description.md#readme) - Too demanding for all projects
116
+
-[`require-description-complete-sentence`](./docs/rules/require-description-complete-sentence.md#readme) - Too demanding for all projects
117
+
118
+
Rules which might have been added to `stylistic`:
119
+
-[`check-indentation`](./docs/rules/check-indentation.md#readme) - May not be desired by all projects
120
+
-[`sort-tags`](./docs/rules/sort-tags.md#readme) - Too project-specific
121
+
53
122
### `eslintrc`
54
123
55
124
Add `plugins` section to [.eslintrc.*](https://eslint.org/docs/user-guide/configuring#configuration-file-formats)
Copy file name to clipboardexpand all lines: README.md
+73
Original file line number
Diff line number
Diff line change
@@ -68,6 +68,79 @@ const config = [
68
68
exportdefaultconfig;
69
69
```
70
70
71
+
The general starting rulesets you can extend from in flat config are:
72
+
73
+
-`jsdoc.configs['flat/recommended']`: Recommended starting rules for enforcing proper tag values, that common tags exist, and that tags are formatted and styled consistently
74
+
-`jsdoc.configs['flat/recommended-error']`: The same, reporting with failing errors instead of mere warnings
75
+
-`jsdoc.configs['flat/recommended-typescript']`: A similar recommended starting list, adjusted for projects using TypeScript syntax (and not just the "typescript" `mode` setting)
76
+
-`jsdoc.configs['flat/recommended-typescript-error']`: The same, reporting with failing errors instead of mere warnings
77
+
-`jsdoc.configs['flat/recommended-typescript-flavor']`: A similar recommended starting list, adjusted for projects using JavaScript syntax (source files that are still `.js`) but using TypeScript flavor within JSDoc (i.e., the default "typescript" `mode` in `eslint-plugin-jsdoc`)
78
+
-`jsdoc.configs['flat/recommended-typescript-flavor-error']`: The same, reporting with failing errors instead of mere warnings
There also exist several more granular, standalone TypeScript rulesets you can extend from.
85
+
These each only enable mostly or only rules from the recommended starting rules:
86
+
87
+
-**Contents**: rules that check names and descriptions
88
+
-`jsdoc.configs['flat/contents-typescript']`: for TypeScript files, with reports set to warn
89
+
-`jsdoc.configs['flat/contents-typescript-error']`: for TypeScript files, with reports set to error
90
+
-`jsdoc.configs['flat/contents-typescript-flavor']`: for files using JavaScript syntax and JSDoc types, with reports set to warn
91
+
-`jsdoc.configs['flat/contents-typescript-flavor-error']`: for files using JavaScript syntax and JSDoc types, with reports set to error
92
+
-**Logical**: rules that enforce proper tag values
93
+
-`jsdoc.configs['flat/logical-typescript']`: for TypeScript files, with reports set to warn
94
+
-`jsdoc.configs['flat/logical-typescript-error']`: for TypeScript files, with reports set to error
95
+
-`jsdoc.configs['flat/logical-typescript-flavor']`: for files using JavaScript syntax and JSDoc types, with reports set to warn
96
+
-`jsdoc.configs['flat/logical-typescript-flavor-error']`: for files using JavaScript syntax and JSDoc types, with reports set to error
97
+
-**Requirements**: rules that enforce tags exist
98
+
-`jsdoc.configs['flat/requirements-typescript']`: for TypeScript files, with reports set to warn
99
+
-`jsdoc.configs['flat/requirements-typescript-error']`: for TypeScript files, with reports set to error
100
+
-`jsdoc.configs['flat/requirements-typescript-flavor']`: for files using JavaScript syntax and JSDoc types, with reports set to warn
101
+
-`jsdoc.configs['flat/requirements-typescript-flavor-error']`: for files using JavaScript syntax and JSDoc types, with reports set to error
102
+
-**Stylistic**: rules that enforce clear, consistent tag formatting and styles
103
+
-`jsdoc.configs['flat/stylistic-typescript']`: for TypeScript files, with reports set to warn
104
+
-`jsdoc.configs['flat/stylistic-typescript-error']`: for TypeScript files, with reports set to error
105
+
-`jsdoc.configs['flat/stylistic-typescript-flavor']`: for files using JavaScript syntax and JSDoc types, with reports set to warn
106
+
-`jsdoc.configs['flat/stylistic-typescript-flavor-error']`: for files using JavaScript syntax and JSDoc types, with reports set to error
107
+
108
+
For example, to enforce only that any JSDoc tags and their contents are valid and styled consistently in TypeScript files, without enforcing that tags must always exist:
0 commit comments