@@ -15,36 +15,11 @@ export default function renderEslint(
1515 rootDir ,
1616 { needsTypeScript, needsCypress, needsCypressCT, needsPrettier, needsPlaywright }
1717) {
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+ } )
4823
4924 const { pkg, files } = createESLintConfig ( {
5025 vueVersion : '3.x' ,
@@ -86,3 +61,42 @@ export default function renderEslint(
8661 fs . writeFileSync ( fullPath , content as string , 'utf-8' )
8762 }
8863}
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