From da4f55bca3b74b5e77eeb4ab87b1356061328a95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois?= Date: Sat, 26 Apr 2025 01:42:31 +0200 Subject: [PATCH] fix: check if dependencies & devDependencies exist before deleting dep (#30224) ## Current Behavior `removeDependenciesFromPackageJson` tries to delete dep from `undefined` if there is no `dependencies` or `devDependencies` in package.json ## Expected Behavior First check if `dependencies` or `devDependencies` exists ## Related Issue(s) Fixes #30222 Co-authored-by: Jason Jean --- packages/devkit/src/utils/package-json.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/devkit/src/utils/package-json.ts b/packages/devkit/src/utils/package-json.ts index e5e76a22b8..df549f2a4d 100644 --- a/packages/devkit/src/utils/package-json.ts +++ b/packages/devkit/src/utils/package-json.ts @@ -287,15 +287,18 @@ export function removeDependenciesFromPackageJson( ) ) { updateJson(tree, packageJsonPath, (json) => { - for (const dep of dependencies) { - delete json.dependencies[dep]; + if (json.dependencies) { + for (const dep of dependencies) { + delete json.dependencies[dep]; + } + json.dependencies = sortObjectByKeys(json.dependencies); } - for (const devDep of devDependencies) { - delete json.devDependencies[devDep]; + if (json.devDependencies) { + for (const devDep of devDependencies) { + delete json.devDependencies[devDep]; + } + json.devDependencies = sortObjectByKeys(json.devDependencies); } - json.dependencies = sortObjectByKeys(json.dependencies); - json.devDependencies = sortObjectByKeys(json.devDependencies); - return json; }); }