Sha256: c9c4b2e115b0dd6bcf09979d8fd2aeda862c6f446816ed2d48c5531b0a923054
Contents?: true
Size: 1.35 KB
Versions: 3
Compression:
Stored size: 1.35 KB
Contents
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const ModuleDependency = require("./ModuleDependency"); const webpackMissingPromiseModule = require("./WebpackMissingModule").promise; class ImportWeakDependency extends ModuleDependency { constructor(request, range) { super(request); this.range = range; this.weak = true; } get type() { return "import() weak"; } } ImportWeakDependency.Template = class ImportDependencyTemplate { apply(dep, source, outputOptions, requestShortener) { const comment = this.getOptionalComment(outputOptions.pathinfo, requestShortener.shorten(dep.request)); const content = this.getContent(dep, comment); source.replace(dep.range[0], dep.range[1] - 1, content); } getOptionalComment(pathinfo, shortenedRequest) { if(!pathinfo) { return ""; } return `/*! ${shortenedRequest} */ `; } getContent(dep, comment) { if(dep.module) { const stringifiedId = JSON.stringify(dep.module.id); return `Promise.resolve(${comment}${stringifiedId}).then(function(id) { if(!__webpack_require__.m[id]) throw new Error("Module '" + id + "' is not available (weak dependency)"); return __webpack_require__(id); })`; } return webpackMissingPromiseModule(dep.request); } }; module.exports = ImportWeakDependency;
Version data entries
3 entries across 3 versions & 2 rubygems