File tree Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -667,8 +667,23 @@ export function createNodeSys(c: { process?: any; logger?: Logger } = {}): Compi
667667 'workbox-build' : { minVersion : '4.3.1' , recommendedVersion : '4.3.1' } ,
668668 } ) ;
669669
670- prcs . on ( 'SIGINT' , runInterruptsCallbacks ) ;
671- prcs . on ( 'exit' , runInterruptsCallbacks ) ;
670+ // In test environments avoid attaching duplicate global process listeners
671+ const isJest = ! ! process . env . JEST_WORKER_ID ;
672+ if ( ! isJest ) {
673+ prcs . on ( 'SIGINT' , runInterruptsCallbacks ) ;
674+ prcs . on ( 'exit' , runInterruptsCallbacks ) ;
675+ } else {
676+ const sigintHandlers = prcs . listeners ( 'SIGINT' ) ;
677+ const exitHandlers = prcs . listeners ( 'exit' ) ;
678+ const alreadyHasSigint = sigintHandlers . includes ( runInterruptsCallbacks as any ) ;
679+ const alreadyHasExit = exitHandlers . includes ( runInterruptsCallbacks as any ) ;
680+ if ( ! alreadyHasSigint ) {
681+ prcs . on ( 'SIGINT' , runInterruptsCallbacks ) ;
682+ }
683+ if ( ! alreadyHasExit ) {
684+ prcs . on ( 'exit' , runInterruptsCallbacks ) ;
685+ }
686+ }
672687
673688 return sys ;
674689}
You can’t perform that action at this time.
0 commit comments