vinit
Version:
Automatic Generation repo
102 lines (98 loc) • 3.3 kB
JavaScript
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);
}
}