@prowise/eslint-config-linting-rules 0.0.1

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.
@@ -0,0 +1,315 @@
1
+ module.exports = {
2
+ rules: {
3
+ /**
4
+ * Ensure default import coupled with default export
5
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/default.md.
6
+ */
7
+ "import/default": "off",
8
+
9
+ /**
10
+ * Dynamic imports require a leading comment with a webpackChunkName
11
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/dynamic-import-chunkname.md.
12
+ */
13
+ "import/dynamic-import-chunkname": ["off", { importFunctions: [], webpackChunknameFormat: "[0-9a-zA-Z-_/.]+" }],
14
+
15
+ /**
16
+ * Disallow invalid exports, e.g. Multiple defaults
17
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/export.md.
18
+ */
19
+ "import/export": "error",
20
+
21
+ /**
22
+ * This rule enforces that all exports are declared at the bottom of the file.
23
+ * Https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/exports-last.md.
24
+ */
25
+ "import/exports-last": "off",
26
+
27
+ /**
28
+ * Ensure consistent use of file extension within the import path
29
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/extensions.md.
30
+ */
31
+ "import/extensions": ["error", "ignorePackages", { js: "never", mjs: "never", jsx: "never" }],
32
+
33
+ /**
34
+ * Disallow non-import statements appearing before import statements
35
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/first.md.
36
+ */
37
+ "import/first": "error",
38
+
39
+ /**
40
+ * Reports when named exports are not grouped together in a single export declaration
41
+ * or when multiple assignments to CommonJS module.exports or exports object are present
42
+ * in a single file.
43
+ * Https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/group-exports.md.
44
+ */
45
+ "import/group-exports": "off",
46
+
47
+ /**
48
+ * Forbid modules to have too many dependencies
49
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/group-exports.md.
50
+ */
51
+ "import/max-dependencies": ["off", { max: 10 }],
52
+
53
+ /**
54
+ * Ensure named imports coupled with named exports
55
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/named.md#.
56
+ */
57
+ "import/named": "error",
58
+
59
+ /**
60
+ * Enforces names exist at the time they are dereferenced, when imported as a full namespace
61
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/namespace.md.
62
+ */
63
+ "import/namespace": "off",
64
+
65
+ /**
66
+ * Require a newline after the last import/require in a group
67
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/newline-after-import.md.
68
+ */
69
+ "import/newline-after-import": "error",
70
+
71
+ /**
72
+ * Forbid import of modules using absolute paths
73
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-absolute-path.md.
74
+ */
75
+ "import/no-absolute-path": "error",
76
+
77
+ /**
78
+ * Disallow AMD require/define
79
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-amd.md.
80
+ */
81
+ "import/no-amd": "error",
82
+
83
+ /**
84
+ * Reports if a module"s default export is unnamed
85
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-anonymous-default-export.md.
86
+ */
87
+ "import/no-anonymous-default-export": [
88
+ "off",
89
+ {
90
+ allowArray: false,
91
+ allowArrowFunction: false,
92
+ allowAnonymousClass: false,
93
+ allowAnonymousFunction: false,
94
+ allowLiteral: false,
95
+ allowObject: false,
96
+ },
97
+ ],
98
+
99
+ /**
100
+ * Disallow require()
101
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-commonjs.md.
102
+ */
103
+ "import/no-commonjs": "off",
104
+
105
+ /**
106
+ * Forbid cyclical dependencies between modules
107
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-cycle.md.
108
+ */
109
+ "import/no-cycle": ["error", { maxDepth: "∞" }],
110
+
111
+ /**
112
+ * Forbid default exports. This is a terrible rule, do not use it.
113
+ * Https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-default-export.md.
114
+ */
115
+ "import/no-default-export": "off",
116
+
117
+ /**
118
+ * Disallow use of jsdoc-marked-deprecated imports
119
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-deprecated.md.
120
+ */
121
+ "import/no-deprecated": "off",
122
+
123
+ /**
124
+ * Disallow duplicate imports
125
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-duplicates.md.
126
+ */
127
+ "import/no-duplicates": "error",
128
+
129
+ /**
130
+ * Forbid require() calls with expressions
131
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-dynamic-require.md.
132
+ */
133
+ "import/no-dynamic-require": "error",
134
+
135
+ /**
136
+ * Forbid the use of extraneous packages
137
+ * paths are treated both as absolute paths, and relative to process.cwd()
138
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-extraneous-dependencies.md.
139
+ */
140
+ "import/no-extraneous-dependencies": [
141
+ "off",
142
+ {
143
+ devDependencies: [
144
+ "test/**", // tape, common npm pattern
145
+ "tests/**", // also common npm pattern
146
+ "spec/**", // mocha, rspec-like pattern
147
+ "**/__tests__/**", // jest pattern
148
+ "**/__mocks__/**", // jest pattern
149
+ "test.{js,jsx}", // repos with a single test file
150
+ "test-*.{js,jsx}", // repos with multiple top-level test files
151
+ "**/*{.,_}{test,spec}.{js,jsx}", // tests where the extension or filename suffix denotes that it is a test
152
+ "**/jest.config.js", // jest config
153
+ "**/jest.setup.js", // jest setup
154
+ "**/vue.config.js", // vue-cli config
155
+ "**/webpack.config.js", // webpack config
156
+ "**/webpack.config.*.js", // webpack config
157
+ "**/rollup.config.js", // rollup config
158
+ "**/rollup.config.*.js", // rollup config
159
+ "**/gulpfile.js", // gulp config
160
+ "**/gulpfile.*.js", // gulp config
161
+ "**/Gruntfile{,.js}", // grunt config
162
+ "**/protractor.conf.js", // protractor config
163
+ "**/protractor.conf.*.js", // protractor config
164
+ "**/karma.conf.js", // karma config
165
+ "**/.eslintrc.js", // eslint config
166
+ ],
167
+ optionalDependencies: false,
168
+ },
169
+ ],
170
+
171
+ /**
172
+ * Reports the use of import declarations with CommonJS exports in any module except for the main module.
173
+ * Https://github.com/benmosher/eslint-plugin-import/blob/1012eb951767279ce3b540a4ec4f29236104bb5b/docs/rules/no-import-module-exports.md.
174
+ */
175
+ "import/no-import-module-exports": ["error", { exceptions: [] }],
176
+
177
+ /**
178
+ * Prevent importing the submodules of other modules
179
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-internal-modules.md.
180
+ */
181
+ "import/no-internal-modules": ["off", { allow: [] }],
182
+
183
+ /**
184
+ * Forbid mutable exports
185
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-mutable-exports.md.
186
+ */
187
+ "import/no-mutable-exports": "error",
188
+
189
+ /**
190
+ * Do not allow a default import name to match a named export
191
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-named-as-default.md.
192
+ */
193
+ "import/no-named-as-default": "error",
194
+
195
+ /**
196
+ * Warn on accessing default export property names that are also named exports
197
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-named-as-default-member.md.
198
+ */
199
+ "import/no-named-as-default-member": "error",
200
+
201
+ /**
202
+ * Prevent importing the default as if it were named
203
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-named-default.md.
204
+ */
205
+ "import/no-named-default": "error",
206
+
207
+ /**
208
+ * Prohibit named exports. This is a terrible rule, do not use it.
209
+ * Https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-named-export.md.
210
+ */
211
+ "import/no-named-export": "off",
212
+
213
+ /**
214
+ * Disallow namespace imports
215
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-namespace.md.
216
+ */
217
+ "import/no-namespace": "off",
218
+
219
+ /**
220
+ * No Node.js builtin modules
221
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-nodejs-modules.md.
222
+ */
223
+ "import/no-nodejs-modules": "off",
224
+
225
+ /**
226
+ * Use this rule to prevent importing packages through relative paths.
227
+ * Https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-relative-packages.md.
228
+ */
229
+ "import/no-relative-packages": "error",
230
+
231
+ /**
232
+ * Use this rule to prevent imports to folders in relative parent paths.
233
+ * Https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-relative-parent-imports.md.
234
+ */
235
+ "import/no-relative-parent-imports": "off",
236
+
237
+ /**
238
+ * Restrict which files can be imported in a given folder
239
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-restricted-paths.md.
240
+ */
241
+ "import/no-restricted-paths": "off",
242
+
243
+ /**
244
+ * Forbid a module from importing itself
245
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-self-import.md.
246
+ */
247
+ "import/no-self-import": "error",
248
+
249
+ /**
250
+ * Prevent unassigned imports
251
+ * importing for side effects is perfectly acceptable, if you need side effects.
252
+ * Https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-unassigned-import.md.
253
+ */
254
+ "import/no-unassigned-import": "off",
255
+
256
+ /**
257
+ * Ensure imports point to files/modules that can be resolved
258
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-unresolved.md.
259
+ */
260
+ "import/no-unresolved": ["error", { commonjs: true, caseSensitive: true }],
261
+
262
+ /**
263
+ * Reports modules without any exports, or with unused exports
264
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-unused-modules.md
265
+ * TODO: enable once it supports CJS.
266
+ */
267
+ "import/no-unused-modules": [
268
+ "off",
269
+ {
270
+ ignoreExports: [],
271
+ missingExports: true,
272
+ unusedExports: true,
273
+ },
274
+ ],
275
+
276
+ /**
277
+ * Ensures that there are no useless path segments
278
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-useless-path-segments.md.
279
+ */
280
+ "import/no-useless-path-segments": ["error", { commonjs: true }],
281
+
282
+ /**
283
+ * Forbid Webpack loader syntax in imports
284
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-webpack-loader-syntax.md.
285
+ */
286
+ "import/no-webpack-loader-syntax": "error",
287
+
288
+ /**
289
+ * Ensure absolute imports are above relative imports and that unassigned imports are ignored
290
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/order.md.
291
+ */
292
+ "import/order": [
293
+ "error",
294
+ {
295
+ groups: [["builtin", "external", "internal"]],
296
+ alphabetize: { order: "asc", caseInsensitive: true },
297
+ },
298
+ ],
299
+
300
+ /**
301
+ * Require modules with a single export to use a default export
302
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/prefer-default-export.md.
303
+ */
304
+ "import/prefer-default-export": "error",
305
+
306
+ /**
307
+ * Warn if a module could be mistakenly parsed as a script by a consumer
308
+ * leveraging Unambiguous JavaScript Grammar
309
+ * https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/unambiguous.md
310
+ * this should not be enabled until this proposal has at least been *presented* to TC39.
311
+ * At the moment, it"s not a thing.
312
+ */
313
+ "import/unambiguous": "off",
314
+ },
315
+ };
@@ -0,0 +1,321 @@
1
+ module.exports = {
2
+ /*
3
+ * ✅ recommended
4
+ * 🔧 fixable
5
+ * 💡 has suggestion
6
+ */
7
+
8
+ plugin: ["jsdoc"],
9
+
10
+ rules: {
11
+ /**
12
+ * Checks that `@access` tags have a valid value ✅
13
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-access.
14
+ */
15
+ "jsdoc/check-access": "warn",
16
+
17
+ /**
18
+ * Reports invalid alignment of JSDoc block asterisks ✅
19
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-alignment.
20
+ */
21
+ "jsdoc/check-alignment": "warn",
22
+
23
+ /**
24
+ * Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules
25
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-examples.
26
+ */
27
+ "jsdoc/check-examples": "off",
28
+
29
+ /**
30
+ * Reports invalid padding inside JSDoc blocks
31
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-indentation.
32
+ */
33
+ "jsdoc/check-indentation": "warn",
34
+
35
+ /**
36
+ * Reports invalid alignment of JSDoc block lines
37
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-line-alignment.
38
+ */
39
+ "jsdoc/check-line-alignment": "warn",
40
+
41
+ /**
42
+ * Ensures that parameter names in JSDoc match those in the function declaration ✅
43
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-param-names.
44
+ */
45
+ "jsdoc/check-param-names": "warn",
46
+
47
+ /**
48
+ * Ensures that property names in JSDoc are not duplicated on the same block and that nested
49
+ * properties have defined roots ✅
50
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-property-names.
51
+ */
52
+ "jsdoc/check-property-names": "warn",
53
+
54
+ /**
55
+ * Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode)
56
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-syntax.
57
+ */
58
+ "jsdoc/check-syntax": "warn",
59
+
60
+ /**
61
+ * Reports invalid block tag names ✅
62
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-tag-names.
63
+ */
64
+ "jsdoc/check-tag-names": "warn",
65
+
66
+ /**
67
+ * Reports invalid types ✅
68
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-types.
69
+ */
70
+ "jsdoc/check-types": "warn",
71
+
72
+ /**
73
+ * This rule checks the values for a handful of tags: `@version`, `@since`, `@license` and `@author` ✅
74
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-values.
75
+ */
76
+ "jsdoc/check-values": "warn",
77
+
78
+ /**
79
+ * Expects specific tags to be empty of any content ✅
80
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-empty-tags.
81
+ */
82
+ "jsdoc/empty-tags": "warn",
83
+
84
+ /**
85
+ * Reports an issue with any non-constructor function using `@implements ✅
86
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-implements-on-classes.
87
+ */
88
+ "jsdoc/implements-on-classes": "warn",
89
+
90
+ /**
91
+ * Enforces a regular expression pattern on descriptions
92
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-match-description.
93
+ */
94
+ "jsdoc/match-description": "warn",
95
+
96
+ /**
97
+ * Controls how and whether jsdoc blocks can be expressed as single or multiple line blocks ✅
98
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-multiline-blocks.
99
+ */
100
+ "jsdoc/multiline-blocks": "warn",
101
+
102
+ /**
103
+ * Enforces a consistent padding of the block description ✅
104
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-newline-after-description.
105
+ */
106
+ "jsdoc/newline-after-description": "warn",
107
+
108
+ /**
109
+ * This rule checks for multi-line-style comments which fail to meet the criteria of a jsdoc block
110
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-bad-blocks.
111
+ */
112
+ "jsdoc/no-bad-blocks": "warn",
113
+
114
+ /**
115
+ * His rule reports defaults being used on the relevant portion of `@param` or `@default`
116
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-defaults.
117
+ */
118
+ "jsdoc/no-defaults": "warn",
119
+
120
+ /**
121
+ * Reports when certain comment structures are always expected
122
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-missing-syntax.
123
+ */
124
+ "jsdoc/no-missing-syntax": "off",
125
+
126
+ /**
127
+ * ✅
128
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-multi-asterisks.
129
+ */
130
+ "jsdoc/no-multi-asterisks": "warn",
131
+
132
+ /**
133
+ * Reports when certain comment structures are present
134
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-restricted-syntax.
135
+ */
136
+ "jsdoc/no-restricted-syntax": "off",
137
+
138
+ /**
139
+ * This rule reports types being used on `@param` or `@returns`
140
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-types.
141
+ */
142
+ "jsdoc/no-types": "warn",
143
+
144
+ /**
145
+ * Checks that types in jsdoc comments are defined ✅
146
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-undefined-types.
147
+ */
148
+ "jsdoc/no-undefined-types": "warn",
149
+
150
+ /**
151
+ * Checks that types in jsdoc comments are defined
152
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-undefined-types.
153
+ */
154
+ "jsdoc/require-asterisk-prefix": "warn",
155
+
156
+ /**
157
+ * Requires that all functions have a description
158
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-description.
159
+ */
160
+ "jsdoc/require-description": "warn",
161
+
162
+ /**
163
+ * Requires that block description, explicit `@description`, and `@param`/`@returns`
164
+ * tag descriptions are written in complete sentences
165
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-description-complete-sentence.
166
+ */
167
+ "jsdoc/require-description-complete-sentence": "warn",
168
+
169
+ /**
170
+ * Requires that all functions have examples
171
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-example.
172
+ */
173
+ "jsdoc/require-example": "off",
174
+
175
+ /**
176
+ * Checks that all files have one `@file`, `@fileoverview`, or `@overview` tag at the beginning of the file
177
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-file-overview.
178
+ */
179
+ "jsdoc/require-file-overview": "off",
180
+
181
+ /**
182
+ * Requires a hyphen before the `@param` description
183
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-hyphen-before-param-description.
184
+ */
185
+ "jsdoc/require-hyphen-before-param-description": "off",
186
+
187
+ /**
188
+ * Require JSDoc comments ✅
189
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-jsdoc.
190
+ */
191
+ "jsdoc/require-jsdoc": [
192
+ "error",
193
+ {
194
+ publicOnly: false,
195
+ exemptEmptyConstructors: false,
196
+ checkGetters: true,
197
+ checkSetters: true,
198
+ require: {
199
+ ClassDeclaration: true,
200
+ ClassExpression: true,
201
+ FunctionDeclaration: true,
202
+ FunctionExpression: true,
203
+ MethodDefinition: true,
204
+ },
205
+ contexts: [
206
+ // @see https://ts-ast-viewer.com/#
207
+ "ClassProperty",
208
+ "FunctionDeclaration",
209
+ "TSTypeAliasDeclaration",
210
+ "VariableStatement",
211
+ "TSInterfaceDeclaration",
212
+ "TSTypeAliasDeclaration TSPropertySignature",
213
+ "TSInterfaceDeclaration TSPropertySignature",
214
+ ],
215
+ },
216
+ ],
217
+
218
+ /**
219
+ * Requires that all function parameters are documented ✅
220
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param.
221
+ */
222
+ "jsdoc/require-param": "warn",
223
+
224
+ /**
225
+ * Requires that each `@param` tag has a `description` value ✅
226
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-description.
227
+ */
228
+ "jsdoc/require-param-description": "warn",
229
+
230
+ /**
231
+ * Requires that all function parameters have names ✅
232
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-name.
233
+ */
234
+ "jsdoc/require-param-name": "warn",
235
+
236
+ /**
237
+ * Requires that each `@param` tag has a `type` value ✅
238
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-type.
239
+ */
240
+ "jsdoc/require-param-type": "off",
241
+
242
+ /**
243
+ * Requires that all `@typedef` and `@namespace` tags have `@property` when their type ✅
244
+ * is a plain `object`, `Object`, or `PlainObject
245
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property.
246
+ */
247
+ "jsdoc/require-property": "warn",
248
+
249
+ /**
250
+ * Requires that each `@property` tag has a `description` value ✅
251
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property-description.
252
+ */
253
+ "jsdoc/require-property-description": "warn",
254
+
255
+ /**
256
+ * Requires that all function `@property` tags have names ✅
257
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property-name.
258
+ */
259
+ "jsdoc/require-property-name": "warn",
260
+
261
+ /**
262
+ * Requires that each `@property` tag has a `type` value ✅
263
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property-type.
264
+ */
265
+ "jsdoc/require-property-type": "warn",
266
+
267
+ /**
268
+ * Requires that returns are documented ✅
269
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns.
270
+ */
271
+ "jsdoc/require-returns": "warn",
272
+
273
+ /**
274
+ * Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment ✅
275
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-check.
276
+ */
277
+ "jsdoc/require-returns-check": "warn",
278
+
279
+ /**
280
+ * Requires that the `@returns` tag has a `description` value ✅
281
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-description.
282
+ */
283
+ "jsdoc/require-returns-description": "warn",
284
+
285
+ /**
286
+ * Requires that `@returns` tag has `type` value ✅
287
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-type.
288
+ */
289
+ "jsdoc/require-returns-type": "off",
290
+
291
+ /**
292
+ * Requires that throw statements are documented
293
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-throws.
294
+ */
295
+ "jsdoc/require-throws": "warn",
296
+
297
+ /**
298
+ * Requires yields are documented ✅
299
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-yields.
300
+ */
301
+ "jsdoc/require-yields": "warn",
302
+
303
+ /**
304
+ * Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment ✅
305
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-yields-check.
306
+ */
307
+ "jsdoc/require-yields-check": "warn",
308
+
309
+ /**
310
+ * Enforces lines (or no lines) between tags ✅
311
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-tag-lines.
312
+ */
313
+ "jsdoc/tag-lines": "warn",
314
+
315
+ /**
316
+ * Requires all types to be valid JSDoc or Closure compiler types without syntax errors ✅
317
+ * https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-valid-types.
318
+ */
319
+ "jsdoc/valid-types": "warn",
320
+ },
321
+ };