{"version":3,"sources":["jsdelivr-header.js","/npm/forrun@0.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACMA,SAAS,SACR,KAAK,KAAO,QAAQ,iBAAiB,IACtC,CAEA,OAAO,UAAU,IAAM,SAAS,GAC/B,IACC,EAAa,EACb,EAAe,EACf,EAAY,GACZ,EAAM,GACN,EAAO,KAAK,KAEb,IAAI,IAAI,KAAK,EACZ,IACA,EAAU,KAAK,EAAO,IAGvB,GAAG,EAAa,EAEf,OADA,QAAQ,IAAI,iCACL,EAGR,QAAQ,IAAI,IAGZ,SAAS,EAAQ,GAChB,EAAM,EAAU,GAEhB,IAAI,EAAS,EAAK,GAAK,SAAU,EAAO,EAAQ,GAC5C,GACF,QAAQ,IAAI,EAEd,IAEA,EAAO,OAAO,GAAG,QAAQ,SAAS,GACjC,QAAQ,IAAI,EACb,IAEA,EAAO,GAAG,QAAQ,SAAS,GAEd,IAAT,GACF,QAAQ,IAAI,4BAA8B,EAAM,YAEhD,EACkB,GACjB,EAAQ,IAGT,QAAQ,IAAI,4BAA8B,EAAM,SAGlD,GACD,CAEA,CAAQ,EACT,EAEA,IAAI,OAAS,IAAI,OAEjB,SAAS,SAER,KAAK,KAAO,QAAQ,MACpB,KAAK,QAAU,UAGf,IACC,KAAK,OAAS,QAAQ,KAAK,KAAO,mBAClC,KAAK,YAAa,CACnB,CAAC,MAAM,GACN,KAAK,YAAa,CACnB,CACD,CAEA,OAAO,UAAU,KAAO,WAEvB,IAAI,EAAQ,QAAQ,KAAK,GAEZ,SAAV,GAA8B,OAAV,EACtB,KAAK,OACc,YAAV,GAAiC,OAAV,EAChC,KAAK,UACc,SAAV,EACT,KAAK,OAEF,KAAK,UACJ,EACF,KAAK,OAAO,GAEZ,KAAK,SAIT,EAEA,OAAO,UAAU,MAAQ,WAExB,QAAI,KAAK,aACR,QAAQ,IAAI,4EACL,EAIT,EAEA,OAAO,UAAU,OAAS,SAAS,GAOlC,IAJA,IAAI,EAAS,EAAI,MAAM,KACtB,EAAY,CAAC,EACb,GAAU,EAEH,EAAI,EAAG,EAAI,EAAO,OAAQ,EAAI,EAAG,IACrC,KAAK,OAAO,EAAO,MACrB,EAAU,EAAO,IAAM,KAAK,OAAO,EAAO,IAC1C,GAAU,GAIZ,GAAG,EACF,OAAO,IAAI,QAIX,IAAI,IAAI,KAFR,QAAQ,IAAI,oBAAqB,EAAK,QACtC,QAAQ,IAAI,iBACC,KAAK,OACjB,QAAQ,IAAI,EAAI,MAAQ,KAAK,OAAO,GAGvC,EAEA,OAAO,UAAU,OAAS,WAEzB,OAAO,IAAI,KAAK,OACjB,EAEA,OAAO,UAAU,KAAO,WACvB,IACC,EADQ,QAAQ,MACN,aAAa,KAAK,QAAU,kBAEvC,EAAO,EAAK,SAAS,QACrB,QAAQ,IAAI,EACb,EAEA,OAAO,UAAU,QAAU,WAC1B,IAAI,EAAc,QAAQ,KAAK,QAAU,YACzC,QAAQ,IAAI,aAAe,EAAqB,QACjD,EAEA,OAAO,UAAU,KAAO,WACvB,IAAI,EAAK,QAAQ,MAChB,EAAO,EAAG,aAAa,KAAK,QAAU,wBACtC,WAAa,KAAK,KAAO,kBAE1B,EAAO,EAAK,SAAS,QAErB,IACC,EAAG,cAAc,WAAY,GAC7B,QAAQ,IAAI,uBACb,CAAC,MAAM,GACN,QAAQ,IAAI,uBACb,CACD,EAEA,OAAO,QAAU,IAAI","file":"/npm/forrun@0.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/forrun@0.0.1/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","/*\n *  author: gedy\n *  githud: https://github.com/gedy/\n *  blog: http://aihaos.com/\n *\n *  for: 按顺序运行各个命令语句\n *  用法：1、forrun 运行所有命令语句\n *        2、forrun key  运行指定的语句，可以指定多个key,通过逗号隔开\n *\n */\n\n//运行模块\nfunction RunCmd(){\n\tthis.exec = require('child_process').exec;\n}\n\nRunCmd.prototype.run = function(config){\n\tvar config = config,\n\t\tconfig_len = 0,\n\t\tconfig_index = 0,\n\t\tconfigArr = [],\n\t\tcmd = '',\n\t\texec = this.exec;\n\n\tfor(var i in config){\n\t\tconfig_len++;\n\t\tconfigArr.push(config[i]);\n\t}\n\n\tif(config_len < 1){\n\t\tconsole.log('forrun-conf.js 里面尚未配置相关的命令语句');\n\t\treturn false;\n\t}\n\n\tconsole.log('');\n\n\t//递归运行命令语句\n\tfunction execCmd(configArr){\n\t\tcmd = configArr[config_index];\n\n\t\tvar result = exec(cmd, function (error, stdout, stderr) {\n\t\t\tif(error){\n\t\t\t\tconsole.log(error);\n\t\t\t}\n\t\t});\n\n\t\tresult.stdout.on('data', function(data){\n\t\t\tconsole.log(data);\n\t\t})\n\n\t\tresult.on('exit', function(code){\n\n\t\t\tif(code === 0){\n\t\t\t\tconsole.log('******************** 运行\" ' + cmd + ' \"完成\\n');\n\n\t\t\t\tconfig_index++;\n\t\t\t\tif(config_index < config_len){\n\t\t\t\t\texecCmd(configArr);\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tconsole.log('******************** 运行\" ' + cmd + ' \"失败\\n');\n\t\t\t}\n\t\t\t\n\t\t})\n\t}\n\n\texecCmd(configArr);\n}\n\nvar runCmd = new RunCmd();\n\nfunction ForRun(){\n\t//当前运行在哪个文件目录\n\tthis.path = process.cwd();\n\tthis.dirname = __dirname;\n\n\t//取命令配置文件\n\ttry{\n\t\tthis.config = require(this.path + '/forrun-conf.js');\n\t\tthis.haveConfig = true;\n\t}catch(e){\n\t\tthis.haveConfig = false;\n\t}\n}\n\nForRun.prototype.init = function(){\n\t//初始化ForRun\n\tvar argv2 = process.argv[2];\n\n\tif(argv2 === 'help' || argv2 === '-h'){\n\t\tthis.help();\n\t}else if( argv2 === 'version' || argv2 === '-v'){\n\t\tthis.version();\n\t}else if( argv2 === 'init'){\n\t\tthis.conf();\n\t}else{\n\t\tif(this.isUse()){\n\t\t\tif(argv2){\n\t\t\t\tthis.runOne(argv2);\n\t\t\t}else{\n\t\t\t\tthis.runAll();\n\t\t\t}\n\t\t}\n\t} \n}\n\nForRun.prototype.isUse = function(){\n\t//判断是否有forrun-conf.js文件，没有的话就不用运行了。\n\tif(!this.haveConfig){\n\t\tconsole.log('您缺少配置文件 forrun-conf.js，无法进行下一步。\\n可通过命令语句“forrun init”获得初始forrun-conf.js');\n\t\treturn false;\n\t}else{\n\t\treturn true;\n\t}\n}\n\nForRun.prototype.runOne = function(key){\n\t//运行单个语句\n\n\tvar keyArr = key.split(','),\n\t\tcmdConfig = {},\n\t\thaveCmd = false;\n\n\tfor(var i = 0, l = keyArr.length; i < l; i++){\n\t\tif(this.config[keyArr[i]]){\n\t\t\tcmdConfig[keyArr[i]] = this.config[keyArr[i]];\n\t\t\thaveCmd = true;\n\t\t}\n\t}\n\n\tif(haveCmd){\n\t\trunCmd.run(cmdConfig);\n\t}else{\n\t\tconsole.log('forrun-conf.js不存在'+ key +'命令语句');\n\t\tconsole.log('\\n目前存在的命令语句有：');\n\t\tfor(var i in this.config){\n\t\t\tconsole.log(i + ' : ' + this.config[i]);\n\t\t}\n\t}\n}\n\nForRun.prototype.runAll = function(){\n\t//运行所有语句\n\trunCmd.run(this.config);\n}\n\nForRun.prototype.help = function(){\n\tvar fs = require('fs'),\n\t\tfile = fs.readFileSync(this.dirname + '/info/help.txt');\n\n\tfile = file.toString('utf8');\n\tconsole.log(file);\n}\n\nForRun.prototype.version = function(){\n\tvar packageJson = require(this.dirname + '/package');\n\tconsole.log('您当前使用版本号为：' + packageJson['version']);\n}\n\nForRun.prototype.conf = function(){\n\tvar fs = require('fs'),\n\t\tfile = fs.readFileSync(this.dirname + '/info/forrun-conf.js');\n\t\toutputFile = this.path + '/forrun-conf.js';\n\n\tfile = file.toString('utf8');\n\n\ttry{\n\t\tfs.writeFileSync(outputFile, file);\n\t\tconsole.log('获取 forrun-conf.js 成功');\n\t}catch(e){\n\t\tconsole.log('获取 forrun-conf.js 失败');\n\t}\n}\n\nmodule.exports = new ForRun();\n"]}