-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
124 lines (124 loc) · 4.25 KB
/
Copy pathpackage.json
File metadata and controls
124 lines (124 loc) · 4.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
{
"name": "propflow",
"version": "0.0.1",
"description": "Event-driven property maintenance platform — NestJS microservices, RabbitMQ + Kafka, transactional outbox, LLM triage, JWT auth.",
"author": "Mhayk Whandson <hi@mhayk.com>",
"private": true,
"license": "MIT",
"scripts": {
"build": "nest build",
"format": "prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"",
"start": "nest start",
"start:dev": "nest start --watch",
"start:debug": "nest start --debug --watch",
"start:prod": "node dist/apps/api-gateway/main",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test": "jest",
"test:watch": "jest --watch",
"test:cov": "jest --coverage",
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
"test:e2e": "jest --config ./apps/api-gateway/test/jest-e2e.json && jest --config ./apps/work-orders-service/test/jest-e2e.json && jest --config ./apps/notifications-service/test/jest-e2e.json && jest --config ./apps/properties-service/test/jest-e2e.json && jest --config ./apps/audit-service/test/jest-e2e.json",
"openapi:export": "ts-node -r tsconfig-paths/register scripts/export-openapi.ts",
"demo": "bash scripts/demo.sh",
"typeorm:work-orders": "typeorm-ts-node-commonjs -d apps/work-orders-service/src/database/data-source.ts",
"typeorm:properties": "typeorm-ts-node-commonjs -d apps/properties-service/src/database/data-source.ts",
"typeorm:audit": "typeorm-ts-node-commonjs -d apps/audit-service/src/database/data-source.ts",
"migration:run": "npm run typeorm:work-orders -- migration:run && npm run typeorm:properties -- migration:run && npm run typeorm:audit -- migration:run",
"migration:revert:work-orders": "npm run typeorm:work-orders -- migration:revert",
"migration:revert:properties": "npm run typeorm:properties -- migration:revert"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.112.5",
"@golevelup/nestjs-rabbitmq": "^9.0.2",
"@nestjs/common": "^11.0.1",
"@nestjs/config": "^4.0.4",
"@nestjs/core": "^11.0.1",
"@nestjs/jwt": "^11.0.2",
"@nestjs/platform-express": "^11.0.1",
"@nestjs/swagger": "^11.4.6",
"@nestjs/terminus": "^11.1.1",
"@nestjs/typeorm": "^11.0.3",
"class-transformer": "^0.5.1",
"class-validator": "^0.15.1",
"kafkajs": "^2.2.4",
"nestjs-pino": "^4.6.1",
"pg": "^8.22.0",
"pino": "^10.3.1",
"pino-http": "^11.0.0",
"prom-client": "^15.1.3",
"reflect-metadata": "^0.2.2",
"rxjs": "^7.8.1",
"typeorm": "^1.1.0"
},
"devDependencies": {
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.18.0",
"@nestjs/cli": "^11.0.0",
"@nestjs/schematics": "^11.0.0",
"@nestjs/testing": "^11.0.1",
"@types/amqplib": "^0.10.8",
"@types/express": "^5.0.0",
"@types/jest": "^30.0.0",
"@types/node": "^24.0.0",
"@types/supertest": "^7.0.0",
"eslint": "^9.18.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-prettier": "^5.2.2",
"globals": "^17.0.0",
"jest": "^30.0.0",
"prettier": "^3.4.2",
"source-map-support": "^0.5.21",
"supertest": "^7.0.0",
"ts-jest": "^29.2.5",
"ts-loader": "^9.5.2",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.7.3",
"typescript-eslint": "^8.20.0"
},
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": ".",
"testRegex": ".*\\.spec\\.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"collectCoverageFrom": [
"apps/*/src/**/*.ts",
"libs/*/src/**/*.ts",
"!**/*.spec.ts",
"!**/main.ts",
"!**/*.module.ts",
"!**/app.setup.ts",
"!**/migrations/**",
"!**/database/data-source.ts",
"!**/index.ts"
],
"coverageReporters": [
"text-summary",
"lcov",
"json-summary"
],
"coverageThreshold": {
"global": {
"statements": 100,
"branches": 100,
"functions": 100,
"lines": 100
}
},
"coverageDirectory": "./coverage",
"testEnvironment": "node",
"roots": [
"<rootDir>/apps/",
"<rootDir>/libs/"
],
"moduleNameMapper": {
"^@app/(contracts|observability)(|/.*)$": "<rootDir>/libs/$1/src/$2"
}
}
}