X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=.eslintrc.js;h=850110e874a0b8d0bc67d997ece11e7b12f0342e;hb=a7dc540979d13bee0dd320858214b776fa556e4d;hp=6c8063c8a5dcb3da31ee2f12a826b4017263bdfb;hpb=5c5a1fb79906f18560012263239e7bd611ee8d2b;p=poolifier.git diff --git a/.eslintrc.js b/.eslintrc.js index 6c8063c8..850110e8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -7,7 +7,8 @@ module.exports = { parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 2020, - sourceType: 'module' + sourceType: 'module', + warnOnUnsupportedTypeScriptVersion: false }, plugins: [ '@typescript-eslint', @@ -50,11 +51,14 @@ module.exports = { 'warn', { skipWords: [ - 'poolifier', - 'pioardi', 'christopher', + 'comparator', 'ecma', + 'enum', + 'inheritdoc', 'jsdoc', + 'pioardi', + 'poolifier', 'readonly', 'serializable', 'unregister', @@ -69,7 +73,39 @@ module.exports = { files: ['src/**/*.ts'], extends: 'plugin:jsdoc/recommended', rules: { + 'no-useless-constructor': 'off', + + 'jsdoc/match-description': [ + 'warn', + { + mainDescription: + '/^[A-Z`].+?(\\.|:)(\\n\\n.*((\\n{1,2}- .+)|(_.+_)|`.+`|\\n\\n---))?$/us', + matchDescription: '^[A-Z`].+(\\.|`.+`)$', + contexts: ['any'], + tags: { + param: true, + returns: true + } + } + ], 'jsdoc/no-types': 'error', + 'jsdoc/require-jsdoc': [ + 'warn', + { + contexts: [ + 'ClassDeclaration', + 'ClassProperty:not([accessibility=/(private|protected)/])', + 'ExportNamedDeclaration:has(VariableDeclaration)', + 'FunctionExpression', + 'MethodDefinition:not([accessibility=/(private|protected)/]) > FunctionExpression', + 'TSEnumDeclaration', + 'TSInterfaceDeclaration', + 'TSMethodSignature', + // 'TSPropertySignature', + 'TSTypeAliasDeclaration' + ] + } + ], 'jsdoc/require-param-type': 'off', 'jsdoc/require-returns-type': 'off' } @@ -94,5 +130,10 @@ module.exports = { 'node/no-missing-require': 'off' } } - ] + ], + settings: { + jsdoc: { + mode: 'typescript' + } + } }