fix(devkit): fix issue replacing package dependencies in malformed pa… (#16823)
This commit is contained in:
parent
95594d21f7
commit
514e4fa0ab
@ -165,6 +165,14 @@ describe('replaceNrwlPackageWithNxPackage', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should handle broken package.json files', () => {
|
||||||
|
tree.write('package.json', '{ broken: "json ');
|
||||||
|
|
||||||
|
expect(() =>
|
||||||
|
replaceNrwlPackageWithNxPackage(tree, 'old-package', 'new-package')
|
||||||
|
).not.toThrow();
|
||||||
|
});
|
||||||
|
|
||||||
it('should replace any mentions in files', () => {
|
it('should replace any mentions in files', () => {
|
||||||
expect(tree.read('README.txt').toString()).toContain('new-package');
|
expect(tree.read('README.txt').toString()).toContain('new-package');
|
||||||
expect(tree.read('README.txt').toString()).not.toContain('old-package');
|
expect(tree.read('README.txt').toString()).not.toContain('old-package');
|
||||||
|
|||||||
@ -38,20 +38,26 @@ function replacePackageInDependencies(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateJson<PackageJson>(tree, path, (packageJson) => {
|
try {
|
||||||
for (const deps of [
|
updateJson<PackageJson>(tree, path, (packageJson) => {
|
||||||
packageJson.dependencies ?? {},
|
for (const deps of [
|
||||||
packageJson.devDependencies ?? {},
|
packageJson.dependencies ?? {},
|
||||||
packageJson.peerDependencies ?? {},
|
packageJson.devDependencies ?? {},
|
||||||
packageJson.optionalDependencies ?? {},
|
packageJson.peerDependencies ?? {},
|
||||||
]) {
|
packageJson.optionalDependencies ?? {},
|
||||||
if (oldPackageName in deps) {
|
]) {
|
||||||
deps[newPackageName] = deps[oldPackageName];
|
if (oldPackageName in deps) {
|
||||||
delete deps[oldPackageName];
|
deps[newPackageName] = deps[oldPackageName];
|
||||||
|
delete deps[oldPackageName];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
return packageJson;
|
||||||
return packageJson;
|
});
|
||||||
});
|
} catch (e) {
|
||||||
|
console.warn(
|
||||||
|
`Could not replace ${oldPackageName} with ${newPackageName} in ${path}.`
|
||||||
|
);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -218,10 +218,12 @@ function findCreatedProjectFiles(tree: Tree) {
|
|||||||
if (fileName === 'project.json') {
|
if (fileName === 'project.json') {
|
||||||
createdProjectFiles.push(change.path);
|
createdProjectFiles.push(change.path);
|
||||||
} else if (fileName === 'package.json') {
|
} else if (fileName === 'package.json') {
|
||||||
const contents: PackageJson = JSON.parse(change.content.toString());
|
try {
|
||||||
if (contents.nx) {
|
const contents: PackageJson = JSON.parse(change.content.toString());
|
||||||
createdProjectFiles.push(change.path);
|
if (contents.nx) {
|
||||||
}
|
createdProjectFiles.push(change.path);
|
||||||
|
}
|
||||||
|
} catch {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user