From 6de500d1b8e2303bd14a955c989114b368494b39 Mon Sep 17 00:00:00 2001 From: Simon Seyock Date: Sun, 31 Jan 2021 17:30:59 +0100 Subject: [PATCH 1/7] use `eslint-plugin-jsdoc` --- index.js | 61 +++++++++++++++++++++++++++++++++++++++++++++------- package.json | 1 + 2 files changed, 54 insertions(+), 8 deletions(-) diff --git a/index.js b/index.js index 8bee8f9..59b99ed 100644 --- a/index.js +++ b/index.js @@ -7,7 +7,7 @@ module.exports = { parserOptions: { sourceType: 'module', }, - plugins: ['import', 'sort-imports-es6-autofix', 'prettier'], + plugins: ['import', 'sort-imports-es6-autofix', 'prettier', 'jsdoc'], extends: ['prettier'], rules: { 'block-scoped-var': 'error', @@ -17,6 +17,49 @@ module.exports = { 'import/named': 'error', 'import/default': 'error', 'import/extensions': ['error', 'always', {ignorePackages: true}], + "jsdoc/check-access": 'error', + "jsdoc/check-alignment": 'error', + "jsdoc/check-examples": 'error', + "jsdoc/check-indentation": 'off', + "jsdoc/check-line-alignment": 'error', + "jsdoc/check-param-names": 'error', + "jsdoc/check-property-names": 'error', + "jsdoc/check-syntax": 'error', + "jsdoc/check-tag-names": ['error', { + "definedTags": ["api"] + }], + "jsdoc/check-types": 'error', + "jsdoc/check-values": 'error', + "jsdoc/empty-tags": 'error', + "jsdoc/implements-on-classes": 'error', + "jsdoc/match-description": 'off', + "jsdoc/newline-after-description": 'off', + "jsdoc/no-bad-blocks": 'error', + "jsdoc/no-defaults": 'error', + "jsdoc/no-types": 'off', + "jsdoc/no-undefined-types": ['error', { + 'definedTypes': ['ol'] // should this be allowed? + }], + "jsdoc/require-description": 'off', + "jsdoc/require-description-complete-sentence": 'off', // some issues with description starting with line break + "jsdoc/require-example": 'off', + "jsdoc/require-file-overview": 'off', + "jsdoc/require-hyphen-before-param-description": ['error', 'never'], + "jsdoc/require-jsdoc": 'off', + "jsdoc/require-param": 'error', + "jsdoc/require-param-description": 'error', + "jsdoc/require-param-name": 'error', + "jsdoc/require-param-type": 'error', + "jsdoc/require-property": 'error', + "jsdoc/require-property-description": 'error', + "jsdoc/require-property-name": 'error', + "jsdoc/require-property-type": 'error', + "jsdoc/require-returns": 'off', + "jsdoc/require-returns-check": 'error', + "jsdoc/require-returns-description": 'error', + "jsdoc/require-returns-type": 'error', + "jsdoc/require-yields": 'error', + "jsdoc/valid-types": 'error', 'no-cond-assign': 'error', 'no-console': 'error', 'no-const-assign': 'error', @@ -68,12 +111,14 @@ module.exports = { }, ], 'use-isnan': 'error', - 'valid-jsdoc': [ - 'error', - { - requireReturn: false, - }, - ], - 'valid-typeof': 'error', + 'valid-typeof': 'error' }, + 'settings': { + 'jsdoc': { + 'mode': 'typescript', + "tagNamePreference": { + "returns": "return" + } + } + } }; diff --git a/package.json b/package.json index cef1b27..54f2bbc 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "dependencies": { "eslint-config-prettier": "^6.10.1", "eslint-plugin-import": "^2.20.2", + "eslint-plugin-jsdoc": "^31.6.0", "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-sort-imports-es6-autofix": "^0.5.0", "prettier": "^2.0.2" From 78e58e5a247bd174e5a3c0d23dd1fba9d23d0e73 Mon Sep 17 00:00:00 2001 From: Simon Seyock Date: Mon, 1 Feb 2021 11:29:38 +0100 Subject: [PATCH 2/7] some clean up. Disabling of currently broken rules. --- index.js | 57 ++++++++++++++++++++-------------- package-lock.json | 79 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+), 24 deletions(-) diff --git a/index.js b/index.js index 59b99ed..5e9e6e3 100644 --- a/index.js +++ b/index.js @@ -17,49 +17,58 @@ module.exports = { 'import/named': 'error', 'import/default': 'error', 'import/extensions': ['error', 'always', {ignorePackages: true}], + + // validity "jsdoc/check-access": 'error', - "jsdoc/check-alignment": 'error', - "jsdoc/check-examples": 'error', - "jsdoc/check-indentation": 'off', - "jsdoc/check-line-alignment": 'error', "jsdoc/check-param-names": 'error', "jsdoc/check-property-names": 'error', - "jsdoc/check-syntax": 'error', + // "jsdoc/check-syntax": 'error', // the mode is 'typescript' and it errors for closure syntax "jsdoc/check-tag-names": ['error', { "definedTags": ["api"] }], - "jsdoc/check-types": 'error', - "jsdoc/check-values": 'error', "jsdoc/empty-tags": 'error', "jsdoc/implements-on-classes": 'error', - "jsdoc/match-description": 'off', - "jsdoc/newline-after-description": 'off', "jsdoc/no-bad-blocks": 'error', - "jsdoc/no-defaults": 'error', - "jsdoc/no-types": 'off', - "jsdoc/no-undefined-types": ['error', { - 'definedTypes': ['ol'] // should this be allowed? - }], - "jsdoc/require-description": 'off', - "jsdoc/require-description-complete-sentence": 'off', // some issues with description starting with line break - "jsdoc/require-example": 'off', - "jsdoc/require-file-overview": 'off', - "jsdoc/require-hyphen-before-param-description": ['error', 'never'], - "jsdoc/require-jsdoc": 'off', + // "jsdoc/no-undefined-types": ['error', { 'definedTypes': ['ol'] }], + // this fails because of https://github.com/gajus/eslint-plugin-jsdoc/issues/559 + // for main source this should not be needed because tsc already checks it "jsdoc/require-param": 'error', - "jsdoc/require-param-description": 'error', + "jsdoc/require-param-description": 'error', // this fails because of https://github.com/gajus/eslint-plugin-jsdoc/issues/686 "jsdoc/require-param-name": 'error', "jsdoc/require-param-type": 'error', "jsdoc/require-property": 'error', "jsdoc/require-property-description": 'error', "jsdoc/require-property-name": 'error', "jsdoc/require-property-type": 'error', - "jsdoc/require-returns": 'off', + "jsdoc/require-returns": 'error', "jsdoc/require-returns-check": 'error', "jsdoc/require-returns-description": 'error', "jsdoc/require-returns-type": 'error', - "jsdoc/require-yields": 'error', - "jsdoc/valid-types": 'error', + // "jsdoc/valid-types": 'error', // this fails because of https://github.com/jsdoctypeparser/jsdoctypeparser/issues/133 + // for main source this should not be needed because tsc already checks it + // "jsdoc/check-types": 'error', // for primitives. is aligned with mode 'typescript'. Needed because of tsc? + + // stylistic + "jsdoc/check-alignment": 'error', + "jsdoc/check-examples": 'error', + "jsdoc/require-hyphen-before-param-description": ['error', 'never'], + + // turned off + // "jsdoc/check-indentation": 'error', // we want indentation in certain cases + // "jsdoc/check-line-alignment": 'error', + // "jsdoc/check-values": 'error', // not needed + // "jsdoc/match-description": 'error', // regex could get adjusted ... + // "jsdoc/newline-after-description": 'error', + // "jsdoc/no-defaults": 'error', + // "jsdoc/no-types": 'error', + // "jsdoc/require-description": 'error', + // "jsdoc/require-description-complete-sentence": 'error', // some issues with description starting with line break + // "jsdoc/require-example": 'error', + // "jsdoc/require-file-overview": 'error', + // "jsdoc/require-jsdoc": 'error', + // "jsdoc/require-throws": 'error', + // "jsdoc/require-yields": 'error', + 'no-cond-assign': 'error', 'no-console': 'error', 'no-const-assign': 'error', diff --git a/package-lock.json b/package-lock.json index 43a6755..2f805cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -244,6 +244,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, + "comment-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.1.1.tgz", + "integrity": "sha512-vue7cRi1ZO5/72FJ+wZ5+siTSBlUv3ZksTk8bWD2IkaA6obitzMZP3yI65azTJLckwmi8lxfPP5Sd9oGuZ8e2g==" + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -502,6 +507,57 @@ } } }, + "eslint-plugin-jsdoc": { + "version": "31.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-31.6.0.tgz", + "integrity": "sha512-kYhdW+BXHij9n12oHvAC27oDHKEFITz1YJP/C0NPtb+gsGJWxejh5B6dEmmj6oLYOsmNvuCVkdIcqYOyabP2QA==", + "requires": { + "comment-parser": "1.1.1", + "debug": "^4.3.1", + "jsdoctypeparser": "^9.0.0", + "lodash": "^4.17.20", + "regextras": "^0.7.1", + "semver": "^7.3.4", + "spdx-expression-parse": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + } + } + }, "eslint-plugin-prettier": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", @@ -964,6 +1020,11 @@ "esprima": "^4.0.0" } }, + "jsdoctypeparser": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz", + "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==" + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -1026,6 +1087,14 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -1410,6 +1479,11 @@ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" }, + "regextras": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz", + "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==" + }, "resolve": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", @@ -2039,6 +2113,11 @@ "requires": { "mkdirp": "^0.5.1" } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } } From 0d6976ee687849b886d0227e0652161d41d5e495 Mon Sep 17 00:00:00 2001 From: Simon Seyock Date: Mon, 1 Feb 2021 14:52:56 +0100 Subject: [PATCH 3/7] Linting --- index.js | 79 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 42 insertions(+), 37 deletions(-) diff --git a/index.js b/index.js index 5e9e6e3..1f3a09a 100644 --- a/index.js +++ b/index.js @@ -19,39 +19,42 @@ module.exports = { 'import/extensions': ['error', 'always', {ignorePackages: true}], // validity - "jsdoc/check-access": 'error', - "jsdoc/check-param-names": 'error', - "jsdoc/check-property-names": 'error', + 'jsdoc/check-access': 'error', + 'jsdoc/check-param-names': 'error', + 'jsdoc/check-property-names': 'error', // "jsdoc/check-syntax": 'error', // the mode is 'typescript' and it errors for closure syntax - "jsdoc/check-tag-names": ['error', { - "definedTags": ["api"] - }], - "jsdoc/empty-tags": 'error', - "jsdoc/implements-on-classes": 'error', - "jsdoc/no-bad-blocks": 'error', + 'jsdoc/check-tag-names': [ + 'error', + { + definedTags: ['api', 'observable'], + }, + ], + 'jsdoc/empty-tags': 'error', + 'jsdoc/implements-on-classes': 'error', + 'jsdoc/no-bad-blocks': 'error', // "jsdoc/no-undefined-types": ['error', { 'definedTypes': ['ol'] }], - // this fails because of https://github.com/gajus/eslint-plugin-jsdoc/issues/559 - // for main source this should not be needed because tsc already checks it - "jsdoc/require-param": 'error', - "jsdoc/require-param-description": 'error', // this fails because of https://github.com/gajus/eslint-plugin-jsdoc/issues/686 - "jsdoc/require-param-name": 'error', - "jsdoc/require-param-type": 'error', - "jsdoc/require-property": 'error', - "jsdoc/require-property-description": 'error', - "jsdoc/require-property-name": 'error', - "jsdoc/require-property-type": 'error', - "jsdoc/require-returns": 'error', - "jsdoc/require-returns-check": 'error', - "jsdoc/require-returns-description": 'error', - "jsdoc/require-returns-type": 'error', + // this fails because of https://github.com/gajus/eslint-plugin-jsdoc/issues/559 + // for main source this should not be needed because tsc already checks it + 'jsdoc/require-param': 'error', + 'jsdoc/require-param-description': 'error', // this fails because of https://github.com/gajus/eslint-plugin-jsdoc/issues/686 + 'jsdoc/require-param-name': 'error', + 'jsdoc/require-param-type': 'error', + 'jsdoc/require-property': 'error', + 'jsdoc/require-property-description': 'error', + 'jsdoc/require-property-name': 'error', + 'jsdoc/require-property-type': 'error', + 'jsdoc/require-returns': 'error', + 'jsdoc/require-returns-check': 'error', + 'jsdoc/require-returns-description': 'error', + 'jsdoc/require-returns-type': 'error', // "jsdoc/valid-types": 'error', // this fails because of https://github.com/jsdoctypeparser/jsdoctypeparser/issues/133 - // for main source this should not be needed because tsc already checks it - // "jsdoc/check-types": 'error', // for primitives. is aligned with mode 'typescript'. Needed because of tsc? + // for main source this should not be needed because tsc already checks it + // "jsdoc/check-types": 'error', // for primitives. is aligned with mode 'typescript'. Not needed because of tsc? // stylistic - "jsdoc/check-alignment": 'error', - "jsdoc/check-examples": 'error', - "jsdoc/require-hyphen-before-param-description": ['error', 'never'], + 'jsdoc/check-alignment': 'error', + 'jsdoc/check-examples': 'error', + 'jsdoc/require-hyphen-before-param-description': ['error', 'never'], // turned off // "jsdoc/check-indentation": 'error', // we want indentation in certain cases @@ -120,14 +123,16 @@ module.exports = { }, ], 'use-isnan': 'error', - 'valid-typeof': 'error' + 'valid-typeof': 'error', + }, + settings: { + jsdoc: { + mode: 'typescript', + tagNamePreference: { + 'returns': 'return', + 'constant': 'const', + 'augments': 'extends', + }, + }, }, - 'settings': { - 'jsdoc': { - 'mode': 'typescript', - "tagNamePreference": { - "returns": "return" - } - } - } }; From 7059f768730e045f3eea29f665baed1f150dc5a0 Mon Sep 17 00:00:00 2001 From: Simon Seyock Date: Tue, 2 Feb 2021 17:14:46 +0100 Subject: [PATCH 4/7] some more customizations --- index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 1f3a09a..530463e 100644 --- a/index.js +++ b/index.js @@ -40,7 +40,7 @@ module.exports = { 'jsdoc/require-param-name': 'error', 'jsdoc/require-param-type': 'error', 'jsdoc/require-property': 'error', - 'jsdoc/require-property-description': 'error', + // 'jsdoc/require-property-description': 'error', 'jsdoc/require-property-name': 'error', 'jsdoc/require-property-type': 'error', 'jsdoc/require-returns': 'error', @@ -130,6 +130,7 @@ module.exports = { mode: 'typescript', tagNamePreference: { 'returns': 'return', + 'file': 'fileoverview', 'constant': 'const', 'augments': 'extends', }, From 0e25979c4f7edbf4c64b075bd92e5e0c49328c37 Mon Sep 17 00:00:00 2001 From: Simon Seyock Date: Tue, 2 Feb 2021 22:44:15 +0100 Subject: [PATCH 5/7] Added check-types with preferred Object<> and Array<> syntax --- index.js | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/index.js b/index.js index 530463e..73fb7ac 100644 --- a/index.js +++ b/index.js @@ -17,8 +17,6 @@ module.exports = { 'import/named': 'error', 'import/default': 'error', 'import/extensions': ['error', 'always', {ignorePackages: true}], - - // validity 'jsdoc/check-access': 'error', 'jsdoc/check-param-names': 'error', 'jsdoc/check-property-names': 'error', @@ -32,11 +30,9 @@ module.exports = { 'jsdoc/empty-tags': 'error', 'jsdoc/implements-on-classes': 'error', 'jsdoc/no-bad-blocks': 'error', - // "jsdoc/no-undefined-types": ['error', { 'definedTypes': ['ol'] }], - // this fails because of https://github.com/gajus/eslint-plugin-jsdoc/issues/559 - // for main source this should not be needed because tsc already checks it + // "jsdoc/no-undefined-types": ['error', { 'definedTypes': ['ol'] }], // blocked by https://github.com/gajus/eslint-plugin-jsdoc/issues/559 'jsdoc/require-param': 'error', - 'jsdoc/require-param-description': 'error', // this fails because of https://github.com/gajus/eslint-plugin-jsdoc/issues/686 + 'jsdoc/require-param-description': 'error', 'jsdoc/require-param-name': 'error', 'jsdoc/require-param-type': 'error', 'jsdoc/require-property': 'error', @@ -47,31 +43,11 @@ module.exports = { 'jsdoc/require-returns-check': 'error', 'jsdoc/require-returns-description': 'error', 'jsdoc/require-returns-type': 'error', - // "jsdoc/valid-types": 'error', // this fails because of https://github.com/jsdoctypeparser/jsdoctypeparser/issues/133 - // for main source this should not be needed because tsc already checks it - // "jsdoc/check-types": 'error', // for primitives. is aligned with mode 'typescript'. Not needed because of tsc? - - // stylistic + // "jsdoc/valid-types": 'error', // blocked by https://github.com/jsdoctypeparser/jsdoctypeparser/issues/133 + 'jsdoc/check-types': 'error', 'jsdoc/check-alignment': 'error', 'jsdoc/check-examples': 'error', 'jsdoc/require-hyphen-before-param-description': ['error', 'never'], - - // turned off - // "jsdoc/check-indentation": 'error', // we want indentation in certain cases - // "jsdoc/check-line-alignment": 'error', - // "jsdoc/check-values": 'error', // not needed - // "jsdoc/match-description": 'error', // regex could get adjusted ... - // "jsdoc/newline-after-description": 'error', - // "jsdoc/no-defaults": 'error', - // "jsdoc/no-types": 'error', - // "jsdoc/require-description": 'error', - // "jsdoc/require-description-complete-sentence": 'error', // some issues with description starting with line break - // "jsdoc/require-example": 'error', - // "jsdoc/require-file-overview": 'error', - // "jsdoc/require-jsdoc": 'error', - // "jsdoc/require-throws": 'error', - // "jsdoc/require-yields": 'error', - 'no-cond-assign': 'error', 'no-console': 'error', 'no-const-assign': 'error', @@ -128,6 +104,10 @@ module.exports = { settings: { jsdoc: { mode: 'typescript', + preferredTypes: { + '[]': 'Array<>', + '.<>': '<>', + }, tagNamePreference: { 'returns': 'return', 'file': 'fileoverview', From 6728dcd4822ece7e420f932bdae220dfc0a0f3f0 Mon Sep 17 00:00:00 2001 From: Simon Seyock Date: Wed, 3 Feb 2021 14:08:26 +0100 Subject: [PATCH 6/7] enable check-syntax --- index.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index 73fb7ac..8041fc2 100644 --- a/index.js +++ b/index.js @@ -18,19 +18,23 @@ module.exports = { 'import/default': 'error', 'import/extensions': ['error', 'always', {ignorePackages: true}], 'jsdoc/check-access': 'error', + 'jsdoc/check-alignment': 'error', + 'jsdoc/check-examples': 'error', 'jsdoc/check-param-names': 'error', 'jsdoc/check-property-names': 'error', - // "jsdoc/check-syntax": 'error', // the mode is 'typescript' and it errors for closure syntax + 'jsdoc/check-syntax': 'error', 'jsdoc/check-tag-names': [ 'error', { definedTags: ['api', 'observable'], }, ], + 'jsdoc/check-types': 'error', 'jsdoc/empty-tags': 'error', 'jsdoc/implements-on-classes': 'error', 'jsdoc/no-bad-blocks': 'error', // "jsdoc/no-undefined-types": ['error', { 'definedTypes': ['ol'] }], // blocked by https://github.com/gajus/eslint-plugin-jsdoc/issues/559 + 'jsdoc/require-hyphen-before-param-description': ['error', 'never'], 'jsdoc/require-param': 'error', 'jsdoc/require-param-description': 'error', 'jsdoc/require-param-name': 'error', @@ -44,10 +48,6 @@ module.exports = { 'jsdoc/require-returns-description': 'error', 'jsdoc/require-returns-type': 'error', // "jsdoc/valid-types": 'error', // blocked by https://github.com/jsdoctypeparser/jsdoctypeparser/issues/133 - 'jsdoc/check-types': 'error', - 'jsdoc/check-alignment': 'error', - 'jsdoc/check-examples': 'error', - 'jsdoc/require-hyphen-before-param-description': ['error', 'never'], 'no-cond-assign': 'error', 'no-console': 'error', 'no-const-assign': 'error', From fd8d58d3d7a3f14b2d6f9ee466ec656ec9d4cde9 Mon Sep 17 00:00:00 2001 From: Simon Seyock Date: Thu, 4 Feb 2021 21:09:52 +0100 Subject: [PATCH 7/7] rule `require-property-description` --- index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 8041fc2..54451cb 100644 --- a/index.js +++ b/index.js @@ -33,21 +33,21 @@ module.exports = { 'jsdoc/empty-tags': 'error', 'jsdoc/implements-on-classes': 'error', 'jsdoc/no-bad-blocks': 'error', - // "jsdoc/no-undefined-types": ['error', { 'definedTypes': ['ol'] }], // blocked by https://github.com/gajus/eslint-plugin-jsdoc/issues/559 + // 'jsdoc/no-undefined-types': ['error', { 'definedTypes': ['ol'] }], // blocked by https://github.com/gajus/eslint-plugin-jsdoc/issues/559 'jsdoc/require-hyphen-before-param-description': ['error', 'never'], 'jsdoc/require-param': 'error', 'jsdoc/require-param-description': 'error', 'jsdoc/require-param-name': 'error', 'jsdoc/require-param-type': 'error', 'jsdoc/require-property': 'error', - // 'jsdoc/require-property-description': 'error', + 'jsdoc/require-property-description': 'error', 'jsdoc/require-property-name': 'error', 'jsdoc/require-property-type': 'error', 'jsdoc/require-returns': 'error', 'jsdoc/require-returns-check': 'error', 'jsdoc/require-returns-description': 'error', 'jsdoc/require-returns-type': 'error', - // "jsdoc/valid-types": 'error', // blocked by https://github.com/jsdoctypeparser/jsdoctypeparser/issues/133 + // 'jsdoc/valid-types': 'error', // blocked by https://github.com/jsdoctypeparser/jsdoctypeparser/issues/133 'no-cond-assign': 'error', 'no-console': 'error', 'no-const-assign': 'error',