@@ -73,9 +73,19 @@ export default async function main(paths: string[], flags: Flags) {
7373 selectedConfig . config . transforms &&
7474 selectedConfig . config . transforms [ answers . codemod . selection ]
7575 ) {
76- transforms . push (
77- selectedConfig . config . transforms [ answers . codemod . selection ] ,
78- ) ;
76+ if ( flags . sequence ) {
77+ Object . entries (
78+ selectedConfig . config . transforms as Record < string , string > ,
79+ )
80+ . filter ( ( [ key ] ) =>
81+ semver . satisfies ( key , `>=${ answers . codemod . selection } ` ) ,
82+ )
83+ . forEach ( ( [ , path ] ) => transforms . push ( path ) ) ;
84+ } else {
85+ transforms . push (
86+ selectedConfig . config . transforms [ answers . codemod . selection ] ,
87+ ) ;
88+ }
7989 } else if (
8090 selectedConfig . config . presets &&
8191 selectedConfig . config . presets [ answers . codemod . selection ]
@@ -115,7 +125,9 @@ export default async function main(paths: string[], flags: Flags) {
115125 const answers = await inquirer . prompt ( [ getConfigPrompt ( config ) ] ) ;
116126
117127 if ( config . transforms && config . transforms [ answers . codemod ] ) {
118- transforms . push ( config . transforms [ answers . codemod ] ) ;
128+ Object . entries ( config . transforms )
129+ . filter ( ( [ key ] ) => semver . satisfies ( key , `>=${ answers . codemod } ` ) )
130+ . forEach ( ( [ , path ] ) => transforms . push ( path ) ) ;
119131 } else if ( config . presets && config . presets [ answers . codemod ] ) {
120132 transforms . push ( config . presets [ answers . codemod ] ) ;
121133 }
0 commit comments