mirror of
https://github.com/kristoferssolo/solorice.git
synced 2025-10-21 20:10:34 +00:00
2 lines
1.4 KiB
JavaScript
2 lines
1.4 KiB
JavaScript
#!/usr/bin/env node
|
|
var proc=require("child_process"),os=require("os"),path=require("path");function build(){var e=["win32"===os.platform()?"node-gyp.cmd":"node-gyp","rebuild"];try{e=[process.execPath,path.join(require.resolve("node-gyp/package.json"),"..",require("node-gyp/package.json").bin["node-gyp"]),"rebuild"]}catch(e){}proc.spawn(e[0],e.slice(1),{stdio:"inherit"}).on("exit",(function(e){!e&&process.argv[3]||process.exit(e),exec(process.argv[3]).on("exit",(function(e){process.exit(e)}))}))}function preinstall(){if(!process.argv[2])return build();exec(process.argv[2]).on("exit",(function(e){e&&process.exit(e),build()}))}function exec(e){if("win32"!==process.platform){var r="android"===os.platform()?"sh":"/bin/sh";return proc.spawn(r,["-c","--",e],{stdio:"inherit"})}return proc.spawn(process.env.comspec||"cmd.exe",["/s","/c",'"'+e+'"'],{windowsVerbatimArguments:!0,stdio:"inherit"})}function buildFromSource(){return hasFlag("--build-from-source")||"true"===process.env.npm_config_build_from_source}function verbose(){return hasFlag("--verbose")||"verbose"===process.env.npm_config_loglevel}function hasFlag(e){if(!process.env.npm_config_argv)return!1;try{return-1!==JSON.parse(process.env.npm_config_argv).original.indexOf(e)}catch(e){return!1}}buildFromSource()?preinstall():proc.exec("node-gyp-build-test",(function(e,r,o){e&&(verbose()&&console.error(o),preinstall())})); |