@@ -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) {
122122function 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