chore: warn when people attempt to use the Electron module to do Electron things but from node (#15916)

* chore: warn when people attempt to use the Electron module to do Electron things but from node

* update node env console warning
This commit is contained in:
Samuel Attard 2018-12-08 07:00:24 +11:00 committed by Shelley Vohr
parent 177091ca6f
commit eb8fcf833c

View file

@ -15,4 +15,20 @@ function getElectronPath () {
}
}
module.exports = getElectronPath()
// A list of the main modules the people will attempt to use from the Electron API, this is not a complete list but should cover most
// use cases.
var electronModuleNames = ['app', 'autoUpdater', 'BrowserWindow', 'ipcMain', 'Menu', 'net', 'Notification', 'systemPreferences', 'Tray']
var electronPath = new String(getElectronPath())
electronModuleNames.forEach(function warnOnElectronAPIAccess (apiKey) {
Object.defineProperty(electronPath, apiKey, {
enumerable: false,
configurable: false,
get: function getElectronAPI () {
console.warn('WARNING: You are attempting to access an Electron API from a node environment.\n\n' +
'You need to use the "electron" command to run your app. E.g. "npx electron ./myapp.js"')
}
})
})
module.exports = electronPath