Skip to content

Commit

Permalink
fix(migrate): do not downgrade versions
Browse files Browse the repository at this point in the history
  • Loading branch information
gtm-nayan committed Jul 8, 2023
1 parent 6cb283e commit 063d627
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 4 deletions.
18 changes: 14 additions & 4 deletions packages/migrate/migrations/svelte-4/migrate.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import fs from 'node:fs';
import { Project, ts, Node } from 'ts-morph';
import semver from 'semver';

export function update_pkg_json() {
fs.writeFileSync(
Expand All @@ -22,12 +23,21 @@ export function update_pkg_json_content(content) {
*/
function update_pkg(name, version, additional = '') {
if (pkg.dependencies?.[name]) {
log_migration(`Updated ${name} to ${version} ${additional}`);
pkg.dependencies[name] = version;
const existing_range = pkg.dependencies[name];

if (semver.validRange(existing_range) && !semver.subset(existing_range, version)) {
log_migration(`Updated ${name} to ${version} ${additional}`);
pkg.dependencies[name] = version;
}
}

if (pkg.devDependencies?.[name]) {
log_migration(`Updated ${name} to ${version} ${additional}`);
pkg.devDependencies[name] = version;
const existing_range = pkg.devDependencies[name];

if (semver.validRange(existing_range) && !semver.subset(existing_range, version)) {
log_migration(`Updated ${name} to ${version} ${additional}`);
pkg.devDependencies[name] = version;
}
}
}

Expand Down
19 changes: 19 additions & 0 deletions packages/migrate/migrations/svelte-4/migrate.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -362,3 +362,22 @@ test('Update package.json', () => {
}`
);
});


test('Does not downgrade versions', () => {
const result = update_pkg_json_content(`{
"devDependencies": {
"svelte": "^4.0.5",
"typescript": "github:idk"
}
}`);
assert.equal(
result,
`{
"devDependencies": {
"svelte": "^4.0.5",
"typescript": "github:idk"
}
}`
);
});
2 changes: 2 additions & 0 deletions packages/migrate/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@
"kleur": "^4.1.5",
"magic-string": "^0.30.0",
"prompts": "^2.4.2",
"semver": "^7.5.3",
"tiny-glob": "^0.2.9",
"ts-morph": "^19.0.0",
"typescript": "^5.0.4"
},
"devDependencies": {
"@types/node": "^16.18.6",
"@types/prompts": "^2.4.1",
"@types/semver": "^7.5.0",
"prettier": "^2.8.0",
"vitest": "^0.32.2"
},
Expand Down
6 changes: 6 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 063d627

Please sign in to comment.