[refactor] [m]: update main CLI method
This commit is contained in:
@@ -52,6 +52,7 @@ async function promptPath() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main method to start CLI and validate inputs
|
* Main method to start CLI and validate inputs
|
||||||
*/
|
*/
|
||||||
@@ -81,27 +82,41 @@ async function run() {
|
|||||||
|
|
||||||
const root = path.join(__dirname + "/../portal");
|
const root = path.join(__dirname + "/../portal");
|
||||||
|
|
||||||
const parsedPath = path.resolve(projectPath);
|
if (isPathInUse(projectPath)) {
|
||||||
const project = path.basename(parsedPath);
|
|
||||||
|
|
||||||
console.log();
|
console.log();
|
||||||
console.log(
|
console.log(
|
||||||
`Begin Instalation of new portal.js on ${chalk.cyan(projectPath)} folder`
|
`${chalk.yellow(
|
||||||
|
"Path " +
|
||||||
|
chalk.redBright(projectPath) +
|
||||||
|
" is already in use and is not empty."
|
||||||
|
)}`
|
||||||
);
|
);
|
||||||
console.log();
|
console.log();
|
||||||
//TODO Move this method to another one to keep more functional and split responsabilites
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// print a fancy Portal.js in the terminal
|
||||||
|
console.log(
|
||||||
|
chalk.yellow(figlet.textSync("Portal.Js", { horizontalLayout: "full" }))
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log();
|
||||||
|
console.log(`Creating new portal.js app in ${chalk.cyan(projectPath)}`);
|
||||||
|
console.log();
|
||||||
|
|
||||||
|
//Tasks workflow
|
||||||
const tasks = new Listr([
|
const tasks = new Listr([
|
||||||
{
|
{
|
||||||
title: "Fetching Content",
|
title: "Fetching Content",
|
||||||
task: () => copy(root, project),
|
task: () => copy(root, projectPath),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Updating Content",
|
title: "Updating Content",
|
||||||
task: () => "",
|
task: () => replace(projectPath),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Installing Dependencies",
|
title: "Installing Dependencies",
|
||||||
task: () => install(project, true),
|
task: () => install(projectPath, program.useNpm),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Git Init",
|
title: "Git Init",
|
||||||
@@ -111,7 +126,7 @@ async function run() {
|
|||||||
|
|
||||||
tasks.run().then(() => {
|
tasks.run().then(() => {
|
||||||
console.log();
|
console.log();
|
||||||
console.log(`${chalk.greenBright("Instalation Completed!")}`);
|
console.log(`${chalk.greenBright("Instalation Completed Successfully")}`);
|
||||||
console.log();
|
console.log();
|
||||||
console.log(
|
console.log(
|
||||||
`Run ${chalk.cyan("cd " + projectPath)} and ${chalk.green(
|
`Run ${chalk.cyan("cd " + projectPath)} and ${chalk.green(
|
||||||
|
|||||||
Reference in New Issue
Block a user