fix(ci): silence linter, take 3
[poolifier.git] / eslint.config.js
CommitLineData
147d7c42
JB
1import cspellConfigs from '@cspell/eslint-plugin/configs'
2import js from '@eslint/js'
3import { defineFlatConfig } from 'eslint-define-config'
4import jsdoc from 'eslint-plugin-jsdoc'
5import nodePlugin from 'eslint-plugin-n'
6import simpleImportSort from 'eslint-plugin-simple-import-sort'
7import globals from 'globals'
8import neostandard from 'neostandard'
9// eslint-disable-next-line n/no-extraneous-import
10import tseslint from 'typescript-eslint'
11
12export default defineFlatConfig([
13 {
14 ignores: ['docs/**', '**/dist/**', 'lib/**', 'outputs/**'],
15 },
16 cspellConfigs.recommended,
17 js.configs.recommended,
18 ...nodePlugin.configs['flat/mixed-esm-and-cjs'],
19 jsdoc.configs['flat/recommended-typescript'],
20 // ...tseslint.config(...tseslint.configs.strictTypeChecked, ...tseslint.configs.stylisticTypeChecked),
21 ...tseslint.config(...tseslint.configs.strict, ...tseslint.configs.stylistic),
22 ...neostandard({
23 ts: true,
24 globals: {
25 ...globals.node,
26 ...globals.mocha,
27 },
28 }),
29 {
30 plugins: {
31 'simple-import-sort': simpleImportSort,
32 },
33 rules: {
34 'simple-import-sort/imports': 'error',
35 'simple-import-sort/exports': 'error',
36 },
37 },
38 {
39 files: [
40 'src/pools/selection-strategies/fair-share-worker-choice-strategy.ts',
41 ],
42 rules: {
43 '@stylistic/operator-linebreak': 'off',
44 },
45 },
e56903ca
JB
46 {
47 files: ['examples/**/*.ts'],
48 rules: {
49 'no-undef': 'off',
50 },
51 },
147d7c42 52 {
937e8172 53 files: ['examples/**/*.js', 'examples/**/*.cjs'],
147d7c42 54 rules: {
937e8172 55 'no-undef': 'off',
54050139
JB
56 'n/no-missing-import': [
57 'error',
58 {
59 allowModules: ['ws'],
60 },
61 ],
147d7c42
JB
62 '@typescript-eslint/no-require-imports': 'off',
63 },
64 },
65 {
937e8172 66 files: ['benchmarks/**/*.cjs'],
147d7c42 67 rules: {
937e8172
JB
68 '@typescript-eslint/no-require-imports': 'off',
69 },
70 },
71 {
72 files: ['tests/**/*.js', 'tests/**/*.mjs', 'tests/**/*.cjs'],
73 rules: {
74 '@typescript-eslint/no-require-imports': 'off',
147d7c42
JB
75 '@typescript-eslint/no-empty-function': 'off',
76 },
77 },
78])