majiar-cli v1.0.3
Majiar cli
esta linea de comandos te ayudara a la productividad al escribir codigo de express js ofreciendo la capacidad de crear proyectos, controladores, rutas, modelos al igual que su contraparte en Typescript
Instalación 🔧
puedes instalar Majiar CLI atravez de npm
npm install -g majiar-cli
esto permitira instalar de manera global Majiar CLI en su equipo y utilizar los comandos en cualquier parte de su pc
Uso
generando un projecto de express js
majiar new-project <nombre>
este comando creara una estructura basica de un proyecto de express js con un controlador, router y modelo de usuario
generando un projecto de express js usando typescript
majiar new-project <nombre> --ts
este comando creara una estructura basica de un proyecto de express js utilizando Typescript con un controlador, router y modelo de usuario
generando controlador
majiar g -c <nombre>
este comando creara un controlador con la siguiente estructura listo pra descomentar y darle nombre a la funcion que se exporta
// crea tus funciones
// exports.Fun = function(req, res) {
// }
generando controlador en typescript
majiar g -c <nombre> --ts
este comando creara un controlador utilizando typescript clases con la siguiente estructura, ademas de un metodo index
import { Response, Request } from "express";
import { CallbackError, Schema } from "mongoose";
import userModel from "../models/userModel";
class UserController{
constructor(){}
index(req:Request, res: Response){
res.status(200).send("userController");
}
}
const userController:UserController = new UserController();
export default userController;
generando modelo de mongodb
majiar g -m <nombre>
este comando creara un modelo de mongoose utilizando con la siguiente estructura con una propiedade name
let mongoose = require('mongoose');
const Schema = mongoose.Schema;
// crea tu Schema
const userSchema = new Schema({
name: String
});
module.exports = mongoose.model('User',userSchema);
generando modelo en typescript
majiar g -m <nombre> --ts
este comando creara un modelo de mongoose utilizando typescript y clases con la siguiente estructura ademas de una interfaz para que typescript reconozca las propiedades de su modelo con una propiedade name
import { Schema, model, Document } from "mongoose";
const userSchema: Schema = new Schema({
name: String,
});
interface iUser extends Document{
name: String;
};
export default model<iUser>('User', userSchema);
generando router
majiar g -r <nombre>
este comando creara un router con la siguiente estructura listo para descomentar el metodo get y llamar el metodo del controlador
let express = require('express');
let router = express.Router();
let userController = require('../controllers/userController');
// router.get('/', userController);
module.exports = router;
generando router en typescript
majiar g -r <nombre> --ts
este comando creara un router utilizando typescript y clases con la siguiente estructura listo para descomentar el metodo get y llamar el metodo del controlador
import { Router, Response, Request } from "express";
import userController from "../controllers/userController";
class UserRouter{
router: Router;
constructor(){
this.router = Router();
this.routes();
}
routes(){
// this.router.get('/', userController);
}
}
const userRouter = new UserRouter();
export default userRouter.router;