{"version":3,"sources":["jsdelivr-header.js","/npm/skyc@0.0.21/bin/mainC.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ACJA,IAAI,QAAU,QAAQ,aACtB,QAAQ,QAAQ,UAChB,QACK,OAAO,cAAe,0BACtB,OAAO,cAAe,oBACtB,OAAO,0BAA2B,oBAClC,OAAO,2BAA4B,UACxC,QAAQ,MAAM,QAAQ,MAEtB,MAAM,GAAK,QAAQ,MACb,KAAO,QAAQ,QACf,YAAc,QAAQ,oBACtB,OAAS,QAAQ,oBACjB,UAAY,QAAQ,uBAG1B,SAAS,UAAU,EAAS,GACT,GAAG,UAAU,GAC5B,EAAS,EACb,CAGA,SAAS,SAAS,EAAY,GAC1B,GAAG,aAAa,EAAY,EAAY,EAC5C,CAGA,SAAS,QAAQ,EAAK,EAAU,GAC5B,UAAU,KAAK,KAAK,UAAW,IAAM,SAAU,GAC/B,GAAR,EACA,EAAS,GAET,GAAG,KAAK,KAAK,KAAK,UAAW,IAAM,SAAU,EAAK,GAC9C,GAAI,EAGA,OAFA,EAAS,QACT,QAAQ,IAAI,GAGhB,GAAI,EAAK,SAAU,CACf,IAAI,EAAa,EAAI,QAAQ,OAAO,YAAa,OAAO,YAAc,IAAM,OAAO,aAEnF,SAAS,KAAK,KAAK,UAAW,GAAM,GACvB,GAAT,IACA,EAAS,KACT,QAAQ,IAAI,WAEpB,KAAO,CAGH,UAFiB,EAAI,QAAQ,OAAO,YAAa,OAAO,YAAc,IAAM,OAAO,cAE7D,WAClB,GAAG,QAAQ,KAAK,KAAK,UAAW,IAAM,SAAU,EAAK,GACjD,GAAI,EAAK,OAAO,QAAQ,IAAI,GAC5B,IAAI,EAAO,EAAK,KAAI,GAAU,KAAK,KAAK,EAAK,KAE7C,IAAK,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CAE9B,QADc,EAAK,IACF,WAEjB,GAAG,EAAQ,EACf,CACa,GAAT,IACA,EAAS,KACT,QAAQ,IAAI,WAEpB,GACJ,GACJ,CACJ,GAER,GACJ,CAGA,SAAS,UAAU,EAAU,GAEzB,GAAG,KAAK,GAAU,SAAU,EAAK,GAC7B,GAAI,EAAK,OAAO,QAAQ,IAAI,GACxB,EAAK,SACL,GAAG,OAAO,EAAU,GAEpB,GAAG,QAAQ,GAAU,SAAU,EAAK,GAChC,GAAI,EAAK,OAAO,QAAQ,IAAI,GAC5B,IAAI,EAAO,EAAK,KAAI,GAAO,KAAK,KAAK,EAAU,KAC3C,EAAQ,GACX,SAAU,IAEH,IAAU,EAAK,OACf,GAAG,MAAM,EAAU,GAEnB,UAAU,EAAK,KAAU,EAEhC,CAPA,EAQL,GAER,GACJ,CAEA,SAAS,mBAEL,UAAU,OAAO,aAAa,WAE9B,IACA,QAAQ,IAAI,aAGZ,UADgB,OAAO,YAAc,IAAM,OAAO,YAAc,cAC3C,WACrB,IACA,QAAQ,IAAI,mBACZ,gBAGA,QAAQ,OAAO,aAAa,WAExB,YAAY,YAAY,QACxB,QAAQ,IAAI,OAChB,GAAG,EAEP,CAQA,SAAS,UAAU,EAAM,GACrB,IACI,GAAG,WAAW,EAAM,GAAG,UAAU,KAAO,GAAG,UAAU,MACrD,EAAS,IACb,CAAE,MAAO,GACL,EAAS,EACb,CACJ,CAUA,SAAS,gBACL,GAAG,SAAS,KAAK,KAAK,UAAW,OAAO,gBAAiB,SAAS,SAAU,EAAK,GACzE,EACA,QAAQ,IAAI,OAAS,IAErB,QAAQ,IAAI,eAIZ,eAHoB,EAAK,QAAQ,mBAAoB,OAAO,aAC1B,QAAQ,0BAA2B,OAAO,oBAC1C,QAAQ,+BAAgC,OAAO,0BAGzF,GACJ,CAGA,SAAS,eAAe,GACpB,IAAI,EAAgB,OAAO,YAAc,IAAM,OAAO,YAAlC,6BACpB,GAAG,UAAU,EAAe,EAAM,CAAE,KAAQ,MAAO,SAAU,GACzD,GAAI,EACA,MAAM,EAEV,QAAQ,IAAI,YAChB,GACJ,CAMA,SAAS,aACD,UAAU,OAAO,aAAa,SAAU,GAC3B,IAAT,EACA,mBAGA,UAAU,OAAO,aAAa,WAC1B,kBACJ,GAER,GACJ,CAMA,SAAS,aAAa,GAClB,UAAU,GAAK,GACf,UAAU,QAAQ,EACtB,CAKA,SAAS,KAAK,GAEP,EAAK,aACJ,QAAQ,IAAI,UAAU,EAAK,YAE3B,aADgB,EAAK,aAIzB,GAAI,QAAQ,UAAW,CAEnB,IAAI,EAAW,GAAG,QAAQ,YACT,QAAb,GAAmC,QAAb,GACtB,YAER,CACJ,CAEA,KAAK","file":"/npm/skyc@0.0.21/bin/mainC.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/skyc@0.0.21/bin/mainC.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#!/usr/bin/env node\n\nvar program = require(\"commander\");\nprogram.version(\"0.0.21\");\nprogram\n    .option('-d, --debug', 'output extra debugging')\n    .option('-s, --small', 'small pizza size')\n    .option('-p, --pizza-type <type>', 'flavour of pizza')\n    .option('-c, --config-file <type>', '配置文件路径');\nprogram.parse(process.argv);\n\nconst fs = require('fs'); //文件模块\nconst path = require('path');\nconst plistConfig = require('./createPlist.js');\nconst config = require('./XcodeConfig.js');\nconst xmlConfig = require('./setConfigByXML.js')\n\n//2. fs.mkdir  创建目录 \nfunction createDir(dirName, callback) {\n    var response = fs.mkdirSync(dirName);\n    callback(callback);\n}\n\n//复制文件\nfunction copyFile(originPath, targetPath) {\n    fs.copyFileSync(originPath, targetPath, 0)\n}\n\n//读取目录下所有文件\nfunction copyDir(dir, callback, level) {\n    fileExist(path.join(__dirname, dir), function (flag) {\n        if (flag == 0) {  //目录不存在\n            callback(0);  //返回资源目录不存在\n        } else {  \t\t  //目录存在\n            fs.stat(path.join(__dirname, dir), function (err, stat) {\n                if (err) {\n                    callback(1);\n                    console.log(err);\n                    return;\n                }\n                if (stat.isFile()) {  //是文件\n                    var newFileDir = dir.replace(config.resourceDir, config.projectName + \"/\" + config.projectName);\n                    // console.log(\"生成文件---\" + newFileDir);\n                    copyFile(path.join(__dirname, dir), newFileDir);\n                    if (level == 0) {\n                        callback(200);\n                        console.log(\"复制文件成功！\");\n                    }\n                } else {   //是目录\n                    var newPathDir = dir.replace(config.resourceDir, config.projectName + \"/\" + config.projectName);\n                    // console.log(\"创建目录---\" + newPathDir);\n                    createDir(newPathDir, function () {\n                        fs.readdir(path.join(__dirname, dir), function (err, data) {  //读取当前目录\n                            if (err) return console.log(err);\n                            let dirs = data.map(subdir => path.join(dir, subdir));\n                            //此处要递归\n                            for (i = 0; i < dirs.length; i++) {\n                                var sub_dir = dirs[i];\n                                copyDir(sub_dir, function () {\n\n                                }, level + 1);\n                            }\n                            if (level == 0) {\n                                callback(200);\n                                console.log(\"复制文件成功！\");\n                            }\n                        });\n                    });\n                }\n            });\n        }\n    });\n}\n\n//删除目录\nfunction removeDir(filePath, callback) {\n    // 先判断当前filePath的类型(文件还是文件夹,如果是文件直接删除, 如果是文件夹, 去取当前文件夹下的内容, 拿到每一个递归)\n    fs.stat(filePath, function (err, stat) {\n        if (err) return console.log(err)\n        if (stat.isFile()) {\n            fs.unlink(filePath, callback)\n        } else {\n            fs.readdir(filePath, function (err, data) {\n                if (err) return console.log(err)\n                let dirs = data.map(dir => path.join(filePath, dir))\n                let index = 0\n                !(function next() {\n                    // 此处递归删除掉所有子文件 后删除当前 文件夹\n                    if (index === dirs.length) {\n                        fs.rmdir(filePath, callback)\n                    } else {\n                        removeDir(dirs[index++], next)\n                    }\n                })()\n            })\n        }\n    });\n}\n\nfunction createProjectDir() {\n    //创建工程目录\n    createDir(config.projectName, function () {\n\n    });\n    console.log(\"工程目录创建成功！\");\n    //创建工程的配置文件目录和文件\n    var configDir = config.projectName + \"/\" + config.projectName + \".xcodeproj\";\n    createDir(configDir, function () {\n    });\n    console.log(\"创建源目录和工程配置目录成功！\")\n    readlocalFile();\n    //创建工程源文件放的目录\n    // var sourceDir = config.projectName + \"/\" + config.projectName;\n    copyDir(config.resourceDir, function () {\n        //设置info.plist配置文件\n        plistConfig.createPlist(config);\n        console.log(\"配置成功\");\n    }, 0);\n\n}\n\n/**\n * 判断文件/目录是否存在\n * @param {路径} path \n * @param {*回调} callback \n */\n\nfunction fileExist(path, callback) {\n    try {\n        fs.accessSync(path, fs.constants.R_OK | fs.constants.W_OK);\n        callback(200);\n    } catch (error) {\n        callback(0);\n    }\n}\n\n/***\n * 配置文件core\n */\n/**\n * 路径格式\n * 工程名 #{ProjectName}#\n * 工程展示名 #{ProjectDispalyName}\n */\nfunction readlocalFile() {\n    fs.readFile(path.join(__dirname, config.configFilePath), 'utf-8', function (err, data) {\n        if (err) {\n            console.log(\"err=\" + err);\n        } else {\n            console.log(\"读取工程配置文件成功！\");\n            var newConfigProj = data.replace(/#{ProjectName}#/g, config.projectName);\n            var newConfigProj = newConfigProj.replace(/#{ProjectDispalyName}#/g, config.projectDispalyName);\n            var newConfigProj = newConfigProj.replace(/#{ProductBundleIdentifier}#/g, config.productBundleIdentifier);\n            writelocalFile(newConfigProj);\n        }\n    });\n}\n\n//fs创建目录\nfunction writelocalFile(data) {\n    var newConfigPath = config.projectName + \"/\" + config.projectName + \".xcodeproj\" + \"/project.pbxproj\";\n    fs.writeFile(newConfigPath, data, { 'flag': 'a' }, function (err) {\n        if (err) {\n            throw err;\n        }\n        console.log('配置文件生成完成！');\n    });\n}\n\n/**\n * \n * @param {创建平台} arvg \n */\nfunction create_ios() {\n    if (fileExist(config.projectName, function (flag) {\n        if (flag === 0) {  //文件不存在\n            createProjectDir();\n        } else {   // 文件存在\n            //删除已经存在的工程\n            removeDir(config.projectName, function () {\n                createProjectDir();\n            });\n        }\n    }));\n}\n\n/**\n * 读取xml文件的信息，配置到工程里\n * @param {*} fileName\n */\nfunction setConfigXml(fileName){\n    xmlConfig.fs = fs;\n    xmlConfig.readXML(fileName);\n}\n\n/**\n * 配置文件\n */\nfunction main(arvg) {\n\n    if(arvg.configFile){  //配置文件存在\n        console.log(\"配置文件路径=\"+arvg.configFile)\n        var configXML = arvg.configFile;\n        setConfigXml(configXML);\n    }\n\n    if (program.pizzaType) {\n        // console.log(`- ${program.pizzaType}`);\n        var platform = `${program.pizzaType}`;\n        if (platform === 'ios' || platform === \"IOS\") {\n            create_ios();\n        }\n    }\n}\n\nmain(program);\n"]}