@@ -18,7 +18,7 @@ import { getMonoAndNpmDepsOnce, DepMap } from '../../../utils/packages';
18
18
import { ProjectConfig } from '../../../utils/define' ;
19
19
20
20
export const publish = async ( options : PublishOption ) => {
21
- const currentBranchName = await getCurrentBranchName ( ) ;
21
+ const currentBranchName = options . branch ? options . branch : await getCurrentBranchName ( ) ;
22
22
const isDevelopBranch = [ 'master' , 'develop' ] . includes ( currentBranchName ) ;
23
23
24
24
switch ( pri . sourceConfig . type ) {
@@ -50,23 +50,24 @@ export const publish = async (options: PublishOption) => {
50
50
type : 'confirm' ,
51
51
} ,
52
52
] ) ;
53
-
54
- await buildDeclaration ( ) ;
53
+ // eslint-disable-next-line no-unused-expressions
54
+ ! options . commitOnly && ( await buildDeclaration ( ) ) ;
55
55
56
56
if ( installAllPrompt . installAll ) {
57
57
for ( const eachPackage of depMonoPackages ) {
58
58
await publishByPackageName ( eachPackage . name , options , depMap , isDevelopBranch , currentBranchName ) ;
59
59
}
60
60
}
61
61
} else {
62
- await buildDeclaration ( ) ;
62
+ // eslint-disable-next-line no-unused-expressions
63
+ ! options . commitOnly && ( await buildDeclaration ( ) ) ;
63
64
}
64
65
65
66
await publishByPackageName ( currentSelectedSourceType , options , depMap , isDevelopBranch , currentBranchName ) ;
66
67
67
68
await fs . remove ( path . join ( pri . projectRootPath , tempPath . dir , declarationPath . dir ) ) ;
68
-
69
- await exec ( `git push origin ${ currentBranchName } ` ) ;
69
+ // eslint-disable-next-line no-unused-expressions
70
+ ! options . publishOnly && ( await exec ( `git push origin ${ currentBranchName } ` ) ) ;
70
71
}
71
72
break ;
72
73
}
@@ -115,7 +116,7 @@ async function publishByPackageName(
115
116
logFatal ( `No version found in ${ sourceType } package.json` ) ;
116
117
}
117
118
118
- if ( ! ( await isWorkingTreeClean ( ) ) ) {
119
+ if ( ! options . publishOnly && ! ( await isWorkingTreeClean ( ) ) ) {
119
120
const inquirerInfo = await inquirer . prompt ( [
120
121
{
121
122
message : 'Working tree is not clean, your commit message:' ,
@@ -152,81 +153,85 @@ async function publishByPackageName(
152
153
}
153
154
}
154
155
155
- logInfo ( 'Check if npm package exist' ) ;
156
-
157
156
let versionResult : string = null ;
158
157
159
- try {
160
- const versionResultExec = execSync (
161
- `${ targetConfig . npmClient } view ${ targetPackageJson . name } @${ targetPackageJson . version } version` ,
162
- ) ;
158
+ if ( options . tag !== 'beta' && isDevelopBranch ) {
159
+ logInfo ( 'Check if npm package exist' ) ;
163
160
164
- if ( versionResultExec ) {
165
- versionResult = versionResultExec . toString ( ) . trim ( ) ;
166
- } else {
161
+ try {
162
+ const versionResultExec = execSync (
163
+ `${ targetConfig . npmClient } view ${ targetPackageJson . name } @${ targetPackageJson . version } version` ,
164
+ ) ;
165
+
166
+ if ( versionResultExec ) {
167
+ versionResult = versionResultExec . toString ( ) . trim ( ) ;
168
+ } else {
169
+ versionResult = null ;
170
+ }
171
+ } catch ( error ) {
172
+ // Throw error means not exist
167
173
versionResult = null ;
168
174
}
169
- } catch ( error ) {
170
- // Throw error means not exist
171
- versionResult = null ;
172
175
}
173
176
174
177
// Publish beta version if branch is not master or develop
175
- if ( options . tag === 'beta' || ! isDevelopBranch ) {
176
- targetPackageJson . version = ( semver . inc as any ) (
177
- targetPackageJson . version ,
178
- 'prerelease' ,
179
- currentBranchName
180
- . replace ( / \/ / g, '' )
181
- . replace ( / \. / g, '' )
182
- . replace ( / _ / g, '' ) ,
183
- ) ;
184
-
185
- await fs . outputFile ( path . join ( targetRoot , 'package.json' ) , `${ JSON . stringify ( targetPackageJson , null , 2 ) } \n` ) ;
186
-
187
- if ( ! ( await isWorkingTreeClean ( ) ) ) {
188
- await exec ( `git add -A; git commit -m "upgrade ${ sourceType } version to ${ targetPackageJson . version } " -n` , {
189
- cwd : pri . projectRootPath ,
190
- } ) ;
191
- }
192
- } else if ( versionResult ) {
193
- if ( ! options . semver ) {
194
- const versionPrompt = await inquirer . prompt ( [
195
- {
196
- message : `${ targetPackageJson . name } @${ targetPackageJson . version } exist, can upgrade to` ,
197
- name : 'version' ,
198
- type : 'list' ,
199
- choices : [
200
- {
201
- name : `Patch(${ semver . inc ( targetPackageJson . version , 'patch' ) } )` ,
202
- value : semver . inc ( targetPackageJson . version , 'patch' ) ,
203
- } ,
204
- {
205
- name : `Minor(${ semver . inc ( targetPackageJson . version , 'minor' ) } )` ,
206
- value : semver . inc ( targetPackageJson . version , 'minor' ) ,
207
- } ,
208
- {
209
- name : `Major(${ semver . inc ( targetPackageJson . version , 'major' ) } )` ,
210
- value : semver . inc ( targetPackageJson . version , 'major' ) ,
211
- } ,
212
- ] ,
213
- } ,
214
- ] ) ;
178
+ if ( ! options . publishOnly ) {
179
+ if ( options . tag === 'beta' || ! isDevelopBranch ) {
180
+ targetPackageJson . version = ( semver . inc as any ) (
181
+ targetPackageJson . version ,
182
+ 'prerelease' ,
183
+ currentBranchName
184
+ . replace ( / \/ / g, '' )
185
+ . replace ( / \. / g, '' )
186
+ . replace ( / _ / g, '' ) ,
187
+ ) ;
215
188
216
- targetPackageJson . version = versionPrompt . version ;
217
- } else if ( [ 'patch' , 'minor' , 'major' ] . some ( each => each === options . semver ) ) {
218
- targetPackageJson . version = semver . inc ( targetPackageJson . version , options . semver as semver . ReleaseType ) ;
219
- } else {
220
- logFatal ( `semver must be "patch" "minor" or "major"` ) ;
221
- }
189
+ await fs . outputFile ( path . join ( targetRoot , 'package.json' ) , `${ JSON . stringify ( targetPackageJson , null , 2 ) } \n` ) ;
222
190
223
- // Upgrade package.json's version
224
- await fs . outputFile ( path . join ( targetRoot , 'package.json' ) , `${ JSON . stringify ( targetPackageJson , null , 2 ) } \n` ) ;
191
+ if ( ! ( await isWorkingTreeClean ( ) ) ) {
192
+ await exec ( `git add -A; git commit -m "upgrade ${ sourceType } version to ${ targetPackageJson . version } " -n` , {
193
+ cwd : pri . projectRootPath ,
194
+ } ) ;
195
+ }
196
+ } else if ( versionResult ) {
197
+ if ( ! options . semver ) {
198
+ const versionPrompt = await inquirer . prompt ( [
199
+ {
200
+ message : `${ targetPackageJson . name } @${ targetPackageJson . version } exist, can upgrade to` ,
201
+ name : 'version' ,
202
+ type : 'list' ,
203
+ choices : [
204
+ {
205
+ name : `Patch(${ semver . inc ( targetPackageJson . version , 'patch' ) } )` ,
206
+ value : semver . inc ( targetPackageJson . version , 'patch' ) ,
207
+ } ,
208
+ {
209
+ name : `Minor(${ semver . inc ( targetPackageJson . version , 'minor' ) } )` ,
210
+ value : semver . inc ( targetPackageJson . version , 'minor' ) ,
211
+ } ,
212
+ {
213
+ name : `Major(${ semver . inc ( targetPackageJson . version , 'major' ) } )` ,
214
+ value : semver . inc ( targetPackageJson . version , 'major' ) ,
215
+ } ,
216
+ ] ,
217
+ } ,
218
+ ] ) ;
219
+
220
+ targetPackageJson . version = versionPrompt . version ;
221
+ } else if ( [ 'patch' , 'minor' , 'major' ] . some ( each => each === options . semver ) ) {
222
+ targetPackageJson . version = semver . inc ( targetPackageJson . version , options . semver as semver . ReleaseType ) ;
223
+ } else {
224
+ logFatal ( `semver must be "patch" "minor" or "major"` ) ;
225
+ }
225
226
226
- if ( ! ( await isWorkingTreeClean ( ) ) ) {
227
- await exec ( `git add -A; git commit -m "upgrade ${ sourceType } version to ${ targetPackageJson . version } " -n` , {
228
- cwd : pri . projectRootPath ,
229
- } ) ;
227
+ // Upgrade package.json's version
228
+ await fs . outputFile ( path . join ( targetRoot , 'package.json' ) , `${ JSON . stringify ( targetPackageJson , null , 2 ) } \n` ) ;
229
+
230
+ if ( ! ( await isWorkingTreeClean ( ) ) ) {
231
+ await exec ( `git add -A; git commit -m "upgrade ${ sourceType } version to ${ targetPackageJson . version } " -n` , {
232
+ cwd : pri . projectRootPath ,
233
+ } ) ;
234
+ }
230
235
}
231
236
}
232
237
@@ -241,17 +246,25 @@ async function publishByPackageName(
241
246
} ) ;
242
247
} ) ;
243
248
}
249
+ if ( ! options . commitOnly ) {
250
+ await buildComponent ( ) ;
244
251
245
- await buildComponent ( ) ;
252
+ if ( options . bundle ) {
253
+ await commandBundle ( { skipLint : true } ) ;
254
+ }
246
255
247
- if ( options . bundle ) {
248
- await commandBundle ( { skipLint : true } ) ;
256
+ await spinner ( `Publish` , async ( ) => {
257
+ await moveSourceFilesToTempFolderAndPublish (
258
+ sourceType ,
259
+ options ,
260
+ targetConfig ,
261
+ targetRoot ,
262
+ depMap ,
263
+ isDevelopBranch ,
264
+ ) ;
265
+ } ) ;
249
266
}
250
267
251
- await spinner ( `Publish` , async ( ) => {
252
- await moveSourceFilesToTempFolderAndPublish ( sourceType , options , targetConfig , targetRoot , depMap , isDevelopBranch ) ;
253
- } ) ;
254
-
255
268
logText ( `+ ${ targetPackageJson . name } @${ targetPackageJson . version } ` ) ;
256
269
}
257
270
0 commit comments