From d3fc954ba31eff25ba049f3dbcc30b06a57043de Mon Sep 17 00:00:00 2001 From: JGhignatti Date: Mon, 15 Dec 2025 20:48:10 -0300 Subject: [PATCH] fix(nf): get proper project root path to run esbuild With proper project root path, the `loadPostcssConfiguration` function works as expected after the v21 update. Also, it's possible to simplify the `getTailwindConfig` implemntation, it will still build the correct relative path. --- .../src/utils/angular-esbuild-adapter.ts | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/libs/native-federation/src/utils/angular-esbuild-adapter.ts b/libs/native-federation/src/utils/angular-esbuild-adapter.ts index 8e9ae93d..c87a26a1 100644 --- a/libs/native-federation/src/utils/angular-esbuild-adapter.ts +++ b/libs/native-federation/src/utils/angular-esbuild-adapter.ts @@ -202,12 +202,19 @@ async function runEsbuild( throw new AbortedError('[angular-esbuild-adapter] Before building'); } - const projectRoot = path.dirname(tsConfigPath); + const workspaceRoot = context.workspaceRoot; + + const projectMetadata = await context.getProjectMetadata( + context.target.project, + ); + const projectRoot = path.join( + workspaceRoot, + (projectMetadata['root'] as string | undefined) ?? '', + ); + const browsers = getSupportedBrowsers(projectRoot, context.logger as any); const target = transformSupportedBrowsersToTargets(browsers); - const workspaceRoot = context.workspaceRoot; - const optimizationOptions = normalizeOptimization( builderOptions.optimization, ); @@ -221,7 +228,7 @@ async function runEsbuild( await loadPostcssConfiguration(searchDirectories); const tailwindConfiguration = postcssConfiguration ? undefined - : await getTailwindConfig(workspaceRoot, searchDirectories); + : await getTailwindConfig(searchDirectories); const outputNames = { bundles: '[name]', @@ -360,7 +367,6 @@ async function runEsbuild( } async function getTailwindConfig( - workspaceRoot: string, searchDirectories: { root: string; files: Set }[], ): Promise<{ file: string; package: string } | undefined> { const tailwindConfigurationPath = @@ -372,9 +378,7 @@ async function getTailwindConfig( return { file: tailwindConfigurationPath, - package: createRequire( - path.join(workspaceRoot, tailwindConfigurationPath), - ).resolve('tailwindcss'), + package: createRequire(tailwindConfigurationPath).resolve('tailwindcss'), }; }