@eclass/eslint-config
Version:
eslint shareable config
66 lines (65 loc) • 1.69 kB
JavaScript
module.exports = {
extends: ['./common'],
settings: {
jsdoc: {
preferredTypes: {
object: 'Object',
},
mode: 'typescript',
},
},
plugins: ['jsdoc'],
rules: {
'require-jsdoc': [
'error',
{
require: {
FunctionDeclaration: true,
MethodDefinition: true,
ClassDeclaration: true,
ArrowFunctionExpression: true,
FunctionExpression: true,
},
},
],
'valid-jsdoc': [
'error',
{
prefer: {
arg: 'param',
argument: 'param',
constructor: 'class',
return: 'returns',
virtual: 'abstract',
},
preferType: {
Boolean: 'boolean',
Number: 'number',
String: 'string',
function: 'Function',
object: 'Object',
array: 'Array',
date: 'Date',
regexp: 'RegExp',
symbol: 'Symbol',
},
},
],
'jsdoc/check-param-names': 'error',
'jsdoc/check-tag-names': 'error',
'jsdoc/check-types': 'error',
'jsdoc/newline-after-description': 'error',
'jsdoc/no-undefined-types': 'error',
'jsdoc/require-description-complete-sentence': 'error',
'jsdoc/require-example': 'error',
'jsdoc/require-hyphen-before-param-description': 'error',
'jsdoc/require-param-description': 'error',
'jsdoc/require-param-name': 'error',
'jsdoc/require-param-type': 'error',
'jsdoc/require-param': 'error',
'jsdoc/require-returns-description': 'error',
'jsdoc/require-returns-type': 'error',
'jsdoc/require-returns': 'error',
'jsdoc/valid-types': 'error',
},
}