diff --git a/e2e/add-nx-to-monorepo/src/add-nx-to-monorepo.test.ts b/e2e/add-nx-to-monorepo/src/add-nx-to-monorepo.test.ts index 92c1acee6d..ba6f7f5e6f 100644 --- a/e2e/add-nx-to-monorepo/src/add-nx-to-monorepo.test.ts +++ b/e2e/add-nx-to-monorepo/src/add-nx-to-monorepo.test.ts @@ -4,52 +4,66 @@ import { runCommand, tmpProjPath, updateFile, + getPackageManagerCommand, + getSelectedPackageManager, } from '@nrwl/e2e/utils'; import { Workspaces } from 'nx/src/shared/workspace'; -describe.each(['npx', 'pnpx --yes'])('%s add-nx-to-monorepo', (command) => { - it('should not throw', () => { - // Arrange - createNonNxProjectDirectory(); - updateFile( - 'packages/package-a/package.json', - JSON.stringify({ - name: 'package-a', - }) - ); - updateFile( - 'packages/package-b/package.json', - JSON.stringify({ - name: 'package-b', - }) - ); +describe('add-nx-to-monorepo', () => { + const packageManagerCommand = getPackageManagerCommand({ + packageManager: getSelectedPackageManager(), + }).runUninstalledPackage; - // Act - const output = runCommand(`${command} add-nx-to-monorepo --nx-cloud false`); - // Assert - expect(output).toContain('🎉 Done!'); - expect(readWorkspaceConfig().projects['package-a']).toBeTruthy(); - expect(readWorkspaceConfig().projects['package-b']).toBeTruthy(); + it('should not throw', () => { + if (packageManagerCommand) { + // Arrange + createNonNxProjectDirectory(); + updateFile( + 'packages/package-a/package.json', + JSON.stringify({ + name: 'package-a', + }) + ); + updateFile( + 'packages/package-b/package.json', + JSON.stringify({ + name: 'package-b', + }) + ); + + // Act + const output = runCommand( + `${packageManagerCommand} add-nx-to-monorepo --nx-cloud false` + ); + // Assert + expect(output).toContain('🎉 Done!'); + expect(readWorkspaceConfig().projects['package-a']).toBeTruthy(); + expect(readWorkspaceConfig().projects['package-b']).toBeTruthy(); + } }); it('should build', () => { - // Arrange - createNonNxProjectDirectory(); - updateFile( - 'packages/package-a/package.json', - JSON.stringify({ - name: 'package-a', - scripts: { - build: 'echo "build successful"', - }, - }) - ); + if (packageManagerCommand) { + // Arrange + createNonNxProjectDirectory(); + updateFile( + 'packages/package-a/package.json', + JSON.stringify({ + name: 'package-a', + scripts: { + build: 'echo "build successful"', + }, + }) + ); - // Act - runCommand(`${command} add-nx-to-monorepo --nx-cloud false`); - const output = runCLI('build package-a'); - // Assert - expect(output).toContain('build successful'); + // Act + runCommand( + `${packageManagerCommand} add-nx-to-monorepo --nx-cloud false` + ); + const output = runCLI('build package-a'); + // Assert + expect(output).toContain('build successful'); + } }); }); diff --git a/e2e/utils/index.ts b/e2e/utils/index.ts index 83056e3332..545d8976b5 100644 --- a/e2e/utils/index.ts +++ b/e2e/utils/index.ts @@ -731,6 +731,7 @@ export function getPackageManagerCommand({ createWorkspace: string; runNx: string; runNxSilent: string; + runUninstalledPackage?: string | undefined; addDev: string; list: string; } { @@ -743,6 +744,7 @@ export function getPackageManagerCommand({ } create-nx-workspace@${publishedVersion}`, runNx: `npx nx`, runNxSilent: `npx nx`, + runUninstalledPackage: `npx`, addDev: `npm install --legacy-peer-deps -D`, list: 'npm ls --depth 10', }, @@ -751,6 +753,7 @@ export function getPackageManagerCommand({ createWorkspace: `yarn global add create-nx-workspace@${publishedVersion} && create-nx-workspace`, runNx: `yarn nx`, runNxSilent: `yarn --silent nx`, + runUninstalledPackage: 'npx', addDev: `yarn add -D`, list: 'npm ls --depth 10', }, @@ -759,6 +762,7 @@ export function getPackageManagerCommand({ createWorkspace: `pnpx --yes create-nx-workspace@${publishedVersion}`, runNx: `pnpx nx`, runNxSilent: `pnpx nx`, + runUninstalledPackage: 'pnpx --yes', addDev: `pnpm add -D`, list: 'npm ls --depth 10', },