UNPKG

vinit

Version:

Automatic Generation repo

76 lines (65 loc) 2.23 kB
#!/usr/bin/env node const chalk = require('chalk'); //colorizes the output const clear = require('clear'); //clears the terminal screen const figlet = require('figlet'); //creates ASCII art from text const file = require('./lib/file'); // include file module const inquirer = require('./lib/inquirer'); const github = require('./lib/github'); const repo = require('./lib/repo'); const getGithubToken = async () => { // Fetch token from config store let token = github.getStoredGithubToken(); if(token) { return token; } // No token found, use credentials to access github account await github.setGithubCredentials(); // Check if access token for ginit was registered const accessToken = await github.hasAccessToken(); if(accessToken) { console.log(chalk.yellow('An existing access token has been found!')); // ask user to regenerate a new token token = await github.regenerateNewToken(accessToken.id); return token; } // No access token found, register one now token = await github.registerNewToken(); return token; } clear(); //强制清空控制台 console.log( chalk.magenta( figlet.textSync('Vinit', { horizontalLayout: 'full' }) ) ); // check .git exists // if (file.isDirExists('.git')) { // console.log(chalk.red('😒 Already a git repository!!')); // process.exit(); // } const run = async function(){ try { const token = await getGithubToken(); github.githubAuth(token); const url =await repo.createRemoteRepo(); await repo.createGitignore(); const done = await repo.setupRepo(url); if(done) { console.log(chalk.yellow('All done!')); } } catch (error) { if(error){ switch (error.code) { case 401: console.log(chalk.red('Couldn\'t log you in. Please provide correct credentials/token.')); break; case 422: console.log(chalk.red('There already exists a remote repository with the same name')); break; default: console.log(chalk.red(error)); } } } } run();