@@ -409,11 +409,12 @@ const OXC_PACKAGES = new Set([
409409 'oxfmt' ,
410410 'oxlint' ,
411411 'oxlint-tsgolint' ,
412- 'tinybench' ,
413412] ) ;
413+ const VITEST_DEPS = new Set ( [ 'tinybench' ] ) ;
414414
415- function isOxcPackage ( packageName : string ) : boolean {
416- if ( OXC_PACKAGES . has ( packageName ) ) return true ;
415+ // These packages should always use the highest version
416+ function syncedPackages ( packageName : string ) : boolean {
417+ if ( OXC_PACKAGES . has ( packageName ) || VITEST_DEPS . has ( packageName ) ) return true ;
417418 return OXC_PACKAGE_PREFIXES . some ( ( prefix ) => packageName . startsWith ( prefix ) ) ;
418419}
419420
@@ -432,7 +433,7 @@ function mergeSemverVersions(
432433 if ( isExact1 || isExact2 ) {
433434 if ( isExact1 && isExact2 && v1 !== v2 ) {
434435 // For oxc-related packages, use the higher version
435- if ( isOxcPackage ( packageName ) ) {
436+ if ( syncedPackages ( packageName ) ) {
436437 const ver1 = v1 . slice ( 1 ) ; // Remove '=' prefix
437438 const ver2 = v2 . slice ( 1 ) ;
438439 if ( semver . valid ( ver1 ) && semver . valid ( ver2 ) ) {
@@ -478,6 +479,12 @@ function mergeSemverVersions(
478479
479480 // Check if major versions are compatible
480481 if ( major1 !== major2 ) {
482+ // For synced packages, use the higher major version
483+ if ( syncedPackages ( packageName ) ) {
484+ const higher = major1 > major2 ? v1 : v2 ;
485+ log ( `Resolving ${ packageName } major version conflict: ${ v1 } vs ${ v2 } -> ${ higher } ` ) ;
486+ return higher ;
487+ }
481488 error (
482489 `Incompatible semver ranges for ${ packageName } : ${ v1 } (major: ${ major1 } ) vs ${ v2 } (major: ${ major2 } )` ,
483490 ) ;
0 commit comments