Skip to content

Commit e577a71

Browse files
Added JSDoc rules
1 parent 080a6ad commit e577a71

6 files changed

+279
-68
lines changed

lib/index.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
"use strict";
22

33
const universalRules = require("./universal-rules");
4+
const universalJSDocRules = require("./universal-jsdoc-rules");
45
const javascriptRules = require("./javascript-rules");
6+
const javascriptJSDocRules = require("./javascript-jsdoc-rules");
57
const javascriptTestRules = require("./javascript-test-rules");
68
const typescriptRules = require("./typescript-rules");
9+
const typescriptJSDocRules = require("./typescript-jsdoc-rules");
710
const typescriptTestRules = require("./typescript-test-rules");
811
const typescriptTypeRules = require("./typescript-type-rules");
912
const fs = require("fs");
@@ -35,14 +38,17 @@ module.exports = {
3538
},
3639
plugins: [
3740
"@typescript-eslint",
41+
"jsdoc",
3842
],
3943
env: {
4044
es2020: true,
4145
"shared-node-browser": true,
4246
},
4347
rules: {
4448
...universalRules,
49+
...universalJSDocRules,
4550
...typescriptRules,
51+
...typescriptJSDocRules,
4652
...hasTSConfig && typescriptTypeRules,
4753
}
4854
},
@@ -93,14 +99,19 @@ module.exports = {
9399
jsx: true,
94100
},
95101
},
102+
plugins: [
103+
"jsdoc",
104+
],
96105
env: {
97106
es2020: true,
98107
commonjs: true,
99108
"shared-node-browser": true,
100109
},
101110
rules: {
102111
...universalRules,
112+
...universalJSDocRules,
103113
...javascriptRules,
114+
...javascriptJSDocRules,
104115
}
105116
},
106117

lib/javascript-jsdoc-rules.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
"use strict";
2+
3+
/**
4+
* JSDoc rules for JavaScript and TypeScript
5+
*/
6+
module.exports = {
7+
/**
8+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-types
9+
*/
10+
"jsdoc/check-types": "warn",
11+
12+
/**
13+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-undefined-types
14+
*/
15+
"jsdoc/no-undefined-types": "warn",
16+
17+
/**
18+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-type
19+
*/
20+
"jsdoc/require-param-type": "warn",
21+
22+
/**
23+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property-type
24+
*/
25+
"jsdoc/require-property-type": "warn",
26+
27+
/**
28+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-type
29+
*/
30+
"jsdoc/require-returns-type": "warn",
31+
32+
/**
33+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-valid-types
34+
*/
35+
"jsdoc/valid-types": "warn",
36+
};

lib/typescript-jsdoc-rules.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"use strict";
2+
3+
/**
4+
* JSDoc rules for JavaScript and TypeScript
5+
*/
6+
module.exports = {
7+
/**
8+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-types
9+
*/
10+
"jsdoc/no-types": "warn",
11+
};

lib/universal-jsdoc-rules.js

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
"use strict";
2+
3+
/**
4+
* JSDoc rules for JavaScript and TypeScript
5+
*/
6+
module.exports = {
7+
/**
8+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-access
9+
*/
10+
"jsdoc/check-access": "warn",
11+
12+
/**
13+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-alignment
14+
*/
15+
"jsdoc/check-alignment": "warn",
16+
17+
/**
18+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-indentation
19+
*/
20+
"jsdoc/check-indentation": "warn",
21+
22+
/**
23+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-param-names
24+
*/
25+
"jsdoc/check-param-names": "warn",
26+
27+
/**
28+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-property-names
29+
*/
30+
"jsdoc/check-property-names": "warn",
31+
32+
/**
33+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-syntax
34+
*/
35+
"jsdoc/check-syntax": "warn",
36+
37+
/**
38+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-tag-names
39+
*/
40+
"jsdoc/check-tag-names": "warn",
41+
42+
/**
43+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-values
44+
*/
45+
"jsdoc/check-values": "warn",
46+
47+
/**
48+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-empty-tags
49+
*/
50+
"jsdoc/empty-tags": "warn",
51+
52+
/**
53+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-implements-on-classes
54+
*/
55+
"jsdoc/implements-on-classes": "warn",
56+
57+
/**
58+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-newline-after-description
59+
*/
60+
"jsdoc/newline-after-description": "warn",
61+
62+
/**
63+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-description
64+
*/
65+
"jsdoc/require-description": [
66+
"warn",
67+
{
68+
contexts: [
69+
"FunctionDeclaration", "ClassDeclaration", "ClassExpression", "ClassProperty",
70+
"MethodDefinition", "ExportNamedDeclaration", "TSInterfaceDeclaration", "TSPropertySignature",
71+
"TSMethodSignature", "TSTypeAliasDeclaration", "TSDeclareFunction", "TSEnumDeclaration",
72+
"TSEmptyBodyFunctionExpression", "TSFunctionType"
73+
],
74+
}
75+
],
76+
77+
/**
78+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-hyphen-before-param-description
79+
*/
80+
"jsdoc/require-hyphen-before-param-description": "warn",
81+
82+
/**
83+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-jsdoc
84+
*/
85+
"jsdoc/require-jsdoc": [
86+
"warn",
87+
{
88+
enableFixer: false
89+
}
90+
],
91+
92+
/**
93+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-description
94+
*/
95+
"jsdoc/require-param-description": "warn",
96+
97+
/**
98+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-name
99+
*/
100+
"jsdoc/require-param-name": "warn",
101+
102+
/**
103+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property
104+
*/
105+
"jsdoc/require-property": "warn",
106+
107+
/**
108+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property-description
109+
*/
110+
"jsdoc/require-property-description": "warn",
111+
112+
/**
113+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property-name
114+
*/
115+
"jsdoc/require-property-name": "warn",
116+
117+
/**
118+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-check
119+
*/
120+
"jsdoc/require-returns-check": "warn",
121+
122+
/**
123+
* @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-description
124+
*/
125+
"jsdoc/require-returns-description": "warn",
126+
};

0 commit comments

Comments
 (0)