diff --git a/src/electron-shims.js b/src/electron-shims.js index 4906f19a5..3f8e1c215 100644 --- a/src/electron-shims.js +++ b/src/electron-shims.js @@ -39,3 +39,42 @@ electron.ipcRenderer.sendChannel = function () { Grim.deprecate('Use `ipcRenderer.send` instead of `ipcRenderer.sendChannel`') return this.send.apply(this, arguments) } + +const remoteRequire = electron.remote.require +electron.remote.require = function (moduleName) { + const Grim = require('grim') + switch (moduleName) { + case 'menu': + Grim.deprecate('Use `remote.Menu` instead of `remote.require("menu")`') + return this.Menu + case 'menu-item': + Grim.deprecate('Use `remote.MenuItem` instead of `remote.require("menu-item")`') + return this.MenuItem + case 'browser-window': + Grim.deprecate('Use `remote.BrowserWindow` instead of `remote.require("browser-window")`') + return this.BrowserWindow + case 'dialog': + Grim.deprecate('Use `remote.Dialog` instead of `remote.require("dialog")`') + return this.Dialog + case 'app': + Grim.deprecate('Use `remote.app` instead of `remote.require("app")`') + return this.app + case 'crash-reporter': + Grim.deprecate('Use `remote.crashReporter` instead of `remote.require("crashReporter")`') + return this.crashReporter + case 'global-shortcut': + Grim.deprecate('Use `remote.globalShortcut` instead of `remote.require("global-shortcut")`') + return this.globalShortcut + case 'clipboard': + Grim.deprecate('Use `remote.clipboard` instead of `remote.require("clipboard")`') + return this.clipboard + case 'native-image': + Grim.deprecate('Use `remote.nativeImage` instead of `remote.require("native-image")`') + return this.nativeImage + case 'tray': + Grim.deprecate('Use `remote.Tray` instead of `remote.require("tray")`') + return this.Tray + default: + return remoteRequire.call(this, moduleName) + } +}