66 * found in the LICENSE file at https://angular.io/license
77 */
88
9- import { blue , bold , Log } from '../../utils/logging.js' ;
9+ import { blue , bold , underline , Log } from '../../utils/logging.js' ;
1010import { ReleaseConfig } from '../config/index.js' ;
1111
1212import { ActiveReleaseTrains } from './active-release-trains.js' ;
@@ -22,14 +22,33 @@ export async function printActiveReleaseTrains(
2222 active : ActiveReleaseTrains ,
2323 config : ReleaseConfig ,
2424) : Promise < void > {
25- const { releaseCandidate, next, latest} = active ;
25+ const { releaseCandidate, next, latest, exceptionalMinor } = active ;
2626 const isNextPublishedToNpm = await isVersionPublishedToNpm ( next . version , config ) ;
2727 const nextTrainType = next . isMajor ? 'major' : 'minor' ;
2828 const ltsBranches = await fetchLongTermSupportBranchesFromNpm ( config ) ;
2929
3030 Log . info ( ) ;
3131 Log . info ( blue ( 'Current version branches in the project:' ) ) ;
3232
33+ if ( exceptionalMinor !== null ) {
34+ const version = exceptionalMinor . version ;
35+ const exceptionalMinorPublished = await isVersionPublishedToNpm ( version , config ) ;
36+ const trainPhase = version . prerelease [ 0 ] === 'next' ? 'next' : 'release-candidate' ;
37+ const minorLabel = underline ( 'exceptional minor' ) ;
38+
39+ Log . info (
40+ ` • ${ bold ( exceptionalMinor . branchName ) } contains changes for an ${ minorLabel } ` +
41+ `that is currently in ${ bold ( trainPhase ) } phase.` ,
42+ ) ;
43+ // An exceptional minor may not be published yet. e.g. when we branch off there
44+ // will not be a release immediately.
45+ if ( exceptionalMinorPublished ) {
46+ Log . info ( ` Most recent pre-release for this branch is "${ bold ( `v${ version } ` ) } ".` ) ;
47+ } else {
48+ Log . info ( ` Version is set to "${ bold ( `v${ version } ` ) } ", but has not been published yet.` ) ;
49+ }
50+ }
51+
3352 // Print information for release trains in the feature-freeze/release-candidate phase.
3453 if ( releaseCandidate !== null ) {
3554 const rcVersion = releaseCandidate . version ;
0 commit comments