Skip to content

Commit cee16db

Browse files
Merge pull request #156 from paul-vd/support-sequence-selection
feat: allow sequence in monorepo development
2 parents bfa88e7 + 2f2e116 commit cee16db

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@codeshift/cli': minor
3+
---
4+
5+
Allows to use the sequence flag in a monorepo development context

packages/cli/src/main.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)