UNPKG

@aarongoldenthal/eslint-config-standard

Version:

Standard ESLint configuration settings

101 lines (99 loc) 4.13 kB
import { defineConfig } from 'eslint/config'; import jsdocPlugin from 'eslint-plugin-jsdoc'; export default defineConfig({ files: ['**/*.{js,mjs,cjs}'], name: 'jsdoc (all files)', plugins: { jsdoc: jsdocPlugin }, rules: { 'jsdoc/check-access': 'error', // Recommended 'jsdoc/check-alignment': 'error', // Recommended 'jsdoc/check-examples': 'off', // Currently broken in eslint 8 'jsdoc/check-indentation': [ 'error', // Exclude default, as well as tags covered by check-line-alignment { excludeTags: [ 'example', 'param', 'property', 'returns', 'throws', 'typedef' ] } ], 'jsdoc/check-line-alignment': [ 'error', 'always', { tags: ['param', 'property', 'returns', 'throws', 'typedef'] } ], 'jsdoc/check-param-names': 'error', // Recommended 'jsdoc/check-property-names': 'error', // Recommended 'jsdoc/check-syntax': 'error', 'jsdoc/check-tag-names': 'error', // Recommended 'jsdoc/check-template-names': 'error', 'jsdoc/check-types': 'error', // Recommended 'jsdoc/check-values': 'error', // Recommended 'jsdoc/convert-to-jsdoc-comments': 'off', 'jsdoc/empty-tags': 'error', // Recommended 'jsdoc/implements-on-classes': 'error', // Recommended 'jsdoc/imports-as-dependencies': 'error', 'jsdoc/informative-docs': 'error', 'jsdoc/lines-before-block': 'off', 'jsdoc/match-description': 'error', 'jsdoc/multiline-blocks': 'error', // Recommended 'jsdoc/no-bad-blocks': 'error', 'jsdoc/no-blank-blocks': 'error', 'jsdoc/no-defaults': ['error', { contexts: ['any'] }], 'jsdoc/no-missing-syntax': 'off', 'jsdoc/no-multi-asterisks': 'error', // Recommended 'jsdoc/no-restricted-syntax': 'off', 'jsdoc/no-types': 'off', 'jsdoc/no-undefined-types': 'error', // Recommended 'jsdoc/require-asterisk-prefix': 'error', 'jsdoc/require-description': 'error', 'jsdoc/require-description-complete-sentence': 'error', 'jsdoc/require-example': 'off', 'jsdoc/require-file-overview': 'off', 'jsdoc/require-hyphen-before-param-description': ['error', 'never'], 'jsdoc/require-jsdoc': [ 'error', { publicOnly: true, require: { ArrowFunctionExpression: true, ClassDeclaration: true, ClassExpression: true, FunctionDeclaration: true, FunctionExpression: true } } ], // Recommended 'jsdoc/require-param': 'error', // Recommended 'jsdoc/require-param-description': 'error', // Recommended 'jsdoc/require-param-name': 'error', // Recommended 'jsdoc/require-param-type': 'error', // Recommended 'jsdoc/require-property': 'error', // Recommended 'jsdoc/require-property-description': 'error', // Recommended 'jsdoc/require-property-name': 'error', // Recommended 'jsdoc/require-property-type': 'error', // Recommended 'jsdoc/require-returns': 'error', // Recommended 'jsdoc/require-returns-check': 'error', // Recommended 'jsdoc/require-returns-description': 'error', // Recommended 'jsdoc/require-returns-type': 'error', // Recommended 'jsdoc/require-template': 'error', 'jsdoc/require-throws': 'error', 'jsdoc/require-yields': 'error', // Recommended 'jsdoc/require-yields-check': 'error', // Recommended 'jsdoc/sort-tags': 'error', 'jsdoc/tag-lines': [ // Recommended 'error', 'never', { applyToEndTag: false, startLines: 1 } ], 'jsdoc/valid-types': 'error' // Recommended } });