webpack/lib/dependencies/ContextDependencyTemplateAs...

34 lines
978 B
JavaScript
Raw Normal View History

2013-01-31 01:49:25 +08:00
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
2013-01-31 01:49:25 +08:00
class ContextDependencyTemplateAsRequireCall {
apply(dep, source, runtime) {
const moduleExports = runtime.moduleExports({
module: dep.module,
request: dep.request
});
if(dep.module) {
if(dep.valueRange) {
if(Array.isArray(dep.replaces)) {
for(let i = 0; i < dep.replaces.length; i++) {
const rep = dep.replaces[i];
source.replace(rep.range[0], rep.range[1] - 1, rep.value);
}
2016-11-15 21:03:53 +08:00
}
source.replace(dep.valueRange[1], dep.range[1] - 1, ")");
source.replace(dep.range[0], dep.valueRange[0] - 1, `${moduleExports}(${typeof dep.prepend === "string" ? JSON.stringify(dep.prepend) : ""}`);
} else {
source.replace(dep.range[0], dep.range[1] - 1, moduleExports);
2016-11-17 20:43:31 +08:00
}
2013-01-31 01:49:25 +08:00
} else {
source.replace(dep.range[0], dep.range[1] - 1, moduleExports);
2013-01-31 01:49:25 +08:00
}
}
}
module.exports = ContextDependencyTemplateAsRequireCall;