{"version":3,"sources":["jsdelivr-header.js","/npm/discord-template-generator@0.1.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ACJA,MAAM,OAAS,QAAQ,WACjB,GAAK,QAAQ,YACb,OAAS,QAAQ,WAEjB,QAAE,SAAY,QAAQ,aAG5B,eAAe,MAWX,GAAyB,WATJ,OAAO,CACxB,KAAO,SACP,KAAO,WACP,QAAU,kBACV,QAAW,CAAC,cACZ,QAAS,KAID,SAAe,CAEvB,IAAI,EAAW,CAAC,EAEhB,MAAM,SAAmB,GAAG,QAAQ,GAAG,QAAQ,WAAW,8BAA8B,KAAK,IACzF,IAAI,EAAO,QAAQ,GAAG,QAAQ,WAAW,6BAA6B,mBAOtE,YANoB,IAAT,IACP,EAAO,QAAQ,GAAG,QAAQ,WAAW,6BAA6B,mBAGtE,EAAK,IAAM,GAAG,QAAQ,WAAW,6BAA6B,IAEvD,CAAI,IAGT,EAAY,CAAC,CACf,KAAM,OACN,KAAM,OACN,QAAS,UACT,QAAS,gBACT,SAAU,KAAS,EAAM,OAAS,IAAI,2CAGtC,EAAU,OAAS,GACnB,EAAU,KAAK,CACX,KAAM,SACN,KAAM,WACN,QAAS,kBACT,QAAS,EAAU,KAAK,IAAa,CACjC,MAAO,EAAS,KAChB,YAAa,EAAS,YACtB,MAAO,EAAS,QAEpB,QAAS,IAIjB,MAAM,EAAW,IACP,EASV,GANA,QAAiB,OAAO,EAAW,CAAE,kBAEJ,IAAtB,EAAS,WAChB,EAAS,SAAW,EAAU,GAAG,WAG3B,GAAG,OAAO,EAAS,MAAO,EAWR,WARA,OAAO,CAC3B,KAAM,UACN,KAAM,QACN,QAAS,yEACT,SAAS,KAIC,cAGJ,GAAG,OAAO,EAAS,YAGnB,aAAa,EAAS,KAAM,EAAS,UAC3C,QAAQ,IAAI,yCAAyC,OAG7D,YACU,aAAa,EAAS,KAAM,EAAS,UAC3C,QAAQ,IAAI,yCAAyC,MAG7D,CACJ,CAGA,eAAe,aAAa,EAAM,SAExB,GAAG,KAAK,EAAU,EAAM,CAC1B,OAAQ,CAAC,EAAK,KACN,EAAI,SAAS,kBAK7B,CAnGA,QAAQ,QAAQ,QAAQ,KAqGxB,QACG,OAAO,YAAa,iCACpB,OAAO,aAAc,4BACrB,OAAO,gBAAiB,gCAG3B,QAAQ,MAAM,QAAQ,MAEtB,MAAM,QAAU,QAAQ,OAEpB,QAAQ,IACR,OAEK,QAAQ,KACb,QAAQ,IAAI,4JAA4J","file":"/npm/discord-template-generator@0.1.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/discord-template-generator@0.1.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","#!/usr/bin/env node\n\r\nconst prompt = require('prompts')\r\nconst fs = require('fs-extra')\r\nconst colors = require('colors')\r\n\r\nconst { program } = require('commander');\r\nprogram.version('0.1.1'.red);\r\n\r\nasync function run() {\r\n\r\n    let category = await prompt({\r\n        type : \"select\",\r\n        name : \"category\",\r\n        message : \"Pick a Category\",\r\n        choices :  [\"Javascript\"] ,\r\n        initial: 0\r\n    })\r\n\r\n    // console.log(name.name)\r\n    if(category.category === 0){\r\n\r\n        let response = {}\r\n\r\n        const templates = (await fs.readdir(`${process.mainModule.path}/templates/Javascript`)).map((template) => {\r\n            let info = require(`${process.mainModule.path}/templates/Javascript/${template}/template.json`);\r\n            if (typeof info === \"undefined\") {\r\n                info = require(`${process.mainModule.path}/templates/Javascript/${template}/package.json`);\r\n            }\r\n    \r\n            info.dir = `${process.mainModule.path}/templates/Javascript/${template}`;\r\n    \r\n            return info;\r\n        });\r\n\r\n        const questions = [{\r\n            type: \"text\",\r\n            name: \"name\",\r\n            initial: \"project\",\r\n            message: \"project name?\",\r\n            validate: value => value.length < 3 ? `Name have to be more than 3 characters` : true\r\n        }];\r\n\r\n        if (templates.length > 1) {\r\n            questions.push({\r\n                type: \"select\",\r\n                name: \"template\",\r\n                message: \"Pick a template\",\r\n                choices: templates.map((template) => ({\r\n                    title: template.name,\r\n                    description: template.description,\r\n                    value: template.dir\r\n                })),\r\n                initial: 0\r\n            });\r\n        }\r\n\r\n        const onCancel = prompt => {\r\n           return true;\r\n        }\r\n\r\n        response = await prompt(questions, { onCancel });\r\n\r\n        if (typeof response.template === \"undefined\") {\r\n            response.template = templates[0].dir;\r\n        }\r\n\r\n        if (await fs.exists(response.name)) {\r\n\r\n            // Ask if we should override\r\n            const overwrite = await prompt({\r\n                type: 'confirm',\r\n                name: 'value',\r\n                message: 'You already have a project with that name do you want to overwrite it?',\r\n                initial: false\r\n            });\r\n    \r\n            // Override the project if the user said yes\r\n            if (overwrite.value === true) {\r\n    \r\n                // Remove old files\r\n                await fs.remove(response.name);\r\n    \r\n                // Copy the template\r\n                await copyTemplate(response.name, response.template);\r\n                console.log('\\n[+] Successfully Generated template!'.green)\r\n            }\r\n    \r\n        } else {\r\n            await copyTemplate(response.name, response.template);\r\n            console.log('\\n[+] Successfully Generated template!'.green)\r\n        }\r\n    \r\n    }\r\n}\r\n\r\n\r\nasync function copyTemplate(name, template) {\r\n\r\n    await fs.copy(template, name, {\r\n        filter: (src, dest) => {\r\n            if (src.includes(\"template.json\"))\r\n                return false;\r\n            return true;\r\n        }\r\n    });\r\n}\r\n\r\nprogram\r\n  .option('-g, --gen', 'generate discord bot template')\r\n  .option('-h, --help', 'get help of the package!')\r\n  .option('-v, --version', 'version info of the package!')\r\n\r\n\r\nprogram.parse(process.argv);\r\n\r\nconst options = program.opts();\r\n\r\nif (options.gen){\r\n    run();\r\n}\r\nelse if (options.help){\r\n    console.log('\\nOptions:\\n\\n-h, --help, get help of the package!\\n-v , --version, version info of the package!\\n\\nCommands:\\n\\n-g, --gen, generate discord bot template'.cyan)\r\n}else {\r\n    console.log('\\nOptions:\\n\\n-h, --help, get help of the package!\\n-v , --version, version info of the package!\\n\\nCommands:\\n\\n-g, --gen, generate discord bot template'.cyan)\r\n}\r\n\r\n"]}