2016-01-12 01:39:11 +00:00
|
|
|
(function () {
|
2016-01-19 18:25:03 +00:00
|
|
|
return function(process, require, asarSource) {
|
|
|
|
// Make asar.coffee accessible via "require".
|
|
|
|
process.binding('natives').ATOM_SHELL_ASAR = asarSource;
|
2016-01-12 02:40:23 +00:00
|
|
|
|
2016-01-19 18:25:03 +00:00
|
|
|
// Monkey-patch the fs module.
|
|
|
|
require('ATOM_SHELL_ASAR').wrapFsWithAsar(require('fs'));
|
2016-01-12 02:40:23 +00:00
|
|
|
|
2016-01-19 18:25:03 +00:00
|
|
|
// Make graceful-fs work with asar.
|
2016-01-19 22:49:40 +00:00
|
|
|
var source = process.binding('natives');
|
2016-01-19 18:25:03 +00:00
|
|
|
source['original-fs'] = source.fs;
|
|
|
|
return source['fs'] = "var src = '(function (exports, require, module, __filename, __dirname) { ' +\n process.binding('natives')['original-fs'] +\n ' });';\nvar vm = require('vm');\nvar fn = vm.runInThisContext(src, { filename: 'fs.js' });\nfn(exports, require, module);\nvar asar = require('ATOM_SHELL_ASAR');\nasar.wrapFsWithAsar(exports);";
|
|
|
|
};
|
2016-01-19 22:53:59 +00:00
|
|
|
})();
|