Merge branch 'master' of github.com:poolifier/poolifier
[poolifier.git] / eslint.config.js
index f7004221dd74fe6aa1bc832e3eb6470f797779fb..517ded5d66352a4a4eedd25072fc88b6efd824b8 100644 (file)
@@ -26,24 +26,24 @@ export default defineFlatConfig([
       ],
     },
   },
-  ...neostandard({
-    ts: true,
-    globals: {
-      ...globals.mocha,
-    },
-  }),
   ...plugins['typescript-eslint'].config(
-    ...plugins['typescript-eslint'].configs.strictTypeChecked,
-    ...plugins['typescript-eslint'].configs.stylisticTypeChecked
-  ),
-  {
-    languageOptions: {
-      parserOptions: {
-        project: true,
-        tsconfigRootDir: import.meta.dirname,
+    {
+      extends: [
+        ...plugins['typescript-eslint'].configs.strictTypeChecked,
+        ...plugins['typescript-eslint'].configs.stylisticTypeChecked,
+      ],
+      languageOptions: {
+        parserOptions: {
+          projectService: true,
+          tsconfigRootDir: import.meta.dirname,
+        },
       },
     },
-  },
+    {
+      files: ['**/*.js', '**/*.mjs', '**/*.cjs'],
+      ...plugins['typescript-eslint'].configs.disableTypeChecked,
+    }
+  ),
   {
     plugins: {
       'simple-import-sort': simpleImportSort,
@@ -70,6 +70,12 @@ export default defineFlatConfig([
       'simple-import-sort/exports': 'error',
     },
   },
+  ...neostandard({
+    ts: true,
+    globals: {
+      ...globals.mocha,
+    },
+  }),
   {
     files: [
       'src/pools/selection-strategies/fair-share-worker-choice-strategy.ts',
@@ -78,10 +84,6 @@ export default defineFlatConfig([
       '@stylistic/operator-linebreak': 'off',
     },
   },
-  {
-    files: ['**/*.js', '**/*.mjs', '**/*.cjs'],
-    ...plugins['typescript-eslint'].configs.disableTypeChecked,
-  },
   // examples specific configuration
   {
     files: ['examples/**/*.ts'],
@@ -93,6 +95,8 @@ export default defineFlatConfig([
       '@typescript-eslint/no-unsafe-member-access': 'off',
       '@typescript-eslint/no-unnecessary-type-assertion': 'off',
       '@typescript-eslint/no-redundant-type-constituents': 'off',
+      '@typescript-eslint/return-await': 'off',
+      '@typescript-eslint/restrict-template-expressions': 'off',
     },
   },
   {