Switch forEach loop to for of syntax
[poolifier.git] / .eslintrc.js
index ff5c0f762a27a0eca3a9e12489bdb32d5aede4fe..fd8a538debf25f98ba377117efa8caf9fd582e72 100644 (file)
@@ -2,6 +2,7 @@
 const { defineConfig } = require('eslint-define-config')
 
 module.exports = defineConfig({
+  root: true,
   env: {
     es2021: true,
     node: true,
@@ -11,14 +12,12 @@ module.exports = defineConfig({
     ecmaVersion: 2021,
     sourceType: 'module'
   },
-  plugins: ['promise', 'prettierx', 'jsdoc', 'spellcheck'],
+  plugins: ['promise', 'jsdoc', 'spellcheck'],
   extends: [
-    'standard',
     'eslint:recommended',
     'plugin:import/recommended',
     'plugin:jsdoc/recommended',
-    'plugin:promise/recommended',
-    'plugin:prettierx/standardx'
+    'plugin:promise/recommended'
   ],
   rules: {
     'no-void': 'off',
@@ -35,18 +34,37 @@ module.exports = defineConfig({
       'warn',
       {
         skipWords: [
+          'benny',
+          'browserslist',
+          'builtins',
           'christopher',
+          'cjs',
           'comparator',
+          'cpu',
+          'cpus',
+          'ctx',
           'ecma',
           'enum',
           'fibonacci',
+          'fs',
           'inheritDoc',
           'jsdoc',
+          'microjob',
+          'num',
+          'os',
+          'piscina',
           'poolifier',
+          'poolify',
           'readonly',
           'serializable',
           'sinon',
+          'threadjs',
+          'threadwork',
+          'tsconfig',
+          'typedoc',
+          'unlink',
           'unregister',
+          'utf8',
           'workerpool'
         ],
         skipIfMatch: ['^@.*', '^plugin:.*']
@@ -65,6 +83,7 @@ module.exports = defineConfig({
         'plugin:@typescript-eslint/eslint-recommended',
         'plugin:@typescript-eslint/recommended',
         'plugin:@typescript-eslint/recommended-requiring-type-checking',
+        'standard-with-typescript',
         'plugin:import/typescript'
       ],
       rules: {
@@ -110,9 +129,19 @@ module.exports = defineConfig({
         'jsdoc/require-returns-type': 'off'
       }
     },
+    {
+      files: ['examples/typescript/**/*.ts'],
+      rules: {
+        'import/no-unresolved': 'off',
+        'jsdoc/require-jsdoc': 'off',
+        '@typescript-eslint/no-unsafe-argument': 'off',
+        '@typescript-eslint/no-unsafe-call': 'off',
+        '@typescript-eslint/no-unsafe-assignment': 'off'
+      }
+    },
     {
       files: ['**/*.js'],
-      extends: 'plugin:node/recommended'
+      extends: ['plugin:n/recommended', 'standard']
     },
     {
       files: ['tests/**/*.js'],
@@ -123,8 +152,7 @@ module.exports = defineConfig({
     {
       files: ['tests/pools/selection-strategies/**/*.js'],
       rules: {
-        'node/no-missing-require': 'off',
-        'jsdoc/require-jsdoc': 'off'
+        'n/no-missing-require': 'off'
       }
     },
     {
@@ -133,10 +161,16 @@ module.exports = defineConfig({
         'jsdoc/require-jsdoc': 'off'
       }
     },
+    {
+      files: ['benchmarks/versus-external-pools/**/*.js'],
+      rules: {
+        'n/no-missing-require': 'off'
+      }
+    },
     {
       files: ['examples/**/*.js'],
       rules: {
-        'node/no-missing-require': 'off',
+        'n/no-missing-require': 'off',
         'jsdoc/require-jsdoc': 'off'
       }
     }