From d315ead7a7f6d531eb57cfa4350bb08949c60997 Mon Sep 17 00:00:00 2001 From: Neel Dani Date: Tue, 2 Aug 2022 21:27:02 +0530 Subject: fix: gracefully exit login and publish commands on Ctrl+C (SIGINT) in the new webAuthn flow (#5243) --- lib/utils/open-url-prompt.js | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/utils') diff --git a/lib/utils/open-url-prompt.js b/lib/utils/open-url-prompt.js index 3eb3ac288..290040e5d 100644 --- a/lib/utils/open-url-prompt.js +++ b/lib/utils/open-url-prompt.js @@ -34,6 +34,11 @@ const promptOpen = async (npm, url, title, prompt, emitter) => { }) const tryOpen = await new Promise(resolve => { + rl.on('SIGINT', () => { + rl.close() + resolve('SIGINT') + }) + rl.question(prompt, () => { resolve(true) }) @@ -50,6 +55,10 @@ const promptOpen = async (npm, url, title, prompt, emitter) => { } }) + if (tryOpen === 'SIGINT') { + throw new Error('canceled') + } + if (!tryOpen) { return } -- cgit v1.2.3