diff --git a/packages/cypress/src/generators/configuration/configuration.ts b/packages/cypress/src/generators/configuration/configuration.ts index 999cb5faca921..80049da8e52c9 100644 --- a/packages/cypress/src/generators/configuration/configuration.ts +++ b/packages/cypress/src/generators/configuration/configuration.ts @@ -125,7 +125,8 @@ function ensureDependencies(tree: Tree, options: NormalizedSchema) { } function normalizeOptions(tree: Tree, options: CypressE2EConfigSchema) { - const projectConfig = readProjectConfiguration(tree, options.project); + const projectConfig: ProjectConfiguration | undefined = + readProjectConfiguration(tree, options.project); if (projectConfig?.targets?.e2e) { throw new Error(`Project ${options.project} already has an e2e target. Rename or remove the existing e2e target.`); @@ -134,7 +135,7 @@ Rename or remove the existing e2e target.`); if ( !options.baseUrl && !options.devServerTarget && - !projectConfig.targets.serve + !projectConfig?.targets?.serve ) { throw new Error(`The project ${options.project} does not have a 'serve' target. In this case you need to provide a devServerTarget,':[:]', or a baseUrl option`); @@ -144,7 +145,7 @@ In this case you need to provide a devServerTarget,':[: const devServerTarget = options.devServerTarget ?? - (projectConfig.targets.serve ? `${options.project}:serve` : undefined); + (projectConfig?.targets?.serve ? `${options.project}:serve` : undefined); if (!options.baseUrl && !devServerTarget) { throw new Error('Either baseUrl or devServerTarget must be provided');