Fix GitHub actions issues on tests with windows and stable node
[poolifier.git] / .eslintrc.js
index 973081507bf6006955b022e34d698eb5c91a718d..11fb2803e0eac7e59ca325948ae07cfc521a07a3 100644 (file)
@@ -7,24 +7,16 @@ module.exports = defineConfig({
     node: true,
     mocha: true
   },
-  parser: '@typescript-eslint/parser',
   parserOptions: {
-    ecmaVersion: 2020,
-    sourceType: 'module',
-    warnOnUnsupportedTypeScriptVersion: false
+    ecmaVersion: 2021,
+    sourceType: 'module'
   },
-  plugins: [
-    '@typescript-eslint',
-    'promise',
-    'prettierx',
-    'jsdoc',
-    'spellcheck'
-  ],
+  plugins: ['promise', 'prettierx', 'jsdoc', 'spellcheck'],
   extends: [
     'standard',
     'eslint:recommended',
-    'plugin:import/errors',
-    'plugin:import/warnings',
+    'plugin:import/recommended',
+    'plugin:jsdoc/recommended',
     'plugin:promise/recommended',
     'plugin:prettierx/standardx'
   ],
@@ -45,13 +37,19 @@ module.exports = defineConfig({
         skipWords: [
           'christopher',
           'comparator',
+          'cpu',
+          'cpus',
           'ecma',
           'enum',
-          'inheritdoc',
+          'fibonacci',
+          'inheritDoc',
           'jsdoc',
+          'os',
           'poolifier',
           'readonly',
           'serializable',
+          'sinon',
+          'tsconfig',
           'unregister',
           'workerpool'
         ],
@@ -62,9 +60,15 @@ module.exports = defineConfig({
   overrides: [
     {
       files: ['**/*.ts'],
+      parser: '@typescript-eslint/parser',
+      parserOptions: {
+        project: './tsconfig.json'
+      },
+      plugins: ['@typescript-eslint'],
       extends: [
-        'plugin:jsdoc/recommended',
+        'plugin:@typescript-eslint/eslint-recommended',
         'plugin:@typescript-eslint/recommended',
+        'plugin:@typescript-eslint/recommended-requiring-type-checking',
         'plugin:import/typescript'
       ],
       rules: {
@@ -81,9 +85,6 @@ module.exports = defineConfig({
         'jsdoc/match-description': [
           'warn',
           {
-            mainDescription:
-              '/^[A-Z`].+?(\\.|:)(\\n\\n.*((\\n{1,2}- .+)|(_.+_)|`.+`|\\n\\n---))?$/us',
-            matchDescription: '^[A-Z`].+(\\.|`.+`)$',
             contexts: ['any'],
             tags: {
               param: true,
@@ -118,17 +119,29 @@ module.exports = defineConfig({
       extends: 'plugin:node/recommended'
     },
     {
-      files: ['examples/typescript/**/*.ts'],
+      files: ['tests/**/*.js'],
       rules: {
-        'import/no-unresolved': 'off',
         'jsdoc/require-jsdoc': 'off'
       }
     },
     {
-      files: ['examples/**/*.js'],
+      files: ['tests/pools/selection-strategies/**/*.js'],
       rules: {
         'node/no-missing-require': 'off'
       }
+    },
+    {
+      files: ['benchmarks/**/*.js'],
+      rules: {
+        'jsdoc/require-jsdoc': 'off'
+      }
+    },
+    {
+      files: ['examples/**/*.js'],
+      rules: {
+        'node/no-missing-require': 'off',
+        'jsdoc/require-jsdoc': 'off'
+      }
     }
   ],
   settings: {