@@ -41,7 +41,7 @@ const main = async () => {
41
41
42
42
ctx . packages = JSON . parse ( list . stdout )
43
43
44
- const pwdsCommand = await execa ( 'pnpm' , [ 'recursive' , 'exec' , 'pwd' ] )
44
+ const pwdsCommand = await execa ( 'pnpm' , [ 'recursive' , 'exec' , 'pwd' ] ) // use `pnpm recursive exec` to get the correct topological sort order // https://github.com/pnpm/pnpm/issues/7716
45
45
const pwds = pwdsCommand . stdout
46
46
. split ( '\n' )
47
47
. map ( s => s . trim ( ) )
@@ -127,7 +127,8 @@ const main = async () => {
127
127
128
128
let bumpedVersion = await task . prompt ( ListrEnquirerPromptAdapter ) . run < string > ( {
129
129
type : 'Select' ,
130
- message : `Select semver increment or specify new version (current latest is ${ maxVersion } )` ,
130
+ message : `Select semver increment for all packages, specify new version, or publish packages independently` ,
131
+ hint : `Current latest version across all packageas is ${ maxVersion } ` ,
131
132
choices : [
132
133
...bumpChoices ( maxVersion ) ,
133
134
{
@@ -138,6 +139,18 @@ const main = async () => {
138
139
} )
139
140
140
141
if ( bumpedVersion === 'independent' ) {
142
+ const bumpMethod = await task . prompt ( ListrEnquirerPromptAdapter ) . run < semver . ReleaseType | null > ( {
143
+ type : 'Select' ,
144
+ message : 'Select semver increment for each package' ,
145
+ choices : [
146
+ ...allReleaseTypes . map ( type => ( { message : type , value : type } ) ) ,
147
+ {
148
+ message : 'Ask for each package' ,
149
+ value : null ,
150
+ } ,
151
+ ] ,
152
+ } )
153
+
141
154
const rawChanges = await gatherPackageChanges ( ctx )
142
155
const changes = rawChanges . map ( c => {
143
156
fs . mkdirSync ( path . join ( c . pkg . folder , 'changes' ) , { recursive : true } )
@@ -148,6 +161,7 @@ const main = async () => {
148
161
}
149
162
return { ...c , changelog : null }
150
163
} )
164
+
151
165
const include = await task . prompt ( ListrEnquirerPromptAdapter ) . run < string [ ] > ( {
152
166
type : 'MultiSelect' ,
153
167
message : 'Select packages' ,
@@ -158,21 +172,11 @@ const main = async () => {
158
172
value : c . pkg . name ,
159
173
} ) ) ,
160
174
} )
161
- const bump = await task . prompt ( ListrEnquirerPromptAdapter ) . run < semver . ReleaseType | 'ask' > ( {
162
- type : 'Select' ,
163
- message : 'Select semver increment for each package' ,
164
- choices : [
165
- ...allReleaseTypes . map ( type => ( { message : type , value : type } ) ) ,
166
- {
167
- message : 'Ask for each package' ,
168
- value : 'ask' ,
169
- } ,
170
- ] ,
171
- } )
175
+
172
176
ctx . versionStrategy = {
173
177
type : 'independent' ,
174
178
include,
175
- bump : bump === 'ask' ? null : bump ,
179
+ bump : bumpMethod ,
176
180
}
177
181
} else if ( bumpedVersion === 'other' ) {
178
182
bumpedVersion = await task . prompt ( ListrEnquirerPromptAdapter ) . run < string > ( {
0 commit comments