From 4433b919828f6e87efc1a67c0bcd1bda7a7fb42b Mon Sep 17 00:00:00 2001 From: Jeff Morgan Date: Wed, 10 Sep 2014 22:07:23 -0700 Subject: [PATCH] Reverting atom-shell native meteor require changes --- index.js | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/index.js b/index.js index 6adb0184c5..3e836491a4 100644 --- a/index.js +++ b/index.js @@ -65,16 +65,32 @@ var start = function (callback) { console.log('Starting node child...'); var rootURL = 'http://localhost:' + webPort; var user_env = process.env; - process.env.ROOT_URL = rootURL; - process.env.PORT = webPort; - process.env.BIND_IP = '127.0.0.1'; - process.env.DB_PATH = dataPath; - process.env.MONGO_URL = 'mongodb://localhost:' + mongoPort + '/meteor'; - process.env.METEOR_SETTINGS = fs.readFileSync(path.join(__dirname, 'resources', 'settings.json'), 'utf8'); - process.env.DIR = __dirname; - process.env.NODE_ENV = 'production'; - process.env.NODE_PATH = path.join(__dirname, 'node_modules'); - require('./bundle/main.js'); + user_env.ROOT_URL = rootURL; + user_env.PORT = webPort; + user_env.BIND_IP = '127.0.0.1'; + user_env.DB_PATH = dataPath; + user_env.MONGO_URL = 'mongodb://localhost:' + mongoPort + '/meteor'; + user_env.METEOR_SETTINGS = fs.readFileSync(path.join(__dirname, 'resources', 'settings.json'), 'utf8'); + user_env.DIR = __dirname; + user_env.NODE_ENV = 'production'; + user_env.NODE_PATH = path.join(__dirname, 'node_modules'); + var nodeChild = child_process.spawn(path.join(__dirname, 'resources', 'node'), [path.join(__dirname, 'bundle', 'main.js')], { + env: user_env + }); + + var opened = false; + nodeChild.stdout.setEncoding('utf8'); + nodeChild.stdout.on('data', function (data) { + console.log(data); + if (data.indexOf('Kitematic started.') !== -1) { + if (!opened) { + opened = true; + } else { + return; + } + callback(rootURL, nodeChild, mongoChild); + } + }); } }); }); @@ -86,7 +102,7 @@ var start = function (callback) { mainWindow = null; app.on('activate-with-no-open-windows', function () { - if (!mainWindow) { + if (mainWindow) { mainWindow.show(); } return false;