66 * found in the LICENSE file at https://angular.io/license
77 */
88
9+ /** Retrieve the minor version for the provided version string. */
10+ function getEarliestMinorVersion ( version : string ) {
11+ const versionMatching = version . match ( / ^ ( \d + ) \. ( \d + ) \. * / ) ;
12+
13+ if ( versionMatching === null ) {
14+ throw Error ( 'Unable to determine the minor version for the provided version' ) ;
15+ }
16+ const [ _ , major , minor ] = versionMatching ;
17+
18+ return `${ major } .${ minor } .0` ;
19+ }
20+
921export const latestVersions : Record < string , string > & {
1022 Angular : string ;
1123 DevkitBuildAngular : string ;
@@ -14,8 +26,10 @@ export const latestVersions: Record<string, string> & {
1426 // but ts_library doesn't support JSON inputs.
1527 ...require ( './latest-versions/package.json' ) [ 'dependencies' ] ,
1628
17- // These versions should be kept up to date with latest Angular peer dependencies.
18- Angular : '~12.2.0-next.2' ,
29+ // As Angular CLI works with same minor versions of Angular Framework, a tilde match for the current
30+ // Angular CLI minor version with earliest prerelease (appended with `-`) will match the latest
31+ // Angular Framework minor.
32+ Angular : `~${ getEarliestMinorVersion ( require ( '../package.json' ) [ 'version' ] ) } -` ,
1933
2034 // Since @angular -devkit/build-angular and @schematics/angular are always
2135 // published together from the same monorepo, and they are both
0 commit comments