@@ -8,6 +8,7 @@ import { tapDoneToAsyncGetIssues } from './tapDoneToAsyncGetIssues';
8
8
import { tapAfterCompileToGetIssues } from './tapAfterCompileToGetIssues' ;
9
9
import { interceptDoneToGetWebpackDevServerTap } from './interceptDoneToGetWebpackDevServerTap' ;
10
10
import { Issue } from '../issue' ;
11
+ import { ForkTsCheckerWebpackPlugin } from '../ForkTsCheckerWebpackPlugin' ;
11
12
12
13
function tapStartToConnectAndRunReporter (
13
14
compiler : webpack . Compiler ,
@@ -76,40 +77,44 @@ function tapStartToConnectAndRunReporter(
76
77
rejectIssues = reject ;
77
78
} ) ;
78
79
const previousReportPromise = state . reportPromise ;
79
- state . reportPromise = new Promise ( async ( resolve ) => {
80
- change = await hooks . start . promise ( change , compilation ) ;
81
-
82
- try {
83
- await reporter . connect ( ) ;
84
-
85
- const previousReport = await previousReportPromise ;
86
- if ( previousReport ) {
87
- await previousReport . close ( ) ;
88
- }
89
-
90
- const report = await reporter . getReport ( change ) ;
91
- resolve ( report ) ;
92
-
93
- report
94
- . getDependencies ( )
95
- . then ( resolveDependencies )
96
- . catch ( rejectedDependencies )
97
- . finally ( ( ) => {
98
- // get issues after dependencies are resolved as it can be blocking
99
- report . getIssues ( ) . then ( resolveIssues ) . catch ( rejectIssues ) ;
100
- } ) ;
101
- } catch ( error ) {
102
- if ( error instanceof OperationCanceledError ) {
103
- hooks . canceled . call ( compilation ) ;
104
- } else {
105
- hooks . error . call ( error , compilation ) ;
106
- }
107
-
108
- resolve ( undefined ) ;
109
- resolveDependencies ( undefined ) ;
110
- resolveIssues ( undefined ) ;
111
- }
112
- } ) ;
80
+ state . reportPromise = ForkTsCheckerWebpackPlugin . pool . submit (
81
+ ( done ) =>
82
+ new Promise ( async ( resolve ) => {
83
+ change = await hooks . start . promise ( change , compilation ) ;
84
+
85
+ try {
86
+ await reporter . connect ( ) ;
87
+
88
+ const previousReport = await previousReportPromise ;
89
+ if ( previousReport ) {
90
+ await previousReport . close ( ) ;
91
+ }
92
+
93
+ const report = await reporter . getReport ( change ) ;
94
+ resolve ( report ) ;
95
+
96
+ report
97
+ . getDependencies ( )
98
+ . then ( resolveDependencies )
99
+ . catch ( rejectedDependencies )
100
+ . finally ( ( ) => {
101
+ // get issues after dependencies are resolved as it can be blocking
102
+ report . getIssues ( ) . then ( resolveIssues ) . catch ( rejectIssues ) . finally ( done ) ;
103
+ } ) ;
104
+ } catch ( error ) {
105
+ if ( error instanceof OperationCanceledError ) {
106
+ hooks . canceled . call ( compilation ) ;
107
+ } else {
108
+ hooks . error . call ( error , compilation ) ;
109
+ }
110
+
111
+ resolve ( undefined ) ;
112
+ resolveDependencies ( undefined ) ;
113
+ resolveIssues ( undefined ) ;
114
+ done ( ) ;
115
+ }
116
+ } )
117
+ ) ;
113
118
} ) ;
114
119
}
115
120
0 commit comments