diff options
| author | 8cy <[email protected]> | 2020-04-03 02:37:42 -0700 |
|---|---|---|
| committer | 8cy <[email protected]> | 2020-04-03 02:37:42 -0700 |
| commit | 60867fb030bae582082340ead7dbc7efdc2f5398 (patch) | |
| tree | 4c6a7356351be2e4914e15c4703172597c45656e /node_modules/spawn-sync/postinstall.js | |
| parent | commenting (diff) | |
| download | s5nical-60867fb030bae582082340ead7dbc7efdc2f5398.tar.xz s5nical-60867fb030bae582082340ead7dbc7efdc2f5398.zip | |
2020/04/03, 02:34, v1.2.0
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 |