diff --git a/packages/nx/src/utils/package-manager.ts b/packages/nx/src/utils/package-manager.ts index 3a66103548642..e1c3ad5d08602 100644 --- a/packages/nx/src/utils/package-manager.ts +++ b/packages/nx/src/utils/package-manager.ts @@ -22,6 +22,7 @@ export interface PackageManagerCommands { addDev: string; rm: string; exec: string; + dlx: string; list: string; run: (script: string, args: string) => string; } @@ -74,13 +75,14 @@ export function getPackageManagerCommand( addDev: useBerry ? 'yarn add -D' : 'yarn add -D -W', rm: 'yarn remove', exec: 'yarn', + dlx: useBerry ? 'yarn dlx' : 'yarn', run: (script: string, args: string) => `yarn ${script} ${args}`, list: useBerry ? 'yarn info --name-only' : 'yarn list', }; }, pnpm: () => { const pnpmVersion = getPackageManagerVersion('pnpm', root); - const useExec = gte(pnpmVersion, '6.13.0'); + const modernPnpm = gte(pnpmVersion, '6.13.0'); const includeDoubleDashBeforeArgs = lt(pnpmVersion, '7.0.0'); const isPnpmWorkspace = existsSync(join(root, 'pnpm-workspace.yaml')); @@ -90,7 +92,8 @@ export function getPackageManagerCommand( add: isPnpmWorkspace ? 'pnpm add -w' : 'pnpm add', addDev: isPnpmWorkspace ? 'pnpm add -Dw' : 'pnpm add -D', rm: 'pnpm rm', - exec: useExec ? 'pnpm exec' : 'pnpx', + exec: modernPnpm ? 'pnpm exec' : 'pnpx', + dlx: modernPnpm ? 'pnpm dlx' : 'pnpx', run: (script: string, args: string) => includeDoubleDashBeforeArgs ? `pnpm run ${script} -- ${args}` @@ -109,6 +112,7 @@ export function getPackageManagerCommand( addDev: 'npm install -D', rm: 'npm rm', exec: 'npx', + dlx: 'npx', run: (script: string, args: string) => `npm run ${script} -- ${args}`, list: 'npm ls', }; diff --git a/packages/storybook/src/generators/migrate-7/calling-storybook-cli.ts b/packages/storybook/src/generators/migrate-7/calling-storybook-cli.ts index dbd7aede818fd..70003cb0369be 100644 --- a/packages/storybook/src/generators/migrate-7/calling-storybook-cli.ts +++ b/packages/storybook/src/generators/migrate-7/calling-storybook-cli.ts @@ -15,7 +15,7 @@ export function callUpgrade(schema: Schema): 1 | Buffer { }); execSync( - `${pm.exec} storybook@latest upgrade ${ + `${pm.dlx} storybook@latest upgrade ${ schema.autoAcceptAllPrompts ? '--yes' : '' }`, { @@ -73,7 +73,7 @@ export function callAutomigrate( Object.entries(allStorybookProjects).forEach( ([projectName, storybookProjectInfo]) => { const pm = getPackageManagerCommand(); - const commandToRun = `${pm.exec} storybook@latest automigrate --config-dir ${storybookProjectInfo.configDir} --renderer ${storybookProjectInfo.uiFramework}`; + const commandToRun = `${pm.dlx} storybook@latest automigrate --config-dir ${storybookProjectInfo.configDir} --renderer ${storybookProjectInfo.uiFramework}`; try { output.log({ title: `Calling sb automigrate for ${projectName}`,