@inquirer/confirm
Simple interactive command line prompt to gather boolean input from users.

Installation
| yarn | pnpm |
|---|
yarn add @inquirer/prompts
|
pnpm add @inquirer/prompts
|
| bun | deno |
|---|
bun add @inquirer/prompts
|
deno add npm:@inquirer/prompts
|
| npm |
|---|
npm install @inquirer/prompts
|
| Or |
| yarn | pnpm |
|---|
yarn add @inquirer/confirm
|
pnpm add @inquirer/confirm
|
| bun | deno |
|---|
bun add @inquirer/confirm
|
deno add npm:@inquirer/confirm
|
| npm |
|---|
npm install @inquirer/confirm
|
On Deno, prompts detect the terminal's unicode and color support from the environment, so run your script with --allow-env.
Usage
import { confirm } from '@inquirer/prompts';
const answer = await confirm({ message: 'Continue?' });
Options
| message | string | yes | The question to ask |
| default | boolean | no | Default answer (true or false) |
| transformer | (boolean) => string | no | Transform the prompt printed message to a custom string |
| theme | See Theming | no | Customize look of the prompt. |
Theming
You can theme a prompt by passing a theme object option. The theme object only need to includes the keys you wish to modify, we'll fallback on the defaults for the rest.
type Theme = {
prefix: string | { idle: string; done: string };
spinner: {
interval: number;
frames: string[];
};
keywords: {
yes: string;
no: string;
error: (keywords: { yes: string; no: string }) => string;
};
style: {
answer: (text: string) => string;
message: (text: string, status: 'idle' | 'done' | 'loading') => string;
defaultAnswer: (text: string) => string;
confirmDefault: (text: string) => string;
};
};
The keywords property defines the words accepted as "yes" and "no". Matching is
prefix-based and case-insensitive, and the first character of each word is shown in
the hint (e.g. Y/n). The matched word is also displayed once the prompt is answered.
The built-in y/n/yes/no answers are always accepted, whatever the keywords
are. Unrecognized input shows the keywords.error message instead of silently
falling back on the default answer.
Overriding keywords is how @inquirer/i18n localizes the prompt:
confirm({
message: '¿Continuar?',
theme: {
keywords: { yes: 'Sí', no: 'No' },
},
});
The confirmDefault style marks the character representing the default answer in the
hint. By default it uppercases the character (Y/n); for scripts without case
(e.g. Chinese) it highlights the character with a color instead.
License
Copyright (c) 2023 Simon Boudrias (twitter: @vaxilart)
Licensed under the MIT license.