59 lines
1.4 KiB
JavaScript
59 lines
1.4 KiB
JavaScript
// Do not expose the internal modules to `require`.
|
|
const hideInternalModules = function() {
|
|
var globalPaths = require('module').globalPaths;
|
|
if (globalPaths.length === 3) {
|
|
|
|
// Remove the "common/api/lib" and "browser-or-renderer/api/lib".
|
|
return globalPaths.splice(0, 2);
|
|
}
|
|
};
|
|
|
|
// Attaches properties to |exports|.
|
|
exports.defineProperties = function(exports) {
|
|
return Object.defineProperties(exports, {
|
|
hideInternalModules: {
|
|
enumerable: true,
|
|
value: hideInternalModules
|
|
},
|
|
|
|
// 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');
|
|
}
|
|
}
|
|
});
|
|
};
|