Skip to content

Commit 8648d93

Browse files
Merge pull request #132 from CodeshiftCommunity/prompt-for-transform
Prompt for package transforms if omitted
2 parents d3eb1a7 + 1ffc6bf commit 8648d93

File tree

3 files changed

+25
-7
lines changed

3 files changed

+25
-7
lines changed

.changeset/wicked-jeans-care.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@codeshift/cli': patch
3+
---
4+
5+
Omitting transforms from the package flag will now display a prompt instead of throwing an error

packages/cli/src/fetch-package.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,35 @@ export async function fetchPackageConfig(
1515
packageName: string,
1616
packageManager: PluginManager,
1717
) {
18+
const codeshiftPackageName = getCodeshiftPackageName(packageName);
1819
let codeshiftConfig: CodeshiftConfig | undefined;
1920
let remoteConfig: CodeshiftConfig | undefined;
2021

2122
const spinner = ora(
22-
`${chalk.green('Attempting to download package:')} ${packageName}`,
23+
`${chalk.green(
24+
'Attempting to download CodeshiftCommunity package:',
25+
)} ${packageName}`,
2326
).start();
2427

2528
try {
26-
codeshiftConfig = await fetchPackage(
27-
getCodeshiftPackageName(packageName),
28-
packageManager,
29-
);
29+
codeshiftConfig = await fetchPackage(codeshiftPackageName, packageManager);
3030
spinner.succeed(
3131
`${chalk.green(
3232
'Found CodeshiftCommunity package:',
33-
)} ${getCodeshiftPackageName(packageName)}`,
33+
)} ${codeshiftPackageName}`,
3434
);
3535
} catch (error) {
3636
spinner.warn(
3737
`${chalk.yellow(
3838
`Unable to locate CodeshiftCommunity package:`,
39-
)} ${getCodeshiftPackageName(packageName)}`,
39+
)} ${codeshiftPackageName}`,
4040
);
4141
}
4242

4343
try {
44+
spinner.info(
45+
`${chalk.green(`Attempting to download npm package:`)} ${packageName}`,
46+
);
4447
remoteConfig = await fetchRemotePackage(packageName, packageManager);
4548
spinner.succeed(
4649
`${chalk.green('Found codeshift package:')} ${packageName}`,

packages/cli/src/main.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,16 @@ export default async function main(paths: string[], flags: Flags) {
124124
}
125125
});
126126

127+
if (presetIds.length === 0 && transformIds.length === 0) {
128+
const res = await inquirer.prompt([getTransformPrompt(config)]);
129+
130+
if (semver.valid(semver.coerce(res.transform))) {
131+
transformIds.push(res.transform);
132+
} else {
133+
presetIds.push(res.transform);
134+
}
135+
}
136+
127137
// Get transform file paths
128138
if (config.transforms) {
129139
if (flags.sequence) {

0 commit comments

Comments
 (0)