Navigation Menu

Skip to content

Commit

Permalink
fix(core): check semver before updating dependencies using migrations…
Browse files Browse the repository at this point in the history
….json
  • Loading branch information
brandonroberts authored and vsavkin committed Feb 7, 2020
1 parent fd0b192 commit c4a35e7
Showing 1 changed file with 29 additions and 4 deletions.
33 changes: 29 additions & 4 deletions packages/workspace/src/utils/update-packages-in-package-json.ts
@@ -1,5 +1,7 @@
import { updateJsonInTree } from './ast-utils';
import { readFileSync } from 'fs';
import { checkAndCleanWithSemver } from './version-utils';
import { lt } from 'semver';

export function updatePackagesInPackageJson(
migrationFilePath: string,
Expand All @@ -16,13 +18,36 @@ export function updatePackagesInPackageJson(
const updatedPackages = packageJsonUpdates.packages;
return updateJsonInTree('package.json', json => {
Object.keys(updatedPackages).forEach(p => {
/**
* Check the updated version against semver
*/
const cleanUpdatedVersion = checkAndCleanWithSemver(
p,
updatedPackages[p].version
);

if (json.devDependencies && json.devDependencies[p]) {
json.devDependencies[p] = updatedPackages[p].version;
const cleanDevVersion = checkAndCleanWithSemver(
p,
json.devDependencies[p]
);

if (lt(cleanDevVersion, cleanUpdatedVersion)) {
json.devDependencies[p] = updatedPackages[p].version;
}
} else if (json.dependencies && json.dependencies[p]) {
json.dependencies[p] = updatedPackages[p].version;
const cleanVersion = checkAndCleanWithSemver(p, json.dependencies[p]);

if (lt(cleanVersion, cleanUpdatedVersion)) {
json.dependencies[p] = updatedPackages[p].version;
}
} else if (updatedPackages[p].alwaysAddToPackageJson) {
if (!json.dependencies) json.dependencies = {};
json.dependencies[p] = updatedPackages[p].version;
const cleanVersion = checkAndCleanWithSemver(p, json.dependencies[p]);

if (lt(cleanVersion, cleanUpdatedVersion)) {
if (!json.dependencies) json.dependencies = {};
json.dependencies[p] = updatedPackages[p].version;
}
}
});
return json;
Expand Down

0 comments on commit c4a35e7

Please sign in to comment.