@@ -15,36 +15,11 @@ export default function renderEslint(
15
15
rootDir ,
16
16
{ needsTypeScript, needsCypress, needsCypressCT, needsPrettier, needsPlaywright }
17
17
) {
18
- const additionalConfig : Linter . Config = { }
19
- const additionalDependencies = { }
20
-
21
- if ( needsCypress ) {
22
- additionalConfig . overrides = [
23
- {
24
- files : needsCypressCT
25
- ? [
26
- '**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}' ,
27
- 'cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}' ,
28
- 'cypress/support/**/*.{js,ts,jsx,tsx}'
29
- ]
30
- : [ 'cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}' , 'cypress/support/**/*.{js,ts,jsx,tsx}' ] ,
31
- extends : [ 'plugin:cypress/recommended' ]
32
- }
33
- ]
34
-
35
- additionalDependencies [ 'eslint-plugin-cypress' ] = eslintDeps [ 'eslint-plugin-cypress' ]
36
- }
37
-
38
- if ( needsPlaywright ) {
39
- additionalConfig . overrides = [
40
- {
41
- files : [ 'e2e/**/*.{test,spec}.{js,ts,jsx,tsx}' ] ,
42
- extends : [ 'plugin:playwright/recommended' ]
43
- }
44
- ]
45
-
46
- additionalDependencies [ 'eslint-plugin-playwright' ] = eslintDeps [ 'eslint-plugin-playwright' ]
47
- }
18
+ const { additionalConfig, additionalDependencies } = getAdditionalConfigAndDependencies ( {
19
+ needsCypress,
20
+ needsCypressCT,
21
+ needsPlaywright
22
+ } )
48
23
49
24
const { pkg, files } = createESLintConfig ( {
50
25
vueVersion : '3.x' ,
@@ -86,3 +61,42 @@ export default function renderEslint(
86
61
fs . writeFileSync ( fullPath , content as string , 'utf-8' )
87
62
}
88
63
}
64
+
65
+ // visible for testing
66
+ export function getAdditionalConfigAndDependencies ( {
67
+ needsCypress,
68
+ needsCypressCT,
69
+ needsPlaywright
70
+ } ) {
71
+ const additionalConfig : Linter . Config = { }
72
+ const additionalDependencies = { }
73
+
74
+ if ( needsCypress ) {
75
+ additionalConfig . overrides = [
76
+ {
77
+ files : needsCypressCT
78
+ ? [
79
+ '**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}' ,
80
+ 'cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}' ,
81
+ 'cypress/support/**/*.{js,ts,jsx,tsx}'
82
+ ]
83
+ : [ 'cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}' , 'cypress/support/**/*.{js,ts,jsx,tsx}' ] ,
84
+ extends : [ 'plugin:cypress/recommended' ]
85
+ }
86
+ ]
87
+
88
+ additionalDependencies [ 'eslint-plugin-cypress' ] = eslintDeps [ 'eslint-plugin-cypress' ]
89
+ }
90
+
91
+ if ( needsPlaywright ) {
92
+ additionalConfig . overrides = [
93
+ {
94
+ files : [ 'e2e/**/*.{test,spec}.{js,ts,jsx,tsx}' ] ,
95
+ extends : [ 'plugin:playwright/recommended' ]
96
+ }
97
+ ]
98
+
99
+ additionalDependencies [ 'eslint-plugin-playwright' ] = eslintDeps [ 'eslint-plugin-playwright' ]
100
+ }
101
+ return { additionalConfig, additionalDependencies }
102
+ }
0 commit comments