diff options
Diffstat (limited to 'node_modules/spawn-sync/postinstall.js')
| -rw-r--r-- | node_modules/spawn-sync/postinstall.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/node_modules/spawn-sync/postinstall.js b/node_modules/spawn-sync/postinstall.js new file mode 100644 index 0000000..322260e --- /dev/null +++ b/node_modules/spawn-sync/postinstall.js @@ -0,0 +1,42 @@ +'use strict'; + +function onError(err) { + try { + var str = '' + (err ? (err.stack || err.message || err) : 'null'); + require('fs').writeFileSync(__dirname + '/error.log', str); + } catch (ex) { + } +} +try { + var fs = require('fs'); + var cp = require('child_process'); + var REQUIRES_UPDATE = false; + var pkg = JSON.parse(fs.readFileSync(__dirname + '/package.json', 'utf8')); + if (cp.spawnSync || __dirname.indexOf('node_modules') === -1) { + if(pkg.dependencies['try-thread-sleep']){ + delete pkg.dependencies['try-thread-sleep']; + REQUIRES_UPDATE = true; + } + } else { + if(!pkg.dependencies['try-thread-sleep']){ + pkg.dependencies['try-thread-sleep'] = "^1.0.0"; + REQUIRES_UPDATE = true; + console.log('Installing native dependencies (this may take up to a minute)'); + } + } + if (REQUIRES_UPDATE && __dirname.indexOf('node_modules') !== -1) { + fs.writeFileSync(__dirname + '/package.json', JSON.stringify(pkg, null, ' ')); + cp.exec((process.env.npm_execpath ? ('"' + process.argv[0] + '" "' + process.env.npm_execpath + '"') : 'npm') + + ' install --production', { + cwd: __dirname + }, function (err) { + if (err) onError(err); + process.exit(0); + }); + setTimeout(function () { + process.exit(0); + }, 60000); + } +} catch (ex) { + onError(ex); +}
\ No newline at end of file |