Skip to content

Commit

Permalink
feat: add config to report recommended rules as errors; fixes gajus#956
Browse files Browse the repository at this point in the history
  • Loading branch information
brettz9 committed Jan 26, 2023
1 parent 3d9eb6e commit fe52135
Showing 1 changed file with 77 additions and 60 deletions.
137 changes: 77 additions & 60 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,66 +49,8 @@ import tagLines from './rules/tagLines';
import textEscaping from './rules/textEscaping';
import validTypes from './rules/validTypes';

export default {
configs: {
recommended: {
plugins: [
'jsdoc',
],
rules: {
'jsdoc/check-access': 'warn',
'jsdoc/check-alignment': 'warn',
'jsdoc/check-examples': 'off',
'jsdoc/check-indentation': 'off',
'jsdoc/check-line-alignment': 'off',
'jsdoc/check-param-names': 'warn',
'jsdoc/check-property-names': 'warn',
'jsdoc/check-syntax': 'off',
'jsdoc/check-tag-names': 'warn',
'jsdoc/check-types': 'warn',
'jsdoc/check-values': 'warn',
'jsdoc/empty-tags': 'warn',
'jsdoc/implements-on-classes': 'warn',
'jsdoc/match-description': 'off',
'jsdoc/match-name': 'off',
'jsdoc/multiline-blocks': 'warn',
'jsdoc/newline-after-description': 'warn',
'jsdoc/no-bad-blocks': 'off',
'jsdoc/no-defaults': 'off',
'jsdoc/no-missing-syntax': 'off',
'jsdoc/no-multi-asterisks': 'warn',
'jsdoc/no-restricted-syntax': 'off',
'jsdoc/no-types': 'off',
'jsdoc/no-undefined-types': 'warn',
'jsdoc/require-asterisk-prefix': 'off',
'jsdoc/require-description': 'off',
'jsdoc/require-description-complete-sentence': 'off',
'jsdoc/require-example': 'off',
'jsdoc/require-file-overview': 'off',
'jsdoc/require-hyphen-before-param-description': 'off',
'jsdoc/require-jsdoc': 'warn',
'jsdoc/require-param': 'warn',
'jsdoc/require-param-description': 'warn',
'jsdoc/require-param-name': 'warn',
'jsdoc/require-param-type': 'warn',
'jsdoc/require-property': 'warn',
'jsdoc/require-property-description': 'warn',
'jsdoc/require-property-name': 'warn',
'jsdoc/require-property-type': 'warn',
'jsdoc/require-returns': 'warn',
'jsdoc/require-returns-check': 'warn',
'jsdoc/require-returns-description': 'warn',
'jsdoc/require-returns-type': 'warn',
'jsdoc/require-throws': 'off',
'jsdoc/require-yields': 'warn',
'jsdoc/require-yields-check': 'warn',
'jsdoc/sort-tags': 'off',
'jsdoc/tag-lines': 'warn',
'jsdoc/text-escaping': 'off',
'jsdoc/valid-types': 'warn',
},
},
},
const index = {
configs: {},
rules: {
'check-access': checkAccess,
'check-alignment': checkAlignment,
Expand Down Expand Up @@ -162,3 +104,78 @@ export default {
'valid-types': validTypes,
},
};

for (const [
config,
warnOrError,
] of [
[
'recommended',
'warn',
],
[
'recommended-error',
'error',
],
]
) {
index.configs[config] = {
plugins: [
'jsdoc',
],
rules: {
'jsdoc/check-access': warnOrError,
'jsdoc/check-alignment': warnOrError,
'jsdoc/check-examples': 'off',
'jsdoc/check-indentation': 'off',
'jsdoc/check-line-alignment': 'off',
'jsdoc/check-param-names': warnOrError,
'jsdoc/check-property-names': warnOrError,
'jsdoc/check-syntax': 'off',
'jsdoc/check-tag-names': warnOrError,
'jsdoc/check-types': warnOrError,
'jsdoc/check-values': warnOrError,
'jsdoc/empty-tags': warnOrError,
'jsdoc/implements-on-classes': warnOrError,
'jsdoc/match-description': 'off',
'jsdoc/match-name': 'off',
'jsdoc/multiline-blocks': warnOrError,
'jsdoc/newline-after-description': warnOrError,
'jsdoc/no-bad-blocks': 'off',
'jsdoc/no-defaults': 'off',
'jsdoc/no-missing-syntax': 'off',
'jsdoc/no-multi-asterisks': warnOrError,
'jsdoc/no-restricted-syntax': 'off',
'jsdoc/no-types': 'off',
'jsdoc/no-undefined-types': warnOrError,
'jsdoc/require-asterisk-prefix': 'off',
'jsdoc/require-description': 'off',
'jsdoc/require-description-complete-sentence': 'off',
'jsdoc/require-example': 'off',
'jsdoc/require-file-overview': 'off',
'jsdoc/require-hyphen-before-param-description': 'off',
'jsdoc/require-jsdoc': warnOrError,
'jsdoc/require-param': warnOrError,
'jsdoc/require-param-description': warnOrError,
'jsdoc/require-param-name': warnOrError,
'jsdoc/require-param-type': warnOrError,
'jsdoc/require-property': warnOrError,
'jsdoc/require-property-description': warnOrError,
'jsdoc/require-property-name': warnOrError,
'jsdoc/require-property-type': warnOrError,
'jsdoc/require-returns': warnOrError,
'jsdoc/require-returns-check': warnOrError,
'jsdoc/require-returns-description': warnOrError,
'jsdoc/require-returns-type': warnOrError,
'jsdoc/require-throws': 'off',
'jsdoc/require-yields': warnOrError,
'jsdoc/require-yields-check': warnOrError,
'jsdoc/sort-tags': 'off',
'jsdoc/tag-lines': warnOrError,
'jsdoc/text-escaping': 'off',
'jsdoc/valid-types': warnOrError,
},
};
}

export default index;

0 comments on commit fe52135

Please sign in to comment.