Refactor electron exports to keep module list in separate files
This commit is contained in:
parent
14b548f27a
commit
44bd93589a
8 changed files with 79 additions and 236 deletions
|
@ -1,131 +1,13 @@
|
|||
const common = require('../../../common/api/exports/electron')
|
||||
// since browser module list is also used in renderer, keep it separate.
|
||||
const moduleList = require('../module-list')
|
||||
|
||||
// Import common modules.
|
||||
common.defineProperties(exports)
|
||||
|
||||
Object.defineProperties(exports, {
|
||||
// Browser side modules, please sort alphabetically.
|
||||
// Any modules added here must also be added to the browserModules array
|
||||
// in remote.js
|
||||
app: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../app')
|
||||
}
|
||||
},
|
||||
autoUpdater: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../auto-updater')
|
||||
}
|
||||
},
|
||||
BrowserWindow: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../browser-window')
|
||||
}
|
||||
},
|
||||
contentTracing: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../content-tracing')
|
||||
}
|
||||
},
|
||||
dialog: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../dialog')
|
||||
}
|
||||
},
|
||||
globalShortcut: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../global-shortcut')
|
||||
}
|
||||
},
|
||||
ipcMain: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../ipc-main')
|
||||
}
|
||||
},
|
||||
Menu: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../menu')
|
||||
}
|
||||
},
|
||||
MenuItem: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../menu-item')
|
||||
}
|
||||
},
|
||||
net: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../net')
|
||||
}
|
||||
},
|
||||
powerMonitor: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../power-monitor')
|
||||
}
|
||||
},
|
||||
powerSaveBlocker: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../power-save-blocker')
|
||||
}
|
||||
},
|
||||
protocol: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../protocol')
|
||||
}
|
||||
},
|
||||
screen: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../screen')
|
||||
}
|
||||
},
|
||||
session: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../session')
|
||||
}
|
||||
},
|
||||
systemPreferences: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../system-preferences')
|
||||
}
|
||||
},
|
||||
TouchBar: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../touch-bar')
|
||||
}
|
||||
},
|
||||
Tray: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../tray')
|
||||
}
|
||||
},
|
||||
webContents: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../web-contents')
|
||||
}
|
||||
},
|
||||
|
||||
// The internal modules, invisible unless you know their names.
|
||||
NavigationController: {
|
||||
get: function () {
|
||||
return require('../navigation-controller')
|
||||
}
|
||||
}
|
||||
})
|
||||
for (const module of moduleList) {
|
||||
Object.defineProperty(exports, module.name, {
|
||||
enumerable: !module.private,
|
||||
get: () => require(`../${module.file}`)
|
||||
})
|
||||
}
|
||||
|
|
24
lib/browser/api/module-list.js
Normal file
24
lib/browser/api/module-list.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
// Browser side modules, please sort alphabetically.
|
||||
module.exports = [
|
||||
{name: 'app', file: 'app'},
|
||||
{name: 'autoUpdater', file: 'auto-updater'},
|
||||
{name: 'BrowserWindow', file: 'browser-window'},
|
||||
{name: 'contentTracing', file: 'content-tracing'},
|
||||
{name: 'dialog', file: 'dialog'},
|
||||
{name: 'globalShortcut', file: 'global-shortcut'},
|
||||
{name: 'ipcMain', file: 'ipc-main'},
|
||||
{name: 'Menu', file: 'menu'},
|
||||
{name: 'MenuItem', file: 'menu-item'},
|
||||
{name: 'net', file: 'net'},
|
||||
{name: 'powerMonitor', file: 'power-monitor'},
|
||||
{name: 'powerSaveBlocker', file: 'power-save-blocker'},
|
||||
{name: 'protocol', file: 'protocol'},
|
||||
{name: 'screen', file: 'screen'},
|
||||
{name: 'session', file: 'session'},
|
||||
{name: 'systemPreferences', file: 'system-preferences'},
|
||||
{name: 'TouchBar', file: 'touch-bar'},
|
||||
{name: 'Tray', file: 'tray'},
|
||||
{name: 'webContents', file: 'web-contents'},
|
||||
// The internal modules, invisible unless you know their names.
|
||||
{name: 'NavigationController', file: 'navigation-controller', private: true}
|
||||
]
|
Loading…
Add table
Add a link
Reference in a new issue