|
1 | 1 | #!/usr/bin/env node
|
2 | 2 |
|
3 |
| -const inquirer = require("inquirer"); |
4 | 3 | const bench = require("./lib/bench");
|
5 | 4 | const { choices } = require("./lib/choices");
|
6 | 5 |
|
| 6 | +async function getInquirer() { |
| 7 | + const { default: inquirer } = await import("inquirer"); |
| 8 | + |
| 9 | + return inquirer; |
| 10 | +} |
| 11 | + |
7 | 12 | 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 | + }, |
20 | 27 | },
|
21 |
| - }, |
22 |
| - ]) |
| 28 | + ]); |
| 29 | + }) |
23 | 30 | .then((answers) => {
|
24 | 31 | callback(answers.list);
|
25 | 32 | });
|
26 | 33 | }
|
27 | 34 |
|
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, |
43 | 43 | },
|
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, |
53 | 63 | },
|
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, |
63 | 73 | },
|
64 |
| - filter: Number, |
65 |
| - }, |
66 |
| - ]) |
| 74 | + ]); |
| 75 | + }) |
67 | 76 | .then((opts) => {
|
68 | 77 | if (!opts.all) {
|
69 | 78 | select((list) => bench(opts, list));
|
|
0 commit comments