{"version":3,"sources":["jsdelivr-header.js","/npm/php-js@0.0.5/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,KAAa,QAAQ,iBAAiB,KACtC,MAAa,QAAQ,iBAAiB,MACtC,KAAa,QAAQ,QACrB,QAAa,QAAQ,WACrB,IAAa,UACb,EAAa,QAAQ,KACrB,MAAa,QAAQ,SACrB,OAAa,UACb,OAAa,UACb,MAAa,OAAO,KAAK,QAAQ,UACjC,SAAa,WACb,SAAa,KAAK,QAAQ,SAAW,aACrC,SAAa,KAAK,QAAQ,SAAW,eACrC,GAAa,QAAQ,MAAM,WAC3B,OAAa,QAAQ,UAEzB,UAAY,WACR,IACI,EADA,EAAI,EAAE,QAmDV,MAjDS,SAAN,IAED,EAAW,SACX,EAAE,QAAQ,IAEE,UAAN,IAEN,EAAW,MACX,OAAO,OAAO,SAAS,GACrB,GAAI,EAeF,EAAE,QAAQ,OAfA,CAGV,KADA,2DAEE,SAAS,EAAK,EAAQ,GAChB,EAIF,QAAQ,IAAI,MAAM,MAAM,KAHxB,QAAQ,IAAI,MAAM,OAAO,IACzB,EAAE,QAAQ,GAId,GAEJ,CAIF,MAGA,EAAW,MACX,OAAO,OAAO,SAAS,GACjB,EAcF,EAAE,QAAQ,GAbV,KAAK,iCACH,SAAS,EAAK,EAAQ,GAChB,EAKF,QAAQ,IAAI,MAAM,MAAM,KAJxB,EAAE,QAAQ,GACV,QAAQ,IAAI,MAAM,OAAO,IAK7B,GAMN,KAEK,EAAE,OACb,EAEA,IAAM,SAAS,GACC,EAAE,QAAd,IAII,EAFA,EAAO,CAAC,KAAM,iBAAkB,KADtB,KAAK,QAAQ,SAkB3B,OAdA,YAAY,MAAK,SAAS,GAExB,EAAS,MADE,EACc,GACzB,IACI,EAAK,MAAM,OADP,wCAER,QAAQ,IAAI,GACZ,EAAO,OAAO,GAAG,QAAQ,SAAS,GAChC,QAAQ,IAAI,MAAM,QAAQ,GAC5B,IACA,EAAO,OAAO,GAAG,QAAQ,SAAS,GAChC,QAAQ,IAAI,MAAM,MAAM,GAC1B,IACA,EAAO,GAAG,SAAS,WAAW,GAChC,IACO,CACX,EAEA","file":"/npm/php-js@0.0.5/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/php-js@0.0.5/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var exec       = require('child_process').exec;\r\nvar spawn      = require('child_process').spawn;\r\nvar path       = require('path');\r\nvar express    = require('express');\r\nvar app        = express();\r\nvar q          = require('q');\r\nvar chalk      = require('chalk');\r\nvar s_path     = \"server/\";\r\nvar f_path     = \"public/\";\r\nvar isWin      = /^win/.test(process.platform);\r\nvar php_path   = \"bin/php/\";\r\nvar win_path   = path.resolve(php_path + 'win32/php');\r\nvar mac_path   = path.resolve(php_path + 'mac/bin/php');\r\nvar os         = require('os').platform();\r\nvar hasbin     = require('hasbin');\r\n\r\nsetBinary = function() {\r\n    var d = q.defer();\r\n    var cmd_path;\r\n    if(os == 'win32') {\r\n      //windows\r\n      cmd_path = win_path;\r\n      d.resolve(cmd_path);\r\n    }\r\n    else if(os == 'darwin') {\r\n      //mac os\r\n      cmd_path = \"php\";\r\n      hasbin(\"php\", function(result) {\r\n        if(!result) {\r\n          var cmd = \"curl -s http://php-osx.li\";\r\n          cmd += \"ip.ch/install.sh | bash -s 5.5\";\r\n          exec(cmd,\r\n            function(err, stdout, stderr) {\r\n              if(!err) {\r\n                console.log(chalk.bgBlue(stdout));\r\n                d.resolve(cmd_path);\r\n              } else {\r\n                console.log(chalk.bgRed(err));\r\n              }\r\n            }\r\n          );\r\n        }\r\n        else {\r\n          d.resolve(cmd_path);\r\n        }\r\n      });\r\n    }\r\n    else {\r\n      cmd_path = \"php\";\r\n      hasbin(\"php\", function(result) {\r\n        if(!result) {\r\n          exec(\"sudo apt-get install php5-cli\",\r\n            function(err, stdout, stderr) {\r\n              if(!err) {\r\n                d.resolve(cmd_path);\r\n                console.log(chalk.bgBlue(stdout));\r\n              }\r\n              else {\r\n                console.log(chalk.bgRed(err));\r\n              }\r\n            }\r\n          );\r\n        }\r\n        else {\r\n          d.resolve(cmd_path);\r\n        }\r\n      });\r\n    }\r\n    return d.promise;\r\n};\r\n\r\nphp = function(folder) {\r\n    var defer = q.defer();\r\n    var current = path.resolve(s_path);\r\n    var args = ['-S', 'localhost:3000', '-t', current];\r\n    var cmd_path;\r\n    var server;\r\n    setBinary().then(function(res) {\r\n      cmd_path = res;\r\n      server = spawn(cmd_path, args);\r\n      var m = \"Running PHP server on localhost:3000\";\r\n      var ms = chalk.bgBlue(m);\r\n      console.log(ms);\r\n      server.stdout.on(\"data\", function(data) {\r\n        console.log(chalk.bgGreen(data));\r\n      });\r\n      server.stderr.on(\"data\", function(data) {\r\n        console.log(chalk.bgRed(data));\r\n      });\r\n      server.on(\"close\", function(){});\r\n    });\r\n    return server;\r\n};\r\n\r\nphp();\r\n"]}