{"version":3,"sources":["jsdelivr-header.js","/npm/@ztgame/devtool@1.0.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,GAAK,QAAQ,YACb,SAAW,QAAQ,YACnB,KAAO,QAAQ,QACf,QAAU,QAAQ,kBAClB,MAAQ,QAAQ,SAChB,QAAU,sBACV,WAAa,CAAC,SAAU,KAAM,MACpC,MAAM,WACJ,WAAA,CAAY,EAAa,eACvB,KAAK,WAAa,EAClB,KAAK,SAAW,CACd,CACE,KAAM,UACN,QAAS,mBACT,SAAU,SAAU,GAClB,OAAO,QAAQ,EACjB,GAEF,CACE,KAAM,OACN,QAAS,eACT,SAAU,SAAU,GAClB,OAAO,QAAQ,EACjB,GAEF,CACE,KAAM,QACN,QAAS,OACT,QAAS,cAEX,CACE,KAAM,OACN,QAAS,OACT,QAAS,QAGf,CACA,YAAM,GACJ,IAAI,QAAe,KAAK,YACxB,IAAK,EAAO,OAAS,EAAO,QAE1B,YADA,QAAQ,IAAI,MAAM,IAAI,kCAGxB,IAAI,EACA,EACJ,IAAK,IAAI,KAAK,WAGZ,GAFA,EAAc,QAAU,WAAW,GAAK,KAAO,EAAO,KACtD,QAAwB,GAAG,OAAO,GAC5B,EACJ,MAGJ,IAAK,EAEH,YADA,QAAQ,IAAI,MAAM,IAAI,oBAGxB,IAAI,EAAc,CAAC,EAAc,UAAW,EAAc,iBAC1D,IAAI,EACJ,IAAK,IAAI,KAAK,EAAa,CAEzB,GADe,GAAG,WAAW,EAAY,IACzB,CACd,EAAa,EAAY,GACzB,KACF,CACF,CACA,IAAK,EAEH,YADA,QAAQ,IAAI,mBAGd,IAAI,EAAU,EAAa,EAAO,QAElC,IAAI,EAAO,iBACT,IAGE,UAFgB,GAAG,KAAK,EAAO,KAAM,GAE3B,CACR,QAAQ,IAAI,QACZ,IACI,EADA,EAAO,QAAQ,QAGjB,EADiB,SAAf,EAAO,KACA,UAAU,EAAO,2BAA2B,EAAO,UAEnD,cAAc,EAAO,uBAAuB,EAAO,UAE9D,EAAK,EACP,CACF,CAAE,MAAO,GACP,QAAQ,IAAI,EACd,CACF,EACA,SApBqB,GAAG,OAAO,GAoCxB,CACL,IAAI,QAAa,GAAG,KAAK,GACzB,GAAM,GAAU,EAAK,MAAO,CAC1B,IAAI,EAAc,QAAQ,EAAK,OAQ/B,eAPmB,SAAS,OAAO,CACjC,CACE,KAAM,UACN,KAAM,WACN,QAAS,EAAc,iBAGhB,iBACH,KACC,EAIX,CAEE,OADA,QAAQ,IAAI,oBAAsB,IAC3B,CAEX,CA5BE,cARmB,SAAS,OAAO,CACjC,CACE,KAAM,UACN,KAAM,WACN,QAAS,OAAS,EAAU,gBAK9B,GAAG,UAAU,SACP,KACC,EA0Bb,CACA,UAAM,GAEJ,SADmB,KAAK,YACZ,CAQV,WAPgB,SAAS,OAAO,CAC9B,CACE,KAAM,UACN,KAAM,WACN,QAAS,kBAGJ,SACP,OAAO,CAEX,CACA,IACE,IAAI,QAAY,SAAS,OAAO,KAAK,UACrC,QAAY,GAAG,UAAU,KAAK,WAAY,GAC1C,QAAQ,IAAI,MAAM,MAAM,QAC1B,CAAE,MAAO,GACH,EAAM,WAER,QAAQ,IAAI,QAGZ,QAAQ,IAAI,EAEhB,CAMF,CACA,eAAM,GACJ,IACE,IAAI,QAAgB,GAAG,OAAO,KAAK,YACnC,OAAK,QAGW,GAAG,SAAS,KAAK,YAFxB,CAIX,CAAE,MAAO,GACP,OAAO,IACT,CACF,CACA,WAAA,CAAY,GAOV,OANK,IACH,EAAS,CAAC,GAIZ,EAAS,OAAO,OAAO,cAAe,EAExC,EAEF,OAAO,QAAU","file":"/npm/@ztgame/devtool@1.0.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@ztgame/devtool@1.0.0/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","const fs = require(\"fs-extra\");\nconst inquirer = require(\"inquirer\");\nconst open = require(\"open\");\nconst howLong = require(\"./libs/howlong\");\nconst chalk = require(\"chalk\");\nconst devpath = \"\\\\\\\\192.168.21.27\\\\\";\nconst serverList = [\"common\", \"w1\", \"w2\"];\nclass giantTools {\n  constructor(configFile = \"./.gtconfig\") {\n    this.configFile = configFile;\n    this.question = [\n      {\n        name: \"actname\",\n        message: \"请输入活动名称(请用英文或拼音)\",\n        validate: function (obj) {\n          return Boolean(obj);\n        },\n      },\n      {\n        name: \"game\",\n        message: \"请输入游戏标识，如xx2\",\n        validate: function (obj) {\n          return Boolean(obj);\n        },\n      },\n      {\n        name: \"build\",\n        message: \"构建命令\",\n        default: \"yarn build\",\n      },\n      {\n        name: \"dist\",\n        message: \"导出目录\",\n        default: \"dist\",\n      },\n    ];\n  }\n  async pubdev() {\n    var config = await this.getConfig();\n    if (!config.game || !config.actname) {\n      console.log(chalk.red(\"请配置config.json 中的game和actname\"));\n      return;\n    }\n    let gameDevPath;\n    let gamepathisexist;\n    for (var i in serverList) {\n      gameDevPath = devpath + serverList[i] + \"\\\\\" + config.game;\n      gamepathisexist = await fs.exists(gameDevPath);\n      if (!!gamepathisexist) {\n        break;\n      }\n    }\n    if (!gamepathisexist) {\n      console.log(chalk.red(\"测试服务器上没有对应游戏的目录\"));\n      return;\n    }\n    var actDevPaths = [gameDevPath + \"\\\\act\\\\\", gameDevPath + \"\\\\site\\\\act\\\\\"];\n    let actDevpath;\n    for (var i in actDevPaths) {\n      let actExist = fs.existsSync(actDevPaths[i]);\n      if (!!actExist) {\n        actDevpath = actDevPaths[i];\n        break;\n      }\n    }\n    if (!actDevpath) {\n      console.log(\"act目录不存在，请检查测试服\");\n      return;\n    }\n    let actpath = actDevpath + config.actname;\n    let actExist = await fs.exists(actpath);\n    var copy = async function () {\n      try {\n        var res = await fs.copy(config.dist, actpath);\n\n        if (!res) {\n          console.log(\"发布成功\");\n          let open = require(\"open\");\n          let acturl;\n          if (config.game != \"balls\") {\n            acturl = `http://${config.game}.web.ztgame.com/act/${config.actname}`;\n          } else {\n            acturl = `http://act.${config.game}.web.ztgame.com/${config.actname}`;\n          }\n          open(acturl);\n        }\n      } catch (error) {\n        console.log(error);\n      }\n    };\n    if (!actExist) {\n      let answer = await inquirer.prompt([\n        {\n          type: \"confirm\",\n          name: \"continue\",\n          message: \"活动目录\" + actpath + \"不存在，是否创建\",\n        },\n      ]);\n\n      if (answer) {\n        fs.mkdirSync(actpath);\n        await copy();\n        return true;\n      } else {\n        return false;\n      }\n    } else {\n      let stat = await fs.stat(actpath);\n      if (!!stat && !!stat.mtime) {\n        let howlongtime = howLong(stat.mtime);\n        let answer = await inquirer.prompt([\n          {\n            type: \"confirm\",\n            name: \"continue\",\n            message: howlongtime + \"更新过，需要覆盖吗？\",\n          },\n        ]);\n        if (answer.continue) {\n          await copy();\n          return true;\n        } else {\n          return false;\n        }\n      } else {\n        console.log(\"无法获取服务器文件信息，请检查文件\" + actpath);\n        return false;\n      }\n    }\n  }\n  async init() {\n    var config = await this.getConfig();\n    if (config) {\n      let res = await inquirer.prompt([\n        {\n          type: \"confirm\",\n          name: \"continue\",\n          message: \"已有配置存在，是否覆盖\",\n        },\n      ]);\n      if (!res.continue) {\n        return false;\n      }\n    }\n    try {\n      var res = await inquirer.prompt(this.question);\n      res = await fs.writeJson(this.configFile, res);\n      console.log(chalk.green(`创建成功`));\n    } catch (error) {\n      if (error.isTtyError) {\n        // Prompt couldn't be rendered in the current environment\n        console.log(\"无法渲染\");\n      } else {\n        // Something else when wrong\n        console.log(error);\n      }\n    }\n\n    //初始化一个项目\n    // config = this.checkConfig(config);\n    // var res = await fs.writeJson(this.configFile, config);\n    // return res;\n  }\n  async getConfig() {\n    try {\n      var isExist = await fs.exists(this.configFile);\n      if (!isExist) {\n        return isExist;\n      }\n      var res = await fs.readJson(this.configFile);\n      return res;\n    } catch (error) {\n      return null;\n    }\n  }\n  checkConfig(config) {\n    if (!config) {\n      config = {};\n    }\n    //游戏项目\n\n    config = Object.assign(defaultConfig, config);\n    return config;\n  }\n}\nmodule.exports = giantTools;\n"]}