Skip to content

Commit 616f13e

Browse files
committed
chore: use async import for inquirer
1 parent 62a0eb2 commit 616f13e

File tree

1 file changed

+60
-51
lines changed

1 file changed

+60
-51
lines changed

benchmark-bench.js

+60-51
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,78 @@
11
#!/usr/bin/env node
22

3-
const inquirer = require("inquirer");
43
const bench = require("./lib/bench");
54
const { choices } = require("./lib/choices");
65

6+
async function getInquirer() {
7+
const { default: inquirer } = await import("inquirer");
8+
9+
return inquirer;
10+
}
11+
712
function select(callback) {
8-
inquirer
9-
.prompt([
10-
{
11-
type: "checkbox",
12-
message: "Select packages",
13-
name: "list",
14-
choices: [...choices.map((name) => ({ name }))],
15-
validate(answer) {
16-
if (answer.length < 1) {
17-
return "You must choose at least one package.";
18-
}
19-
return true;
13+
getInquirer()
14+
.then((inquirer) => {
15+
return inquirer.prompt([
16+
{
17+
type: "checkbox",
18+
message: "Select packages",
19+
name: "list",
20+
choices: [...choices.map((name) => ({ name }))],
21+
validate(answer) {
22+
if (answer.length < 1) {
23+
return "You must choose at least one package.";
24+
}
25+
return true;
26+
},
2027
},
21-
},
22-
])
28+
]);
29+
})
2330
.then((answers) => {
2431
callback(answers.list);
2532
});
2633
}
2734

28-
inquirer
29-
.prompt([
30-
{
31-
type: "confirm",
32-
name: "all",
33-
message: "Do you want to run all benchmark tests?",
34-
default: false,
35-
},
36-
{
37-
type: "input",
38-
name: "connections",
39-
message: "How many connections do you need?",
40-
default: 5,
41-
validate(value) {
42-
return !Number.isNaN(parseFloat(value)) || "Please enter a number";
35+
getInquirer()
36+
.then((inquirer) => {
37+
return inquirer.prompt([
38+
{
39+
type: "confirm",
40+
name: "all",
41+
message: "Do you want to run all benchmark tests?",
42+
default: false,
4343
},
44-
filter: Number,
45-
},
46-
{
47-
type: "input",
48-
name: "pipelining",
49-
message: "How many pipelines do you need?",
50-
default: 1,
51-
validate(value) {
52-
return !Number.isNaN(parseFloat(value)) || "Please enter a number";
44+
{
45+
type: "input",
46+
name: "connections",
47+
message: "How many connections do you need?",
48+
default: 5,
49+
validate(value) {
50+
return !Number.isNaN(parseFloat(value)) || "Please enter a number";
51+
},
52+
filter: Number,
53+
},
54+
{
55+
type: "input",
56+
name: "pipelining",
57+
message: "How many pipelines do you need?",
58+
default: 1,
59+
validate(value) {
60+
return !Number.isNaN(parseFloat(value)) || "Please enter a number";
61+
},
62+
filter: Number,
5363
},
54-
filter: Number,
55-
},
56-
{
57-
type: "input",
58-
name: "duration",
59-
message: "How long should it take?",
60-
default: 5,
61-
validate(value) {
62-
return !Number.isNaN(parseFloat(value)) || "Please enter a number";
64+
{
65+
type: "input",
66+
name: "duration",
67+
message: "How long should it take?",
68+
default: 5,
69+
validate(value) {
70+
return !Number.isNaN(parseFloat(value)) || "Please enter a number";
71+
},
72+
filter: Number,
6373
},
64-
filter: Number,
65-
},
66-
])
74+
]);
75+
})
6776
.then((opts) => {
6877
if (!opts.all) {
6978
select((list) => bench(opts, list));

0 commit comments

Comments
 (0)