Skip to content

Commit fb66f2f

Browse files
committed
chore: inquirer v12 changes
1 parent 7fc7778 commit fb66f2f

File tree

4 files changed

+31
-28
lines changed

4 files changed

+31
-28
lines changed

src/commands/init.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export class InitCommand extends ApifyCommand<typeof InitCommand> {
7878
while (!response) {
7979
try {
8080
const answer = await inquirer.prompt([
81-
{ name: 'actName', message: 'Actor name:', default: basename(cwd) },
81+
{ name: 'actName', message: 'Actor name:', default: basename(cwd), type: 'input' },
8282
]);
8383
validateActorName(answer.actName);
8484
response = answer;

src/lib/commands/confirm.ts

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
import inquirer, { type DistinctQuestion } from 'inquirer';
22

3-
const yesNoConfirmation = ({ type }: { type: string }): DistinctQuestion => ({
4-
name: 'confirmed',
5-
type: 'confirm',
6-
message: `Are you sure you want to delete this ${type}?`,
7-
default: false,
8-
});
3+
const yesNoConfirmation = ({ type }: { type: string }) =>
4+
({
5+
name: 'confirmed',
6+
type: 'confirm',
7+
message: `Are you sure you want to delete this ${type}?`,
8+
default: false,
9+
}) as const satisfies DistinctQuestion;
910

1011
const inputValidation = ({
1112
type,
1213
expectedValue,
1314
failureMessage,
14-
}: { type: string; expectedValue: string; failureMessage: string }): DistinctQuestion => ({
15-
name: 'confirmed',
16-
type: 'input',
17-
message: `Are you sure you want to delete this ${type}? If so, please type in "${expectedValue}":`,
18-
validate(value) {
19-
if (value === expectedValue) {
20-
return true;
21-
}
15+
}: { type: string; expectedValue: string; failureMessage: string }) =>
16+
({
17+
name: 'confirmed',
18+
type: 'input',
19+
message: `Are you sure you want to delete this ${type}? If so, please type in "${expectedValue}":`,
20+
validate(value) {
21+
if (value === expectedValue) {
22+
return true;
23+
}
2224

23-
return failureMessage;
24-
},
25-
});
25+
return failureMessage;
26+
},
27+
}) as const satisfies DistinctQuestion;
2628

2729
export async function confirmAction({
2830
expectedValue,

src/lib/create-utils.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { createWriteStream } from 'node:fs';
22
import { pipeline } from 'node:stream/promises';
33

4-
import { Manifest, Template } from '@apify/actor-templates';
4+
import type { Manifest, Template } from '@apify/actor-templates';
55
import chalk from 'chalk';
66
import inquirer from 'inquirer';
77

@@ -162,22 +162,21 @@ async function promptTemplateInstallation(templateDefinition: Template) {
162162
{ name: 'Go back', value: false },
163163
];
164164

165-
const message = 'Do you want to install the following template?';
166165
const label = chalk.underline(templateDefinition.label);
167166
const description = chalk.dim(templateDefinition.description);
168167
const suffix = `\n ${label}:\n ${description}`;
168+
const message = `Do you want to install the following template?${suffix}`;
169169

170-
const answer = await inquirer.prompt([
170+
const answer = await inquirer.prompt<{ shouldInstall: boolean }>([
171171
{
172172
type: 'list',
173173
name: 'shouldInstall',
174174
message,
175-
suffix,
176175
default: choices[0],
177176
choices,
178177
loop: false,
179178
},
180179
]);
181180

182-
return answer.shouldInstall as boolean;
181+
return answer.shouldInstall;
183182
}

src/lib/projects/scrapy/ScrapyProjectAnalyzer.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Are you sure there is a Scrapy project there?`);
4141
async loadSettings() {
4242
const assumedBotName = this.configuration.get('settings', 'default')!.split('.')[0];
4343

44-
const settings = await inquirer.prompt([
44+
const settings = await inquirer.prompt<{ BOT_NAME: string; SPIDER_MODULES: string }>([
4545
{
4646
type: 'input',
4747
name: 'BOT_NAME',
@@ -52,13 +52,15 @@ Are you sure there is a Scrapy project there?`);
5252
type: 'input',
5353
name: 'SPIDER_MODULES',
5454
message: 'What folder are the Scrapy spider modules stored in? (see SPIDER_MODULES in settings.py):',
55-
default: [`${assumedBotName}.spiders`],
55+
default: `${assumedBotName}.spiders`,
5656
},
5757
]);
5858

59-
if (typeof settings.SPIDER_MODULES === 'string') settings.SPIDER_MODULES = [settings.SPIDER_MODULES];
60-
61-
this.settings = settings;
59+
this.settings = {
60+
BOT_NAME: settings.BOT_NAME,
61+
SPIDER_MODULES:
62+
typeof settings.SPIDER_MODULES === 'string' ? [settings.SPIDER_MODULES] : settings.SPIDER_MODULES,
63+
};
6264
}
6365

6466
getName() {

0 commit comments

Comments
 (0)