+ files: ['**/*.ts'],
+ plugins: ['@typescript-eslint', 'eslint-plugin-tsdoc'],
+ parser: '@typescript-eslint/parser',
+ parserOptions: {
+ project: './tsconfig.json'
+ },
+ extends: [
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:@typescript-eslint/recommended-requiring-type-checking',
+ 'plugin:import/typescript',
+ 'standard-with-typescript'
+ ],
+ rules: {
+ '@typescript-eslint/no-inferrable-types': [
+ 'error',
+ { ignoreProperties: true }
+ ],
+ 'tsdoc/syntax': 'warn'
+ }
+ },
+ {
+ files: ['examples/typescript/**/*.ts'],
+ rules: {
+ 'import/no-unresolved': 'off',
+ '@typescript-eslint/no-unsafe-argument': 'off',
+ '@typescript-eslint/no-unsafe-call': 'off',
+ '@typescript-eslint/no-unsafe-return': 'off',
+ '@typescript-eslint/no-unsafe-assignment': 'off',
+ '@typescript-eslint/no-unsafe-member-access': 'off',
+ '@typescript-eslint/no-unnecessary-type-assertion': 'off',
+ '@typescript-eslint/no-redundant-type-constituents': 'off',
+ '@typescript-eslint/strict-boolean-expressions': 'off',
+ '@typescript-eslint/return-await': 'off'
+ }
+ },
+ {
+ files: ['**/*.js', '**/*.mjs'],
+ plugins: ['jsdoc'],
+ extends: ['plugin:n/recommended', 'plugin:jsdoc/recommended', 'standard']
+ },
+ {
+ files: ['tests/**/*.js'],
+ rules: {
+ 'jsdoc/require-jsdoc': 'off'
+ }
+ },
+ {
+ files: ['tests/pools/selection-strategies/**/*.js'],