@@ -45,9 +45,10 @@ export function angularMajorCompatGuarantee(range: string) {
45
45
46
46
// Add the major version as compatible with the angular compatible, with all minors. This is
47
47
// already one major above the greatest supported, because we increment `major` before checking.
48
+ // We add minors like this because a minor beta is still compatible with a minor non-beta.
48
49
let newRange = range ;
49
50
for ( let minor = 0 ; minor < 20 ; minor ++ ) {
50
- newRange += ` || ^${ major } .${ minor } .0-alpha.0` ;
51
+ newRange += ` || ^${ major } .${ minor } .0-alpha.0 ` ;
51
52
}
52
53
53
54
return semver . validRange ( newRange ) || range ;
@@ -496,7 +497,7 @@ function _usageMessage(
496
497
function _buildPackageInfo (
497
498
tree : Tree ,
498
499
packages : Map < string , VersionRange > ,
499
- allDependencies : Map < string , VersionRange > ,
500
+ allDependencies : ReadonlyMap < string , VersionRange > ,
500
501
npmPackageJson : NpmRepositoryPackageJson ,
501
502
logger : logging . LoggerApi ,
502
503
) : PackageInfo {
@@ -629,8 +630,9 @@ function _buildPackageList(
629
630
630
631
631
632
function _addPackageGroup (
633
+ tree : Tree ,
632
634
packages : Map < string , VersionRange > ,
633
- allDependencies : ReadonlyMap < string , string > ,
635
+ allDependencies : ReadonlyMap < string , VersionRange > ,
634
636
npmPackageJson : NpmRepositoryPackageJson ,
635
637
logger : logging . LoggerApi ,
636
638
) : void {
@@ -639,7 +641,11 @@ function _addPackageGroup(
639
641
return ;
640
642
}
641
643
642
- const version = npmPackageJson [ 'dist-tags' ] [ maybePackage ] || maybePackage ;
644
+ const info = _buildPackageInfo ( tree , packages , allDependencies , npmPackageJson , logger ) ;
645
+
646
+ const version = ( info . target && info . target . version )
647
+ || npmPackageJson [ 'dist-tags' ] [ maybePackage ]
648
+ || maybePackage ;
643
649
if ( ! npmPackageJson . versions [ version ] ) {
644
650
return ;
645
651
}
@@ -673,17 +679,22 @@ function _addPackageGroup(
673
679
* @private
674
680
*/
675
681
function _addPeerDependencies (
682
+ tree : Tree ,
676
683
packages : Map < string , VersionRange > ,
677
- _allDependencies : ReadonlyMap < string , string > ,
684
+ allDependencies : ReadonlyMap < string , VersionRange > ,
678
685
npmPackageJson : NpmRepositoryPackageJson ,
679
- _logger : logging . LoggerApi ,
686
+ logger : logging . LoggerApi ,
680
687
) : void {
681
688
const maybePackage = packages . get ( npmPackageJson . name ) ;
682
689
if ( ! maybePackage ) {
683
690
return ;
684
691
}
685
692
686
- const version = npmPackageJson [ 'dist-tags' ] [ maybePackage ] || maybePackage ;
693
+ const info = _buildPackageInfo ( tree , packages , allDependencies , npmPackageJson , logger ) ;
694
+
695
+ const version = ( info . target && info . target . version )
696
+ || npmPackageJson [ 'dist-tags' ] [ maybePackage ]
697
+ || maybePackage ;
687
698
if ( ! npmPackageJson . versions [ version ] ) {
688
699
return ;
689
700
}
@@ -807,8 +818,8 @@ export default function(options: UpdateSchema): Rule {
807
818
do {
808
819
lastPackagesSize = packages . size ;
809
820
npmPackageJsonMap . forEach ( ( npmPackageJson ) => {
810
- _addPackageGroup ( packages , allDependencies , npmPackageJson , logger ) ;
811
- _addPeerDependencies ( packages , allDependencies , npmPackageJson , logger ) ;
821
+ _addPackageGroup ( tree , packages , allDependencies , npmPackageJson , logger ) ;
822
+ _addPeerDependencies ( tree , packages , allDependencies , npmPackageJson , logger ) ;
812
823
} ) ;
813
824
} while ( packages . size > lastPackagesSize ) ;
814
825
0 commit comments