[RFC] perf: use an internal module resolver to improve require performance (#14633)

* perf: use an internal module resolver instead of relative requires

* perf: memoize the results of getting exported Electron properties

* perf: make internal module changes consistent across sandboxed / bundled files
This commit is contained in:
Samuel Attard 2018-09-20 13:43:26 +10:00 committed by GitHub
parent 73d1b76b54
commit 54ef906832
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 156 additions and 73 deletions

View file

@ -3,32 +3,32 @@ const features = process.atomBinding('features')
module.exports = [
{
name: 'crashReporter',
load: () => require('../../common/api/crash-reporter')
load: () => require('@electron/internal/common/api/crash-reporter')
},
{
name: 'desktopCapturer',
load: () => require('../../renderer/api/desktop-capturer'),
load: () => require('@electron/internal/renderer/api/desktop-capturer'),
enabled: features.isDesktopCapturerEnabled()
},
{
name: 'ipcRenderer',
load: () => require('./ipc-renderer')
load: () => require('@electron/internal/sandboxed_renderer/api/ipc-renderer')
},
{
name: 'isPromise',
load: () => require('../../common/api/is-promise'),
load: () => require('@electron/internal/common/api/is-promise'),
private: true
},
{
name: 'nativeImage',
load: () => require('../../common/api/native-image')
load: () => require('@electron/internal/common/api/native-image')
},
{
name: 'remote',
load: () => require('../../renderer/api/remote')
load: () => require('@electron/internal/renderer/api/remote')
},
{
name: 'webFrame',
load: () => require('../../renderer/api/web-frame')
load: () => require('@electron/internal/renderer/api/web-frame')
}
]