From ba2dfc48c28a1f9fadb63eb53d4f36d028b9eede Mon Sep 17 00:00:00 2001 From: Chau Tran Date: Fri, 25 Mar 2022 10:32:59 -0500 Subject: [PATCH] fix(node): update node migrations to use forEachExecutorOptions (#9471) Co-authored-by: Chau Tran --- .../update-13-8-5/rename-build-to-webpack.ts | 21 +++++++------ .../update-13-8-5/rename-execute-to-node.ts | 25 ++++++++------- .../update-13-8-5/update-package-to-tsc.ts | 31 ++++++++++++------- 3 files changed, 43 insertions(+), 34 deletions(-) diff --git a/packages/node/src/migrations/update-13-8-5/rename-build-to-webpack.ts b/packages/node/src/migrations/update-13-8-5/rename-build-to-webpack.ts index c7e48b1cd4992..159637fcd575f 100644 --- a/packages/node/src/migrations/update-13-8-5/rename-build-to-webpack.ts +++ b/packages/node/src/migrations/update-13-8-5/rename-build-to-webpack.ts @@ -1,20 +1,21 @@ import { formatFiles, - getProjects, + readProjectConfiguration, Tree, updateProjectConfiguration, } from '@nrwl/devkit'; +import { forEachExecutorOptions } from '@nrwl/workspace/src/utilities/executor-options-utils'; export default async function update(host: Tree) { - const projects = getProjects(host); - - for (const [name, config] of projects.entries()) { - if (config?.targets?.build?.executor !== '@nrwl/node:build') continue; - - config.targets.build.executor = '@nrwl/node:webpack'; - - updateProjectConfiguration(host, name, config); - } + forEachExecutorOptions( + host, + '@nrwl/node:build', + (_, projectName, targetName) => { + const projectConfiguration = readProjectConfiguration(host, projectName); + projectConfiguration.targets[targetName].executor = '@nrwl/node:webpack'; + updateProjectConfiguration(host, projectName, projectConfiguration); + } + ); await formatFiles(host); } diff --git a/packages/node/src/migrations/update-13-8-5/rename-execute-to-node.ts b/packages/node/src/migrations/update-13-8-5/rename-execute-to-node.ts index 598bd2591447f..f141f18d04bf9 100644 --- a/packages/node/src/migrations/update-13-8-5/rename-execute-to-node.ts +++ b/packages/node/src/migrations/update-13-8-5/rename-execute-to-node.ts @@ -1,20 +1,21 @@ import { formatFiles, - getProjects, + readProjectConfiguration, Tree, updateProjectConfiguration, } from '@nrwl/devkit'; +import { forEachExecutorOptions } from '@nrwl/workspace/src/utilities/executor-options-utils'; -export default async function update(host: Tree) { - const projects = getProjects(host); +export default async function update(tree: Tree) { + forEachExecutorOptions( + tree, + '@nrwl/node:execute', + (_, projectName, targetName) => { + const projectConfiguration = readProjectConfiguration(tree, projectName); + projectConfiguration.targets[targetName].executor = '@nrwl/node:node'; + updateProjectConfiguration(tree, projectName, projectConfiguration); + } + ); - for (const [name, config] of projects.entries()) { - if (config?.targets?.serve?.executor !== '@nrwl/node:execute') continue; - - config.targets.serve.executor = '@nrwl/node:node'; - - updateProjectConfiguration(host, name, config); - } - - await formatFiles(host); + await formatFiles(tree); } diff --git a/packages/node/src/migrations/update-13-8-5/update-package-to-tsc.ts b/packages/node/src/migrations/update-13-8-5/update-package-to-tsc.ts index f2710672a7f11..f18444500cf08 100644 --- a/packages/node/src/migrations/update-13-8-5/update-package-to-tsc.ts +++ b/packages/node/src/migrations/update-13-8-5/update-package-to-tsc.ts @@ -2,29 +2,36 @@ import { addDependenciesToPackageJson, formatFiles, getProjects, + readProjectConfiguration, Tree, updateProjectConfiguration, } from '@nrwl/devkit'; +import { forEachExecutorOptions } from '@nrwl/workspace/src/utilities/executor-options-utils'; import { nxVersion } from '@nrwl/workspace/src/utils/versions'; export default async function update(host: Tree) { - const projects = getProjects(host); let installNeeded = false; - for (const [name, config] of projects.entries()) { - if (config?.targets?.build?.executor !== '@nrwl/node:package') continue; + forEachExecutorOptions( + host, + '@nrwl/node:package', + (_, projectName, targetName) => { + installNeeded = true; + const projectConfiguration = readProjectConfiguration(host, projectName); - config.targets.build.executor = '@nrwl/js:tsc'; + projectConfiguration.targets[targetName].executor = '@nrwl/js:tsc'; - const transformers = config.targets.build.options?.tsPlugins; - if (transformers) { - delete config.targets.build.options.tsPlugins; - config.targets.build.options.transformers = transformers; - } + const transformers = + projectConfiguration.targets[targetName].options?.tsPlugins; + if (transformers) { + delete projectConfiguration.targets[targetName].options.tsPlugins; + projectConfiguration.targets[targetName].options.transformers = + transformers; + } - installNeeded = true; - updateProjectConfiguration(host, name, config); - } + updateProjectConfiguration(host, projectName, projectConfiguration); + } + ); const task = installNeeded ? addDependenciesToPackageJson(