Simplify worker choosing (#138)
[poolifier.git] / .eslintrc.js
index 16c73a1cbe8ad650e3c980702262104f8492a04c..04c5b05b596ab76bf7a9aa897900b190e4791b49 100644 (file)
@@ -6,29 +6,60 @@ module.exports = {
   },
   parser: '@typescript-eslint/parser',
   parserOptions: {
-    ecmaVersion: 12,
+    ecmaVersion: 2020,
     sourceType: 'module'
   },
-  plugins: ['@typescript-eslint', 'prettierx'],
+  plugins: ['@typescript-eslint', 'promise', 'prettierx'],
   extends: [
     'standard',
     'eslint:recommended',
     'plugin:@typescript-eslint/recommended',
+    'plugin:import/errors',
+    'plugin:import/warnings',
+    'plugin:import/typescript',
+    'plugin:promise/recommended',
     'plugin:prettierx/standardx',
     'plugin:prettierx/@typescript-eslint'
   ],
   rules: {
     'no-void': 'off',
 
-    // Disabled because it reports these for js files
-    '@typescript-eslint/no-var-requires': 'off',
-
     // We have some intentionally empty functions
     '@typescript-eslint/no-empty-function': 'off',
 
     '@typescript-eslint/no-inferrable-types': [
       'error',
       { ignoreProperties: true }
+    ],
+
+    'sort-imports': [
+      'warn',
+      {
+        ignoreMemberSort: true,
+        ignoreDeclarationSort: true
+      }
     ]
-  }
+  },
+  overrides: [
+    {
+      files: ['*.js'],
+      extends: 'plugin:node/recommended',
+      rules: {
+        '@typescript-eslint/no-unused-vars': 'off',
+        '@typescript-eslint/no-var-requires': 'off'
+      }
+    },
+    {
+      files: ['examples/typescript/**/*.ts'],
+      rules: {
+        'import/no-unresolved': 'off'
+      }
+    },
+    {
+      files: ['examples/**/*.js'],
+      rules: {
+        'node/no-missing-require': 'off'
+      }
+    }
+  ]
 }