From cd6c8d373a7f882b45d50f79eaa8a915ef00be9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Jona=C5=A1?= Date: Tue, 1 Aug 2023 13:55:57 +0200 Subject: [PATCH] fix(nextjs): fix build for yarn pnp (#18387) --- packages/next/src/executors/build/build.impl.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/next/src/executors/build/build.impl.ts b/packages/next/src/executors/build/build.impl.ts index eb0678c66f76b..bcb45f5644a28 100644 --- a/packages/next/src/executors/build/build.impl.ts +++ b/packages/next/src/executors/build/build.impl.ts @@ -1,8 +1,11 @@ import 'dotenv/config'; import { + detectPackageManager, ExecutorContext, + getPackageManagerVersion, logger, readJsonFile, + workspaceRoot, writeJsonFile, } from '@nx/devkit'; import { createLockFile, createPackageJson, getLockFileName } from '@nx/js'; @@ -53,7 +56,14 @@ export default async function buildExecutor( process.env.NX_NEXT_OUTPUT_PATH ??= outputPath; const args = createCliOptions({ experimentalAppOnly, profile, debug }); - const command = `npx next build ${args.join(' ')}`; + const isYarnBerry = + detectPackageManager() === 'yarn' && + gte(getPackageManagerVersion('yarn', workspaceRoot), '2.0.0'); + const buildCommand = isYarnBerry + ? `yarn next build ${projectRoot}` + : 'npx next build'; + + const command = `${buildCommand} ${args.join(' ')}`; const execSyncOptions: ExecSyncOptions = { stdio: 'inherit', encoding: 'utf-8',