fix(nx-plugin): ensure plugin testing uses correct pm for install (#20061)

This commit is contained in:
Miroslav Jonaš 2023-11-23 16:50:02 +01:00 committed by GitHub
parent 40f8c40df2
commit 5cd938a1a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 8 deletions

View File

@ -1,6 +1,6 @@
import { exec } from 'child_process';
import { tmpProjPath } from './paths';
import { getPackageManagerCommand } from '@nx/devkit';
import { detectPackageManager, getPackageManagerCommand } from '@nx/devkit';
import { fileExists } from './utils';
/**
@ -43,8 +43,9 @@ export function runNxCommandAsync(
silenceError: false,
}
): Promise<{ stdout: string; stderr: string }> {
const cwd = opts.cwd ?? tmpProjPath();
if (fileExists(tmpProjPath('package.json'))) {
const pmc = getPackageManagerCommand();
const pmc = getPackageManagerCommand(detectPackageManager(cwd));
return runCommandAsync(`${pmc.exec} nx ${command}`, opts);
} else if (process.platform === 'win32') {
return runCommandAsync(`./nx.bat %${command}`, opts);

View File

@ -1,6 +1,6 @@
import { ExecOptions, execSync } from 'child_process';
import { tmpProjPath } from './paths';
import { getPackageManagerCommand } from '@nx/devkit';
import { detectPackageManager, getPackageManagerCommand } from '@nx/devkit';
import { fileExists } from './utils';
/**
@ -17,12 +17,13 @@ export function runNxCommand(
}
): string {
function _runNxCommand(c) {
const cwd = opts.cwd ?? tmpProjPath();
const execSyncOptions: ExecOptions = {
cwd: opts.cwd ?? tmpProjPath(),
cwd,
env: { ...process.env, ...opts.env },
};
if (fileExists(tmpProjPath('package.json'))) {
const pmc = getPackageManagerCommand();
const pmc = getPackageManagerCommand(detectPackageManager(cwd));
return execSync(`${pmc.exec} nx ${command}`, execSyncOptions);
} else if (process.platform === 'win32') {
return execSync(`./nx.bat %${command}`, execSyncOptions);

View File

@ -1,4 +1,4 @@
import { workspaceRoot } from '@nx/devkit';
import { detectPackageManager, workspaceRoot } from '@nx/devkit';
import {
getPackageManagerCommand,
readJsonFile,
@ -50,9 +50,10 @@ export function uniq(prefix: string) {
* @param silent silent output from the install
*/
export function runPackageManagerInstall(silent: boolean = true) {
const pmc = getPackageManagerCommand();
const cwd = tmpProjPath();
const pmc = getPackageManagerCommand(detectPackageManager(cwd));
const install = execSync(pmc.install, {
cwd: tmpProjPath(),
cwd,
...(silent ? { stdio: ['ignore', 'ignore', 'ignore'] } : {}),
});
return install ? install.toString() : '';