{ "name": "wealth-ledger-backend", "version": "2.2.0", "description": "", "author": "", "private": true, "license": "UNLICENSED", "engines": { "node": "v24.22.1" }, "scripts": { "build": "prisma generate && nest build", "openapi:generate": "npm run build && node scripts/generate-openapi.cjs", "openapi:check": "npm run build && node scripts/generate-openapi.cjs --check", "format": "npm run lint:fix", "start": "nest start", "start:dev": "NODE_ENV=development nest start --watch --path tsconfig.dev.json", "start:debug": "NODE_ENV=development nest start --debug --watch --path tsconfig.dev.json", "start:prod": "node dist/src/main.js", "lint": "npm run lint:check", "lint:check": "eslint . --max-warnings=0", "lint:fix": "eslint . --fix --max-warnings=0", "typecheck:app": "tsc --project tsconfig.typecheck.app.json", "typecheck:test": "tsc --project tsconfig.typecheck.test.json", "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js", "test:watch": "npm test -- --watch", "test:cov": "npm test -- --coverage", "test:debug": "node --experimental-vm-modules --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "npm run build && node test/sqlite.cjs --all", "test:performance": "npm run build && node test/sqlite.cjs tbank-read-baseline.e2e-spec.ts", "test:sqlite": "node test/sqlite.cjs", "test:container": "node test/container-smoke.cjs", "test:durability": "node test/bank-cards-durability.cjs", "test:openapi-contract": "npm run build && node test/sqlite.cjs openapi-contract.e2e-spec.ts", "verify": "prisma generate && npm run lint && npm run test:lint && npm run typecheck:app && npm run typecheck:test && npm run test:cov -- --runInBand && nest build", "release:preview": "release-it --dry-run --ci", "release:prepare": "release-it --ci", "commitlint": "commitlint", "test:lint": "node --test test/eslint-config.cjs" }, "dependencies": { "@grpc/grpc-js": "1.14.5", "@grpc/proto-loader": "0.8.1", "@nestjs/common": "12.0.1", "@nestjs/config": "12.0.0", "@nestjs/core": "12.0.1", "@nestjs/jwt": "12.0.1", "@nestjs/passport": "12.0.0", "@nestjs/platform-express": "12.0.1", "@nestjs/swagger": "12.0.1", "@prisma/adapter-better-sqlite3": "7.10.0", "@prisma/client": "7.10.0", "bcrypt": "6.0.0", "better-sqlite3": "12.11.1", "cheerio": "1.2.0", "class-transformer": "0.5.1", "class-validator": "0.15.1", "cookie-parser": "1.4.7", "dotenv": "17.4.2", "lru-cache": "11.5.2", "nestjs-pino": "5.1.0", "passport": "0.7.0", "passport-jwt": "4.0.1", "pino-http": "11.0.0", "prisma": "7.10.0", "reflect-metadata": "0.2.2", "rxjs": "7.8.2" }, "devDependencies": { "@commitlint/cli": "21.2.2", "@commitlint/config-conventional": "21.2.2", "@darraghor/eslint-plugin-nestjs-typed": "7.5.6", "@eslint/js": "10.0.1", "@nestjs/cli": "12.0.0", "@nestjs/schematics": "12.0.1", "@nestjs/testing": "12.0.1", "@release-it/conventional-changelog": "12.0.0", "@stylistic/eslint-plugin": "5.10.0", "@types/bcrypt": "6.0.0", "@types/cookie-parser": "1.4.10", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.13.4", "@types/passport-jwt": "4.0.1", "@types/supertest": "7.2.1", "conventional-changelog-conventionalcommits": "10.4.0", "eslint": "10.11.0", "eslint-import-resolver-typescript": "4.4.5", "eslint-plugin-import-x": "4.17.1", "eslint-plugin-jest": "29.16.6", "eslint-plugin-n": "18.4.0", "eslint-plugin-perfectionist": "5.12.1", "eslint-plugin-regexp": "3.3.1", "eslint-plugin-security": "4.1.0", "eslint-plugin-sonarjs": "4.2.1", "globals": "17.12.0", "jest": "30.5.1", "release-it": "21.0.2", "supertest": "7.2.2", "ts-jest": "29.4.12", "ts-loader": "9.6.2", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", "typescript": "6.0.3", "typescript-eslint": "8.70.1" }, "overrides": { "proxy-addr": "2.0.8", "@nestjs/platform-express": { "multer": "2.4.0" }, "@prisma/config@7.10.0": { "deepmerge-ts": "8.0.2" }, "release-it": { "basic-ftp": "6.2.1", "undici": "7.29.1" }, "prisma": { "mysql2": "3.24.4" } }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" }, "allowScripts": { "@prisma/engines@7.10.0": true, "prisma@7.10.0": true, "bcrypt@6.0.0": true, "better-sqlite3@12.11.1": true, "fsevents@2.3.3": true, "protobufjs@7.6.5": true, "unrs-resolver@1.12.2": true } }