You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
| /*
 | |
| 	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;
 |