From 0eb9969e0a52dc15849d83e259b8dcca6cb29ba8 Mon Sep 17 00:00:00 2001 From: Simon Mollweide Date: Sat, 28 Apr 2018 17:01:45 +0200 Subject: [PATCH] fix(command-listener): fix stdout.write entered letters --- .gitignore | 1 + package.json | 1 + src/commandListener/index.js | 5 +++++ src/log.js | 18 ++++++++++++++++++ 4 files changed, 25 insertions(+) create mode 100644 src/log.js diff --git a/.gitignore b/.gitignore index ae31fba..fa3ab62 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ lerna-terminal-0.0.0-semantically-released.tgz .vscode npm-debug.log* +log.txt diff --git a/package.json b/package.json index 54a02e7..be9d509 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "src/*.{js}", "src/*/*.{js}", "!src/index.js", + "!src/log.js", "!src/resolve/index.js", "!src/resolve/resolve-dependency.js" ] diff --git a/src/commandListener/index.js b/src/commandListener/index.js index a281f07..73ba2e2 100644 --- a/src/commandListener/index.js +++ b/src/commandListener/index.js @@ -72,6 +72,9 @@ const onReturn = onCommandEntered => { }; const onRecieveLetter = letter => { + if (!letter) { + return; + } buffer += letter; getUiState().onChange(buffer); }; @@ -102,11 +105,13 @@ function commandListener(onCommandEntered) { return; } + /* istanbul ignore else case */ if (keyNameMap[key.name]) { keyNameMap[key.name](onCommandEntered); return; } } + onRecieveLetter(letter); }); process.stdin.resume(); } diff --git a/src/log.js b/src/log.js new file mode 100644 index 0000000..b03c00a --- /dev/null +++ b/src/log.js @@ -0,0 +1,18 @@ +const fs = require('fs'); +const path = require('path'); + +const logFilePath = path.resolve(__dirname, '..', 'log.txt'); + +const readLog = () => { + try { + return fs.readFileSync(logFilePath, 'utf8'); + } catch (err) { + return ''; + } +}; + +const log = value => { + fs.writeFileSync(logFilePath, `${readLog()}\n[${new Date()}]: ${value}`); +}; + +module.exports = log;