Phase 0 - Base modules (100% copy): - shared/ (errors, middleware, services, utils, types) - auth, users, tenants (multi-tenancy) - ai, audit, notifications, mcp, payment-terminals - billing-usage, branches, companies, core Phase 1 - Modules to adapt (70-95%): - partners (for shippers/consignees) - inventory (for refacciones) - financial (for transport costing) Phase 2 - Pattern modules (50-70%): - ordenes-transporte (from sales) - gestion-flota (from products) - viajes (from projects) Phase 3 - New transport-specific modules: - tracking (GPS, events, alerts) - tarifas-transporte (pricing, surcharges) - combustible-gastos (fuel, tolls, expenses) - carta-porte (CFDI complement 3.1) Estimated token savings: ~65% (~10,675 lines) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
69 lines
1.9 KiB
JSON
69 lines
1.9 KiB
JSON
{
|
|
"name": "@erp-transportistas/backend",
|
|
"version": "1.0.0",
|
|
"description": "Backend API para ERP Transportistas - Vertical de transporte de carga y logistica",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"dev": "tsx watch src/index.ts",
|
|
"build": "tsc",
|
|
"start": "node dist/index.js",
|
|
"lint": "eslint src --ext .ts",
|
|
"lint:fix": "eslint src --ext .ts --fix",
|
|
"test": "jest",
|
|
"test:watch": "jest --watch",
|
|
"test:cov": "jest --coverage",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"bcryptjs": "^2.4.3",
|
|
"class-transformer": "^0.5.1",
|
|
"class-validator": "^0.14.3",
|
|
"compression": "^1.7.4",
|
|
"cors": "^2.8.5",
|
|
"date-fns": "^2.30.0",
|
|
"dotenv": "^16.3.1",
|
|
"express": "^4.18.2",
|
|
"helmet": "^7.1.0",
|
|
"ioredis": "^5.8.2",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"morgan": "^1.10.0",
|
|
"pg": "^8.11.3",
|
|
"reflect-metadata": "^0.2.2",
|
|
"swagger-jsdoc": "^6.2.8",
|
|
"swagger-ui-express": "^5.0.1",
|
|
"typeorm": "^0.3.28",
|
|
"uuid": "^9.0.1",
|
|
"winston": "^3.11.0",
|
|
"xml2js": "^0.6.2",
|
|
"zod": "^3.22.4"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"@types/compression": "^1.7.5",
|
|
"@types/cors": "^2.8.17",
|
|
"@types/express": "^4.17.21",
|
|
"@types/ioredis": "^4.28.10",
|
|
"@types/jest": "^29.5.11",
|
|
"@types/jsonwebtoken": "^9.0.5",
|
|
"@types/morgan": "^1.9.9",
|
|
"@types/node": "^20.10.4",
|
|
"@types/pg": "^8.10.9",
|
|
"@types/swagger-jsdoc": "^6.0.4",
|
|
"@types/swagger-ui-express": "^4.1.8",
|
|
"@types/uuid": "^9.0.7",
|
|
"@types/xml2js": "^0.4.14",
|
|
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
"@typescript-eslint/parser": "^6.14.0",
|
|
"eslint": "^8.56.0",
|
|
"jest": "^29.7.0",
|
|
"ts-jest": "^29.1.1",
|
|
"tsx": "^4.6.2",
|
|
"typescript": "^5.3.3"
|
|
},
|
|
"engines": {
|
|
"node": ">=20.0.0"
|
|
},
|
|
"author": "ISEM",
|
|
"license": "PROPRIETARY"
|
|
}
|