@@ -2,6 +2,8 @@ import js from '@eslint/js';
22import pluginVue from 'eslint-plugin-vue' ;
33import globals from 'globals' ;
44import babelParser from '@babel/eslint-parser' ;
5+ import prettierConfig from 'eslint-config-prettier' ;
6+ import prettierPlugin from 'eslint-plugin-prettier' ;
57
68export default [
79 {
@@ -11,12 +13,16 @@ export default [
1113 '../server/static/**' ,
1214 'junit/**' ,
1315 '*.backup' ,
16+ 'src/docs/**' ,
1417 ] ,
1518 } ,
1619 js . configs . recommended ,
1720 ...pluginVue . configs [ 'flat/vue2-recommended' ] ,
1821 {
1922 files : [ '**/*.{js,vue}' ] ,
23+ plugins : {
24+ prettier : prettierPlugin ,
25+ } ,
2026 languageOptions : {
2127 ecmaVersion : 2021 ,
2228 sourceType : 'module' ,
@@ -37,27 +43,24 @@ export default [
3743 } ,
3844 } ,
3945 rules : {
46+ // Prettier integration - runs Prettier as an ESLint rule
47+ 'prettier/prettier' : 'error' ,
48+
49+ // Disable formatting rules that conflict with Prettier
50+ ...prettierConfig . rules ,
51+
52+ // Let Prettier handle line length (via printWidth config)
53+ 'max-len' : 'off' ,
54+
55+ // Custom linting rules (non-formatting)
4056 'no-unused-vars' : 'off' ,
4157 'vue/no-unused-vars' : 'off' ,
4258 'no-plusplus' : 'off' ,
43- 'no-param-reassign' : [ 'error' , {
44- props : true ,
45- ignorePropertyModificationsFor : [
46- 'state' ,
47- 'acc' ,
48- 'e' ,
49- ] ,
50- } ] ,
51- 'max-len' : [
59+ 'no-param-reassign' : [
5260 'error' ,
53- 150 ,
54- 2 ,
5561 {
56- ignoreUrls : true ,
57- ignoreComments : false ,
58- ignoreRegExpLiterals : true ,
59- ignoreStrings : true ,
60- ignoreTemplateLiterals : true ,
62+ props : true ,
63+ ignorePropertyModificationsFor : [ 'state' , 'acc' , 'e' ] ,
6164 } ,
6265 ] ,
6366 } ,
0 commit comments