@@ -58,7 +58,10 @@ exports.render = (tree, options) => {
5858 let currentTree ;
5959
6060 readline . emitKeypressEvents ( stdin ) ;
61- stdin . setRawMode ( true ) ;
61+
62+ if ( stdin . isTTY ) {
63+ stdin . setRawMode ( true ) ;
64+ }
6265
6366 const update = ( ) => {
6467 const nextTree = build ( tree , currentTree , onUpdate , context , false ) ; // eslint-disable-line no-use-before-define
@@ -85,8 +88,10 @@ exports.render = (tree, options) => {
8588 }
8689 } ;
8790
88- stdin . on ( 'keypress' , onKeyPress ) ;
89- stdout . on ( 'resize' , update ) ;
91+ if ( stdin . isTTY ) {
92+ stdin . on ( 'keypress' , onKeyPress ) ;
93+ stdout . on ( 'resize' , update ) ;
94+ }
9095
9196 const consoleMethods = [ 'dir' , 'log' , 'info' , 'warn' , 'error' ] ;
9297
@@ -110,10 +115,12 @@ exports.render = (tree, options) => {
110115 return ;
111116 }
112117
113- stdin . setRawMode ( false ) ;
114- stdin . removeListener ( 'keypress' , onKeyPress ) ;
115- stdin . pause ( ) ;
116- stdout . removeListener ( 'resize' , update ) ;
118+ if ( stdin . isTTY ) {
119+ stdin . setRawMode ( false ) ;
120+ stdin . removeListener ( 'keypress' , onKeyPress ) ;
121+ stdin . pause ( ) ;
122+ stdout . removeListener ( 'resize' , update ) ;
123+ }
117124
118125 isUnmounted = true ;
119126 unmount ( currentTree ) ;
0 commit comments