@@ -71,6 +71,19 @@ function buildHandler({
7171 }
7272 }
7373
74+ let ghCmd = 'gh' ;
75+ try {
76+ await exec ( 'gh --version' ) ;
77+ } catch {
78+ logger . log ( 'Installing gh (GitHub CLI)...' ) ;
79+ await exec ( 'brew install gh' ) ;
80+ try {
81+ await exec ( 'brew install gh' ) ;
82+ } catch {
83+ ghCmd = 'gh' ;
84+ }
85+ }
86+
7487 const newVersion = semver . inc ( localVersion , versionIncrement ) ;
7588
7689 if ( ! newVersion ) {
@@ -92,6 +105,12 @@ function buildHandler({
92105 process . exit ( EXIT_CODES . SUCCESS ) ;
93106 }
94107
108+ logger . log ( `\nUpdating version to ${ newVersion } ...` ) ;
109+ await exec (
110+ `yarn version --no-git-tag-version --new-version ${ newVersion } `
111+ ) ;
112+ logger . success ( 'Version updated in package.json' ) ;
113+
95114 const userHasTested = await confirm ( {
96115 message : 'Have you tested the pre-release package locally?' ,
97116 } ) ;
@@ -132,12 +151,6 @@ function buildHandler({
132151 }
133152 }
134153
135- logger . log ( `\nUpdating version to ${ newVersion } ...` ) ;
136- await exec (
137- `yarn version --no-git-tag-version --new-version ${ newVersion } `
138- ) ;
139- logger . success ( 'Version updated in package.json' ) ;
140-
141154 logger . log (
142155 '\nPackaging regular release (this will overwrite the pre-release .vsix)...'
143156 ) ;
@@ -186,13 +199,13 @@ function buildHandler({
186199
187200 logger . log ( '\nCreating draft pull request...' ) ;
188201 const { stdout : prUrl } = await exec (
189- `gh pr create --draft --base ${ mainBranch } --title "Release v${ newVersion } " --body "## Release v${ newVersion } "`
202+ `${ ghCmd } pr create --draft --base ${ mainBranch } --title "Release v${ newVersion } " --body "## Release v${ newVersion } "`
190203 ) ;
191204 logger . success ( `Draft PR created: ${ prUrl . trim ( ) } ` ) ;
192205
193206 logger . log ( '\nCreating draft GitHub release...' ) ;
194207 const { stdout : releaseUrl } = await exec (
195- `gh release create v${ newVersion } --title "Version ${ newVersion } " --notes "" --draft`
208+ `${ ghCmd } release create v${ newVersion } --title "Version ${ newVersion } " --notes "" --draft`
196209 ) ;
197210 logger . success ( `Draft GitHub release created: ${ releaseUrl . trim ( ) } ` ) ;
198211
0 commit comments