-
-
Couldn't load subscription status.
- Fork 1.3k
Open
Labels
Description
An error thrown from a transformer (after a default value is applied) gets swallowed and the CLI app quits, which makes debugging difficult.
Some sample code:
const Inquirer = require("inquirer");
(async () => {
try {
await Inquirer.prompt([
{
type: "input",
message: "Foo quotient",
name: "foo",
transformer: (x) => {
if (x === 1) {
throw new Error("failing because of the reason");
}
return x;
},
default: 1,
},
]);
console.log("Done");
} catch (e) {
console.error("An _expected_ error", e);
}
})();In this example, when no input is offered by the user, I would expect:
- the default is applied (1)
- error is thrown
- catch block outputs error
But instead the program silently quits (no error, no "Done" logged).
(I'm not sure if version 8 is actively maintained but unable to switch to ES modules at present.)
N1ark