UNPKG

vinit

Version:

Automatic Generation repo

102 lines (98 loc) 3.3 kB
const inquirer = require('inquirer'); const file = require('./file'); // vinit my-repo "just a test repository" // use minimist This will set the default name to my-repo and the description to just a test repository. // const argv = require('minimist')(process.argv.slice(2)); // { _: [ 'my-repo', 'just a test repository' ] } module.exports = { askGithubCredentials: function () { const question = [ { name: 'username', type: 'input', message: 'Enter your GitHub username or e-mail address:', validate: function (value) { if (value.length) { return true; } else { return 'Please enter your username or e-mail address.'; } } }, { name: 'password', type: 'password', message: 'Enter your password:', validate: function (value) { if (value.length) { return true; } else { return 'Please enter your password.'; } } } ]; return inquirer.prompt(question); }, askRepoDetails: function(){ const argv = require('minimist')(process.argv.slice(2)); const questions = [ { type: 'input', name: 'name', message: 'Enter a name for the repository:', default: argv._[0] || file.getCurrentDir(), validate: function( value ) { if (value.length) { return true; } else { return 'Please enter a name for the repository.'; } } }, { type: 'input', name: 'description', default: argv._[1] || null, message: 'Optionally enter a description of the repository:' }, { type: 'list', name: 'visibility', message: 'Public or private:', choices: [ 'public', 'private' ], default: 'public' } ]; return inquirer.prompt(questions); }, askRegeneratedToken: () => { const questions = [ { name: 'token', type: 'input', message: 'Enter your new regenerated token:', validate: function( value ) { if (value.length) { return true; } else { return 'Please enter your new regenerated token:.'; } } } ]; return inquirer.prompt(questions); }, askIgnoreFiles: function(filelist){ const questions = [ { type: 'checkbox', name: 'ignore', message: 'Select the files and/or folders you wish to ignore:', choices: filelist, default: ['node_modules', 'bower_components'] } ]; return inquirer.prompt(questions); } }