Skip to content

Commit d0aad14

Browse files
committed
WIP: move stuff to the RuntimeTemplate
1 parent 6aa6f8c commit d0aad14

File tree

4 files changed

+10
-5
lines changed

4 files changed

+10
-5
lines changed

lib/RuntimeTemplate.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,8 @@ module.exports = class RuntimeTemplate {
120120
onError() {
121121
return "__webpack_require__.oe";
122122
}
123+
124+
defineEsModuleFlagStatement({ exportsArgument }) {
125+
return `__webpack_require__.r(${exportsArgument});\n`;
126+
}
123127
};

lib/dependencies/HarmonyCompatibilityDependency.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,10 @@ class HarmonyCompatibilityDependency extends NullDependency {
1717
}
1818

1919
HarmonyCompatibilityDependency.Template = class HarmonyExportDependencyTemplate {
20-
apply(dep, source) {
20+
apply(dep, source, runtime) {
2121
const usedExports = dep.originModule.usedExports;
2222
if(usedExports !== false && !Array.isArray(usedExports)) {
23-
const exportName = dep.originModule.exportsArgument;
24-
const content = `__webpack_require__.r(${exportName});\n`;
23+
const content = runtime.defineEsModuleFlagStatement({ exportsArgument: dep.originModule.exportsArgument });
2524
source.insert(-10, content);
2625
}
2726
}

lib/dependencies/RequireEnsureDependency.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ RequireEnsureDependency.Template = class RequireEnsureDependencyTemplate {
2626
const errorCallbackExists = depBlock.expr.arguments.length === 4 || (!depBlock.chunkName && depBlock.expr.arguments.length === 3);
2727
const startBlock = `${promise}.then((`;
2828
const middleBlock = ").bind(null, __webpack_require__)).catch(";
29-
const endBlock = ").bind(null, __webpack_require__)).catch(__webpack_require__.oe)";
29+
const endBlock = `).bind(null, __webpack_require__)).catch(${runtime.onError()})`;
3030
source.replace(depBlock.expr.range[0], depBlock.expr.arguments[1].range[0] - 1, startBlock);
3131
if(errorCallbackExists) {
3232
source.replace(depBlock.expr.arguments[1].range[1], depBlock.expr.arguments[2].range[0] - 1, middleBlock);

lib/optimize/ConcatenatedModule.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,9 @@ class ConcatenatedModule extends Module {
625625
// add harmony compatibility flag (must be first because of possible circular dependencies)
626626
const usedExports = this.rootModule.usedExports;
627627
if(usedExports === true) {
628-
result.add(`__webpack_require__.r(${this.exportsArgument});\n`);
628+
result.add(runtimeTemplate.defineEsModuleFlagStatement({
629+
exportsArgument: this.exportsArgument
630+
}));
629631
}
630632

631633
// define required namespace objects (must be before evaluation modules)

0 commit comments

Comments
 (0)