The lts generate
(or g
) command is your tool for creating modular components like controllers, services, validators, or resources in LightTs . It generates clean, editable Node.js code tailored to your naming style (Angular or regular), saving you time while keeping your project organized.
lts generate <type> <name>
Choose a Type : Pick controller
, service
, validate
, or resource
.
Name It : Specify a name (e.g., user
, product
).
Generate : Run lts g <type> <name>
to create files in src/modules/<name>/
.
Controller
Handles HTTP requests with clean, Express-based routing.
import express from ' express ' ;
< !-- import services from ' ./user.service ' ; -- >
const router = express . Router ();
router . get ( ' / ' , services . hello );
import { Router } from ' express ' ;
import userController from " @/modules/user/user.controller " ;
router . use ( ' /user ' , userController );
Service
Manages business logic, keeping controllers lean.
import { MessageResponse } from ' @/core/responses/message.response ' ;
import { Request , Response } from ' express ' ;
hello : async ( req : Request , res : Response ) => {
new MessageResponse ( res , { message : ' Hello LightTs! ' });
Validator
Creates Joi schemas for robust input validation.
create : Joi . object (). keys ({
name : Joi . string (). required (),
email : Joi . string (). email (). required (),
Resource
Generates a full module: controller, service, and validator.
Creates src/modules/product/
with:
product.controller.ts
product.service.ts
product.schema.ts
Naming : Files follow your lts init
choice (Angular-style: user.service.ts
or regular: user.ts
).
Modularity : Components are organized in src/modules/<name>/
for scalability.
Customization : Generated code uses standard Node.js libraries, ready for your tweaks.
Add Features Extend your project with JWT, validation, and more.