User Tools

Site Tools


cotrav_monorepo_package_creation_service_build_guide

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cotrav_monorepo_package_creation_service_build_guide [2026/01/19 12:05] – [Creating a Service] pradnyacotrav_monorepo_package_creation_service_build_guide [2026/01/27 08:38] (current) – [Cotrav Monorepo – Package Creation & Service Build Guide] pradnya
Line 1: Line 1:
 ====== Cotrav Monorepo – Package Creation & Service Build Guide ====== ====== Cotrav Monorepo – Package Creation & Service Build Guide ======
  
-This document describes **how to create shared packages and build/run services** in the Cotrav monorepo. It is **Confluence-ready** and can be pasted directly.+This document describes **how to create shared packages and build/run services** in the Cotrav monorepo. This is a centralizes multiple distinct projects, libraries, and apps into a single, unified repository, enabling easier code sharing, dependency management, and consistent tooling/standards across teams. 
 + 
 +Git - [[https://github.com/novusvinod/cotrav-services.git|https://github.com/novusvinod/cotrav-services.git]] 
 + 
 ===== Repository Structure ===== ===== Repository Structure =====
  
Line 23: Line 27:
  
 </code> </code>
 +
 ===== Prerequisites ===== ===== Prerequisites =====
  
Line 43: Line 48:
 cmd cmd
 <code> <code>
 +
 npm install npm install
 +
 +</code>
 +
 +===== Install Dependencies =====
 +
 +==== Logger ====
 +
 +<code>
 +npm install pino
 +
 +npm install -D @types/node
 +
 +</code>
 +
 +Error
 +
 +<code>
 +npm install -D @types/node
 +
 +</code>
 +
 +==== Middleware ====
 +
 +<code>
 +npm install express
 +
 +npm install -D @types/express @types/node
 +
 </code> </code>
  
Line 52: Line 86:
 cmd cmd
  
-<code>npm run build --workspace=packages/logger+<code> 
 +npm run build --workspace=packages/logger 
 </code> </code>
  
Line 59: Line 95:
 cmd cmd
  
-<code>npm run build --workspace=packages/errors+<code> 
 +npm run build --workspace=packages/errors 
 </code> </code>
  
Line 78: Line 116:
 <code> <code>
 cd workspace cd workspace
- 
 mkdir auth-service mkdir auth-service
- 
 cd auth-service cd auth-service
- 
 npm init -y npm init -y
  
Line 90: Line 125:
  
 <code> <code>
- 
 { {
- 
 "name": "auth-service", "name": "auth-service",
- 
 "version": "1.0.0", "version": "1.0.0",
- 
 "private": true, "private": true,
- 
 "type": "commonjs", "type": "commonjs",
- 
 "scripts": { "scripts": {
- 
 "dev": "ts-node src/app.ts", "dev": "ts-node src/app.ts",
- 
 "build": "tsc", "build": "tsc",
- 
 "start": "node dist/app.js" "start": "node dist/app.js"
- 
 }, },
- 
 "dependencies": { "dependencies": {
- 
 "express": "^5.0.0", "express": "^5.0.0",
- 
 "dotenv": "^17.0.0", "dotenv": "^17.0.0",
- 
 "@cotrav/logger": "*", "@cotrav/logger": "*",
- 
 "@cotrav/errors": "*", "@cotrav/errors": "*",
- 
 "@cotrav/middlewares": "*" "@cotrav/middlewares": "*"
- 
  }  }
- 
 } }
  
 +</code>
 +
 +==== Install Dependencies ====
 +
 +<code>
 +npm install
 +
 +npm install -D typescript
 +
 +npm install express dotenv jsonwebtoken bcryptjs swagger-ui-express swagger-jsdoc pino
 +
 +</code>
 +
 +Type deps
 +
 +<code>
 +npm install -D
 +@types/express
 +@types/node
 +@types/jsonwebtoken
 +@types/bcryptjs
 +@types/swagger-ui-express
 +
 +</code>
 +
 +==== Build Services & Packages ====
 +
 +Execute below command on root folder "cotrav-services"
 +
 +<code>
 +npm run build
 +
 +npm run typecheck
 +
 +</code>
 +
 +==== Run auth service in dev ====
 +
 +<code>
 +npm run dev:auth
 +
 +</code>
 +==== Clean all builds ====
 +
 +<code>npm run clean
 +</code>
 +
 +==== Sanity check (must work) ====
  
 +<code>npm workspaces list
 </code> </code>
  
  
cotrav_monorepo_package_creation_service_build_guide.1768824300.txt.gz · Last modified: by pradnya