{ "name": "demo-backend", "version": "1.0.0", "private": true, "description": "Two isolated NestJS demo APIs for testing frontend application architecture", "license": "UNLICENSED", "scripts": { "build": "tsc -p tsconfig.build.json", "typecheck": "tsc -p tsconfig.json --noEmit", "start:dev": "concurrently -k -n simple,complex -c blue,magenta \"npm:dev:simple\" \"npm:dev:complex\"", "dev:simple": "nest start --watch --entryFile apps/simple/main", "dev:complex": "nest start --watch --entryFile apps/complex/main", "start:simple": "node dist/apps/simple/main.js", "start:complex": "node dist/apps/complex/main.js", "openapi:generate": "npm run build && node dist/scripts/generate-openapi.js", "openapi:validate": "node dist/scripts/validate-openapi.js", "test": "jest", "test:e2e": "jest --runInBand", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \"*.{json,md}\" \"docs/**/*.md\"" }, "dependencies": { "@nestjs/common": "^11.1.6", "@nestjs/core": "^11.1.6", "@nestjs/jwt": "^11.0.1", "@nestjs/platform-express": "^11.1.6", "@nestjs/platform-socket.io": "^11.1.6", "@nestjs/swagger": "^11.2.0", "@nestjs/websockets": "^11.1.6", "class-transformer": "^0.5.1", "class-validator": "^0.14.2", "cookie": "^1.0.2", "cookie-parser": "^1.4.7", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.2", "socket.io": "^4.8.1" }, "devDependencies": { "@apidevtools/swagger-parser": "^12.0.0", "@nestjs/cli": "^11.0.10", "@nestjs/testing": "^11.1.6", "@types/cookie-parser": "^1.4.9", "@types/express": "^5.0.3", "@types/jest": "^29.5.14", "@types/multer": "^2.0.0", "@types/node": "^24.0.15", "@types/supertest": "^6.0.3", "concurrently": "^9.2.0", "jest": "^29.7.0", "prettier": "^3.6.2", "socket.io-client": "^4.8.1", "supertest": "^7.1.4", "ts-jest": "^29.4.0", "typescript": "^5.9.2" }, "overrides": { "@nestjs/swagger": { "js-yaml": "5.2.2" } }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": ".", "testRegex": ".*\\.e2e-spec\\.ts$", "transform": { "^.+\\.(t|j)s$": [ "ts-jest", { "tsconfig": "tsconfig.json" } ] }, "collectCoverageFrom": [ "src/**/*.(t|j)s" ], "coverageDirectory": "coverage", "testEnvironment": "node" } }