Skip to content

Commit

Permalink
Merge pull request #9 from module-federation/add_runtime_requirements_
Browse files Browse the repository at this point in the history
adding runtime requirements to promise externals
  • Loading branch information
ScriptedAlchemy committed Aug 1, 2022
2 parents 3a1c50d + 966f9bf commit cc254ac
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
3 changes: 3 additions & 0 deletions ExtendedModuleFederationPlugin.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ const GenerateChunkMap = require("./src/GenerateChunkMap");
const GenerateModuleMap = require("./src/GenerateModuleMap");
const GenerateRemoteMap = require("./src/GenerateRemoteMap");
const GenerateRemoteUrlMap = require("./src/GenerateRemoteUrlMap");
const AddRuntimeRequirementsToExternal = require("./src/AddRuntimeRequirementsToExternal");


class ExtendedModuleFederationPlugin extends ModuleFederationPlugin {
constructor(options) {
Expand All @@ -25,6 +27,7 @@ class ExtendedModuleFederationPlugin extends ModuleFederationPlugin {
apply(compiler) {
super.apply(compiler);
GenerateChunkMap(compiler);
new AddRuntimeRequirementsToExternal().apply(compiler)
}
}
module.exports = ExtendedModuleFederationPlugin;
22 changes: 22 additions & 0 deletions src/AddRuntimeRequirementsToExternal.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
class AddRuntimeRequiremetToPromiseExternal {
apply(compiler) {
compiler.hooks.compilation.tap(
"AddRuntimeRequiremetToPromiseExternal",
(compilation) => {
const RuntimeGlobals = compiler.webpack.RuntimeGlobals;
if (compilation.outputOptions.trustedTypes) {
compilation.hooks.additionalModuleRuntimeRequirements.tap(
"AddRuntimeRequiremetToPromiseExternal",
(module, set, context) => {
if (module.externalType === "promise") {
set.add(RuntimeGlobals.loadScript);
}
}
);
}
}
);
}
}

module.exports = AddRuntimeRequiremetToPromiseExternal

0 comments on commit cc254ac

Please sign in to comment.