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 <jasonjean1993@gmail.com>
This commit is contained in:
François 2025-04-26 01:42:31 +02:00 committed by GitHub
parent bde7315b0f
commit da4f55bca3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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;
});
}