@w5s/eslint-config 2.4.5 → 3.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.
- package/dist/index.cjs +4199 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +8054 -0
- package/dist/index.d.ts +8054 -3
- package/dist/index.js +4171 -22
- package/dist/index.js.map +1 -0
- package/package.json +25 -16
- package/src/config/createRules.ts +5 -0
- package/src/config/es.ts +58 -0
- package/src/config/ignores.ts +84 -0
- package/src/config/imports.ts +32 -0
- package/src/config/jsdoc.ts +53 -0
- package/src/config/jsonc.ts +237 -0
- package/src/config/node.ts +42 -0
- package/src/config/stylistic.ts +50 -0
- package/src/config/test.ts +44 -0
- package/src/config/ts.ts +97 -0
- package/src/config/unicorn.ts +68 -0
- package/src/config/yml.ts +70 -0
- package/src/config.ts +11 -0
- package/src/defineConfig.ts +62 -0
- package/src/index.ts +3 -31
- package/src/type/Config.ts +5 -0
- package/src/type/PluginOptionsBase.ts +14 -0
- package/src/type/StylisticConfig.ts +39 -0
- package/src/type.ts +3 -0
- package/src/typegen/.keep +0 -0
- package/src/typegen/import.d.ts +501 -0
- package/src/typegen/jsdoc.d.ts +1155 -0
- package/src/typegen/jsonc.d.ts +500 -0
- package/src/typegen/node.d.ts +529 -0
- package/src/typegen/style.d.ts +1637 -0
- package/src/typegen/test.d.ts +430 -0
- package/src/typegen/ts.d.ts +1872 -0
- package/src/typegen/unicorn.d.ts +913 -0
- package/src/typegen/yml.d.ts +363 -0
- package/dist/es.d.ts +0 -3
- package/dist/es.js +0 -10
- package/dist/jest.d.ts +0 -3
- package/dist/jest.js +0 -20
- package/dist/json.d.ts +0 -3
- package/dist/json.js +0 -14
- package/dist/rules/es/base.d.ts +0 -4
- package/dist/rules/es/base.js +0 -71
- package/dist/rules/es/import.d.ts +0 -3
- package/dist/rules/es/import.js +0 -74
- package/dist/rules/es/jsdoc.d.ts +0 -3
- package/dist/rules/es/jsdoc.js +0 -21
- package/dist/rules/es/node.d.ts +0 -3
- package/dist/rules/es/node.js +0 -20
- package/dist/rules/es/promise.d.ts +0 -3
- package/dist/rules/es/promise.js +0 -11
- package/dist/rules/es/unicorn.d.ts +0 -3
- package/dist/rules/es/unicorn.js +0 -72
- package/dist/rules/es.d.ts +0 -3
- package/dist/rules/es.js +0 -14
- package/dist/rules/ignore.d.ts +0 -3
- package/dist/rules/ignore.js +0 -54
- package/dist/rules/jest.d.ts +0 -3
- package/dist/rules/jest.js +0 -64
- package/dist/rules/jsonc.d.ts +0 -3
- package/dist/rules/jsonc.js +0 -183
- package/dist/rules/prettier.d.ts +0 -3
- package/dist/rules/prettier.js +0 -13
- package/dist/rules/typescript.d.ts +0 -3
- package/dist/rules/typescript.js +0 -249
- package/dist/rules/yml.d.ts +0 -3
- package/dist/rules/yml.js +0 -21
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/typescript.d.ts +0 -3
- package/dist/typescript.js +0 -21
- package/dist/yml.d.ts +0 -3
- package/dist/yml.js +0 -19
- package/src/es.ts +0 -12
- package/src/jest.ts +0 -18
- package/src/json.ts +0 -12
- package/src/rules/es/base.ts +0 -83
- package/src/rules/es/import.ts +0 -81
- package/src/rules/es/jsdoc.ts +0 -23
- package/src/rules/es/node.ts +0 -21
- package/src/rules/es/promise.ts +0 -12
- package/src/rules/es/unicorn.ts +0 -74
- package/src/rules/es.ts +0 -21
- package/src/rules/ignore.ts +0 -54
- package/src/rules/jest.ts +0 -68
- package/src/rules/jsonc.ts +0 -187
- package/src/rules/prettier.ts +0 -11
- package/src/rules/typescript.ts +0 -255
- package/src/rules/yml.ts +0 -22
- package/src/typescript.ts +0 -24
- package/src/yml.ts +0 -18
|
@@ -0,0 +1,1155 @@
|
|
|
1
|
+
/* eslint-disable unicorn/no-abusive-eslint-disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/* prettier-ignore */
|
|
4
|
+
import type { Linter } from 'eslint'
|
|
5
|
+
|
|
6
|
+
declare module 'eslint' {
|
|
7
|
+
namespace Linter {
|
|
8
|
+
interface RulesRecord extends RuleOptions {}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface RuleOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Checks that `@access` tags have a valid value.
|
|
15
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header
|
|
16
|
+
*/
|
|
17
|
+
'jsdoc/check-access'?: Linter.RuleEntry<[]>
|
|
18
|
+
/**
|
|
19
|
+
* Reports invalid alignment of JSDoc block asterisks.
|
|
20
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-alignment.md#repos-sticky-header
|
|
21
|
+
*/
|
|
22
|
+
'jsdoc/check-alignment'?: Linter.RuleEntry<JsdocCheckAlignment>
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated - Use `getJsdocProcessorPlugin` processor; ensures that (JavaScript) samples within `@example` tags adhere to ESLint rules.
|
|
25
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
|
|
26
|
+
*/
|
|
27
|
+
'jsdoc/check-examples'?: Linter.RuleEntry<JsdocCheckExamples>
|
|
28
|
+
/**
|
|
29
|
+
* Reports invalid padding inside JSDoc blocks.
|
|
30
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-indentation.md#repos-sticky-header
|
|
31
|
+
*/
|
|
32
|
+
'jsdoc/check-indentation'?: Linter.RuleEntry<JsdocCheckIndentation>
|
|
33
|
+
/**
|
|
34
|
+
* Reports invalid alignment of JSDoc block lines.
|
|
35
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-line-alignment.md#repos-sticky-header
|
|
36
|
+
*/
|
|
37
|
+
'jsdoc/check-line-alignment'?: Linter.RuleEntry<JsdocCheckLineAlignment>
|
|
38
|
+
/**
|
|
39
|
+
* Checks for dupe `@param` names, that nested param names have roots, and that parameter names in function declarations match JSDoc param names.
|
|
40
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
|
|
41
|
+
*/
|
|
42
|
+
'jsdoc/check-param-names'?: Linter.RuleEntry<JsdocCheckParamNames>
|
|
43
|
+
/**
|
|
44
|
+
* Ensures that property names in JSDoc are not duplicated on the same block and that nested properties have defined roots.
|
|
45
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-property-names.md#repos-sticky-header
|
|
46
|
+
*/
|
|
47
|
+
'jsdoc/check-property-names'?: Linter.RuleEntry<JsdocCheckPropertyNames>
|
|
48
|
+
/**
|
|
49
|
+
* Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode).
|
|
50
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-syntax.md#repos-sticky-header
|
|
51
|
+
*/
|
|
52
|
+
'jsdoc/check-syntax'?: Linter.RuleEntry<[]>
|
|
53
|
+
/**
|
|
54
|
+
* Reports invalid block tag names.
|
|
55
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md#repos-sticky-header
|
|
56
|
+
*/
|
|
57
|
+
'jsdoc/check-tag-names'?: Linter.RuleEntry<JsdocCheckTagNames>
|
|
58
|
+
/**
|
|
59
|
+
* Checks that any `@template` names are actually used in the connected `@typedef` or type alias.
|
|
60
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-template-names.md#repos-sticky-header
|
|
61
|
+
*/
|
|
62
|
+
'jsdoc/check-template-names'?: Linter.RuleEntry<[]>
|
|
63
|
+
/**
|
|
64
|
+
* Reports types deemed invalid (customizable and with defaults, for preventing and/or recommending replacements).
|
|
65
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
|
|
66
|
+
*/
|
|
67
|
+
'jsdoc/check-types'?: Linter.RuleEntry<JsdocCheckTypes>
|
|
68
|
+
/**
|
|
69
|
+
* This rule checks the values for a handful of tags: `@version`, `@since`, `@license` and `@author`.
|
|
70
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-values.md#repos-sticky-header
|
|
71
|
+
*/
|
|
72
|
+
'jsdoc/check-values'?: Linter.RuleEntry<JsdocCheckValues>
|
|
73
|
+
/**
|
|
74
|
+
* Converts non-JSDoc comments preceding or following nodes into JSDoc ones
|
|
75
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/convert-to-jsdoc-comments.md#repos-sticky-header
|
|
76
|
+
*/
|
|
77
|
+
'jsdoc/convert-to-jsdoc-comments'?: Linter.RuleEntry<JsdocConvertToJsdocComments>
|
|
78
|
+
/**
|
|
79
|
+
* Checks tags that are expected to be empty (e.g., `@abstract` or `@async`), reporting if they have content
|
|
80
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
|
|
81
|
+
*/
|
|
82
|
+
'jsdoc/empty-tags'?: Linter.RuleEntry<JsdocEmptyTags>
|
|
83
|
+
/**
|
|
84
|
+
* Reports use of JSDoc tags in non-tag positions (in the default "typescript" mode).
|
|
85
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/escape-inline-tags.md#repos-sticky-header
|
|
86
|
+
*/
|
|
87
|
+
'jsdoc/escape-inline-tags'?: Linter.RuleEntry<JsdocEscapeInlineTags>
|
|
88
|
+
/**
|
|
89
|
+
* Prohibits use of `@implements` on non-constructor functions (to enforce the tag only being used on classes/constructors).
|
|
90
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
|
|
91
|
+
*/
|
|
92
|
+
'jsdoc/implements-on-classes'?: Linter.RuleEntry<JsdocImplementsOnClasses>
|
|
93
|
+
/**
|
|
94
|
+
* Reports if JSDoc `import()` statements point to a package which is not listed in `dependencies` or `devDependencies`
|
|
95
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/imports-as-dependencies.md#repos-sticky-header
|
|
96
|
+
*/
|
|
97
|
+
'jsdoc/imports-as-dependencies'?: Linter.RuleEntry<[]>
|
|
98
|
+
/**
|
|
99
|
+
* This rule reports doc comments that only restate their attached name.
|
|
100
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/informative-docs.md#repos-sticky-header
|
|
101
|
+
*/
|
|
102
|
+
'jsdoc/informative-docs'?: Linter.RuleEntry<JsdocInformativeDocs>
|
|
103
|
+
/**
|
|
104
|
+
* Enforces minimum number of newlines before JSDoc comment blocks
|
|
105
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md#repos-sticky-header
|
|
106
|
+
*/
|
|
107
|
+
'jsdoc/lines-before-block'?: Linter.RuleEntry<JsdocLinesBeforeBlock>
|
|
108
|
+
/**
|
|
109
|
+
* Enforces a regular expression pattern on descriptions.
|
|
110
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-description.md#repos-sticky-header
|
|
111
|
+
*/
|
|
112
|
+
'jsdoc/match-description'?: Linter.RuleEntry<JsdocMatchDescription>
|
|
113
|
+
/**
|
|
114
|
+
* Reports the name portion of a JSDoc tag if matching or not matching a given regular expression.
|
|
115
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-name.md#repos-sticky-header
|
|
116
|
+
*/
|
|
117
|
+
'jsdoc/match-name'?: Linter.RuleEntry<JsdocMatchName>
|
|
118
|
+
/**
|
|
119
|
+
* Controls how and whether JSDoc blocks can be expressed as single or multiple line blocks.
|
|
120
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
|
|
121
|
+
*/
|
|
122
|
+
'jsdoc/multiline-blocks'?: Linter.RuleEntry<JsdocMultilineBlocks>
|
|
123
|
+
/**
|
|
124
|
+
* This rule checks for multi-line-style comments which fail to meet the criteria of a JSDoc block.
|
|
125
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
|
|
126
|
+
*/
|
|
127
|
+
'jsdoc/no-bad-blocks'?: Linter.RuleEntry<JsdocNoBadBlocks>
|
|
128
|
+
/**
|
|
129
|
+
* If tags are present, this rule will prevent empty lines in the block description. If no tags are present, this rule will prevent extra empty lines in the block description.
|
|
130
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
|
|
131
|
+
*/
|
|
132
|
+
'jsdoc/no-blank-block-descriptions'?: Linter.RuleEntry<[]>
|
|
133
|
+
/**
|
|
134
|
+
* Removes empty blocks with nothing but possibly line breaks
|
|
135
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-blocks.md#repos-sticky-header
|
|
136
|
+
*/
|
|
137
|
+
'jsdoc/no-blank-blocks'?: Linter.RuleEntry<JsdocNoBlankBlocks>
|
|
138
|
+
/**
|
|
139
|
+
* This rule reports defaults being used on the relevant portion of `@param` or `@default`.
|
|
140
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-defaults.md#repos-sticky-header
|
|
141
|
+
*/
|
|
142
|
+
'jsdoc/no-defaults'?: Linter.RuleEntry<JsdocNoDefaults>
|
|
143
|
+
/**
|
|
144
|
+
* Reports when certain comment structures are always expected.
|
|
145
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-missing-syntax.md#repos-sticky-header
|
|
146
|
+
*/
|
|
147
|
+
'jsdoc/no-missing-syntax'?: Linter.RuleEntry<JsdocNoMissingSyntax>
|
|
148
|
+
/**
|
|
149
|
+
* Prevents use of multiple asterisks at the beginning of lines.
|
|
150
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-multi-asterisks.md#repos-sticky-header
|
|
151
|
+
*/
|
|
152
|
+
'jsdoc/no-multi-asterisks'?: Linter.RuleEntry<JsdocNoMultiAsterisks>
|
|
153
|
+
/**
|
|
154
|
+
* Reports when certain comment structures are present.
|
|
155
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-restricted-syntax.md#repos-sticky-header
|
|
156
|
+
*/
|
|
157
|
+
'jsdoc/no-restricted-syntax'?: Linter.RuleEntry<JsdocNoRestrictedSyntax>
|
|
158
|
+
/**
|
|
159
|
+
* This rule reports types being used on `@param` or `@returns` (redundant with TypeScript).
|
|
160
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
|
|
161
|
+
*/
|
|
162
|
+
'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>
|
|
163
|
+
/**
|
|
164
|
+
* Besides some expected built-in types, prohibits any types not specified as globals or within `@typedef`.
|
|
165
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
|
|
166
|
+
*/
|
|
167
|
+
'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>
|
|
168
|
+
/**
|
|
169
|
+
* Prefer `@import` tags to inline `import()` statements.
|
|
170
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/prefer-import-tag.md#repos-sticky-header
|
|
171
|
+
*/
|
|
172
|
+
'jsdoc/prefer-import-tag'?: Linter.RuleEntry<JsdocPreferImportTag>
|
|
173
|
+
/**
|
|
174
|
+
* Reports use of `any` or `*` type
|
|
175
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header
|
|
176
|
+
*/
|
|
177
|
+
'jsdoc/reject-any-type'?: Linter.RuleEntry<[]>
|
|
178
|
+
/**
|
|
179
|
+
* Reports use of `Function` type
|
|
180
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header
|
|
181
|
+
*/
|
|
182
|
+
'jsdoc/reject-function-type'?: Linter.RuleEntry<[]>
|
|
183
|
+
/**
|
|
184
|
+
* Requires that each JSDoc line starts with an `*`.
|
|
185
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
|
|
186
|
+
*/
|
|
187
|
+
'jsdoc/require-asterisk-prefix'?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>
|
|
188
|
+
/**
|
|
189
|
+
* Requires that all functions (and potentially other contexts) have a description.
|
|
190
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
|
|
191
|
+
*/
|
|
192
|
+
'jsdoc/require-description'?: Linter.RuleEntry<JsdocRequireDescription>
|
|
193
|
+
/**
|
|
194
|
+
* Requires that block description, explicit `@description`, and `@param`/`@returns` tag descriptions are written in complete sentences.
|
|
195
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description-complete-sentence.md#repos-sticky-header
|
|
196
|
+
*/
|
|
197
|
+
'jsdoc/require-description-complete-sentence'?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>
|
|
198
|
+
/**
|
|
199
|
+
* Requires that all functions (and potentially other contexts) have examples.
|
|
200
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
|
|
201
|
+
*/
|
|
202
|
+
'jsdoc/require-example'?: Linter.RuleEntry<JsdocRequireExample>
|
|
203
|
+
/**
|
|
204
|
+
* Checks that all files have one `@file`, `@fileoverview`, or `@overview` tag at the beginning of the file.
|
|
205
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-file-overview.md#repos-sticky-header
|
|
206
|
+
*/
|
|
207
|
+
'jsdoc/require-file-overview'?: Linter.RuleEntry<JsdocRequireFileOverview>
|
|
208
|
+
/**
|
|
209
|
+
* Requires a hyphen before the `@param` description (and optionally before `@property` descriptions).
|
|
210
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
|
|
211
|
+
*/
|
|
212
|
+
'jsdoc/require-hyphen-before-param-description'?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>
|
|
213
|
+
/**
|
|
214
|
+
* Checks for presence of JSDoc comments, on functions and potentially other contexts (optionally limited to exports).
|
|
215
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
|
|
216
|
+
*/
|
|
217
|
+
'jsdoc/require-jsdoc'?: Linter.RuleEntry<JsdocRequireJsdoc>
|
|
218
|
+
/**
|
|
219
|
+
* Requires a description for `@next` tags
|
|
220
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header
|
|
221
|
+
*/
|
|
222
|
+
'jsdoc/require-next-description'?: Linter.RuleEntry<[]>
|
|
223
|
+
/**
|
|
224
|
+
* Requires a type for `@next` tags
|
|
225
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header
|
|
226
|
+
*/
|
|
227
|
+
'jsdoc/require-next-type'?: Linter.RuleEntry<[]>
|
|
228
|
+
/**
|
|
229
|
+
* Requires that all function parameters are documented with a `@param` tag.
|
|
230
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
|
|
231
|
+
*/
|
|
232
|
+
'jsdoc/require-param'?: Linter.RuleEntry<JsdocRequireParam>
|
|
233
|
+
/**
|
|
234
|
+
* Requires that each `@param` tag has a `description` value.
|
|
235
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-description.md#repos-sticky-header
|
|
236
|
+
*/
|
|
237
|
+
'jsdoc/require-param-description'?: Linter.RuleEntry<JsdocRequireParamDescription>
|
|
238
|
+
/**
|
|
239
|
+
* Requires that all `@param` tags have names.
|
|
240
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
|
|
241
|
+
*/
|
|
242
|
+
'jsdoc/require-param-name'?: Linter.RuleEntry<JsdocRequireParamName>
|
|
243
|
+
/**
|
|
244
|
+
* Requires that each `@param` tag has a type value (in curly brackets).
|
|
245
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
|
|
246
|
+
*/
|
|
247
|
+
'jsdoc/require-param-type'?: Linter.RuleEntry<JsdocRequireParamType>
|
|
248
|
+
/**
|
|
249
|
+
* Requires that all `@typedef` and `@namespace` tags have `@property` when their type is a plain `object`, `Object`, or `PlainObject`.
|
|
250
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property.md#repos-sticky-header
|
|
251
|
+
*/
|
|
252
|
+
'jsdoc/require-property'?: Linter.RuleEntry<[]>
|
|
253
|
+
/**
|
|
254
|
+
* Requires that each `@property` tag has a `description` value.
|
|
255
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-description.md#repos-sticky-header
|
|
256
|
+
*/
|
|
257
|
+
'jsdoc/require-property-description'?: Linter.RuleEntry<[]>
|
|
258
|
+
/**
|
|
259
|
+
* Requires that all `@property` tags have names.
|
|
260
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
|
|
261
|
+
*/
|
|
262
|
+
'jsdoc/require-property-name'?: Linter.RuleEntry<[]>
|
|
263
|
+
/**
|
|
264
|
+
* Requires that each `@property` tag has a type value (in curly brackets).
|
|
265
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
|
|
266
|
+
*/
|
|
267
|
+
'jsdoc/require-property-type'?: Linter.RuleEntry<[]>
|
|
268
|
+
/**
|
|
269
|
+
* Requires that returns are documented with `@returns`.
|
|
270
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
|
|
271
|
+
*/
|
|
272
|
+
'jsdoc/require-returns'?: Linter.RuleEntry<JsdocRequireReturns>
|
|
273
|
+
/**
|
|
274
|
+
* Requires a return statement in function body if a `@returns` tag is specified in JSDoc comment(and reports if multiple `@returns` tags are present).
|
|
275
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
|
|
276
|
+
*/
|
|
277
|
+
'jsdoc/require-returns-check'?: Linter.RuleEntry<JsdocRequireReturnsCheck>
|
|
278
|
+
/**
|
|
279
|
+
* Requires that the `@returns` tag has a `description` value (not including `void`/`undefined` type returns).
|
|
280
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
|
|
281
|
+
*/
|
|
282
|
+
'jsdoc/require-returns-description'?: Linter.RuleEntry<JsdocRequireReturnsDescription>
|
|
283
|
+
/**
|
|
284
|
+
* Requires that `@returns` tag has type value (in curly brackets).
|
|
285
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
|
|
286
|
+
*/
|
|
287
|
+
'jsdoc/require-returns-type'?: Linter.RuleEntry<JsdocRequireReturnsType>
|
|
288
|
+
/**
|
|
289
|
+
* Requires tags be present, optionally for specific contexts
|
|
290
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-tags.md#repos-sticky-header
|
|
291
|
+
*/
|
|
292
|
+
'jsdoc/require-tags'?: Linter.RuleEntry<JsdocRequireTags>
|
|
293
|
+
/**
|
|
294
|
+
* Requires `@template` tags be present when type parameters are used.
|
|
295
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
|
|
296
|
+
*/
|
|
297
|
+
'jsdoc/require-template'?: Linter.RuleEntry<JsdocRequireTemplate>
|
|
298
|
+
/**
|
|
299
|
+
* Requires a description for `@template` tags
|
|
300
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header
|
|
301
|
+
*/
|
|
302
|
+
'jsdoc/require-template-description'?: Linter.RuleEntry<[]>
|
|
303
|
+
/**
|
|
304
|
+
* Requires that throw statements are documented with `@throws` tags.
|
|
305
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
|
|
306
|
+
*/
|
|
307
|
+
'jsdoc/require-throws'?: Linter.RuleEntry<JsdocRequireThrows>
|
|
308
|
+
/**
|
|
309
|
+
* Requires a description for `@throws` tags
|
|
310
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header
|
|
311
|
+
*/
|
|
312
|
+
'jsdoc/require-throws-description'?: Linter.RuleEntry<[]>
|
|
313
|
+
/**
|
|
314
|
+
* Requires a type for `@throws` tags
|
|
315
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header
|
|
316
|
+
*/
|
|
317
|
+
'jsdoc/require-throws-type'?: Linter.RuleEntry<[]>
|
|
318
|
+
/**
|
|
319
|
+
* Requires yields are documented with `@yields` tags.
|
|
320
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
|
|
321
|
+
*/
|
|
322
|
+
'jsdoc/require-yields'?: Linter.RuleEntry<JsdocRequireYields>
|
|
323
|
+
/**
|
|
324
|
+
* Ensures that if a `@yields` is present that a `yield` (or `yield` with a value) is present in the function body (or that if a `@next` is present that there is a yield with a return value present).
|
|
325
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
|
|
326
|
+
*/
|
|
327
|
+
'jsdoc/require-yields-check'?: Linter.RuleEntry<JsdocRequireYieldsCheck>
|
|
328
|
+
/**
|
|
329
|
+
* Requires a description for `@yields` tags
|
|
330
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header
|
|
331
|
+
*/
|
|
332
|
+
'jsdoc/require-yields-description'?: Linter.RuleEntry<[]>
|
|
333
|
+
/**
|
|
334
|
+
* Requires a type for `@yields` tags
|
|
335
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header
|
|
336
|
+
*/
|
|
337
|
+
'jsdoc/require-yields-type'?: Linter.RuleEntry<[]>
|
|
338
|
+
/**
|
|
339
|
+
* Sorts tags by a specified sequence according to tag name, optionally adding line breaks between tag groups.
|
|
340
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
|
|
341
|
+
*/
|
|
342
|
+
'jsdoc/sort-tags'?: Linter.RuleEntry<JsdocSortTags>
|
|
343
|
+
/**
|
|
344
|
+
* Enforces lines (or no lines) before, after, or between tags.
|
|
345
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
|
|
346
|
+
*/
|
|
347
|
+
'jsdoc/tag-lines'?: Linter.RuleEntry<JsdocTagLines>
|
|
348
|
+
/**
|
|
349
|
+
* Auto-escape certain characters that are input within block and tag descriptions.
|
|
350
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
|
|
351
|
+
*/
|
|
352
|
+
'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>
|
|
353
|
+
/**
|
|
354
|
+
* Prefers either function properties or method signatures
|
|
355
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md#repos-sticky-header
|
|
356
|
+
*/
|
|
357
|
+
'jsdoc/ts-method-signature-style'?: Linter.RuleEntry<JsdocTsMethodSignatureStyle>
|
|
358
|
+
/**
|
|
359
|
+
* Warns against use of the empty object type
|
|
360
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-empty-object-type.md#repos-sticky-header
|
|
361
|
+
*/
|
|
362
|
+
'jsdoc/ts-no-empty-object-type'?: Linter.RuleEntry<[]>
|
|
363
|
+
/**
|
|
364
|
+
* Catches unnecessary template expressions such as string expressions within a template literal.
|
|
365
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-unnecessary-template-expression.md#repos-sticky-header
|
|
366
|
+
*/
|
|
367
|
+
'jsdoc/ts-no-unnecessary-template-expression'?: Linter.RuleEntry<JsdocTsNoUnnecessaryTemplateExpression>
|
|
368
|
+
/**
|
|
369
|
+
* Prefers function types over call signatures when there are no other properties.
|
|
370
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-prefer-function-type.md#repos-sticky-header
|
|
371
|
+
*/
|
|
372
|
+
'jsdoc/ts-prefer-function-type'?: Linter.RuleEntry<JsdocTsPreferFunctionType>
|
|
373
|
+
/**
|
|
374
|
+
* Formats JSDoc type values.
|
|
375
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/type-formatting.md#repos-sticky-header
|
|
376
|
+
*/
|
|
377
|
+
'jsdoc/type-formatting'?: Linter.RuleEntry<JsdocTypeFormatting>
|
|
378
|
+
/**
|
|
379
|
+
* Requires all types/namepaths to be valid JSDoc, Closure compiler, or TypeScript types (configurable in settings).
|
|
380
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
|
|
381
|
+
*/
|
|
382
|
+
'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
/* ======= Declarations ======= */
|
|
386
|
+
// ----- jsdoc/check-alignment -----
|
|
387
|
+
type JsdocCheckAlignment = []|[{
|
|
388
|
+
|
|
389
|
+
innerIndent?: number
|
|
390
|
+
}]
|
|
391
|
+
// ----- jsdoc/check-examples -----
|
|
392
|
+
type JsdocCheckExamples = []|[{
|
|
393
|
+
allowInlineConfig?: boolean
|
|
394
|
+
baseConfig?: {
|
|
395
|
+
[k: string]: unknown | undefined
|
|
396
|
+
}
|
|
397
|
+
captionRequired?: boolean
|
|
398
|
+
checkDefaults?: boolean
|
|
399
|
+
checkEslintrc?: boolean
|
|
400
|
+
checkParams?: boolean
|
|
401
|
+
checkProperties?: boolean
|
|
402
|
+
configFile?: string
|
|
403
|
+
exampleCodeRegex?: string
|
|
404
|
+
matchingFileName?: string
|
|
405
|
+
matchingFileNameDefaults?: string
|
|
406
|
+
matchingFileNameParams?: string
|
|
407
|
+
matchingFileNameProperties?: string
|
|
408
|
+
noDefaultExampleRules?: boolean
|
|
409
|
+
paddedIndent?: number
|
|
410
|
+
rejectExampleCodeRegex?: string
|
|
411
|
+
reportUnusedDisableDirectives?: boolean
|
|
412
|
+
}]
|
|
413
|
+
// ----- jsdoc/check-indentation -----
|
|
414
|
+
type JsdocCheckIndentation = []|[{
|
|
415
|
+
|
|
416
|
+
excludeTags?: string[]
|
|
417
|
+
}]
|
|
418
|
+
// ----- jsdoc/check-line-alignment -----
|
|
419
|
+
type JsdocCheckLineAlignment = []|[("always" | "never" | "any")]|[("always" | "never" | "any"), {
|
|
420
|
+
|
|
421
|
+
customSpacings?: {
|
|
422
|
+
|
|
423
|
+
postDelimiter?: number
|
|
424
|
+
|
|
425
|
+
postHyphen?: number
|
|
426
|
+
|
|
427
|
+
postName?: number
|
|
428
|
+
|
|
429
|
+
postTag?: number
|
|
430
|
+
|
|
431
|
+
postType?: number
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
disableWrapIndent?: boolean
|
|
435
|
+
|
|
436
|
+
preserveMainDescriptionPostDelimiter?: boolean
|
|
437
|
+
|
|
438
|
+
tags?: string[]
|
|
439
|
+
|
|
440
|
+
wrapIndent?: string
|
|
441
|
+
}]
|
|
442
|
+
// ----- jsdoc/check-param-names -----
|
|
443
|
+
type JsdocCheckParamNames = []|[{
|
|
444
|
+
|
|
445
|
+
allowExtraTrailingParamDocs?: boolean
|
|
446
|
+
|
|
447
|
+
checkDestructured?: boolean
|
|
448
|
+
|
|
449
|
+
checkRestProperty?: boolean
|
|
450
|
+
|
|
451
|
+
checkTypesPattern?: string
|
|
452
|
+
|
|
453
|
+
disableExtraPropertyReporting?: boolean
|
|
454
|
+
|
|
455
|
+
disableMissingParamChecks?: boolean
|
|
456
|
+
|
|
457
|
+
enableFixer?: boolean
|
|
458
|
+
|
|
459
|
+
useDefaultObjectProperties?: boolean
|
|
460
|
+
}]
|
|
461
|
+
// ----- jsdoc/check-property-names -----
|
|
462
|
+
type JsdocCheckPropertyNames = []|[{
|
|
463
|
+
|
|
464
|
+
enableFixer?: boolean
|
|
465
|
+
}]
|
|
466
|
+
// ----- jsdoc/check-tag-names -----
|
|
467
|
+
type JsdocCheckTagNames = []|[{
|
|
468
|
+
|
|
469
|
+
definedTags?: string[]
|
|
470
|
+
|
|
471
|
+
enableFixer?: boolean
|
|
472
|
+
|
|
473
|
+
inlineTags?: string[]
|
|
474
|
+
|
|
475
|
+
jsxTags?: boolean
|
|
476
|
+
|
|
477
|
+
typed?: boolean
|
|
478
|
+
}]
|
|
479
|
+
// ----- jsdoc/check-types -----
|
|
480
|
+
type JsdocCheckTypes = []|[{
|
|
481
|
+
|
|
482
|
+
exemptTagContexts?: {
|
|
483
|
+
|
|
484
|
+
tag?: string
|
|
485
|
+
|
|
486
|
+
types?: (boolean | string[])
|
|
487
|
+
}[]
|
|
488
|
+
|
|
489
|
+
noDefaults?: boolean
|
|
490
|
+
|
|
491
|
+
unifyParentAndChildTypeChecks?: boolean
|
|
492
|
+
}]
|
|
493
|
+
// ----- jsdoc/check-values -----
|
|
494
|
+
type JsdocCheckValues = []|[{
|
|
495
|
+
|
|
496
|
+
allowedAuthors?: string[]
|
|
497
|
+
|
|
498
|
+
allowedLicenses?: (string[] | boolean)
|
|
499
|
+
|
|
500
|
+
licensePattern?: string
|
|
501
|
+
|
|
502
|
+
numericOnlyVariation?: boolean
|
|
503
|
+
}]
|
|
504
|
+
// ----- jsdoc/convert-to-jsdoc-comments -----
|
|
505
|
+
type JsdocConvertToJsdocComments = []|[{
|
|
506
|
+
|
|
507
|
+
allowedPrefixes?: string[]
|
|
508
|
+
|
|
509
|
+
contexts?: (string | {
|
|
510
|
+
context?: string
|
|
511
|
+
inlineCommentBlock?: boolean
|
|
512
|
+
})[]
|
|
513
|
+
|
|
514
|
+
contextsAfter?: (string | {
|
|
515
|
+
context?: string
|
|
516
|
+
inlineCommentBlock?: boolean
|
|
517
|
+
})[]
|
|
518
|
+
|
|
519
|
+
contextsBeforeAndAfter?: (string | {
|
|
520
|
+
context?: string
|
|
521
|
+
inlineCommentBlock?: boolean
|
|
522
|
+
})[]
|
|
523
|
+
|
|
524
|
+
enableFixer?: boolean
|
|
525
|
+
|
|
526
|
+
enforceJsdocLineStyle?: ("multi" | "single")
|
|
527
|
+
|
|
528
|
+
lineOrBlockStyle?: ("block" | "line" | "both")
|
|
529
|
+
}]
|
|
530
|
+
// ----- jsdoc/empty-tags -----
|
|
531
|
+
type JsdocEmptyTags = []|[{
|
|
532
|
+
|
|
533
|
+
tags?: string[]
|
|
534
|
+
}]
|
|
535
|
+
// ----- jsdoc/escape-inline-tags -----
|
|
536
|
+
type JsdocEscapeInlineTags = []|[{
|
|
537
|
+
|
|
538
|
+
allowedInlineTags?: string[]
|
|
539
|
+
|
|
540
|
+
enableFixer?: boolean
|
|
541
|
+
|
|
542
|
+
fixType?: ("backticks" | "backslash")
|
|
543
|
+
}]
|
|
544
|
+
// ----- jsdoc/implements-on-classes -----
|
|
545
|
+
type JsdocImplementsOnClasses = []|[{
|
|
546
|
+
|
|
547
|
+
contexts?: (string | {
|
|
548
|
+
comment?: string
|
|
549
|
+
context?: string
|
|
550
|
+
})[]
|
|
551
|
+
}]
|
|
552
|
+
// ----- jsdoc/informative-docs -----
|
|
553
|
+
type JsdocInformativeDocs = []|[{
|
|
554
|
+
|
|
555
|
+
aliases?: {
|
|
556
|
+
[k: string]: string[]
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
excludedTags?: string[]
|
|
560
|
+
|
|
561
|
+
uselessWords?: string[]
|
|
562
|
+
}]
|
|
563
|
+
// ----- jsdoc/lines-before-block -----
|
|
564
|
+
type JsdocLinesBeforeBlock = []|[{
|
|
565
|
+
|
|
566
|
+
checkBlockStarts?: boolean
|
|
567
|
+
|
|
568
|
+
excludedTags?: string[]
|
|
569
|
+
|
|
570
|
+
ignoreSameLine?: boolean
|
|
571
|
+
|
|
572
|
+
ignoreSingleLines?: boolean
|
|
573
|
+
|
|
574
|
+
lines?: number
|
|
575
|
+
}]
|
|
576
|
+
// ----- jsdoc/match-description -----
|
|
577
|
+
type JsdocMatchDescription = []|[{
|
|
578
|
+
|
|
579
|
+
contexts?: (string | {
|
|
580
|
+
comment?: string
|
|
581
|
+
context?: string
|
|
582
|
+
})[]
|
|
583
|
+
|
|
584
|
+
mainDescription?: (string | boolean | {
|
|
585
|
+
match?: (string | boolean)
|
|
586
|
+
message?: string
|
|
587
|
+
})
|
|
588
|
+
|
|
589
|
+
matchDescription?: string
|
|
590
|
+
|
|
591
|
+
message?: string
|
|
592
|
+
|
|
593
|
+
nonemptyTags?: boolean
|
|
594
|
+
|
|
595
|
+
tags?: {
|
|
596
|
+
[k: string]: (string | true | {
|
|
597
|
+
match?: (string | true)
|
|
598
|
+
message?: string
|
|
599
|
+
})
|
|
600
|
+
}
|
|
601
|
+
}]
|
|
602
|
+
// ----- jsdoc/match-name -----
|
|
603
|
+
type JsdocMatchName = []|[{
|
|
604
|
+
|
|
605
|
+
match: {
|
|
606
|
+
|
|
607
|
+
allowName?: string
|
|
608
|
+
|
|
609
|
+
comment?: string
|
|
610
|
+
|
|
611
|
+
context?: string
|
|
612
|
+
|
|
613
|
+
disallowName?: string
|
|
614
|
+
|
|
615
|
+
message?: string
|
|
616
|
+
|
|
617
|
+
replacement?: string
|
|
618
|
+
|
|
619
|
+
tags?: string[]
|
|
620
|
+
}[]
|
|
621
|
+
}]
|
|
622
|
+
// ----- jsdoc/multiline-blocks -----
|
|
623
|
+
type JsdocMultilineBlocks = []|[{
|
|
624
|
+
|
|
625
|
+
allowMultipleTags?: boolean
|
|
626
|
+
|
|
627
|
+
minimumLengthForMultiline?: number
|
|
628
|
+
|
|
629
|
+
multilineTags?: ("*" | string[])
|
|
630
|
+
|
|
631
|
+
noFinalLineText?: boolean
|
|
632
|
+
|
|
633
|
+
noMultilineBlocks?: boolean
|
|
634
|
+
|
|
635
|
+
noSingleLineBlocks?: boolean
|
|
636
|
+
|
|
637
|
+
noZeroLineText?: boolean
|
|
638
|
+
|
|
639
|
+
requireSingleLineUnderCount?: number
|
|
640
|
+
|
|
641
|
+
singleLineTags?: string[]
|
|
642
|
+
}]
|
|
643
|
+
// ----- jsdoc/no-bad-blocks -----
|
|
644
|
+
type JsdocNoBadBlocks = []|[{
|
|
645
|
+
|
|
646
|
+
ignore?: string[]
|
|
647
|
+
|
|
648
|
+
preventAllMultiAsteriskBlocks?: boolean
|
|
649
|
+
}]
|
|
650
|
+
// ----- jsdoc/no-blank-blocks -----
|
|
651
|
+
type JsdocNoBlankBlocks = []|[{
|
|
652
|
+
|
|
653
|
+
enableFixer?: boolean
|
|
654
|
+
}]
|
|
655
|
+
// ----- jsdoc/no-defaults -----
|
|
656
|
+
type JsdocNoDefaults = []|[{
|
|
657
|
+
|
|
658
|
+
contexts?: (string | {
|
|
659
|
+
comment?: string
|
|
660
|
+
context?: string
|
|
661
|
+
})[]
|
|
662
|
+
|
|
663
|
+
noOptionalParamNames?: boolean
|
|
664
|
+
}]
|
|
665
|
+
// ----- jsdoc/no-missing-syntax -----
|
|
666
|
+
type JsdocNoMissingSyntax = []|[{
|
|
667
|
+
|
|
668
|
+
contexts?: (string | {
|
|
669
|
+
comment?: string
|
|
670
|
+
context?: string
|
|
671
|
+
message?: string
|
|
672
|
+
minimum?: number
|
|
673
|
+
})[]
|
|
674
|
+
}]
|
|
675
|
+
// ----- jsdoc/no-multi-asterisks -----
|
|
676
|
+
type JsdocNoMultiAsterisks = []|[{
|
|
677
|
+
|
|
678
|
+
allowWhitespace?: boolean
|
|
679
|
+
|
|
680
|
+
preventAtEnd?: boolean
|
|
681
|
+
|
|
682
|
+
preventAtMiddleLines?: boolean
|
|
683
|
+
}]
|
|
684
|
+
// ----- jsdoc/no-restricted-syntax -----
|
|
685
|
+
type JsdocNoRestrictedSyntax = []|[{
|
|
686
|
+
|
|
687
|
+
contexts: (string | {
|
|
688
|
+
comment?: string
|
|
689
|
+
context?: string
|
|
690
|
+
message?: string
|
|
691
|
+
})[]
|
|
692
|
+
}]
|
|
693
|
+
// ----- jsdoc/no-types -----
|
|
694
|
+
type JsdocNoTypes = []|[{
|
|
695
|
+
|
|
696
|
+
contexts?: (string | {
|
|
697
|
+
comment?: string
|
|
698
|
+
context?: string
|
|
699
|
+
})[]
|
|
700
|
+
}]
|
|
701
|
+
// ----- jsdoc/no-undefined-types -----
|
|
702
|
+
type JsdocNoUndefinedTypes = []|[{
|
|
703
|
+
|
|
704
|
+
checkUsedTypedefs?: boolean
|
|
705
|
+
|
|
706
|
+
definedTypes?: string[]
|
|
707
|
+
|
|
708
|
+
disableReporting?: boolean
|
|
709
|
+
|
|
710
|
+
markVariablesAsUsed?: boolean
|
|
711
|
+
}]
|
|
712
|
+
// ----- jsdoc/prefer-import-tag -----
|
|
713
|
+
type JsdocPreferImportTag = []|[{
|
|
714
|
+
|
|
715
|
+
enableFixer?: boolean
|
|
716
|
+
|
|
717
|
+
exemptTypedefs?: boolean
|
|
718
|
+
|
|
719
|
+
outputType?: ("named-import" | "namespaced-import")
|
|
720
|
+
}]
|
|
721
|
+
// ----- jsdoc/require-asterisk-prefix -----
|
|
722
|
+
type JsdocRequireAsteriskPrefix = []|[("always" | "never" | "any")]|[("always" | "never" | "any"), {
|
|
723
|
+
|
|
724
|
+
tags?: {
|
|
725
|
+
|
|
726
|
+
always?: string[]
|
|
727
|
+
|
|
728
|
+
any?: string[]
|
|
729
|
+
|
|
730
|
+
never?: string[]
|
|
731
|
+
}
|
|
732
|
+
}]
|
|
733
|
+
// ----- jsdoc/require-description -----
|
|
734
|
+
type JsdocRequireDescription = []|[{
|
|
735
|
+
|
|
736
|
+
checkConstructors?: boolean
|
|
737
|
+
|
|
738
|
+
checkGetters?: boolean
|
|
739
|
+
|
|
740
|
+
checkSetters?: boolean
|
|
741
|
+
|
|
742
|
+
contexts?: (string | {
|
|
743
|
+
comment?: string
|
|
744
|
+
context?: string
|
|
745
|
+
})[]
|
|
746
|
+
|
|
747
|
+
descriptionStyle?: ("body" | "tag" | "any")
|
|
748
|
+
|
|
749
|
+
exemptedBy?: string[]
|
|
750
|
+
}]
|
|
751
|
+
// ----- jsdoc/require-description-complete-sentence -----
|
|
752
|
+
type JsdocRequireDescriptionCompleteSentence = []|[{
|
|
753
|
+
|
|
754
|
+
abbreviations?: string[]
|
|
755
|
+
|
|
756
|
+
newlineBeforeCapsAssumesBadSentenceEnd?: boolean
|
|
757
|
+
|
|
758
|
+
tags?: string[]
|
|
759
|
+
}]
|
|
760
|
+
// ----- jsdoc/require-example -----
|
|
761
|
+
type JsdocRequireExample = []|[{
|
|
762
|
+
|
|
763
|
+
checkConstructors?: boolean
|
|
764
|
+
|
|
765
|
+
checkGetters?: boolean
|
|
766
|
+
|
|
767
|
+
checkSetters?: boolean
|
|
768
|
+
|
|
769
|
+
contexts?: (string | {
|
|
770
|
+
comment?: string
|
|
771
|
+
context?: string
|
|
772
|
+
})[]
|
|
773
|
+
|
|
774
|
+
enableFixer?: boolean
|
|
775
|
+
|
|
776
|
+
exemptedBy?: string[]
|
|
777
|
+
|
|
778
|
+
exemptNoArguments?: boolean
|
|
779
|
+
}]
|
|
780
|
+
// ----- jsdoc/require-file-overview -----
|
|
781
|
+
type JsdocRequireFileOverview = []|[{
|
|
782
|
+
|
|
783
|
+
tags?: {
|
|
784
|
+
[k: string]: {
|
|
785
|
+
initialCommentsOnly?: boolean
|
|
786
|
+
mustExist?: boolean
|
|
787
|
+
preventDuplicates?: boolean
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
}]
|
|
791
|
+
// ----- jsdoc/require-hyphen-before-param-description -----
|
|
792
|
+
type JsdocRequireHyphenBeforeParamDescription = []|[("always" | "never")]|[("always" | "never"), {
|
|
793
|
+
|
|
794
|
+
tags?: ({
|
|
795
|
+
[k: string]: ("always" | "never")
|
|
796
|
+
} | "any")
|
|
797
|
+
}]
|
|
798
|
+
// ----- jsdoc/require-jsdoc -----
|
|
799
|
+
type JsdocRequireJsdoc = []|[{
|
|
800
|
+
|
|
801
|
+
checkConstructors?: boolean
|
|
802
|
+
|
|
803
|
+
checkGetters?: (boolean | "no-setter")
|
|
804
|
+
|
|
805
|
+
checkSetters?: (boolean | "no-getter")
|
|
806
|
+
|
|
807
|
+
contexts?: (string | {
|
|
808
|
+
context?: string
|
|
809
|
+
inlineCommentBlock?: boolean
|
|
810
|
+
minLineCount?: number
|
|
811
|
+
})[]
|
|
812
|
+
|
|
813
|
+
enableFixer?: boolean
|
|
814
|
+
|
|
815
|
+
exemptEmptyConstructors?: boolean
|
|
816
|
+
|
|
817
|
+
exemptEmptyFunctions?: boolean
|
|
818
|
+
|
|
819
|
+
exemptOverloadedImplementations?: boolean
|
|
820
|
+
|
|
821
|
+
fixerMessage?: string
|
|
822
|
+
|
|
823
|
+
minLineCount?: number
|
|
824
|
+
|
|
825
|
+
publicOnly?: (boolean | {
|
|
826
|
+
ancestorsOnly?: boolean
|
|
827
|
+
cjs?: boolean
|
|
828
|
+
esm?: boolean
|
|
829
|
+
window?: boolean
|
|
830
|
+
})
|
|
831
|
+
|
|
832
|
+
require?: {
|
|
833
|
+
|
|
834
|
+
ArrowFunctionExpression?: boolean
|
|
835
|
+
|
|
836
|
+
ClassDeclaration?: boolean
|
|
837
|
+
|
|
838
|
+
ClassExpression?: boolean
|
|
839
|
+
|
|
840
|
+
FunctionDeclaration?: boolean
|
|
841
|
+
|
|
842
|
+
FunctionExpression?: boolean
|
|
843
|
+
|
|
844
|
+
MethodDefinition?: boolean
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
skipInterveningOverloadedDeclarations?: boolean
|
|
848
|
+
}]
|
|
849
|
+
// ----- jsdoc/require-param -----
|
|
850
|
+
type JsdocRequireParam = []|[{
|
|
851
|
+
|
|
852
|
+
autoIncrementBase?: number
|
|
853
|
+
|
|
854
|
+
checkConstructors?: boolean
|
|
855
|
+
|
|
856
|
+
checkDestructured?: boolean
|
|
857
|
+
|
|
858
|
+
checkDestructuredRoots?: boolean
|
|
859
|
+
|
|
860
|
+
checkGetters?: boolean
|
|
861
|
+
|
|
862
|
+
checkRestProperty?: boolean
|
|
863
|
+
|
|
864
|
+
checkSetters?: boolean
|
|
865
|
+
|
|
866
|
+
checkTypesPattern?: string
|
|
867
|
+
|
|
868
|
+
contexts?: (string | {
|
|
869
|
+
comment?: string
|
|
870
|
+
context?: string
|
|
871
|
+
})[]
|
|
872
|
+
|
|
873
|
+
enableFixer?: boolean
|
|
874
|
+
|
|
875
|
+
enableRestElementFixer?: boolean
|
|
876
|
+
|
|
877
|
+
enableRootFixer?: boolean
|
|
878
|
+
|
|
879
|
+
exemptedBy?: string[]
|
|
880
|
+
|
|
881
|
+
ignoreWhenAllParamsMissing?: boolean
|
|
882
|
+
|
|
883
|
+
interfaceExemptsParamsCheck?: boolean
|
|
884
|
+
|
|
885
|
+
unnamedRootBase?: string[]
|
|
886
|
+
|
|
887
|
+
useDefaultObjectProperties?: boolean
|
|
888
|
+
}]
|
|
889
|
+
// ----- jsdoc/require-param-description -----
|
|
890
|
+
type JsdocRequireParamDescription = []|[{
|
|
891
|
+
|
|
892
|
+
contexts?: (string | {
|
|
893
|
+
comment?: string
|
|
894
|
+
context?: string
|
|
895
|
+
})[]
|
|
896
|
+
|
|
897
|
+
defaultDestructuredRootDescription?: string
|
|
898
|
+
|
|
899
|
+
setDefaultDestructuredRootDescription?: boolean
|
|
900
|
+
}]
|
|
901
|
+
// ----- jsdoc/require-param-name -----
|
|
902
|
+
type JsdocRequireParamName = []|[{
|
|
903
|
+
|
|
904
|
+
contexts?: (string | {
|
|
905
|
+
comment?: string
|
|
906
|
+
context?: string
|
|
907
|
+
})[]
|
|
908
|
+
}]
|
|
909
|
+
// ----- jsdoc/require-param-type -----
|
|
910
|
+
type JsdocRequireParamType = []|[{
|
|
911
|
+
|
|
912
|
+
contexts?: (string | {
|
|
913
|
+
comment?: string
|
|
914
|
+
context?: string
|
|
915
|
+
})[]
|
|
916
|
+
|
|
917
|
+
defaultDestructuredRootType?: string
|
|
918
|
+
|
|
919
|
+
setDefaultDestructuredRootType?: boolean
|
|
920
|
+
}]
|
|
921
|
+
// ----- jsdoc/require-returns -----
|
|
922
|
+
type JsdocRequireReturns = []|[{
|
|
923
|
+
|
|
924
|
+
checkConstructors?: boolean
|
|
925
|
+
|
|
926
|
+
checkGetters?: boolean
|
|
927
|
+
|
|
928
|
+
contexts?: (string | {
|
|
929
|
+
comment?: string
|
|
930
|
+
context?: string
|
|
931
|
+
forceRequireReturn?: boolean
|
|
932
|
+
})[]
|
|
933
|
+
|
|
934
|
+
enableFixer?: boolean
|
|
935
|
+
|
|
936
|
+
exemptedBy?: string[]
|
|
937
|
+
|
|
938
|
+
forceRequireReturn?: boolean
|
|
939
|
+
|
|
940
|
+
forceReturnsWithAsync?: boolean
|
|
941
|
+
|
|
942
|
+
publicOnly?: (boolean | {
|
|
943
|
+
ancestorsOnly?: boolean
|
|
944
|
+
cjs?: boolean
|
|
945
|
+
esm?: boolean
|
|
946
|
+
window?: boolean
|
|
947
|
+
})
|
|
948
|
+
}]
|
|
949
|
+
// ----- jsdoc/require-returns-check -----
|
|
950
|
+
type JsdocRequireReturnsCheck = []|[{
|
|
951
|
+
|
|
952
|
+
exemptAsync?: boolean
|
|
953
|
+
|
|
954
|
+
exemptGenerators?: boolean
|
|
955
|
+
|
|
956
|
+
noNativeTypes?: boolean
|
|
957
|
+
|
|
958
|
+
reportMissingReturnForUndefinedTypes?: boolean
|
|
959
|
+
}]
|
|
960
|
+
// ----- jsdoc/require-returns-description -----
|
|
961
|
+
type JsdocRequireReturnsDescription = []|[{
|
|
962
|
+
|
|
963
|
+
contexts?: (string | {
|
|
964
|
+
comment?: string
|
|
965
|
+
context?: string
|
|
966
|
+
})[]
|
|
967
|
+
}]
|
|
968
|
+
// ----- jsdoc/require-returns-type -----
|
|
969
|
+
type JsdocRequireReturnsType = []|[{
|
|
970
|
+
|
|
971
|
+
contexts?: (string | {
|
|
972
|
+
comment?: string
|
|
973
|
+
context?: string
|
|
974
|
+
})[]
|
|
975
|
+
}]
|
|
976
|
+
// ----- jsdoc/require-tags -----
|
|
977
|
+
type JsdocRequireTags = []|[{
|
|
978
|
+
|
|
979
|
+
tags?: (string | {
|
|
980
|
+
context?: string
|
|
981
|
+
tag?: string
|
|
982
|
+
[k: string]: unknown | undefined
|
|
983
|
+
})[]
|
|
984
|
+
}]
|
|
985
|
+
// ----- jsdoc/require-template -----
|
|
986
|
+
type JsdocRequireTemplate = []|[{
|
|
987
|
+
|
|
988
|
+
exemptedBy?: string[]
|
|
989
|
+
|
|
990
|
+
requireSeparateTemplates?: boolean
|
|
991
|
+
}]
|
|
992
|
+
// ----- jsdoc/require-throws -----
|
|
993
|
+
type JsdocRequireThrows = []|[{
|
|
994
|
+
|
|
995
|
+
contexts?: (string | {
|
|
996
|
+
comment?: string
|
|
997
|
+
context?: string
|
|
998
|
+
})[]
|
|
999
|
+
|
|
1000
|
+
exemptedBy?: string[]
|
|
1001
|
+
}]
|
|
1002
|
+
// ----- jsdoc/require-yields -----
|
|
1003
|
+
type JsdocRequireYields = []|[{
|
|
1004
|
+
|
|
1005
|
+
contexts?: (string | {
|
|
1006
|
+
comment?: string
|
|
1007
|
+
context?: string
|
|
1008
|
+
})[]
|
|
1009
|
+
|
|
1010
|
+
exemptedBy?: string[]
|
|
1011
|
+
|
|
1012
|
+
forceRequireNext?: boolean
|
|
1013
|
+
|
|
1014
|
+
forceRequireYields?: boolean
|
|
1015
|
+
|
|
1016
|
+
next?: boolean
|
|
1017
|
+
|
|
1018
|
+
nextWithGeneratorTag?: boolean
|
|
1019
|
+
|
|
1020
|
+
withGeneratorTag?: boolean
|
|
1021
|
+
}]
|
|
1022
|
+
// ----- jsdoc/require-yields-check -----
|
|
1023
|
+
type JsdocRequireYieldsCheck = []|[{
|
|
1024
|
+
|
|
1025
|
+
checkGeneratorsOnly?: boolean
|
|
1026
|
+
|
|
1027
|
+
contexts?: (string | {
|
|
1028
|
+
comment?: string
|
|
1029
|
+
context?: string
|
|
1030
|
+
})[]
|
|
1031
|
+
|
|
1032
|
+
next?: boolean
|
|
1033
|
+
}]
|
|
1034
|
+
// ----- jsdoc/sort-tags -----
|
|
1035
|
+
type JsdocSortTags = []|[{
|
|
1036
|
+
|
|
1037
|
+
alphabetizeExtras?: boolean
|
|
1038
|
+
|
|
1039
|
+
linesBetween?: number
|
|
1040
|
+
|
|
1041
|
+
reportIntraTagGroupSpacing?: boolean
|
|
1042
|
+
|
|
1043
|
+
reportTagGroupSpacing?: boolean
|
|
1044
|
+
|
|
1045
|
+
tagSequence?: {
|
|
1046
|
+
|
|
1047
|
+
tags?: string[]
|
|
1048
|
+
}[]
|
|
1049
|
+
}]
|
|
1050
|
+
// ----- jsdoc/tag-lines -----
|
|
1051
|
+
type JsdocTagLines = []|[("always" | "any" | "never")]|[("always" | "any" | "never"), {
|
|
1052
|
+
|
|
1053
|
+
applyToEndTag?: boolean
|
|
1054
|
+
|
|
1055
|
+
count?: number
|
|
1056
|
+
|
|
1057
|
+
endLines?: (number | null)
|
|
1058
|
+
|
|
1059
|
+
maxBlockLines?: (number | null)
|
|
1060
|
+
|
|
1061
|
+
startLines?: (number | null)
|
|
1062
|
+
|
|
1063
|
+
tags?: {
|
|
1064
|
+
[k: string]: {
|
|
1065
|
+
count?: number
|
|
1066
|
+
lines?: ("always" | "never" | "any")
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
}]
|
|
1070
|
+
// ----- jsdoc/text-escaping -----
|
|
1071
|
+
type JsdocTextEscaping = []|[{
|
|
1072
|
+
|
|
1073
|
+
escapeHTML?: boolean
|
|
1074
|
+
|
|
1075
|
+
escapeMarkdown?: boolean
|
|
1076
|
+
}]
|
|
1077
|
+
// ----- jsdoc/ts-method-signature-style -----
|
|
1078
|
+
type JsdocTsMethodSignatureStyle = []|[("method" | "property")]|[("method" | "property"), {
|
|
1079
|
+
|
|
1080
|
+
enableFixer?: boolean
|
|
1081
|
+
}]
|
|
1082
|
+
// ----- jsdoc/ts-no-unnecessary-template-expression -----
|
|
1083
|
+
type JsdocTsNoUnnecessaryTemplateExpression = []|[{
|
|
1084
|
+
|
|
1085
|
+
enableFixer?: boolean
|
|
1086
|
+
}]
|
|
1087
|
+
// ----- jsdoc/ts-prefer-function-type -----
|
|
1088
|
+
type JsdocTsPreferFunctionType = []|[{
|
|
1089
|
+
|
|
1090
|
+
enableFixer?: boolean
|
|
1091
|
+
}]
|
|
1092
|
+
// ----- jsdoc/type-formatting -----
|
|
1093
|
+
type JsdocTypeFormatting = []|[{
|
|
1094
|
+
|
|
1095
|
+
arrayBrackets?: ("angle" | "square")
|
|
1096
|
+
|
|
1097
|
+
arrowFunctionPostReturnMarkerSpacing?: string
|
|
1098
|
+
|
|
1099
|
+
arrowFunctionPreReturnMarkerSpacing?: string
|
|
1100
|
+
|
|
1101
|
+
enableFixer?: boolean
|
|
1102
|
+
|
|
1103
|
+
functionOrClassParameterSpacing?: string
|
|
1104
|
+
|
|
1105
|
+
functionOrClassPostGenericSpacing?: string
|
|
1106
|
+
|
|
1107
|
+
functionOrClassPostReturnMarkerSpacing?: string
|
|
1108
|
+
|
|
1109
|
+
functionOrClassPreReturnMarkerSpacing?: string
|
|
1110
|
+
|
|
1111
|
+
functionOrClassTypeParameterSpacing?: string
|
|
1112
|
+
|
|
1113
|
+
genericAndTupleElementSpacing?: string
|
|
1114
|
+
|
|
1115
|
+
genericDot?: boolean
|
|
1116
|
+
|
|
1117
|
+
keyValuePostColonSpacing?: string
|
|
1118
|
+
|
|
1119
|
+
keyValuePostKeySpacing?: string
|
|
1120
|
+
|
|
1121
|
+
keyValuePostOptionalSpacing?: string
|
|
1122
|
+
|
|
1123
|
+
keyValuePostVariadicSpacing?: string
|
|
1124
|
+
|
|
1125
|
+
methodQuotes?: ("double" | "single")
|
|
1126
|
+
|
|
1127
|
+
objectFieldIndent?: string
|
|
1128
|
+
|
|
1129
|
+
objectFieldQuote?: ("double" | "single" | null)
|
|
1130
|
+
|
|
1131
|
+
objectFieldSeparator?: ("comma" | "comma-and-linebreak" | "linebreak" | "semicolon" | "semicolon-and-linebreak")
|
|
1132
|
+
|
|
1133
|
+
objectFieldSeparatorOptionalLinebreak?: boolean
|
|
1134
|
+
|
|
1135
|
+
objectFieldSeparatorTrailingPunctuation?: boolean
|
|
1136
|
+
|
|
1137
|
+
parameterDefaultValueSpacing?: string
|
|
1138
|
+
|
|
1139
|
+
postMethodNameSpacing?: string
|
|
1140
|
+
|
|
1141
|
+
postNewSpacing?: string
|
|
1142
|
+
|
|
1143
|
+
separatorForSingleObjectField?: boolean
|
|
1144
|
+
|
|
1145
|
+
stringQuotes?: ("double" | "single")
|
|
1146
|
+
|
|
1147
|
+
typeBracketSpacing?: string
|
|
1148
|
+
|
|
1149
|
+
unionSpacing?: string
|
|
1150
|
+
}]
|
|
1151
|
+
// ----- jsdoc/valid-types -----
|
|
1152
|
+
type JsdocValidTypes = []|[{
|
|
1153
|
+
|
|
1154
|
+
allowEmptyNamepaths?: boolean
|
|
1155
|
+
}]
|