@@ -33,7 +33,6 @@ JSDoc linting rules for ESLint.
33
33
* [ ` require-param ` ] ( #eslint-plugin-jsdoc-rules-require-param )
34
34
* [ ` require-returns-description ` ] ( #eslint-plugin-jsdoc-rules-require-returns-description )
35
35
* [ ` require-returns-type ` ] ( #eslint-plugin-jsdoc-rules-require-returns-type )
36
- * [ ` require-returns-check ` ] ( #eslint-plugin-jsdoc-rules-require-returns-check )
37
36
* [ ` require-returns ` ] ( #eslint-plugin-jsdoc-rules-require-returns )
38
37
* [ ` valid-types ` ] ( #eslint-plugin-jsdoc-rules-valid-types )
39
38
@@ -59,7 +58,6 @@ This table maps the rules between `eslint-plugin-jsdoc` and `jscs-jsdoc`.
59
58
| [ ` require-param-name ` ] ( https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-name ) | N/A |
60
59
| [ ` require-param-type ` ] ( https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-type ) | [ ` requireParamTypes ` ] ( https://github.com/jscs-dev/jscs-jsdoc#requireparamtypes ) |
61
60
| [ ` require-returns ` ] ( https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns ) | [ ` requireReturn ` ] ( https://github.com/jscs-dev/jscs-jsdoc#requirereturn ) |
62
- | [ ` require-returns-check ` ] ( https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-check ) | [ ` requireReturn ` ] ( https://github.com/jscs-dev/jscs-jsdoc#requirereturncheck ) |
63
61
| [ ` require-returns-description ` ] ( https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-description ) | [ ` requireReturnDescription ` ] ( https://github.com/jscs-dev/jscs-jsdoc#requirereturndescription ) |
64
62
| [ ` require-returns-type ` ] ( https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-type ) | [ ` requireReturnTypes ` ] ( https://github.com/jscs-dev/jscs-jsdoc#requirereturntypes ) |
65
63
| [ ` valid-types ` ] ( https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-valid-types ) | N/A |
@@ -119,7 +117,6 @@ Finally, enable all of the rules that you would like to use.
119
117
"jsdoc/require-param-name" : 1 ,
120
118
"jsdoc/require-param-type" : 1 ,
121
119
"jsdoc/require-returns" : 1 ,
122
- "jsdoc/require-returns-check" : 1 ,
123
120
"jsdoc/require-returns-description" : 1 ,
124
121
"jsdoc/require-returns-type" : 1 ,
125
122
"jsdoc/valid-types" : 1
@@ -379,7 +376,7 @@ function quux () {
379
376
380
377
}
381
378
// Settings: {"jsdoc":{"baseConfig":{"rules":{"no-undef":["error"]}},"eslintrcForExamples":false,"noDefaultExampleRules":true}}
382
- // Message: @example error (no-undef ): 'quux' is not defined .
379
+ // Message: @example error (semi ): Extra semicolon .
383
380
384
381
/**
385
382
* @example <caption> Valid usage </caption>
@@ -2200,10 +2197,10 @@ function quux () {
2200
2197
````
2201
2198
2202
2199
2203
- <a name =" eslint-plugin-jsdoc-rules-require-returns-check " ></a >
2204
- ### <code >require-returns-check </code >
2200
+ <a name =" eslint-plugin-jsdoc-rules-require-returns " ></a >
2201
+ ### <code >require-returns</code >
2205
2202
2206
- Check if exist return expression in function and in comment. Need exist both .
2203
+ Requires returns are documented .
2207
2204
2208
2205
|||
2209
2206
| ---| ---|
@@ -2214,106 +2211,302 @@ The following patterns are considered problems:
2214
2211
2215
2212
```` js
2216
2213
/**
2217
- * @returns
2214
+ *
2218
2215
*/
2219
2216
function quux (foo ) {
2220
2217
2221
2218
}
2222
- // Message: Present JSDoc @returns declaration but not available return expression in function .
2219
+ // Message: Missing JSDoc @param "foo" declaration .
2223
2220
2224
2221
/**
2225
- * @return
2222
+ *
2226
2223
*/
2227
2224
function quux (foo ) {
2228
2225
2229
2226
}
2230
- // Settings: {"jsdoc":{"tagNamePreference":{"returns":"return"}}}
2231
- // Message: Present JSDoc @return declaration but not available return expression in function.
2227
+ // Settings: {"jsdoc":{"tagNamePreference":{"param":"arg"}}}
2228
+ // Message: Missing JSDoc @arg "foo" declaration.
2229
+
2230
+ /**
2231
+ * @param foo
2232
+ */
2233
+ function quux (foo , bar ) {
2234
+
2235
+ }
2236
+ // Message: Missing JSDoc @param "bar" declaration.
2237
+
2238
+ /**
2239
+ * @override
2240
+ */
2241
+ function quux (foo ) {
2242
+
2243
+ }
2244
+ // Message: Missing JSDoc @param "foo" declaration.
2245
+
2246
+ /**
2247
+ * @implements
2248
+ */
2249
+ function quux (foo ) {
2250
+
2251
+ }
2252
+ // Message: Missing JSDoc @param "foo" declaration.
2253
+
2254
+ /**
2255
+ * @augments
2256
+ */
2257
+ function quux (foo ) {
2258
+
2259
+ }
2260
+ // Message: Missing JSDoc @param "foo" declaration.
2261
+
2262
+ /**
2263
+ * @extends
2264
+ */
2265
+ function quux (foo ) {
2266
+
2267
+ }
2268
+ // Message: Missing JSDoc @param "foo" declaration.
2269
+
2270
+ /**
2271
+ * @override
2272
+ */
2273
+ class A {
2274
+ /**
2275
+ *
2276
+ */
2277
+ quux (foo ) {
2278
+
2279
+ }
2280
+ }
2281
+ // Message: Missing JSDoc @param "foo" declaration.
2282
+
2283
+ /**
2284
+ * @implements
2285
+ */
2286
+ class A {
2287
+ /**
2288
+ *
2289
+ */
2290
+ quux (foo ) {
2291
+
2292
+ }
2293
+ }
2294
+ // Message: Missing JSDoc @param "foo" declaration.
2295
+
2296
+ /**
2297
+ * @augments
2298
+ */
2299
+ class A {
2300
+ /**
2301
+ *
2302
+ */
2303
+ quux (foo ) {
2304
+
2305
+ }
2306
+ }
2307
+ // Message: Missing JSDoc @param "foo" declaration.
2308
+
2309
+ /**
2310
+ * @extends
2311
+ */
2312
+ class A {
2313
+ /**
2314
+ *
2315
+ */
2316
+ quux (foo ) {
2317
+
2318
+ }
2319
+ }
2320
+ // Message: Missing JSDoc @param "foo" declaration.
2232
2321
````
2233
2322
2234
2323
The following patterns are not considered problems:
2235
2324
2236
2325
```` js
2237
2326
/**
2238
- * @returns Foo.
2327
+ * @param foo
2239
2328
*/
2240
- function quux () {
2329
+ function quux (foo ) {
2241
2330
2242
- return foo;
2243
2331
}
2244
2332
2245
2333
/**
2246
- * @returns {void} Foo.
2334
+ * @inheritdoc
2247
2335
*/
2248
- function quux () {
2336
+ function quux (foo ) {
2249
2337
2250
- return foo;
2251
2338
}
2252
2339
2253
2340
/**
2254
- * @returns {undefined} Foo.
2341
+ * @arg foo
2255
2342
*/
2256
- function quux () {
2343
+ function quux (foo ) {
2257
2344
2258
- return foo;
2259
2345
}
2346
+ // Settings: {"jsdoc":{"tagNamePreference":{"param":"arg"}}}
2260
2347
2261
2348
/**
2262
- *
2349
+ * @override
2350
+ * @param foo
2263
2351
*/
2264
- function quux () {
2352
+ function quux (foo ) {
2353
+
2265
2354
}
2266
- ````
2267
2355
2356
+ /**
2357
+ * @override
2358
+ */
2359
+ function quux (foo ) {
2268
2360
2269
- < a name = " eslint-plugin-jsdoc-rules-require-returns " ></ a >
2270
- ### < code >require-returns</ code >
2361
+ }
2362
+ // Settings: {"jsdoc":{"allowOverrideWithoutParam":true}}
2271
2363
2272
- Requires returns are documented.
2364
+ /**
2365
+ * @implements
2366
+ */
2367
+ function quux (foo ) {
2273
2368
2274
- |||
2275
- | ---| ---|
2276
- | Context| ` ArrowFunctionExpression ` , ` FunctionDeclaration ` , ` FunctionExpression ` |
2277
- | Tags| ` returns ` |
2369
+ }
2370
+ // Settings: {"jsdoc":{"allowImplementsWithoutParam":true}}
2278
2371
2279
- The following patterns are considered problems:
2372
+ /**
2373
+ * @implements
2374
+ * @param foo
2375
+ */
2376
+ function quux (foo ) {
2377
+
2378
+ }
2280
2379
2281
- ```` js
2282
2380
/**
2283
- *
2381
+ * @augments
2284
2382
*/
2285
2383
function quux (foo ) {
2286
2384
2287
- return foo;
2288
2385
}
2289
- // Message: Missing JSDoc @returns declaration.
2386
+ // Settings: {"jsdoc":{"allowAugmentsExtendsWithoutParam":true}}
2290
2387
2291
2388
/**
2292
- *
2389
+ * @augments
2390
+ * @param foo
2293
2391
*/
2294
2392
function quux (foo ) {
2295
2393
2296
- return foo;
2297
2394
}
2298
- // Settings: {"jsdoc":{"tagNamePreference":{"returns":"return"}}}
2299
- // Message: Missing JSDoc @return declaration.
2300
- ````
2301
2395
2302
- The following patterns are not considered problems:
2396
+ /**
2397
+ * @extends
2398
+ */
2399
+ function quux (foo ) {
2400
+
2401
+ }
2402
+ // Settings: {"jsdoc":{"allowAugmentsExtendsWithoutParam":true}}
2303
2403
2304
- ```` js
2305
2404
/**
2306
- * @returns Foo.
2405
+ * @extends
2406
+ * @param foo
2307
2407
*/
2308
- function quux () {
2408
+ function quux (foo ) {
2309
2409
2310
- return foo;
2311
2410
}
2312
2411
2313
2412
/**
2314
- *
2413
+ * @override
2315
2414
*/
2316
- function quux () {
2415
+ class A {
2416
+ /**
2417
+ * @param foo
2418
+ */
2419
+ quux (foo ) {
2420
+
2421
+ }
2422
+ }
2423
+
2424
+ /**
2425
+ * @override
2426
+ */
2427
+ class A {
2428
+ /**
2429
+ *
2430
+ */
2431
+ quux (foo ) {
2432
+
2433
+ }
2434
+ }
2435
+ // Settings: {"jsdoc":{"allowOverrideWithoutParam":true}}
2436
+
2437
+ /**
2438
+ * @implements
2439
+ */
2440
+ class A {
2441
+ /**
2442
+ *
2443
+ */
2444
+ quux (foo ) {
2445
+
2446
+ }
2447
+ }
2448
+ // Settings: {"jsdoc":{"allowImplementsWithoutParam":true}}
2449
+
2450
+ /**
2451
+ * @implements
2452
+ */
2453
+ class A {
2454
+ /**
2455
+ * @param foo
2456
+ */
2457
+ quux (foo ) {
2458
+
2459
+ }
2460
+ }
2461
+
2462
+ /**
2463
+ * @augments
2464
+ */
2465
+ class A {
2466
+ /**
2467
+ *
2468
+ */
2469
+ quux (foo ) {
2470
+
2471
+ }
2472
+ }
2473
+ // Settings: {"jsdoc":{"allowAugmentsExtendsWithoutParam":true}}
2474
+
2475
+ /**
2476
+ * @augments
2477
+ */
2478
+ class A {
2479
+ /**
2480
+ * @param foo
2481
+ */
2482
+ quux (foo ) {
2483
+
2484
+ }
2485
+ }
2486
+
2487
+ /**
2488
+ * @extends
2489
+ */
2490
+ class A {
2491
+ /**
2492
+ *
2493
+ */
2494
+ quux (foo ) {
2495
+
2496
+ }
2497
+ }
2498
+ // Settings: {"jsdoc":{"allowAugmentsExtendsWithoutParam":true}}
2499
+
2500
+ /**
2501
+ * @extends
2502
+ */
2503
+ class A {
2504
+ /**
2505
+ * @param foo
2506
+ */
2507
+ quux (foo ) {
2508
+
2509
+ }
2317
2510
}
2318
2511
````
2319
2512
@@ -2365,4 +2558,3 @@ function quux() {
2365
2558
}
2366
2559
````
2367
2560
2368
-
0 commit comments