0cde6984759325bbb193cdf715ff44e06ec9f9e6
1 import cspellConfigs
from '@cspell/eslint-plugin/configs'
2 import js
from '@eslint/js'
3 import { defineFlatConfig
} from 'eslint-define-config'
4 import jsdoc
from 'eslint-plugin-jsdoc'
5 import perfectionist
from 'eslint-plugin-perfectionist'
6 import globals
from 'globals'
7 import neostandard
, { plugins
} from 'neostandard'
9 export default defineFlatConfig([
11 ignores
: ['docs/**', '**/dist/**', 'lib/**', 'outputs/**'],
13 cspellConfigs
.recommended
,
14 js
.configs
.recommended
,
15 plugins
.promise
.configs
['flat/recommended'],
16 ...plugins
.n
.configs
['flat/mixed-esm-and-cjs'],
17 jsdoc
.configs
['flat/recommended-typescript'],
20 'jsdoc/check-tag-names': [
23 definedTags
: ['defaultValue', 'experimental', 'typeParam'],
29 ...plugins
['typescript-eslint'].config(
32 ...plugins
['typescript-eslint'].configs
.strictTypeChecked
,
33 ...plugins
['typescript-eslint'].configs
.stylisticTypeChecked
,
38 tsconfigRootDir
: import.meta
.dirname
,
43 files
: ['**/*.js', '**/*.mjs', '**/*.cjs'],
44 ...plugins
['typescript-eslint'].configs
.disableTypeChecked
,
49 '@cspell/spellchecker': [
68 perfectionist
.configs
['recommended-natural'],
77 'src/pools/selection-strategies/fair-share-worker-choice-strategy.ts',
80 '@stylistic/operator-linebreak': 'off',
83 // examples specific configuration
85 files
: ['examples/**/*.ts'],
87 '@typescript-eslint/no-redundant-type-constituents': 'off',
88 '@typescript-eslint/no-unnecessary-type-assertion': 'off',
89 '@typescript-eslint/no-unsafe-argument': 'off',
90 '@typescript-eslint/no-unsafe-assignment': 'off',
91 '@typescript-eslint/no-unsafe-call': 'off',
92 '@typescript-eslint/no-unsafe-member-access': 'off',
93 '@typescript-eslint/no-unsafe-return': 'off',
94 '@typescript-eslint/restrict-template-expressions': 'off',
95 '@typescript-eslint/return-await': 'off',
99 files
: ['examples/**/*.js', 'examples/**/*.cjs'],
101 '@typescript-eslint/no-require-imports': 'off',
102 'n/no-missing-import': [
105 allowModules
: ['ws'],
110 // benchmarks specific configuration
112 files
: ['benchmarks/**/*.cjs'],
114 '@typescript-eslint/no-require-imports': 'off',
117 // tests specific configuration
119 files
: ['tests/**/*.js', 'tests/**/*.mjs', 'tests/**/*.cjs'],
121 '@typescript-eslint/no-empty-function': 'off',
122 '@typescript-eslint/no-require-imports': 'off',