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,53 +1,13 @@
|
|||
const moduleList = require('../module-list')
|
||||
|
||||
// Attaches properties to |exports|.
|
||||
exports.defineProperties = function (exports) {
|
||||
return Object.defineProperties(exports, {
|
||||
// Common modules, please sort with alphabet order.
|
||||
clipboard: {
|
||||
// Must be enumerable, otherwise it woulde be invisible to remote module.
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../clipboard')
|
||||
}
|
||||
},
|
||||
crashReporter: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../crash-reporter')
|
||||
}
|
||||
},
|
||||
nativeImage: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../native-image')
|
||||
}
|
||||
},
|
||||
shell: {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return require('../shell')
|
||||
}
|
||||
},
|
||||
|
||||
// The internal modules, invisible unless you know their names.
|
||||
CallbacksRegistry: {
|
||||
get: function () {
|
||||
return require('../callbacks-registry')
|
||||
}
|
||||
},
|
||||
deprecate: {
|
||||
get: function () {
|
||||
return require('../deprecate')
|
||||
}
|
||||
},
|
||||
deprecations: {
|
||||
get: function () {
|
||||
return require('../deprecations')
|
||||
}
|
||||
},
|
||||
isPromise: {
|
||||
get: function () {
|
||||
return require('../is-promise')
|
||||
}
|
||||
const descriptors = {}
|
||||
for (const module of moduleList) {
|
||||
descriptors[module.name] = {
|
||||
enumerable: !module.private,
|
||||
get: () => require(`../${module.file}`)
|
||||
}
|
||||
})
|
||||
}
|
||||
return Object.defineProperties(exports, descriptors)
|
||||
}
|
||||
|
|
12
lib/common/api/module-list.js
Normal file
12
lib/common/api/module-list.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
// Common modules, please sort alphabetically
|
||||
module.exports = [
|
||||
{name: 'clipboard', file: 'clipboard'},
|
||||
{name: 'crashReporter', file: 'crash-reporter'},
|
||||
{name: 'nativeImage', file: 'native-image'},
|
||||
{name: 'shell', file: 'shell'},
|
||||
// The internal modules, invisible unless you know their names.
|
||||
{name: 'CallbacksRegistry', file: 'callbacks-registry', private: true},
|
||||
{name: 'deprecate', file: 'deprecate', private: true},
|
||||
{name: 'deprecations', file: 'deprecations', private: true},
|
||||
{name: 'isPromise', file: 'is-promise', private: true}
|
||||
]
|
Loading…
Add table
Add a link
Reference in a new issue