Skip to content

Commit

Permalink
Merge pull request #37 from JC-Coder/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
JC-Coder authored Oct 9, 2023
2 parents 4155a17 + ba05b99 commit ece4bf8
Show file tree
Hide file tree
Showing 57 changed files with 741 additions and 708 deletions.
22 changes: 22 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: CI

on:
push:
branches:
- master
- dev
pull_request:

jobs:
prettier:
name: Pretier Check
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Run Prettier Check
run: "npm install && npm run lint"
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules/
package-lock.json
*.md
7 changes: 7 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"singleQuote": false,
"jsxSingleQuote": false,
"printWidth": 80,
"tabWidth": 2,
"semi": true
}
72 changes: 36 additions & 36 deletions cli.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#!/usr/bin/env node

import figlet from "figlet"
import { program } from "commander"
import chalk from "chalk"
import useGradient from "./src/utils/useGradient.js"
import { createBackendProject } from "./src/utils/create-backend-project.js"
import figlet from "figlet";
import { program } from "commander";
import chalk from "chalk";
import useGradient from "./src/utils/useGradient.js";
import { createBackendProject } from "./src/utils/create-backend-project.js";
import {
promptBackendFramework,
promptDatabase,
Expand All @@ -14,62 +14,62 @@ import {
promptOrm,
promptProjectName,
promptProjectStack,
} from "./src/utils/prompts.js"
import { createFrontendProject } from "./src/utils/create-frontend-project.js"
} from "./src/utils/prompts.js";
import { createFrontendProject } from "./src/utils/create-frontend-project.js";

const toolName = "StartEase"
const jsBackendStacks = ["expressjs", "nestjs"]
const toolName = "StartEase";
const jsBackendStacks = ["expressjs", "nestjs"];

program.version("1.0.0").description("StartEase CLI")
program.version("1.0.0").description("StartEase CLI");

program
.description("Scaffold a new project with StartEase")
.action(async () => {
await startProject()
})
await startProject();
});

program.parse(process.argv)
program.parse(process.argv);

async function startProject() {
let framework
let projectName
let projectStack
let initDB
let database
let orm
let language
let framework;
let projectName;
let projectStack;
let initDB;
let database;
let orm;
let language;

const initialMsg = `Simplify Project Setup with the. ${chalk.green(
toolName
)} CLI Tool.`
toolName,
)} CLI Tool.`;

// render cli title
renderTitle()
console.log(chalk.white(initialMsg))
renderTitle();
console.log(chalk.white(initialMsg));

projectName = await promptProjectName()
projectStack = await promptProjectStack()
projectName = await promptProjectName();
projectStack = await promptProjectStack();

/**
* start prompts
*/
if (projectStack === "frontend") {
framework = await promptFrontendFramework()
language = await promptFrontendLanguage()
framework = await promptFrontendFramework();
language = await promptFrontendLanguage();

await createFrontendProject(projectName, framework, language)
await createFrontendProject(projectName, framework, language);
} else if (projectStack === "backend") {
framework = await promptBackendFramework()
framework = await promptBackendFramework();

initDB = await promptInitDatabase()
initDB = await promptInitDatabase();

if (initDB) {
database = await promptDatabase()
database = await promptDatabase();

orm = await promptOrm(database)
orm = await promptOrm(database);
}

await createBackendProject(projectName, framework, database, orm)
await createBackendProject(projectName, framework, database, orm);
}
}

Expand All @@ -83,9 +83,9 @@ function renderTitle() {
verticalLayout: "default",
width: 80,
whitespaceBreak: true,
}
};

useGradient({
title: figlet.textSync("StartEase", figletConfig),
})
});
}
28 changes: 26 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 6 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
"main": "./cli.js",
"type": "module",
"scripts": {
"start": "node ./cli.js"
"start": "node ./cli.js",
"format": "prettier . --write",
"lint": "prettier . --check"
},
"keywords": [
"startease",
Expand All @@ -32,5 +34,8 @@
},
"bin": {
"startease-cli": "./cli.js"
},
"devDependencies": {
"prettier": "^3.0.3"
}
}
6 changes: 3 additions & 3 deletions src/test/expressjs/src/common/config/database.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import mongoose from 'mongoose';
import { ENVIRONMENT } from './environment';
import mongoose from "mongoose";
import { ENVIRONMENT } from "./environment";

export const connectDb = async () => {
try {
const conn = await mongoose.connect(ENVIRONMENT.DB.URL, {
useNewUrlParser: true,
useUnifiedTopology: true
useUnifiedTopology: true,
});

console.log(`MongoDB Connected: ${conn.connection.host}`);
Expand Down
22 changes: 11 additions & 11 deletions src/test/expressjs/src/common/config/environment.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import * as dotenv from 'dotenv';
dotenv.config()
import * as dotenv from "dotenv";
dotenv.config();

export const ENVIRONMENT = {
APP: {
NAME: process.env.APP_NAME,
PORT: process.env.PORT || 3000,
ENV: process.env.APP_ENV
},
DB: {
URL: process.env.DB_URL
}
}
APP: {
NAME: process.env.APP_NAME,
PORT: process.env.PORT || 3000,
ENV: process.env.APP_ENV,
},
DB: {
URL: process.env.DB_URL,
},
};
18 changes: 9 additions & 9 deletions src/test/expressjs/src/common/utils/appError.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
*/

export default class AppError extends Error {
constructor(message, statusCode, data) {
super(message);
constructor(message, statusCode, data) {
super(message);

this.statusCode = statusCode;
this.status = `${statusCode}`.startsWith("4") ? "fail" : "error";
this.isOperational = true;
this.data = data;
this.statusCode = statusCode;
this.status = `${statusCode}`.startsWith("4") ? "fail" : "error";
this.isOperational = true;
this.data = data;

Error.captureStackTrace(this, this.constructor);
}
}
Error.captureStackTrace(this, this.constructor);
}
}
Loading

0 comments on commit ece4bf8

Please sign in to comment.