Eslint configuration refinement (#97)
[poolifier.git] / .eslintrc.js
index a5c382c892f5547eddca28912a311ed4a445f690..8f902bd228e5b3a81ede40194c699f73ef121b66 100644 (file)
@@ -6,7 +6,7 @@ module.exports = {
   },
   parser: '@typescript-eslint/parser',
   parserOptions: {
-    ecmaVersion: 12,
+    ecmaVersion: 2020,
     sourceType: 'module'
   },
   plugins: ['@typescript-eslint', 'prettierx'],
@@ -14,8 +14,14 @@ module.exports = {
     'standard',
     'eslint:recommended',
     'plugin:@typescript-eslint/recommended',
+    'plugin:import/errors',
+    'plugin:import/warnings',
+    'plugin:import/typescript',
     'plugin:prettierx/standardx',
-    'plugin:prettierx/@typescript-eslint'
+    'plugin:prettierx/@typescript-eslint',
+    'prettier',
+    'prettier/standard',
+    'prettier/@typescript-eslint'
   ],
   rules: {
     'no-void': 'off',
@@ -26,14 +32,29 @@ module.exports = {
     '@typescript-eslint/no-inferrable-types': [
       'error',
       { ignoreProperties: true }
+    ],
+
+    'sort-imports': [
+      'warn',
+      {
+        ignoreMemberSort: true,
+        memberSyntaxSortOrder: ['none', 'all', 'single', 'multiple']
+      }
     ]
   },
   overrides: [
     {
       files: ['*.js'],
       rules: {
+        '@typescript-eslint/no-unused-vars': 'off',
         '@typescript-eslint/no-var-requires': 'off'
       }
+    },
+    {
+      files: ['examples/typescript/*.ts'],
+      rules: {
+        'import/no-unresolved': 'off'
+      }
     }
   ]
 }