Skip to content

Commit 9f18df1

Browse files
committed
feat: add tsdoc linting
1 parent f53149f commit 9f18df1

File tree

3 files changed

+68
-12
lines changed

3 files changed

+68
-12
lines changed

.eslintrc.js

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,29 @@ module.exports = {
55
tsconfigRootDir: __dirname,
66
project: ['./packages/*/tsconfig.json'],
77
},
8-
plugins: ['import', 'jsdoc', '@typescript-eslint/eslint-plugin'],
8+
plugins: [
9+
'import',
10+
'jsdoc',
11+
'tsdoc',
12+
'@typescript-eslint/eslint-plugin'
13+
],
914
extends: [
1015
'eslint:recommended',
16+
'plugin:jsdoc/recommended-typescript',
1117
'plugin:@typescript-eslint/recommended',
1218
'plugin:prettier/recommended',
13-
'plugin:jsdoc/recommended',
1419
'plugin:storybook/recommended',
1520
],
1621
root: true,
1722
env: {
1823
node: true,
1924
jest: true,
2025
},
26+
settings: {
27+
jsdoc: {
28+
mode: 'typescript',
29+
},
30+
},
2131
ignorePatterns: ['.eslintrc.js', 'packages/*/dist'],
2232
rules: {
2333
'no-unused-vars': 'off',
@@ -29,12 +39,19 @@ module.exports = {
2939
'@typescript-eslint/no-explicit-any': 'error',
3040
'@typescript-eslint/no-empty-interface': 'off',
3141
'no-console': ['error', { allow: ['warn', 'error'] }],
32-
'jsdoc/require-param-type': 0,
33-
'jsdoc/require-returns-type': 0,
42+
'jsdoc/require-jsdoc': 'off',
43+
'jsdoc/require-param': 'off',
44+
'jsdoc/require-returns': 'off',
45+
'jsdoc/tag-lines': ['error', 'any', { startLines: 1 }],
46+
'tsdoc/syntax': 'error',
3447
},
35-
settings: {
36-
jsdoc: {
37-
mode: 'typescript',
48+
overrides: [
49+
{
50+
files: ['*.spec.tsx'],
51+
rules: {
52+
'jsdoc/tag-lines': 'off',
53+
'tsdoc/syntax': 'off',
54+
},
3855
},
39-
},
56+
],
4057
};

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"eslint-plugin-node": "^11.1.0",
3535
"eslint-plugin-prettier": "^3.4.0",
3636
"eslint-plugin-storybook": "^0.8.0",
37+
"eslint-plugin-tsdoc": "^0.3.0",
3738
"husky": "^7.0.4",
3839
"jest": "27.0.6",
3940
"jest-junit": "^12.2.0",
@@ -58,7 +59,8 @@
5859
"build": "./node_modules/.bin/tsc --build",
5960
"watch": "yarn build && ./node_modules/.bin/tsc --build --watch",
6061
"prepare": "husky install && yarn clean && yarn build",
61-
"lint": "eslint \"packages/**/{src,test}/**/*.{ts,js,json}\" --fix",
62+
"lint": "eslint \"packages/**/{src,test}/**/*.{ts,js,json}\"",
63+
"lint:fix": "yarn lint --fix",
6264
"test": "jest",
6365
"test:watch": "jest --watch",
6466
"test:cov": "jest --coverage --coverageReporters=text --coverageReporters=json --coverageReporters=cobertura --coverageReporters=json-summary --coverageReporters=lcov",

yarn.lock

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3833,6 +3833,25 @@ __metadata:
38333833
languageName: node
38343834
linkType: hard
38353835

3836+
"@microsoft/tsdoc-config@npm:0.17.0":
3837+
version: 0.17.0
3838+
resolution: "@microsoft/tsdoc-config@npm:0.17.0"
3839+
dependencies:
3840+
"@microsoft/tsdoc": "npm:0.15.0"
3841+
ajv: "npm:~8.12.0"
3842+
jju: "npm:~1.4.0"
3843+
resolve: "npm:~1.22.2"
3844+
checksum: 10c0/9aa51b5b0fa93ad5c6a40ed1acf1f25c625b616efe29f2e5fa22ee9bddea12a4a39c833726e11ab592f20cfc9b8c3865978864dd02711d457fa971df3c091847
3845+
languageName: node
3846+
linkType: hard
3847+
3848+
"@microsoft/tsdoc@npm:0.15.0":
3849+
version: 0.15.0
3850+
resolution: "@microsoft/tsdoc@npm:0.15.0"
3851+
checksum: 10c0/6beaf6e01ff54daeba69862cb3d27e03bbabfe299d23d0fade885f5b29bf98af01cecc746d23875fe60ba89514e3b630b71140b1b18d37301096f7a1e35451aa
3852+
languageName: node
3853+
linkType: hard
3854+
38363855
"@mrmlnc/readdir-enhanced@npm:^2.2.1":
38373856
version: 2.2.1
38383857
resolution: "@mrmlnc/readdir-enhanced@npm:2.2.1"
@@ -6476,7 +6495,7 @@ __metadata:
64766495
languageName: node
64776496
linkType: hard
64786497

6479-
"ajv@npm:^8.0.1":
6498+
"ajv@npm:^8.0.1, ajv@npm:~8.12.0":
64806499
version: 8.12.0
64816500
resolution: "ajv@npm:8.12.0"
64826501
dependencies:
@@ -9862,6 +9881,16 @@ __metadata:
98629881
languageName: node
98639882
linkType: hard
98649883

9884+
"eslint-plugin-tsdoc@npm:^0.3.0":
9885+
version: 0.3.0
9886+
resolution: "eslint-plugin-tsdoc@npm:0.3.0"
9887+
dependencies:
9888+
"@microsoft/tsdoc": "npm:0.15.0"
9889+
"@microsoft/tsdoc-config": "npm:0.17.0"
9890+
checksum: 10c0/2ee35c661ad9cd3032ec40a4f7b02c04dddd3ecc40afcd8ea509b744c8bedafb408b0a0466e6f28ef771645fa55bf4600a4ad534723f36fc149ef92dc1f6719e
9891+
languageName: node
9892+
linkType: hard
9893+
98659894
"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1":
98669895
version: 5.1.1
98679896
resolution: "eslint-scope@npm:5.1.1"
@@ -13113,6 +13142,13 @@ __metadata:
1311313142
languageName: node
1311413143
linkType: hard
1311513144

13145+
"jju@npm:~1.4.0":
13146+
version: 1.4.0
13147+
resolution: "jju@npm:1.4.0"
13148+
checksum: 10c0/f3f444557e4364cfc06b1abf8331bf3778b26c0c8552ca54429bc0092652172fdea26cbffe33e1017b303d5aa506f7ede8571857400efe459cb7439180e2acad
13149+
languageName: node
13150+
linkType: hard
13151+
1311613152
"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0":
1311713153
version: 4.0.0
1311813154
resolution: "js-tokens@npm:4.0.0"
@@ -16870,7 +16906,7 @@ __metadata:
1687016906
languageName: node
1687116907
linkType: hard
1687216908

16873-
"resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4, resolve@npm:^1.22.8":
16909+
"resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4, resolve@npm:^1.22.8, resolve@npm:~1.22.2":
1687416910
version: 1.22.8
1687516911
resolution: "resolve@npm:1.22.8"
1687616912
dependencies:
@@ -16883,7 +16919,7 @@ __metadata:
1688316919
languageName: node
1688416920
linkType: hard
1688516921

16886-
"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin<compat/resolve>":
16922+
"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A~1.22.2#optional!builtin<compat/resolve>":
1688716923
version: 1.22.8
1688816924
resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin<compat/resolve>::version=1.22.8&hash=c3c19d"
1688916925
dependencies:
@@ -17006,6 +17042,7 @@ __metadata:
1700617042
eslint-plugin-node: "npm:^11.1.0"
1700717043
eslint-plugin-prettier: "npm:^3.4.0"
1700817044
eslint-plugin-storybook: "npm:^0.8.0"
17045+
eslint-plugin-tsdoc: "npm:^0.3.0"
1700917046
husky: "npm:^7.0.4"
1701017047
jest: "npm:27.0.6"
1701117048
jest-junit: "npm:^12.2.0"

0 commit comments

Comments
 (0)