1+ const  vitestPlugin  =  require ( '@vitest/eslint-plugin' ) ; 
12const  restrictedSyntax  =  [ 'WithStatement' ,  'ForInStatement' ,  'LabeledStatement' ,  'SequenceExpression' ] ; 
23
34module . exports  =  { 
@@ -37,15 +38,20 @@ module.exports = {
3738    'eslint-plugin-regexp' , 
3839    'eslint-plugin-sonarjs' , 
3940    'eslint-plugin-unicorn' , 
40-     'eslint-plugin-vitest' , 
41-     'eslint-plugin-vitest-globals' , 
4241    'eslint-plugin-wc' , 
4342  ] , 
4443  env : { 
4544    es2024 : true , 
4645    node : true , 
4746  } , 
4847  overrides : [ 
48+     { 
49+       files : [ '**/*.cjs' ] , 
50+       rules : { 
51+         'import-x/no-commonjs' : [ 0 ] , 
52+         '@typescript-eslint/no-require-imports' : [ 0 ] , 
53+       } , 
54+     } , 
4955    { 
5056      files : [ 'web_src/**/*' ] , 
5157      globals : { 
@@ -82,59 +88,59 @@ module.exports = {
8288    } , 
8389    { 
8490      files : [ '**/*.test.*' ,  'web_src/js/test/setup.ts' ] , 
85-       env : { 
86-         'vitest-globals/env' : true , 
87-       } , 
91+       plugins : [ '@vitest/eslint-plugin' ] , 
92+       globals : vitestPlugin . environments . env . globals , 
8893      rules : { 
89-         'vitest/consistent-test-filename' : [ 0 ] , 
90-         'vitest/consistent-test-it' : [ 0 ] , 
91-         'vitest/expect-expect' : [ 0 ] , 
92-         'vitest/max-expects' : [ 0 ] , 
93-         'vitest/max-nested-describe' : [ 0 ] , 
94-         'vitest/no-alias-methods' : [ 0 ] , 
95-         'vitest/no-commented-out-tests' : [ 0 ] , 
96-         'vitest/no-conditional-expect' : [ 0 ] , 
97-         'vitest/no-conditional-in-test' : [ 0 ] , 
98-         'vitest/no-conditional-tests' : [ 0 ] , 
99-         'vitest/no-disabled-tests' : [ 0 ] , 
100-         'vitest/no-done-callback' : [ 0 ] , 
101-         'vitest/no-duplicate-hooks' : [ 0 ] , 
102-         'vitest/no-focused-tests' : [ 0 ] , 
103-         'vitest/no-hooks' : [ 0 ] , 
104-         'vitest/no-identical-title' : [ 2 ] , 
105-         'vitest/no-interpolation-in-snapshots' : [ 0 ] , 
106-         'vitest/no-large-snapshots' : [ 0 ] , 
107-         'vitest/no-mocks-import' : [ 0 ] , 
108-         'vitest/no-restricted-matchers' : [ 0 ] , 
109-         'vitest/no-restricted-vi-methods' : [ 0 ] , 
110-         'vitest/no-standalone-expect' : [ 0 ] , 
111-         'vitest/no-test-prefixes' : [ 0 ] , 
112-         'vitest/no-test-return-statement' : [ 0 ] , 
113-         'vitest/prefer-called-with' : [ 0 ] , 
114-         'vitest/prefer-comparison-matcher' : [ 0 ] , 
115-         'vitest/prefer-each' : [ 0 ] , 
116-         'vitest/prefer-equality-matcher' : [ 0 ] , 
117-         'vitest/prefer-expect-resolves' : [ 0 ] , 
118-         'vitest/prefer-hooks-in-order' : [ 0 ] , 
119-         'vitest/prefer-hooks-on-top' : [ 2 ] , 
120-         'vitest/prefer-lowercase-title' : [ 0 ] , 
121-         'vitest/prefer-mock-promise-shorthand' : [ 0 ] , 
122-         'vitest/prefer-snapshot-hint' : [ 0 ] , 
123-         'vitest/prefer-spy-on' : [ 0 ] , 
124-         'vitest/prefer-strict-equal' : [ 0 ] , 
125-         'vitest/prefer-to-be' : [ 0 ] , 
126-         'vitest/prefer-to-be-falsy' : [ 0 ] , 
127-         'vitest/prefer-to-be-object' : [ 0 ] , 
128-         'vitest/prefer-to-be-truthy' : [ 0 ] , 
129-         'vitest/prefer-to-contain' : [ 0 ] , 
130-         'vitest/prefer-to-have-length' : [ 0 ] , 
131-         'vitest/prefer-todo' : [ 0 ] , 
132-         'vitest/require-hook' : [ 0 ] , 
133-         'vitest/require-to-throw-message' : [ 0 ] , 
134-         'vitest/require-top-level-describe' : [ 0 ] , 
135-         'vitest/valid-describe-callback' : [ 2 ] , 
136-         'vitest/valid-expect' : [ 2 ] , 
137-         'vitest/valid-title' : [ 2 ] , 
94+         'github/unescaped-html-literal' : [ 0 ] , 
95+         '@vitest/consistent-test-filename' : [ 0 ] , 
96+         '@vitest/consistent-test-it' : [ 0 ] , 
97+         '@vitest/expect-expect' : [ 0 ] , 
98+         '@vitest/max-expects' : [ 0 ] , 
99+         '@vitest/max-nested-describe' : [ 0 ] , 
100+         '@vitest/no-alias-methods' : [ 0 ] , 
101+         '@vitest/no-commented-out-tests' : [ 0 ] , 
102+         '@vitest/no-conditional-expect' : [ 0 ] , 
103+         '@vitest/no-conditional-in-test' : [ 0 ] , 
104+         '@vitest/no-conditional-tests' : [ 0 ] , 
105+         '@vitest/no-disabled-tests' : [ 0 ] , 
106+         '@vitest/no-done-callback' : [ 0 ] , 
107+         '@vitest/no-duplicate-hooks' : [ 0 ] , 
108+         '@vitest/no-focused-tests' : [ 2 ] , 
109+         '@vitest/no-hooks' : [ 0 ] , 
110+         '@vitest/no-identical-title' : [ 2 ] , 
111+         '@vitest/no-interpolation-in-snapshots' : [ 0 ] , 
112+         '@vitest/no-large-snapshots' : [ 0 ] , 
113+         '@vitest/no-mocks-import' : [ 0 ] , 
114+         '@vitest/no-restricted-matchers' : [ 0 ] , 
115+         '@vitest/no-restricted-vi-methods' : [ 0 ] , 
116+         '@vitest/no-standalone-expect' : [ 0 ] , 
117+         '@vitest/no-test-prefixes' : [ 0 ] , 
118+         '@vitest/no-test-return-statement' : [ 0 ] , 
119+         '@vitest/prefer-called-with' : [ 0 ] , 
120+         '@vitest/prefer-comparison-matcher' : [ 0 ] , 
121+         '@vitest/prefer-each' : [ 0 ] , 
122+         '@vitest/prefer-equality-matcher' : [ 0 ] , 
123+         '@vitest/prefer-expect-resolves' : [ 0 ] , 
124+         '@vitest/prefer-hooks-in-order' : [ 0 ] , 
125+         '@vitest/prefer-hooks-on-top' : [ 2 ] , 
126+         '@vitest/prefer-lowercase-title' : [ 0 ] , 
127+         '@vitest/prefer-mock-promise-shorthand' : [ 0 ] , 
128+         '@vitest/prefer-snapshot-hint' : [ 0 ] , 
129+         '@vitest/prefer-spy-on' : [ 0 ] , 
130+         '@vitest/prefer-strict-equal' : [ 0 ] , 
131+         '@vitest/prefer-to-be' : [ 0 ] , 
132+         '@vitest/prefer-to-be-falsy' : [ 0 ] , 
133+         '@vitest/prefer-to-be-object' : [ 0 ] , 
134+         '@vitest/prefer-to-be-truthy' : [ 0 ] , 
135+         '@vitest/prefer-to-contain' : [ 0 ] , 
136+         '@vitest/prefer-to-have-length' : [ 0 ] , 
137+         '@vitest/prefer-todo' : [ 0 ] , 
138+         '@vitest/require-hook' : [ 0 ] , 
139+         '@vitest/require-to-throw-message' : [ 0 ] , 
140+         '@vitest/require-top-level-describe' : [ 0 ] , 
141+         '@vitest/valid-describe-callback' : [ 2 ] , 
142+         '@vitest/valid-expect' : [ 2 ] , 
143+         '@vitest/valid-title' : [ 2 ] , 
138144      } , 
139145    } , 
140146    { 
@@ -150,7 +156,7 @@ module.exports = {
150156        'eslint-plugin-vue-scoped-css' , 
151157      ] , 
152158      extends : [ 
153-         'plugin:vue/vue3- recommended' , 
159+         'plugin:vue/recommended' , 
154160        'plugin:vue-scoped-css/vue3-recommended' , 
155161      ] , 
156162      rules : { 
@@ -163,7 +169,7 @@ module.exports = {
163169    { 
164170      files : [ 'tests/e2e/**' ] , 
165171      plugins : [ 
166-         'eslint-plugin-playwright' 
172+         'eslint-plugin-playwright' , 
167173      ] , 
168174      extends : [ 
169175        'plugin:playwright/recommended' , 
@@ -320,6 +326,7 @@ module.exports = {
320326    '@typescript-eslint/no-unnecessary-type-arguments' : [ 0 ] , 
321327    '@typescript-eslint/no-unnecessary-type-assertion' : [ 2 ] , 
322328    '@typescript-eslint/no-unnecessary-type-constraint' : [ 2 ] , 
329+     '@typescript-eslint/no-unnecessary-type-conversion' : [ 2 ] , 
323330    '@typescript-eslint/no-unsafe-argument' : [ 0 ] , 
324331    '@typescript-eslint/no-unsafe-assignment' : [ 0 ] , 
325332    '@typescript-eslint/no-unsafe-call' : [ 0 ] , 
@@ -331,7 +338,7 @@ module.exports = {
331338    '@typescript-eslint/no-unsafe-unary-minus' : [ 2 ] , 
332339    '@typescript-eslint/no-unused-expressions' : [ 0 ] , 
333340    '@typescript-eslint/no-unused-vars' : [ 2 ,  { vars : 'all' ,  args : 'all' ,  caughtErrors : 'all' ,  ignoreRestSiblings : false ,  argsIgnorePattern : '^_' ,  varsIgnorePattern : '^_' ,  caughtErrorsIgnorePattern : '^_' ,  destructuredArrayIgnorePattern : '^_' } ] , 
334-     '@typescript-eslint/no-use-before-define' : [ 0 ] , 
341+     '@typescript-eslint/no-use-before-define' : [ 2 ,   { functions :  false ,   classes :  true ,   variables :  true ,   allowNamedExports :  true ,   typedefs :  false ,   enums :  false ,   ignoreTypeReferences :  true } ] , 
335342    '@typescript-eslint/no-useless-constructor' : [ 0 ] , 
336343    '@typescript-eslint/no-useless-empty-export' : [ 0 ] , 
337344    '@typescript-eslint/no-wrapper-object-types' : [ 2 ] , 
@@ -418,7 +425,7 @@ module.exports = {
418425    'github/no-useless-passive' : [ 2 ] , 
419426    'github/prefer-observers' : [ 2 ] , 
420427    'github/require-passive-events' : [ 2 ] , 
421-     'github/unescaped-html-literal' : [ 0 ] , 
428+     'github/unescaped-html-literal' : [ 2 ] , 
422429    'grouped-accessor-pairs' : [ 2 ] , 
423430    'guard-for-in' : [ 0 ] , 
424431    'id-blacklist' : [ 0 ] , 
@@ -477,7 +484,7 @@ module.exports = {
477484    'max-nested-callbacks' : [ 0 ] , 
478485    'max-params' : [ 0 ] , 
479486    'max-statements' : [ 0 ] , 
480-     'multiline-comment-style' : [ 2 ,   'separate-lines' ] , 
487+     'multiline-comment-style' : [ 0 ] , 
481488    'new-cap' : [ 0 ] , 
482489    'no-alert' : [ 0 ] , 
483490    'no-array-constructor' : [ 0 ] ,  // handled by @typescript -eslint/no-array-constructor 
@@ -639,7 +646,7 @@ module.exports = {
639646    'no-multi-str' : [ 2 ] , 
640647    'no-negated-condition' : [ 0 ] , 
641648    'no-nested-ternary' : [ 0 ] , 
642-     'no-new-func' : [ 2 ] , 
649+     'no-new-func' : [ 0 ] ,   // handled by  @typescript -eslint/no-implied-eval 
643650    'no-new-native-nonconstructor' : [ 2 ] , 
644651    'no-new-object' : [ 2 ] , 
645652    'no-new-symbol' : [ 2 ] , 
@@ -688,7 +695,7 @@ module.exports = {
688695    'no-unused-labels' : [ 2 ] , 
689696    'no-unused-private-class-members' : [ 2 ] , 
690697    'no-unused-vars' : [ 0 ] ,  // handled by @typescript -eslint/no-unused-vars 
691-     'no-use-before-define' : [ 2 ,   { functions :  false ,   classes :  true ,   variables :  true ,   allowNamedExports :  true } ] , 
698+     'no-use-before-define' : [ 0 ] ,   // handled by  @typescript -eslint/no-use-before-define 
692699    'no-use-extend-native/no-use-extend-native' : [ 2 ] , 
693700    'no-useless-backreference' : [ 2 ] , 
694701    'no-useless-call' : [ 2 ] , 
0 commit comments