
Research
/Security News
TensorLake npm SDK Compromised in ChainDrop Shai-Hulud Credential-Stealing Attack
Tensorlake npm SDK version 0.5.144 was compromised in a ChainDrop / Shai-Hulud attack, delivering credential-stealing malware.
@inquirer/expand
Advanced tools
@inquirer/expandCompact single select prompt. Every option is assigned a shortcut key, and selecting h will expand all the choices and their descriptions.
| yarn | pnpm |
|---|---|
|
|
| bun | deno |
|
|
| npm | |
| |
| Or | |
| yarn | pnpm |
|
|
| bun | deno |
|
|
| npm | |
|
On Deno, prompts detect the terminal's unicode and color support from the environment, so run your script with --allow-env.
import { expand } from '@inquirer/prompts';
// Or
// import expand from '@inquirer/expand';
const answer = await expand({
message: 'Conflict on file.js',
default: 'y',
choices: [
{
key: 'y',
name: 'Overwrite',
value: 'overwrite',
},
{
key: 'a',
name: 'Overwrite this one and all next',
value: 'overwrite_all',
},
{
key: 'd',
name: 'Show diff',
value: 'diff',
},
{
key: 'x',
name: 'Abort',
value: 'abort',
},
],
});
| Property | Type | Required | Description |
|---|---|---|---|
| message | string | yes | The question to ask |
| choices | Choice[] | yes | Array of the different allowed choices. The h/help option is always provided by default |
| default | string | no | Default choices to be selected. (value must be one of the choices key) |
| expanded | boolean | no | Expand the choices by default |
| theme | See Theming | no | Customize look of the prompt. |
Separator objects can be used in the choices array to render non-selectable lines in the choice list. By default it'll render a line, but you can provide the text as argument (new Separator('-- Dependencies --')). This option is often used to add labels to groups within long list of options.
Choice objectThe Choice object is typed as
type Choice<Value> = {
value: Value;
name?: string;
key: string;
};
Here's each property:
value: The value is what will be returned by await expand().name: The string displayed in the choice list. It'll default to the stringify value.key: The input the use must provide to select the choice. Must be a lowercase single alphanumeric character string.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[];
};
style: {
answer: (text: string) => string;
message: (text: string, status: 'idle' | 'done' | 'loading') => string;
error: (text: string) => string;
defaultAnswer: (text: string) => string;
highlight: (text: string) => string;
};
};
Copyright (c) 2023 Simon Boudrias (twitter: @vaxilart)
Licensed under the MIT license.
FAQs
Inquirer checkbox prompt
The npm package @inquirer/expand receives a total of 28,804,544 weekly downloads. As such, @inquirer/expand popularity was classified as popular.
We found that @inquirer/expand demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.

Research
/Security News
Tensorlake npm SDK version 0.5.144 was compromised in a ChainDrop / Shai-Hulud attack, delivering credential-stealing malware.

Research
/Security News
Socket found 16 malicious Firefox extensions designed to steal crypto wallet recovery phrases and private keys using cloned Rabby and OKX interfaces.

Product
Socket now scans VS Code extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.