Skip to content

Commit

Permalink
feat(target): support electron preload async chunk loading
Browse files Browse the repository at this point in the history
  • Loading branch information
kwonoj committed May 26, 2019
1 parent c183366 commit 2ec75c1
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 4 deletions.
3 changes: 2 additions & 1 deletion declarations/WebpackOptions.d.ts
Expand Up @@ -390,7 +390,8 @@ export interface WebpackOptions {
| "async-node"
| "node-webkit"
| "electron-main"
| "electron-renderer")
| "electron-renderer"
| "electron-preload")
| ((compiler: import("../lib/Compiler")) => void);
/**
* Enter watch mode, which rebuilds on file change.
Expand Down
12 changes: 10 additions & 2 deletions lib/WebpackOptionsApply.js
Expand Up @@ -156,11 +156,19 @@ class WebpackOptionsApply extends OptionsApply {
new LoaderTargetPlugin(options.target).apply(compiler);
break;
case "electron-renderer":
JsonpTemplatePlugin = require("./web/JsonpTemplatePlugin");
case "electron-preload":
FetchCompileWasmTemplatePlugin = require("./web/FetchCompileWasmTemplatePlugin");
NodeTargetPlugin = require("./node/NodeTargetPlugin");
ExternalsPlugin = require("./ExternalsPlugin");
new JsonpTemplatePlugin().apply(compiler);
if (options.target === "electron-renderer") {
JsonpTemplatePlugin = require("./web/JsonpTemplatePlugin");
new JsonpTemplatePlugin().apply(compiler);
} else if (options.target === "electron-preload") {
NodeTemplatePlugin = require("./node/NodeTemplatePlugin");
new NodeTemplatePlugin({
asyncChunkLoading: true
}).apply(compiler);
}
new FetchCompileWasmTemplatePlugin({
mangleImports: options.optimization.mangleWasmImports
}).apply(compiler);
Expand Down
3 changes: 2 additions & 1 deletion schemas/WebpackOptions.json
Expand Up @@ -2128,7 +2128,8 @@
"async-node",
"node-webkit",
"electron-main",
"electron-renderer"
"electron-renderer",
"electron-preload"
]
},
{
Expand Down

0 comments on commit 2ec75c1

Please sign in to comment.