PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const { URL, fileURLToPath } = require("url"); const { NormalModule } = require(".."); /** @typedef {import("../Compiler")} Compiler */ class FileUriPlugin { /** * Apply the plugin * @param {Compiler} compiler the compiler instance * @returns {void} */ apply(compiler) { compiler.hooks.compilation.tap( "FileUriPlugin", (compilation, { normalModuleFactory }) => { normalModuleFactory.hooks.resolveForScheme .for("file") .tap("FileUriPlugin", resourceData => { const url = new URL(resourceData.resource); const path = fileURLToPath(url); const query = url.search; const fragment = url.hash; resourceData.path = path; resourceData.query = query; resourceData.fragment = fragment; resourceData.resource = path + query + fragment; return true; }); const hooks = NormalModule.getCompilationHooks(compilation); hooks.readResource .for(undefined) .tapAsync("FileUriPlugin", (loaderContext, callback) => { const { resourcePath } = loaderContext; loaderContext.addDependency(resourcePath); loaderContext.fs.readFile(resourcePath, callback); }); } ); } } module.exports = FileUriPlugin;