Skip to content

Commit da7414d

Browse files
committed
Fix hanging on setRawMode, 4.1.0-beta.4
1 parent 87d6ee9 commit da7414d

2 files changed

Lines changed: 10 additions & 6 deletions

File tree

lib/cli-char-supported.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,22 @@ const xterm = process.env.TERM === 'xterm-256color'
77
const charOffset = appleTerm || xterm ? -1 : 0
88

99
const checkChar = (char) => new Promise((resolve, reject) => {
10-
if (!(process.stdin.isTTY && process.stdin.isTTY)) return resolve(false)
11-
setTimeout(() => resolve(false), 250)
10+
if (!process.stdin.isTTY) return resolve(false)
1211
let clean = false
1312

1413
const expect = char.length + 1
1514
const rawMode = process.stdin.isRaw
16-
const cleanup = (supported) => {
15+
const cleanup = (supported, force) => {
1716
if (clean) return
1817

1918
clean = true
2019

2120
process.stdin.removeListener('data', checker)
22-
process.stdin.setRawMode(rawMode)
21+
22+
if (!force) {
23+
process.stdin.setRawMode(rawMode)
24+
}
25+
2326
process.stdin.unref()
2427
clearTimeout(timeout)
2528

@@ -34,14 +37,15 @@ const checkChar = (char) => new Promise((resolve, reject) => {
3437
return cleanup(val === expect || ((val + charOffset) === expect))
3538
}
3639

40+
const timeout = setTimeout(() => cleanup(false, true), 500)
41+
3742
readline.clearLine(process.stdout, 0)
3843
readline.cursorTo(process.stdout, 0)
3944

4045
process.stdin.setRawMode(true)
4146
process.stdin.on('data', checker)
4247
process.stdout.write(char)
4348
process.stdout.write(scanner)
44-
const timeout = setTimeout(() => cleanup(false), 500)
4549
})
4650

4751
module.exports = { checkChar, charOffset: Math.abs(charOffset) }

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mvt",
3-
"version": "4.1.0-beta.3",
3+
"version": "4.1.0-beta.4",
44
"description": "Minimum Viable Testing framework",
55
"engines": {
66
"node": ">=8.0.0"

0 commit comments

Comments
 (0)