| 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;
 |