diff --git a/package-lock.json b/package-lock.json index 2931bc7..1327926 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "liqe": "^3.6.0", "pretty-ms": "^7.0.0", "prettyjson": "^1.2.5", - "roarr": "^7.14.3", + "roarr": "^7.15.0", "socket.io-client": "^4.6.1", "split2": "^4.1.0", "yargs": "^17.7.1" @@ -12024,9 +12024,9 @@ } }, "node_modules/roarr": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-7.14.3.tgz", - "integrity": "sha512-AvUQY27C6/biXEAyYUXc8ONBtP1cA3MQM88e24Fmsl3LAqtNR309nMaWFALYk7ORTqgGrgrjBJ1vE20DZAc5qA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-7.15.0.tgz", + "integrity": "sha512-CV9WefQfUXTX6wr8CrEMhfNef3sjIt9wNhE/5PNu4tNWsaoDNDXqq+OGn/RW9A1UPb0qc7FQlswXRaJJJsqn8A==", "dependencies": { "boolean": "^3.1.4", "fast-json-stringify": "^2.7.10", @@ -22597,9 +22597,9 @@ } }, "roarr": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-7.14.3.tgz", - "integrity": "sha512-AvUQY27C6/biXEAyYUXc8ONBtP1cA3MQM88e24Fmsl3LAqtNR309nMaWFALYk7ORTqgGrgrjBJ1vE20DZAc5qA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-7.15.0.tgz", + "integrity": "sha512-CV9WefQfUXTX6wr8CrEMhfNef3sjIt9wNhE/5PNu4tNWsaoDNDXqq+OGn/RW9A1UPb0qc7FQlswXRaJJJsqn8A==", "requires": { "boolean": "^3.1.4", "fast-json-stringify": "^2.7.10", diff --git a/package.json b/package.json index 0eed703..0fd6dc5 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "liqe": "^3.6.0", "pretty-ms": "^7.0.0", "prettyjson": "^1.2.5", - "roarr": "^7.14.3", + "roarr": "^7.15.0", "socket.io-client": "^4.6.1", "split2": "^4.1.0", "yargs": "^17.7.1" diff --git a/src/bin/index.ts b/src/bin/index.ts index 5b98f11..dea694b 100644 --- a/src/bin/index.ts +++ b/src/bin/index.ts @@ -181,9 +181,21 @@ stream = stream.pipe( stream.pipe(process.stdout); +let firstSigint = true; + process.on('SIGINT', () => { - setTimeout(() => { - // eslint-disable-next-line node/no-process-exit - process.exit(); - }, 250); + if (firstSigint) { + firstSigint = false; + + console.log( + '[@roarr/cli] received SIGINT; waiting for the stream to close', + ); + + return; + } + + console.log('[@roarr/cli] received second SIGINT; force exiting'); + + // eslint-disable-next-line node/no-process-exit + process.exit(1); });