From 22de9b5b841f2d0608728cd53fc210ad9dd12618 Mon Sep 17 00:00:00 2001 From: Emily Xiong Date: Tue, 5 Mar 2024 00:56:32 -0500 Subject: [PATCH] fix(core): add outputs to nx.json for nx init in monorepo (#22061) --- .../init/implementation/add-nx-to-nest.ts | 9 ++----- .../init/implementation/add-nx-to-npm-repo.ts | 9 ++----- .../command-line/init/implementation/utils.ts | 24 +++++++------------ 3 files changed, 12 insertions(+), 30 deletions(-) diff --git a/packages/nx/src/command-line/init/implementation/add-nx-to-nest.ts b/packages/nx/src/command-line/init/implementation/add-nx-to-nest.ts index 3e14afcd0f5a4..1c5d4287c7eb9 100644 --- a/packages/nx/src/command-line/init/implementation/add-nx-to-nest.ts +++ b/packages/nx/src/command-line/init/implementation/add-nx-to-nest.ts @@ -113,7 +113,7 @@ export async function addNxToNest(options: Options, packageJson: PackageJson) { repoRoot, [], [...cacheableOperations, ...nestCacheableScripts], - {} + scriptOutputs ); const pmc = getPackageManagerCommand(); @@ -121,12 +121,7 @@ export async function addNxToNest(options: Options, packageJson: PackageJson) { updateGitIgnore(repoRoot); addDepsToPackageJson(repoRoot); addNestPluginToPackageJson(repoRoot); - markRootPackageJsonAsNxProject( - repoRoot, - cacheableOperations, - scriptOutputs, - pmc - ); + markRootPackageJsonAsNxProject(repoRoot, cacheableOperations, pmc); createProjectJson(repoRoot, packageJson, nestCLIConfiguration); removeFile(repoRoot, 'nest-cli.json'); diff --git a/packages/nx/src/command-line/init/implementation/add-nx-to-npm-repo.ts b/packages/nx/src/command-line/init/implementation/add-nx-to-npm-repo.ts index 1574337600add..cdbfbe8fdd392 100644 --- a/packages/nx/src/command-line/init/implementation/add-nx-to-npm-repo.ts +++ b/packages/nx/src/command-line/init/implementation/add-nx-to-npm-repo.ts @@ -72,18 +72,13 @@ export async function addNxToNpmRepo(options: Options) { : false); } - createNxJsonFile(repoRoot, [], cacheableOperations, {}); + createNxJsonFile(repoRoot, [], cacheableOperations, scriptOutputs); const pmc = getPackageManagerCommand(); updateGitIgnore(repoRoot); addDepsToPackageJson(repoRoot); - markRootPackageJsonAsNxProject( - repoRoot, - cacheableOperations, - scriptOutputs, - pmc - ); + markRootPackageJsonAsNxProject(repoRoot, cacheableOperations, pmc); output.log({ title: '📦 Installing dependencies' }); diff --git a/packages/nx/src/command-line/init/implementation/utils.ts b/packages/nx/src/command-line/init/implementation/utils.ts index 72cd69f2ee7f4..478827fc77d2e 100644 --- a/packages/nx/src/command-line/init/implementation/utils.ts +++ b/packages/nx/src/command-line/init/implementation/utils.ts @@ -39,14 +39,14 @@ export function createNxJsonFile( nxJson.targetDefaults[scriptName] ??= {}; nxJson.targetDefaults[scriptName] = { dependsOn: [`^${scriptName}`] }; } - for (const [scriptName, output] of Object.entries(scriptOutputs)) { - if (!output) { - // eslint-disable-next-line no-continue - continue; - } - nxJson.targetDefaults[scriptName] ??= {}; - nxJson.targetDefaults[scriptName].outputs = [`{projectRoot}/${output}`]; + } + for (const [scriptName, output] of Object.entries(scriptOutputs)) { + if (!output) { + // eslint-disable-next-line no-continue + continue; } + nxJson.targetDefaults[scriptName] ??= {}; + nxJson.targetDefaults[scriptName].outputs = [`{projectRoot}/${output}`]; } for (const target of cacheableOperations) { @@ -171,20 +171,12 @@ export function addVsCodeRecommendedExtensions( export function markRootPackageJsonAsNxProject( repoRoot: string, cacheableScripts: string[], - scriptOutputs: { [script: string]: string }, pmc: PackageManagerCommands ) { const json = readJsonFile( joinPathFragments(repoRoot, `package.json`) ); - json.nx = { targets: {} }; - for (let script of Object.keys(scriptOutputs)) { - if (scriptOutputs[script]) { - json.nx.targets[script] = { - outputs: [`{projectRoot}/${scriptOutputs[script]}`], - }; - } - } + json.nx = {}; for (let script of cacheableScripts) { const scriptDefinition = json.scripts[script]; if (!scriptDefinition) {