@@ -87,101 +87,99 @@ export async function generateVersion(
87
87
targetPackageJson : Partial < PackageJson > ,
88
88
targetConfig : ProjectConfig ,
89
89
currentBranchName : string ,
90
- ) : Promise < string > {
91
- return new Promise ( async resolve => {
92
- let versionResult : string = null ;
90
+ ) {
91
+ let versionResult : string = null ;
93
92
94
- let version = '' ;
93
+ let version = '' ;
95
94
96
- try {
97
- const versionResultExec = execSync (
98
- `${ targetConfig . npmClient } view ${ targetPackageJson . name } @${ targetPackageJson . version } version` ,
99
- ) ;
95
+ try {
96
+ const versionResultExec = execSync (
97
+ `${ targetConfig . npmClient } view ${ targetPackageJson . name } @${ targetPackageJson . version } version` ,
98
+ ) ;
100
99
101
- if ( versionResultExec ) {
102
- versionResult = versionResultExec . toString ( ) . trim ( ) ;
103
- } else {
104
- versionResult = null ;
105
- }
106
- } catch ( error ) {
107
- // Throw error means not exist
100
+ if ( versionResultExec ) {
101
+ versionResult = versionResultExec . toString ( ) . trim ( ) ;
102
+ } else {
108
103
versionResult = null ;
109
104
}
105
+ } catch ( error ) {
106
+ // Throw error means not exist
107
+ versionResult = null ;
108
+ }
110
109
111
- // Generate beta version if branch is not master or develop
112
- if ( options . tag === 'beta' || ! isDevelopBranch ) {
113
- // fixed basicVersion to 1.0.0
114
- const basicVersion = '1.0.0' ;
115
-
116
- const branchNameInVersion = currentBranchName . replace ( / \/ / g, '' ) . replace ( / \. / g, '' ) ;
117
-
118
- let publishedVersions : string [ ] = [ ] ;
119
- try {
120
- // all of package versions
121
- const tempVersions = execSync ( `${ targetConfig . npmClient } view ${ targetPackageJson . name } versions` ) ;
122
- if ( tempVersions ) {
123
- publishedVersions = tempVersions
124
- . toString ( )
125
- . trim ( )
126
- . replace ( / \n | ' | | \[ | \] / g, '' )
127
- . split ( ',' ) ;
128
- } else {
129
- publishedVersions = [ ] ;
130
- }
131
- } catch ( e ) {
110
+ // Generate beta version if branch is not master or develop
111
+ if ( options . tag === 'beta' || ! isDevelopBranch ) {
112
+ // fixed basicVersion to 1.0.0
113
+ const basicVersion = '1.0.0' ;
114
+
115
+ const branchNameInVersion = currentBranchName . replace ( / \/ / g, '' ) . replace ( / \. / g, '' ) ;
116
+
117
+ let publishedVersions : string [ ] = [ ] ;
118
+ try {
119
+ // all of package versions
120
+ const tempVersions = execSync ( `${ targetConfig . npmClient } view ${ targetPackageJson . name } versions` ) ;
121
+ if ( tempVersions ) {
122
+ publishedVersions = tempVersions
123
+ . toString ( )
124
+ . trim ( )
125
+ . replace ( / \n | ' | | \[ | \] / g, '' )
126
+ . split ( ',' ) ;
127
+ } else {
132
128
publishedVersions = [ ] ;
133
129
}
130
+ } catch ( e ) {
131
+ publishedVersions = [ ] ;
132
+ }
134
133
135
- let maxBetaVersionNum = 0 ;
134
+ let maxBetaVersionNum = 0 ;
136
135
137
- // 1.0.0-branchName.version
138
- const betaVersionReg = new RegExp ( `\\d+\\.\\d+\\.\\d+-${ branchNameInVersion } \\.\\d+` ) ;
136
+ // 1.0.0-branchName.version
137
+ const betaVersionReg = new RegExp ( `\\d+\\.\\d+\\.\\d+-${ branchNameInVersion } \\.\\d+` ) ;
139
138
140
- // get max beta version
141
- publishedVersions . forEach ( ( v : string ) => {
142
- if ( betaVersionReg . test ( v ) ) {
143
- const tempBetaVersion = Number ( v . split ( `${ branchNameInVersion } .` ) [ 1 ] ) ;
139
+ // get max beta version
140
+ publishedVersions . forEach ( ( v : string ) => {
141
+ if ( betaVersionReg . test ( v ) ) {
142
+ const tempBetaVersion = Number ( v . split ( `${ branchNameInVersion } .` ) [ 1 ] ) ;
144
143
145
- if ( maxBetaVersionNum < tempBetaVersion ) {
146
- maxBetaVersionNum = tempBetaVersion ;
147
- }
144
+ if ( maxBetaVersionNum < tempBetaVersion ) {
145
+ maxBetaVersionNum = tempBetaVersion ;
148
146
}
149
- } ) ;
150
-
151
- // basic version without branchName -> use basic version + branch name + beta version
152
- version = `${ basicVersion } -${ branchNameInVersion } .${ maxBetaVersionNum + 1 } ` ;
153
- } else if ( versionResult ) {
154
- if ( ! options . semver ) {
155
- const versionPrompt = await inquirer . prompt ( [
156
- {
157
- message : `${ targetPackageJson . name } @${ targetPackageJson . version } exist, can upgrade to` ,
158
- name : 'version' ,
159
- type : 'list' ,
160
- choices : [
161
- {
162
- name : `Patch(${ semver . inc ( targetPackageJson . version , 'patch' ) } )` ,
163
- value : semver . inc ( targetPackageJson . version , 'patch' ) ,
164
- } ,
165
- {
166
- name : `Minor(${ semver . inc ( targetPackageJson . version , 'minor' ) } )` ,
167
- value : semver . inc ( targetPackageJson . version , 'minor' ) ,
168
- } ,
169
- {
170
- name : `Major(${ semver . inc ( targetPackageJson . version , 'major' ) } )` ,
171
- value : semver . inc ( targetPackageJson . version , 'major' ) ,
172
- } ,
173
- ] ,
174
- } ,
175
- ] ) ;
176
- version = versionPrompt . version ;
177
- } else if ( [ 'patch' , 'minor' , 'major' ] . some ( each => each === options . semver ) ) {
178
- version = semver . inc ( targetPackageJson . version , options . semver as semver . ReleaseType ) ;
179
- } else {
180
- logFatal ( 'semver must be "patch" "minor" or "major"' ) ;
181
147
}
148
+ } ) ;
149
+
150
+ // basic version without branchName -> use basic version + branch name + beta version
151
+ version = `${ basicVersion } -${ branchNameInVersion } .${ maxBetaVersionNum + 1 } ` ;
152
+ } else if ( versionResult ) {
153
+ if ( ! options . semver ) {
154
+ const versionPrompt = await inquirer . prompt ( [
155
+ {
156
+ message : `${ targetPackageJson . name } @${ targetPackageJson . version } exist, can upgrade to` ,
157
+ name : 'version' ,
158
+ type : 'list' ,
159
+ choices : [
160
+ {
161
+ name : `Patch(${ semver . inc ( targetPackageJson . version , 'patch' ) } )` ,
162
+ value : semver . inc ( targetPackageJson . version , 'patch' ) ,
163
+ } ,
164
+ {
165
+ name : `Minor(${ semver . inc ( targetPackageJson . version , 'minor' ) } )` ,
166
+ value : semver . inc ( targetPackageJson . version , 'minor' ) ,
167
+ } ,
168
+ {
169
+ name : `Major(${ semver . inc ( targetPackageJson . version , 'major' ) } )` ,
170
+ value : semver . inc ( targetPackageJson . version , 'major' ) ,
171
+ } ,
172
+ ] ,
173
+ } ,
174
+ ] ) ;
175
+ version = versionPrompt . version ;
176
+ } else if ( [ 'patch' , 'minor' , 'major' ] . some ( each => each === options . semver ) ) {
177
+ version = semver . inc ( targetPackageJson . version , options . semver as semver . ReleaseType ) ;
178
+ } else {
179
+ logFatal ( 'semver must be "patch" "minor" or "major"' ) ;
182
180
}
183
- resolve ( version ) ;
184
- } ) ;
181
+ }
182
+ return version ;
185
183
}
186
184
187
185
/** Upgrade package.json's version */
0 commit comments