From 568d4c83ffdf275ad1f0aa8366cdcbd2fa87a3b4 Mon Sep 17 00:00:00 2001 From: Benjamin Diedrichsen Date: Wed, 2 Sep 2026 13:50:59 +0200 Subject: [PATCH] keyman: replace removed inquirer prompt type 'list' with 'select' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit inquirer v10 removed the legacy 'list' prompt in favour of 'select', so every list-style prompt — starting with the main menu — died with "Prompt type \"list\" is not registered" on any real run against the declared ^14 dependency. The tests never saw it because they all mock inquirer.prompt, which accepts any type string. Choice shapes and the 'default' option are unchanged; 'select' takes them as-is. Bump to 0.7.2 to ship the fix. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Ce5atB2tXDXyz2jd9s1bqE --- packages/keyman/package.json | 2 +- packages/keyman/src/keyman.copy.ts | 2 +- packages/keyman/src/keyman.decrypt.ts | 2 +- packages/keyman/src/keyman.generate.ts | 2 +- packages/keyman/src/keyman.main.ts | 2 +- packages/keyman/src/keyman.rotate.ts | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/keyman/package.json b/packages/keyman/package.json index d78153d..44f0416 100644 --- a/packages/keyman/package.json +++ b/packages/keyman/package.json @@ -1,6 +1,6 @@ { "name": "@bitsquare/keyman", - "version": "0.7.1", + "version": "0.7.2", "description": "A system to simplify ssh key management", "keywords": [ "ssh", diff --git a/packages/keyman/src/keyman.copy.ts b/packages/keyman/src/keyman.copy.ts index 28dd59f..25643c4 100644 --- a/packages/keyman/src/keyman.copy.ts +++ b/packages/keyman/src/keyman.copy.ts @@ -22,7 +22,7 @@ export async function copyKey(sshDir: string, tmpDir: string) { const { selectedKey } = await inquirer.prompt<{ selectedKey: string }>([ { - type: 'list', + type: 'select', name: 'selectedKey', message: 'Select key to copy public key from:', choices: keys, diff --git a/packages/keyman/src/keyman.decrypt.ts b/packages/keyman/src/keyman.decrypt.ts index 9da132c..bf936dc 100644 --- a/packages/keyman/src/keyman.decrypt.ts +++ b/packages/keyman/src/keyman.decrypt.ts @@ -31,7 +31,7 @@ export async function decryptKeys(sshDir: string, keysDir: string, tmpDir: strin choices: vaultKeys, }, { - type: 'list', + type: 'select', name: 'decryptMode', message: 'Choose decryption location:', // Named after the directories actually in use, which are configurable. diff --git a/packages/keyman/src/keyman.generate.ts b/packages/keyman/src/keyman.generate.ts index 431ccb8..96e7af5 100644 --- a/packages/keyman/src/keyman.generate.ts +++ b/packages/keyman/src/keyman.generate.ts @@ -21,7 +21,7 @@ export interface KeyOptions { export async function promptKeyOptions(defaultIdentity?: string): Promise { const { algorithm } = await inquirer.prompt<{ algorithm: string }>([ { - type: 'list', + type: 'select', name: 'algorithm', message: 'Select algorithm:', choices: ['ed25519', 'rsa'], diff --git a/packages/keyman/src/keyman.main.ts b/packages/keyman/src/keyman.main.ts index 240fff0..1c4709b 100644 --- a/packages/keyman/src/keyman.main.ts +++ b/packages/keyman/src/keyman.main.ts @@ -67,7 +67,7 @@ export async function keyman() { // 🔹 Show category selection const { category } = await inquirer.prompt<{ category: string }>([ { - type: 'list', + type: 'select', name: 'category', message: 'Select operation:', choices: [ diff --git a/packages/keyman/src/keyman.rotate.ts b/packages/keyman/src/keyman.rotate.ts index 0f9b084..9aca763 100644 --- a/packages/keyman/src/keyman.rotate.ts +++ b/packages/keyman/src/keyman.rotate.ts @@ -120,7 +120,7 @@ export async function rotateKey( const { key } = await inquirer.prompt<{ key: string }>([ { - type: 'list', + type: 'select', name: 'key', message: 'Select the key to rotate:', choices: vaultKeys, @@ -180,7 +180,7 @@ export async function retireKey(sshDir: string, keysDir: string, tmpDir: string) const { key } = await inquirer.prompt<{ key: string }>([ { - type: 'list', + type: 'select', name: 'key', message: 'Select the key to retire:', choices: vaultKeys,