From cbd06aab50174e4f52faeadad51d228b35ce4c1a Mon Sep 17 00:00:00 2001 From: Katerina Skroumpelou Date: Wed, 28 Feb 2024 16:32:13 +0200 Subject: [PATCH] fix(misc): make sure to add e2e crystal plugin --- .../src/generators/configuration/configuration.ts | 10 +++++----- .../src/generators/cypress-project/cypress-project.ts | 2 ++ packages/cypress/src/generators/init/init.ts | 3 +-- packages/vue/src/generators/application/application.ts | 2 ++ packages/vue/src/generators/application/lib/add-e2e.ts | 1 + 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/cypress/src/generators/configuration/configuration.ts b/packages/cypress/src/generators/configuration/configuration.ts index 1d1a18dd58947b..be3b2c514c19d4 100644 --- a/packages/cypress/src/generators/configuration/configuration.ts +++ b/packages/cypress/src/generators/configuration/configuration.ts @@ -27,7 +27,7 @@ import { addLinterToCyProject } from '../../utils/add-linter'; import { addDefaultE2EConfig } from '../../utils/config'; import { installedCypressVersion } from '../../utils/cypress-version'; import { typesNodeVersion, viteVersion } from '../../utils/versions'; -import cypressInitGenerator from '../init/init'; +import cypressInitGenerator, { addPlugin } from '../init/init'; import { addBaseCypressSetup } from '../base-setup/base-setup'; export interface CypressE2EConfigSchema { @@ -67,7 +67,7 @@ export async function configurationGeneratorInternal( options: CypressE2EConfigSchema ) { const opts = normalizeOptions(tree, options); - + opts.addPlugin ??= process.env.NX_ADD_PLUGINS !== 'false'; const tasks: GeneratorCallback[] = []; if (!installedCypressVersion()) { @@ -76,10 +76,12 @@ export async function configurationGeneratorInternal( await cypressInitGenerator(tree, { ...opts, skipFormat: true, - addPlugin: options.addPlugin, }) ); + } else if (opts.addPlugin) { + addPlugin(tree); } + const projectGraph = await createProjectGraphAsync(); const nxJson = readNxJson(tree); const hasPlugin = nxJson.plugins?.some((p) => @@ -96,7 +98,6 @@ export async function configurationGeneratorInternal( const linterTask = await addLinterToCyProject(tree, { ...opts, cypressDir: opts.directory, - addPlugin: opts.addPlugin, }); tasks.push(linterTask); @@ -151,7 +152,6 @@ In this case you need to provide a devServerTarget,':[: return { ...options, - addPlugin: options.addPlugin ?? process.env.NX_ADD_PLUGINS !== 'false', bundler: options.bundler ?? 'webpack', rootProject: options.rootProject ?? projectConfig.root === '.', linter: options.linter ?? Linter.EsLint, diff --git a/packages/cypress/src/generators/cypress-project/cypress-project.ts b/packages/cypress/src/generators/cypress-project/cypress-project.ts index f3b74947b28c02..2c7f4016bccd6f 100644 --- a/packages/cypress/src/generators/cypress-project/cypress-project.ts +++ b/packages/cypress/src/generators/cypress-project/cypress-project.ts @@ -283,6 +283,8 @@ async function normalizeOptions( options.linter = options.linter || Linter.EsLint; options.bundler = options.bundler || 'webpack'; + options.addPlugin ??= process.env.NX_ADD_PLUGINS !== 'false'; + return { ...options, // other generators depend on the rootProject flag down stream diff --git a/packages/cypress/src/generators/init/init.ts b/packages/cypress/src/generators/init/init.ts index 56f3eb3962ef71..72e794d76b66a8 100644 --- a/packages/cypress/src/generators/init/init.ts +++ b/packages/cypress/src/generators/init/init.ts @@ -55,7 +55,7 @@ function updateDependencies(tree: Tree, options: Schema) { return runTasksInSerial(...tasks); } -function addPlugin(tree: Tree) { +export function addPlugin(tree: Tree) { const nxJson = readNxJson(tree); nxJson.plugins ??= []; @@ -105,7 +105,6 @@ export async function cypressInitGeneratorInternal( options: Schema ) { updateProductionFileset(tree); - options.addPlugin ??= process.env.NX_ADD_PLUGINS !== 'false'; if (options.addPlugin) { diff --git a/packages/vue/src/generators/application/application.ts b/packages/vue/src/generators/application/application.ts index ba9f2e8b3a63dc..f6efb1b7f944ee 100644 --- a/packages/vue/src/generators/application/application.ts +++ b/packages/vue/src/generators/application/application.ts @@ -28,6 +28,8 @@ export async function applicationGeneratorInternal( _options: Schema ): Promise { const options = await normalizeOptions(tree, _options); + options.addPlugin ??= process.env.NX_ADD_PLUGINS !== 'false'; + const tasks: GeneratorCallback[] = []; addProjectConfiguration(tree, options.name, { diff --git a/packages/vue/src/generators/application/lib/add-e2e.ts b/packages/vue/src/generators/application/lib/add-e2e.ts index 600dbef16ececa..aceb81f9a6796f 100644 --- a/packages/vue/src/generators/application/lib/add-e2e.ts +++ b/packages/vue/src/generators/application/lib/add-e2e.ts @@ -64,6 +64,7 @@ export async function addE2e( implicitDependencies: [options.projectName], }); return configurationGenerator(tree, { + ...options, project: options.e2eProjectName, skipFormat: true, skipPackageJson: options.skipPackageJson,