@@ -13,16 +13,18 @@ import { loadLib } from './helpers';
13
13
14
14
var loaderUtils = require ( 'loader-utils' ) ;
15
15
16
- interface WebPack {
17
- _compiler : {
18
- inputFileSystem : typeof fs ;
19
- _tsInstances : { [ key :string ] : CompilerInstance } ;
20
- options : {
21
- externals : {
22
- [ key : string ] : string
23
- }
16
+ interface ICompiler {
17
+ inputFileSystem : typeof fs ;
18
+ _tsInstances : { [ key :string ] : CompilerInstance } ;
19
+ options : {
20
+ externals : {
21
+ [ key : string ] : string
24
22
}
25
- } ;
23
+ }
24
+ }
25
+
26
+ interface WebPack {
27
+ _compiler : ICompiler ;
26
28
cacheable : ( ) => void ;
27
29
query : string ;
28
30
async : ( ) => ( err : Error , source ?: string , map ?: string ) => void ;
@@ -68,9 +70,9 @@ function resolveInstance(compiler, instanceName) {
68
70
return getInstanceStore ( compiler ) [ instanceName ] ;
69
71
}
70
72
71
- function createResolver ( webpack : WebPack ) : Resolver {
72
- let externals = webpack . _compiler . options . externals ;
73
- let resolver = < Resolver > Promise . promisify ( webpack . resolve ) ;
73
+ function createResolver ( compiler : ICompiler , webpackResolver : any ) : Resolver {
74
+ let externals = compiler . options . externals ;
75
+ let resolver = < Resolver > Promise . promisify ( webpackResolver ) ;
74
76
75
77
function resolve ( base : string , dep : string ) : Promise < string > {
76
78
if ( externals && externals . hasOwnProperty ( dep ) ) {
@@ -159,7 +161,7 @@ function ensureInstance(webpack: WebPack, options: CompilerOptions, instanceName
159
161
var compiler = ( < any > webpack . _compiler ) ;
160
162
161
163
compiler . plugin ( 'watch-run' , ( watching , callback ) => {
162
- var resolver = < Resolver > Promise . promisify ( watching . compiler . resolvers . normal . resolve ) ;
164
+ var resolver = createResolver ( watching . compiler , watching . compiler . resolvers . normal . resolve ) ;
163
165
var instance : CompilerInstance = resolveInstance ( watching . compiler , instanceName ) ;
164
166
var state = instance . tsState ;
165
167
var mtimes = watching . compiler . watchFileSystem . watcher . mtimes ;
@@ -235,7 +237,7 @@ function compiler(webpack: WebPack, text: string): void {
235
237
var callback = webpack . async ( ) ;
236
238
var fileName = webpack . resourcePath ;
237
239
238
- var resolver = createResolver ( webpack ) ;
240
+ var resolver = createResolver ( webpack . _compiler , webpack . resolve ) ;
239
241
240
242
var depsInjector = {
241
243
add : ( depFileName ) => { webpack . addDependency ( depFileName ) } ,
0 commit comments