{"version":3,"sources":["jsdelivr-header.js","/npm/generator-thunderball@0.3.0/app/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,EAAI,QAAQ,UACZ,MAAQ,QAAQ,SAChB,UAAY,QAAQ,oBACpB,MAAQ,QAAQ,SAEtB,OAAO,QAAU,cAAc,UAC7B,SAAA,GAEE,MAAM,EAAa,CAAC,cAAe,UAAW,cAAe,QAAS,aAAc,YAAa,YAAa,WAAY,cAAe,WAAY,QAAS,WAAY,YAAa,UACvL,KAAK,IAAI,MACP,kBAAkB,MAAM,KAAK,EAAW,KAAK,MAAM,KAAK,SAAW,EAAW,aAAa,MAAM,IAAI,8BAGvG,MAAM,EAAU,CAAC,CACf,KAAM,QACN,KAAM,cACN,QAAS,EAAE,WAAW,KAAK,SAC3B,QAAS,2CACT,OAAO,EACP,SAAS,KACE,GAEV,CACD,KAAM,QACN,KAAM,OACN,QAAS,EAAE,UAAU,KAAK,SAC1B,QAAS,sDACT,OAAO,EACP,SAAS,KACE,GAEV,CACD,KAAM,QACN,KAAM,cACN,QAAS,8CACT,OAAO,EACP,SAAS,KACE,GAEV,CACD,KAAM,UACN,KAAM,sBACN,QAAS,iDACT,SAAS,EACT,OAAO,IAGT,OAAO,KAAK,OAAO,GAAS,MAAM,IAEhC,KAAK,MAAQ,CAAK,GAEtB,CAEA,OAAA,GAEE,KAAK,GAAG,KACN,KAAK,aAAa,IAClB,KAAK,gBAAgB,IACrB,KAAK,MACL,KACA,CACE,YAAa,CACX,KAAK,KAKX,MAAM,EAAW,CAAC,IAAI,KAAK,aAAa,eAExC,KAAK,GAAG,QACN,CAAC,KAAK,aAAa,OAAQ,GAC3B,KAAK,gBAAgB,IACrB,KAAK,MACL,KACA,CACE,YAAa,CACX,KAAK,IAIb,CAEA,OAAA,GACM,KAAK,MAAM,qBACb,KAAK,oBAAoB,CACvB,KAAK,EACL,OAAO,GAGb","file":"/npm/generator-thunderball@0.3.0/app/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/generator-thunderball@0.3.0/app/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 _ = require('lodash');\nconst chalk = require('chalk');\nconst Generator = require('yeoman-generator');\nconst yosay = require('yosay');\n\nmodule.exports = class extends Generator {\n  prompting() {\n    // Greet the user\n    const adjectives = ['spectacular', 'amazing', 'stupendeous', 'super', 'remarkable', 'thrilling', 'wonderous', 'dazzling', 'sensational', 'historic', 'grand', 'striking', 'marvelous', 'rotund'];\n    this.log(yosay(\n      `Welcome to the ${chalk.blue(adjectives[Math.floor(Math.random() * adjectives.length)])} ${chalk.red('thunderball')} generator!`\n    ));\n\n    const prompts = [{\n      type: 'input',\n      name: 'displayName',\n      default: _.capitalize(this.appname),\n      message: 'What\\'s the display name of your project?',\n      store: true,\n      validate(input) {\n        return !!input;\n      }\n    }, {\n      type: 'input',\n      name: 'name',\n      default: _.kebabCase(this.appname),\n      message: 'What\\'s the name of the repository for your project?',\n      store: true,\n      validate(input) {\n        return !!input;\n      }\n    }, {\n      type: 'input',\n      name: 'description',\n      message: 'What\\'s a short description of this project?',\n      store: true,\n      validate(input) {\n        return !!input;\n      }\n    }, {\n      type: 'confirm',\n      name: 'installDependencies',\n      message: 'Run \"npm install\" to install all dependencies?',\n      default: true,\n      store: true\n    }];\n\n    return this.prompt(prompts).then((props) => {\n      // To access props later use this.props.displayName;\n      this.props = props;\n    });\n  }\n\n  writing() {\n    // copy all files in one go\n    this.fs.copy(\n      this.templatePath(''),\n      this.destinationPath(''),\n      this.props,\n      null,\n      {\n        globOptions: {\n          dot: true\n        }\n      }\n    );\n    // now go back and template all files except ones that would break templating\n    const copyOnly = [`!${this.templatePath('**/*.png')}`];\n\n    this.fs.copyTpl(\n      [this.templatePath(''), ...copyOnly],\n      this.destinationPath(''),\n      this.props,\n      null,\n      {\n        globOptions: {\n          dot: true\n        }\n      }\n    );\n  }\n\n  install() {\n    if (this.props.installDependencies) {\n      this.installDependencies({\n        npm: true,\n        bower: false\n      });\n    }\n  }\n};\n"]}