@@ -115,12 +115,13 @@ export function getAngularBuildOptions (buildOptions: BuildOptions, tsConfig: st
115
115
export async function generateTsConfig ( devServerConfig : AngularWebpackDevServerConfig , buildOptions : BuildOptions ) : Promise < string > {
116
116
const { cypressConfig } = devServerConfig
117
117
const { projectRoot } = cypressConfig
118
+ const { workspaceRoot = projectRoot } = buildOptions
118
119
119
120
const specPattern = Array . isArray ( cypressConfig . specPattern ) ? cypressConfig . specPattern : [ cypressConfig . specPattern ]
120
121
121
- const getProjectFilePath = ( ...fileParts : string [ ] ) : string => toPosix ( path . join ( projectRoot , ...fileParts ) )
122
+ const getProjectFilePath = ( ...fileParts : string [ ] ) : string => toPosix ( path . join ( ...fileParts ) )
122
123
123
- const includePaths = [ ...specPattern . map ( ( pattern ) => getProjectFilePath ( pattern ) ) ]
124
+ const includePaths = [ ...specPattern . map ( ( pattern ) => getProjectFilePath ( projectRoot , pattern ) ) ]
124
125
125
126
if ( cypressConfig . supportFile ) {
126
127
includePaths . push ( toPosix ( cypressConfig . supportFile ) )
@@ -131,17 +132,17 @@ export async function generateTsConfig (devServerConfig: AngularWebpackDevServer
131
132
? buildOptions . polyfills . filter ( ( p : string ) => devServerConfig . options ?. projectConfig . sourceRoot && p . startsWith ( devServerConfig . options ?. projectConfig . sourceRoot ) )
132
133
: [ buildOptions . polyfills ]
133
134
134
- includePaths . push ( ...polyfills . map ( ( p : string ) => getProjectFilePath ( p ) ) )
135
+ includePaths . push ( ...polyfills . map ( ( p : string ) => getProjectFilePath ( workspaceRoot , p ) ) )
135
136
}
136
137
137
- const cypressTypes = getProjectFilePath ( 'node_modules' , 'cypress' , 'types' , 'index.d.ts' )
138
+ const cypressTypes = getProjectFilePath ( workspaceRoot , 'node_modules' , 'cypress' , 'types' , 'index.d.ts' )
138
139
139
140
includePaths . push ( cypressTypes )
140
141
141
142
const tsConfigContent = JSON . stringify ( {
142
- extends : getProjectFilePath ( buildOptions . tsConfig ?? 'tsconfig.json' ) ,
143
+ extends : getProjectFilePath ( projectRoot , buildOptions . tsConfig ?? 'tsconfig.json' ) ,
143
144
compilerOptions : {
144
- outDir : getProjectFilePath ( 'out-tsc/cy' ) ,
145
+ outDir : getProjectFilePath ( projectRoot , 'out-tsc/cy' ) ,
145
146
allowSyntheticDefaultImports : true ,
146
147
skipLibCheck : true ,
147
148
} ,
@@ -253,7 +254,7 @@ async function getAngularCliWebpackConfig (devServerConfig: AngularWebpackDevSer
253
254
254
255
const buildOptions = getAngularBuildOptions ( projectConfig . buildOptions , tsConfig )
255
256
256
- const context = createFakeContext ( projectRoot , projectConfig , logging )
257
+ const context = createFakeContext ( projectConfig . buildOptions . workspaceRoot || projectRoot , projectConfig , logging )
257
258
258
259
const { config } = await generateBrowserWebpackConfigFromContext (
259
260
buildOptions ,
@@ -275,10 +276,10 @@ async function getAngularCliWebpackConfig (devServerConfig: AngularWebpackDevSer
275
276
return
276
277
}
277
278
278
- const root = path . join ( devServerConfig . cypressConfig . projectRoot , projectConfig . sourceRoot )
279
+ const root = projectConfig . buildOptions . workspaceRoot || path . join ( devServerConfig . cypressConfig . projectRoot , projectConfig . sourceRoot )
279
280
280
281
debug ( 'Adding root %s to resolve-url-loader options' , root )
281
- loader . options . root = path . join ( devServerConfig . cypressConfig . projectRoot , projectConfig . sourceRoot )
282
+ loader . options . root = root
282
283
} )
283
284
} )
284
285
} )
0 commit comments