11import eslint from '@eslint/js' ;
2- // @ts -ignore -error No Declaration For This Plugin
2+ // @ts -expect -error No Declaration For This Plugin
33import importPlugin from 'eslint-plugin-import' ;
44import noRelativeImportPaths from 'eslint-plugin-no-relative-import-paths' ;
55import prettier from 'eslint-plugin-prettier' ;
66import vuePlugin from 'eslint-plugin-vue' ;
77import tseslint from 'typescript-eslint' ;
8+ // Import vue-eslint-parser as an ESM import
9+ import vueEslintParser from 'vue-eslint-parser' ;
810
911// Common rules shared across file types
1012const commonRules = {
13+ '@typescript-eslint/consistent-type-imports' : [ 'error' , { prefer : 'type-imports' } ] ,
1114 '@typescript-eslint/no-unused-vars' : [ 'off' ] ,
1215 'no-multiple-empty-lines' : [ 'error' , { max : 1 , maxBOF : 0 , maxEOF : 1 } ] ,
1316 'no-relative-import-paths/no-relative-import-paths' : [
@@ -120,7 +123,7 @@ export default [
120123 {
121124 files : [ '**/*.vue' ] ,
122125 languageOptions : {
123- parser : require ( 'vue-eslint-parser' ) ,
126+ parser : vueEslintParser ,
124127 parserOptions : {
125128 ...commonLanguageOptions ,
126129 parser : tseslint . parser ,
@@ -146,6 +149,10 @@ export default [
146149
147150 // Ignores
148151 {
149- ignores : [ 'src/graphql/generated/client/**/*' ] ,
152+ ignores : [
153+ 'src/graphql/generated/client/**/*' ,
154+ 'src/global.d.ts' ,
155+ 'eslint.config.ts' ,
156+ ] ,
150157 } ,
151158] ;
0 commit comments