@@ -41,6 +41,9 @@ function _showVersions(logger: logging.Logger) {
4141
4242
4343function _upgradeSingle ( release : string , version : string ) : string {
44+ const simpleVersion = version . replace ( / - b e t a \. \d + $ | - r c \. \d + $ / , '' ) ;
45+ const isExperimental = semver . satisfies ( simpleVersion , '<1.0.0' ) ;
46+
4447 if ( release == 'minor-beta' ) {
4548 if ( version . match ( / - b e t a \. \d + $ / ) ) {
4649 return semver . inc ( version , 'prerelease' ) || version ;
@@ -58,6 +61,8 @@ function _upgradeSingle(release: string, version: string): string {
5861 } else if ( release == 'major-beta' ) {
5962 if ( version . match ( / - b e t a \. \d + $ / ) ) {
6063 return semver . inc ( version , 'prerelease' ) || version ;
64+ } else if ( isExperimental ) {
65+ return semver . inc ( version , 'minor' ) ? semver . inc ( version , 'minor' ) + '-beta.0' : version ;
6166 } else {
6267 return semver . inc ( version , 'major' ) ? semver . inc ( version , 'major' ) + '-beta.0' : version ;
6368 }
@@ -66,9 +71,13 @@ function _upgradeSingle(release: string, version: string): string {
6671 return semver . inc ( version , 'prerelease' ) || version ;
6772 } else if ( version . match ( / - b e t a \. \d + $ / ) ) {
6873 return version . replace ( / - b e t a \. \d + $ / , '-rc.0' ) ;
74+ } else if ( isExperimental ) {
75+ return semver . inc ( version , 'minor' ) ? semver . inc ( version , 'minor' ) + '-rc.0' : version ;
6976 } else {
7077 return semver . inc ( version , 'major' ) ? semver . inc ( version , 'major' ) + '-rc.0' : version ;
7178 }
79+ } else if ( release == 'major' && isExperimental ) {
80+ return semver . inc ( version , 'minor' ) || version ;
7281 } else {
7382 return semver . inc ( version , release as semver . ReleaseType ) || version ;
7483 }
0 commit comments