Skip to content

Commit a9644ab

Browse files
authored
fix(scripts): consistently use caret version when updating dependencies both in package.json and in npm scripts (#7319)
1 parent 86d9305 commit a9644ab

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

scripts/update-dependencies.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ function updateDependencies(packageJson, newVersions) {
9292
if (packageJson[depType]) {
9393
for (const packageName of Object.keys(packageJson[depType])) {
9494
if (packageJson[depType][packageName] && newVersions[packageName]) {
95-
packageJson[depType][packageName] = `^${newVersions[packageName]}`;
95+
packageJson[depType][packageName] = newVersions[packageName];
9696
}
9797
}
9898
}
@@ -122,9 +122,9 @@ function updateDependencies(packageJson, newVersions) {
122122
function updateOverrides(overrides, newVersions, parent) {
123123
for (const name of Object.keys(overrides ?? {})) {
124124
if (typeof overrides[name] === 'string' && newVersions[name]) {
125-
overrides[name] = `^${newVersions[name]}`;
125+
overrides[name] = newVersions[name];
126126
} else if (name === '.' && parent && newVersions[parent]) {
127-
overrides[name] = `^${newVersions[name]}`;
127+
overrides[name] = newVersions[name];
128128
} else if (typeof overrides[name] === 'object') {
129129
updateOverrides(overrides[name], newVersions, name);
130130
}
@@ -205,7 +205,7 @@ async function main() {
205205
return depToUpdate;
206206
});
207207

208-
const newVersions = await withProgress(
208+
let newVersions = await withProgress(
209209
`Collecting version information for packages...`,
210210
() => {
211211
return Promise.all(
@@ -227,6 +227,13 @@ async function main() {
227227
);
228228
console.log();
229229

230+
newVersions = newVersions.map(([name, version]) => {
231+
// When updating we always want to use version with a caret, this allows
232+
// some flexibility for third parties that depend on compass deps to have
233+
// some flexibility in transitive dependencies versions
234+
return [name, `^${version}`];
235+
});
236+
230237
const newVersionsObj = Object.fromEntries(newVersions);
231238
let hasChanged;
232239

0 commit comments

Comments
 (0)