-
-
Save timneutkens/f2933558b8739bbf09104fb27c5c9664 to your computer and use it in GitHub Desktop.
const readline = require('readline') | |
const blank = '\n'.repeat(process.stdout.rows) | |
console.log(blank) | |
readline.cursorTo(process.stdout, 0, 0) | |
readline.clearScreenDown(process.stdout) |
//this also stops someone scrolling back and viewing sensitive data that may have been logged function clearConsoleAndScrollbackBuffer() { process.stdout.write("\u001b[3J\u001b[2J\u001b[1J");console.clear(); }
Worked for me, thanks @jonathan-annett !
For macOS to get the terminal to clear including scrollback I use this.
process.stdout.write('\u001Bc\u001B[3J');
It is a NodeJS compatible version of \33c\e[3J
(Note: Octal escapes will throw in strict mode so they must be converted)
The sequences being used are:
ESC c
- Reset to initial state
CSI 3J
- Clear entire screen and delete all lines saved in the scrollback buffer
For those interested in learning the escape sequences these two resources were useful.
https://en.wikipedia.org/wiki/ANSI_escape_code
https://bjh21.me.uk/all-escapes/all-escapes.txt
Another note, if you're using
nodemon
and want to clear the console when nodemon restarts; here is a relevant tip:It is from this thread, which has more info about portability if you must deal with Windows.