Merge branch 'main' into fix-reserved-start-transaction
[e-mobility-charging-stations-simulator.git] / ui / web / .eslintrc.cjs
index d82d3c5f6ef9cc228dcb52606aedad0e61433f8b..b6252bbc59024a4c4709eb4061f6ffbec0fdeae4 100644 (file)
@@ -1,46 +1,43 @@
-const { env } = require('node:process');
-const { defineConfig } = require('eslint-define-config');
+require('@rushstack/eslint-patch/modern-module-resolution')
+const { env } = require('node:process')
+const { defineConfig } = require('eslint-define-config')
 
 module.exports = defineConfig({
   root: true,
 
   env: {
-    node: true,
+    node: true
   },
 
-  plugins: ['import'],
+  plugins: ['simple-import-sort'],
 
   extends: [
     'eslint:recommended',
     'plugin:import/recommended',
+    'plugin:import/typescript',
     'plugin:vue/vue3-recommended',
-    '@vue/eslint-config-prettier',
     '@vue/eslint-config-typescript/recommended',
+    '@vue/eslint-config-prettier'
   ],
 
   settings: {
     'import/resolver': {
       typescript: {
-        project: './tsconfig.json',
-      },
-    },
+        project: './tsconfig.json'
+      }
+    }
   },
 
   parserOptions: {
-    ecmaVersion: 'latest',
+    sourceType: 'module',
+    ecmaVersion: 'latest'
   },
 
   rules: {
     'no-console': env.NODE_ENV === 'production' ? 'warn' : 'off',
     'no-debugger': env.NODE_ENV === 'production' ? 'warn' : 'off',
-    'vue/require-v-for-key': 'off',
-    'vue/multi-word-component-names': 'off',
-    'sort-imports': [
-      'error',
-      {
-        ignoreDeclarationSort: true,
-      },
-    ],
-    'import/order': 'error',
-  },
-});
+    'simple-import-sort/imports': 'error',
+    'simple-import-sort/exports': 'error',
+    'vue/multi-word-component-names': 'off'
+  }
+})