3e37aad4f2342d6c9ccbe987a11bc3ff003a2a04
2 const { defineConfig
} = require('eslint-define-config')
4 module
.exports
= defineConfig({
14 plugins
: ['promise', 'prettierx', 'jsdoc', 'spellcheck'],
18 'plugin:import/recommended',
19 'plugin:jsdoc/recommended',
20 'plugin:promise/recommended',
21 'plugin:prettierx/standardx'
29 ignoreMemberSort
: true,
30 ignoreDeclarationSort
: true
34 'spellcheck/spell-checker': [
55 skipIfMatch
: ['^@.*', '^plugin:.*']
62 parser
: '@typescript-eslint/parser',
64 project
: './tsconfig.json'
66 plugins
: ['@typescript-eslint'],
68 'plugin:@typescript-eslint/eslint-recommended',
69 'plugin:@typescript-eslint/recommended',
70 'plugin:@typescript-eslint/recommended-requiring-type-checking',
71 'plugin:import/typescript'
74 // We have some intentionally empty functions
75 '@typescript-eslint/no-empty-function': 'off',
77 '@typescript-eslint/no-inferrable-types': [
79 { ignoreProperties
: true }
82 'no-useless-constructor': 'off',
84 'jsdoc/match-description': [
94 'jsdoc/no-types': 'error',
95 'jsdoc/require-jsdoc': [
100 'ClassProperty:not([accessibility=/(private|protected)/])',
101 'ExportNamedDeclaration:has(VariableDeclaration)',
102 'FunctionExpression',
103 'MethodDefinition:not([accessibility=/(private|protected)/]) > FunctionExpression',
105 'TSInterfaceDeclaration',
107 // 'TSPropertySignature',
108 'TSTypeAliasDeclaration'
112 'jsdoc/require-param-type': 'off',
113 'jsdoc/require-returns-type': 'off'
118 extends: 'plugin:node/recommended'
121 files
: ['tests/**/*.js'],
123 'jsdoc/require-jsdoc': 'off'
127 files
: ['tests/pools/selection-strategies/**/*.js'],
129 'node/no-missing-require': 'off'
133 files
: ['benchmarks/**/*.js'],
135 'jsdoc/require-jsdoc': 'off'
139 files
: ['examples/**/*.js'],
141 'node/no-missing-require': 'off',
142 'jsdoc/require-jsdoc': 'off'