diff --git a/lib/plugin.js b/lib/plugin.js index de17947..a76f910 100644 --- a/lib/plugin.js +++ b/lib/plugin.js @@ -60,7 +60,7 @@ ManifestPlugin.prototype.apply = function(compiler) { var outputName = path.relative(outputFolder, outputFile); var moduleAsset = function (module, file) { - if (module.userRequest && !moduleAssets[file]) { + if (module.userRequest) { moduleAssets[file] = path.join( path.dirname(file), path.basename(module.userRequest) @@ -68,6 +68,20 @@ ManifestPlugin.prototype.apply = function(compiler) { } }; + var normalModuleLoader = function (loaderContext, module) { + const { emitFile } = loaderContext; + + loaderContext.emitFile = (file, content, sourceMap) => { + if (module.userRequest && !moduleAssets[file]) { + moduleAssets[file] = path.join( + path.dirname(file), + path.basename(module.userRequest) + ); + } + + return emitFile.call(module, file, content, sourceMap); + }; + }; var emit = function(compilation, compileCallback) { const emitCount = emitCountMap.get(outputFile) - 1 @@ -251,7 +265,7 @@ ManifestPlugin.prototype.apply = function(compiler) { } compiler.hooks.compilation.tap(pluginOptions, function (compilation) { - compilation.hooks.moduleAsset.tap(pluginOptions, moduleAsset); + compilation.hooks.normalModuleLoader.tap(pluginOptions, normalModuleLoader); }); compiler.hooks.emit.tap(pluginOptions, emit);