1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
- */
- "use strict";
- const ExternalsPlugin = require("../ExternalsPlugin");
- /** @typedef {import("../Compiler")} Compiler */
- class ElectronTargetPlugin {
- /**
- * @param {"main" | "preload" | "renderer"=} context in main, preload or renderer context?
- */
- constructor(context) {
- this._context = context;
- }
- /**
- * Apply the plugin
- * @param {Compiler} compiler the compiler instance
- * @returns {void}
- */
- apply(compiler) {
- new ExternalsPlugin("node-commonjs", [
- "clipboard",
- "crash-reporter",
- "electron",
- "ipc",
- "native-image",
- "original-fs",
- "screen",
- "shell"
- ]).apply(compiler);
- switch (this._context) {
- case "main":
- new ExternalsPlugin("node-commonjs", [
- "app",
- "auto-updater",
- "browser-window",
- "content-tracing",
- "dialog",
- "global-shortcut",
- "ipc-main",
- "menu",
- "menu-item",
- "power-monitor",
- "power-save-blocker",
- "protocol",
- "session",
- "tray",
- "web-contents"
- ]).apply(compiler);
- break;
- case "preload":
- case "renderer":
- new ExternalsPlugin("node-commonjs", [
- "desktop-capturer",
- "ipc-renderer",
- "remote",
- "web-frame"
- ]).apply(compiler);
- break;
- }
- }
- }
- module.exports = ElectronTargetPlugin;
|