{"_id":"@fitnet/backend-boilerplate","_rev":"30-b8de81fca7ec06a0378327b5257f2e38","name":"@fitnet/backend-boilerplate","dist-tags":{"latest":"1.0.35"},"versions":{"1.0.0":{"name":"@fitnet/backend-boilerplate","version":"1.0.0","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.0","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"create-app":"generate.js"},"dist":{"shasum":"fef7c5f7861c69ab29100bc3ebf7ef02f79b32d4","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.0.tgz","fileCount":40,"integrity":"sha512-igGRpVv/Kp8ZjSmSDayKvO30XhqnZQRv6b2sHELCd1oGLzUzRytRg9vaZRiks2/R6Hyrbd3Q0aYEnjFFLY5U8A==","signatures":[{"sig":"MEYCIQDFoLyB6ragrt+CLPreWo2p1W+hy1ahM9e2KGFI0rwKNwIhAIv4yOAiMruKvX/ZBCgnVNWpaIok5y+dLW2bSQHewPRJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38022},"jest":{"rootDir":"./","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^src/(.*)$":"<rootDir>/"},"coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"55ef5087b12db1f41942c6b01830c131a2ad64d8","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.0_1725165758531_0.4588984638750695","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@fitnet/backend-boilerplate","version":"1.0.1","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.1","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"create-app":"generate.js"},"dist":{"shasum":"d709d356b95670ad7c2cc05e03ef42e71ee30c15","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.1.tgz","fileCount":40,"integrity":"sha512-1kzwuTqBBw5q1R8VK99zZ6csQktO1F0/EmAP7Roil2ITf1d7K8285gXFGlkxassQ+kbFOrVju5lgOwZ+VdzP4A==","signatures":[{"sig":"MEQCIAeE9unMw9epH3kFcciXXldr1LF0KIJ769+GwDJXW9FBAiAlLcDTrTSflRs7mHPqtiV96pBkltOPEreyAt5vIRtr3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38035},"jest":{"rootDir":"./","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^src/(.*)$":"<rootDir>/"},"coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"55ef5087b12db1f41942c6b01830c131a2ad64d8","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.1_1725166014165_0.6039490925566389","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@fitnet/backend-boilerplate","version":"1.0.2","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.2","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"generate.js"},"dist":{"shasum":"dab2042d2087e4404400b9ba77e9a84c2bce6ac2","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.2.tgz","fileCount":40,"integrity":"sha512-cefCPX4i1B3W3x6zISM3FWeV5UCfGU6r+HHhPut3pg4D2hqZfzhfZC7rX5pnfYkU82Ve7K5nGvm+r87JtsEQtA==","signatures":[{"sig":"MEUCIQCnQjW5KL4tFx5vgP6kvbg6XHDSO4BCHcxiqNmxez0aGAIgcb2g9zNsNxnbuZUji6+6jrsRAKmTZ5n551+SqTrDKMo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38019},"jest":{"rootDir":"./","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^src/(.*)$":"<rootDir>/"},"coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"33f44ff706b176517504c207dfe047c6665622b6","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.2_1725166112441_0.661444899023383","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@fitnet/backend-boilerplate","version":"1.0.3","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.3","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"generate.js"},"dist":{"shasum":"578f053016edd862a4bd9639ac13bfcacd7270a6","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.3.tgz","fileCount":40,"integrity":"sha512-+hD0QC949MwGcEVVFQxDAKUJHobywyCMWyZewkD5Zdj6I6yhxaAlmhzFmzQaDSGtS/hfz6KbjyDqfVVQ2njeyQ==","signatures":[{"sig":"MEUCIHamU451ZLoCZ8ImL4hZ/gSX0oFEUQGvkREa1rtkxnIkAiEA3gw0+dGCPBF6Dabk+5M4x6qOZLEHSkFyKvfCnv0Bs1o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37927},"jest":{"rootDir":"./","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^src/(.*)$":"<rootDir>/"},"coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"e6835d9d63f058dbb2c304933c4865428b33c9cd","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.3_1725166230803_0.8490158027619634","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@fitnet/backend-boilerplate","version":"1.0.5","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.5","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"33c5d826e0cbb75ceeaf122f8b3ce4e8200b58ef","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.5.tgz","fileCount":57,"integrity":"sha512-/mWIfzBN+X9eet8eUfClSsD6aoZ5cJ2r/E4IocgloGGaNelitsYTuV15oBvuf/4Gk+JeeDqT4v4v9ebxLlnoLw==","signatures":[{"sig":"MEYCIQDJgczurCjTlwkb/BFgBZOpI6o90XFlK8Fbp80KNZrrlgIhAMdm9ayEYoOXYYziNwhvXmKuG1nFAyprvA2o17enJLNH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51550},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"910f9ebf6db4c10c98cac5c7bfcc93920a8fcbfc","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.5_1725202486745_0.4542347819471484","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@fitnet/backend-boilerplate","version":"1.0.6","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.6","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"318f042e4b9ea031cf7ad1abc1ec751f0e80a055","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.6.tgz","fileCount":57,"integrity":"sha512-AtPQ4k83rRgw1a+oNZ+RXznA5bABF5VJhZkyFBuUp4YrQ6cMjhL5gFnbr3SKJJAaAiITCHzhRMb6KyRXNQsZow==","signatures":[{"sig":"MEUCIQDORw5htEqeJLhqFQCkSCKt7/tD8/+WWTCjaVYB7JuHhAIgEUBQPtXABcC3W5fgo0MmC+Jh5/BqRKgK9fltQ/bdz+I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51567},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"d61aa43b7983b1c7f36d32aaba434c40d8c4edf0","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.6_1725202870424_0.17545533387508527","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@fitnet/backend-boilerplate","version":"1.0.8","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.8","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"create":"scripts/generate.js","module":"scripts/new-module/index.js"},"dist":{"shasum":"c5789a35a1cde0e724ebff5560d2550ddac3b4bc","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.8.tgz","fileCount":48,"integrity":"sha512-diqkhIpUL0wTo7P3tk0/J8leK3xNFP6Hr3jbR/iP97s0nX9yfiGO2Mzkbl1sriBW9dWom6UaykeVjfAXv9dSxA==","signatures":[{"sig":"MEQCICSr/isbAa1gFnoERVqimSxcF+vqXFiKMYeL6JCRUtbbAiB/RE5jjprkRWlq3F6x7PrlwkiDx97rRe3fe/MDueFTUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44244},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"252588f5bb1b5ac4db05c1aa4a7403e26d150bf8","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.8_1725422608163_0.058877300887709705","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"@fitnet/backend-boilerplate","version":"1.0.10","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.10","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"create":"scripts/generate.js","module":"scripts/new-module/index.js"},"dist":{"shasum":"203900942014880be22fb8018d1cbcb9877666de","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.10.tgz","fileCount":48,"integrity":"sha512-Ue342x9y1H7IeB2urnIQAoCkYqPYJPt7J/gfIoKtXOoKi7ivaH8V4sNa7heRCPjOnyfr3/gY8hrioNNlAXFqTg==","signatures":[{"sig":"MEQCIGznbbURr/KApHv2/oof2OdpK8nt79r+6BW7DLgY6s4/AiASyTL05wlbtBBLoXX9HmrbJDeCwJJCSKIm9fI+UhtmKg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44292},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"82a89f8ab9f7217289f5a9c9dda5fabe429ee2ef","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"@fitnet/backend-boilerplate module","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.8"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.10_1725423140755_0.10234628358658227","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"@fitnet/backend-boilerplate","version":"1.0.11","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.11","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"dist":{"shasum":"a29a3d1dc94cbade13cc7a276a99508d5d2c6539","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.11.tgz","fileCount":48,"integrity":"sha512-KW7jnPVa+ww8DlXBQynCB3O9n5Lp006eqlVH6BZ+YQBtwEhe4MzZcWwSDwk1+JViH5+ZwSOduKwTAvPE5o+Unw==","signatures":[{"sig":"MEUCIQDAZKAfmdN/GdyyQFMmJPzgkit2l3pa5JETP66VVc8TLAIgflQnHFfMWjN6arBgX7l8tCe9Wpf0P4IWp02cDEz36dQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44167},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"300a1f8848b6bafd490674e46c60d593a21a0396","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"module","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.8"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.11_1725423270051_0.18771831217810764","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"@fitnet/backend-boilerplate","version":"1.0.12","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.12","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"dist":{"shasum":"35bfaa223489abc136a63f92d61885c5d3ca8b1e","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.12.tgz","fileCount":48,"integrity":"sha512-lHSBKGe3FvWW+5bKOxAWmU/lbibg0uJLocHSdZzhpYk8Ml79fuVWXTHaPw11Th401GyCxVda5OVGU0pmMeO6JA==","signatures":[{"sig":"MEUCIQDNZFiZEyGmHCK9LcafriCLDVHel5jjeT8zppWMWrv6XgIgFExTjNzXPSV77ZKmCP47kc16vGZkGFQoj54olYEh6Zk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44143},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"45ebd9a28ea3d1dee24cc4c9cdc0e635f40de1ab","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.8"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.12_1725423711650_0.2360840602063825","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"@fitnet/backend-boilerplate","version":"1.0.13","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.13","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"db558cac92858810d55a8aa48f28a95f3156be3c","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.13.tgz","fileCount":48,"integrity":"sha512-mPML3mPX8CQKNqynntkT2P4pG5Nav5C63+buy1gSomLtF5I0ybf9QjBsdQqsgy7UCmRID4w+23DoX+QIP0CJtg==","signatures":[{"sig":"MEYCIQCGC0qJ02CKb/tTgwd+TIBkNIAr/G648Bux/ks4gU+2ZAIhAIOGDp2N87rVOYPTP6NHfKpCv/7n5yQ10Hv5ZjIvWolC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44256},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"f9fd7c7fdddf6e9073dd5b5d9d650de72cdbb18f","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node @fitnet/backend-boilderplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.12"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.13_1725424603814_0.7944647303651255","host":"s3://npm-registry-packages"}},"1.0.14":{"name":"@fitnet/backend-boilerplate","version":"1.0.14","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.14","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"3ffd1cd382ee536a7f8918b23c0d7cf182e9d064","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.14.tgz","fileCount":57,"integrity":"sha512-iz2NN85zF6GfH9FedS2ZaeMt0e05QKC4MMKnAb3QRtxhrTbZbgRK5FBIVmMKGYg+RLtax0GDjqqj1MPlgG5kOg==","signatures":[{"sig":"MEUCIEhA9rU/3npJl70UQHnhMptk8fdbyF4wuS47zOhIqvYKAiEA6hx27UkOGsPrDV32yVW+Xs6nd+cJdxBB9iFHaJijqek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51581},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"1e29c368a2cd0f49623ac9e4e0caf90cbc772e05","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.12"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.14_1725424809925_0.13841716791890368","host":"s3://npm-registry-packages"}},"1.0.15":{"name":"@fitnet/backend-boilerplate","version":"1.0.15","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.15","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"56107a6c7e9c36498fa335fdd0f48927c5aee8b5","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.15.tgz","fileCount":57,"integrity":"sha512-m6ZCUkxui1hQNUQB2t0P41C/NS82X/zxCFY1rz/KE/9qySYSFbBph6L8Hx5whOX3KDdrcSF52RQ+4u+K6qe+Uw==","signatures":[{"sig":"MEQCIDlc9qpYOxwM4PxXmFaL8soYDoCebog9Ue/125wZ7OV7AiA635PpZgiHDh2v1stDrjdveyVwU+WgcKVTxUrIk8yiWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49696},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"3196f91be9e107036a24a785d334feefc727503f","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.12","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.15_1725768031979_0.5264078669297343","host":"s3://npm-registry-packages"}},"1.0.16":{"name":"@fitnet/backend-boilerplate","version":"1.0.16","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.16","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"fea9581a4923fbf977565c834d90e7982e86164c","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.16.tgz","fileCount":57,"integrity":"sha512-TK58UDRuXVI8aBSrCS9eHPifRdnfFSI9haLvhaEHewT6CSKSHzb/jQOIkvD40NJqrm4eswjeWeauS3q6SkdjZg==","signatures":[{"sig":"MEUCIH66pZja6RpMWag4OHREiRf4BLKu7E+mDei7SPE6p7Z8AiEA648+34YxrLvvXZydAAu8CaQNfiW1C8aG3q9VErTX698=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49851},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"2f390b39102e8cef76328a05fc91507cb4f1eac0","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.12","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.16_1725768254736_0.3792856838340837","host":"s3://npm-registry-packages"}},"1.0.17":{"name":"@fitnet/backend-boilerplate","version":"1.0.17","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.17","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"9c392598d00ef4c734c73a85115d02bbd205fd52","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.17.tgz","fileCount":57,"integrity":"sha512-8KV3dCkYlbfC50WoyNzjwsqomlnup5g4PeGdG2eXCP+Vr88X3/qMnCae/Bi0jNK0iwHQgMLd3ft19+5Xnogdug==","signatures":[{"sig":"MEYCIQDomLfLmKb5vaWR+sRjxatbJz+fKwvXu1UrpWJCk1cFewIhAP4HQgzRdbyrURkzr6jQuFf8lftl76fj9V7pnItwWx/v","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50040},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"f58b9f49865a2b754014c81a26f94f04efd66564","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.12","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.17_1725807561969_0.34335204217931015","host":"s3://npm-registry-packages"}},"1.0.18":{"name":"@fitnet/backend-boilerplate","version":"1.0.18","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.18","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"c186d019aebdeb55d6c8f9ef04b703b05e5cbc07","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.18.tgz","fileCount":60,"integrity":"sha512-T3ZOvj2rRNltRytjU9D327PpouXL8bvRJyeBIvy5zw8l6OZTBHmgXK5/ahyU8L0vs09E/z+o+CvEvo71NdJkkw==","signatures":[{"sig":"MEYCIQC/oz9eU4FU5iZC0qqYyzrR1GaAHENaujt51Lu/CTwviAIhAKbZqSRFEiun6OaWLrH/Pf9icYtK4PQyYMdsOqWzmP8z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53669},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"7c10baffe12b3602bb3880604ff2d386a3b8bffd","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.12","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.18_1725851742142_0.9878454406913775","host":"s3://npm-registry-packages"}},"1.0.19":{"name":"@fitnet/backend-boilerplate","version":"1.0.19","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.19","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"28917e292ce6579123854925fe02abaa869c8ff8","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.19.tgz","fileCount":60,"integrity":"sha512-ELT7al0CCfjWSfDovnnOlWLAXaLkPOG/HZyQg8Hji7RyRRxvCKYKavcvrtUE8nzDOw0P3y8pD/5mg7LtlS0/Xg==","signatures":[{"sig":"MEQCIAPmjfa1ZLSde21TAj7pqPA82Cs/D66tCF2/hFtOum47AiB52vGg5srXiBKtryN7SBbTgRUUYemqIua2AgaZeLvQoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53667},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"b55a50b81810f8297453550c9ca38ea26f14a8f6","scripts":{"k8s":"node node_modules/fitnet/backend-boilerplate/scripts/new-k8s/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.12","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.19_1725853869059_0.7994733971398502","host":"s3://npm-registry-packages"}},"1.0.21":{"name":"@fitnet/backend-boilerplate","version":"1.0.21","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.21","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"8d37910cb73b26366dfbe30469b6fd90c6a527ea","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.21.tgz","fileCount":62,"integrity":"sha512-f+Guobu0MCfmH+auHaFXhYqBhXD+pYF5MKWKLYI/7YXmx3dp4Sh4y905STY7iK9NREyfuNLOT4iPkqOcGEQMew==","signatures":[{"sig":"MEUCIGrtcmOMnAIVDLDe5iSBa7paXMvayBN2GdK/Lx/CAduPAiEAz1J6Twb5X+5GEIblBSTnngC5f3cZ2C3zSzyd57okisU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56377},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"4c483d51aaec321db158edb232433a81b1602819","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.19","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.21_1726200895205_0.16984413220659533","host":"s3://npm-registry-packages"}},"1.0.22":{"name":"@fitnet/backend-boilerplate","version":"1.0.22","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.22","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"b431c3d3bac0e0274f2246de711fe8956464dba4","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.22.tgz","fileCount":62,"integrity":"sha512-9iPXLOYTIAjmngjn+cEeVLR6wdZK0grkkzv0YnZWsJr+GPmXzCDEKJ7jiil+5dCfUOCX8NuWuEclJy6+SjU0ew==","signatures":[{"sig":"MEYCIQCvpYkIFK4ueebsmTdE/d43NuDfU+o2U2+HezfFwyjQPwIhAIk9KYQjxJTr0MLC2b0EhPLcmyiSfdiwcZSKdQ672w+U","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56475},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"ab189e2ddc8b63a3cf605220d9bf12db7606e63a","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.22_1726201146635_0.44232581819034245","host":"s3://npm-registry-packages"}},"1.0.23":{"name":"@fitnet/backend-boilerplate","version":"1.0.23","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.23","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"1c47b9000eac1596371770752dadd88a518f453b","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.23.tgz","fileCount":75,"integrity":"sha512-shOWLnUXdK6nlTYkLTfoxyL4TcnhcqNbDC2AnJlccQGFQO6kUGNtwOqs2yx3zXetK8KbVQqZun6n2WS25ginZQ==","signatures":[{"sig":"MEUCIF90gm7KYdchB3T0CGsmptviDowKI7ACPlRdJN9+GLWFAiEAgcUho0CMKnafHAMGz5aYQu/hwCVT46LCYawrwTRZs6E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70655},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"1de246489f44acf9d2b5fba72888c515d85fb503","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.23_1728709837770_0.42573284274184897","host":"s3://npm-registry-packages"}},"1.0.24":{"name":"@fitnet/backend-boilerplate","version":"1.0.24","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.24","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"cbc184b6de6e71cfafc7ff3ac70ac19390168b56","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.24.tgz","fileCount":74,"integrity":"sha512-gF6jUULB55UjOw2qCYOlwi9zMpKBoAHY3lYjqUyc1fcrvGvSu6qYgiBYVdwhz7kvPQzRrOnXI2WJdU6SPaCo5w==","signatures":[{"sig":"MEQCIF7sRyEwxCp3dK3njQ05dAK/+H2GvOP+sgNX1P6xbpIDAiAjTDtI/deGmE88KYuYnVWZ4HJCT1Adcfs9DViLf7hp4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70238},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"408d81520231e965d230012375d4bf9227bb0a6b","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@faker-js/faker":"^9.0.3","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.24_1728873909594_0.31208735861933534","host":"s3://npm-registry-packages"}},"1.0.25":{"name":"@fitnet/backend-boilerplate","version":"1.0.25","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.25","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"f1015ff98f3977b96cf02fc1e2ecca3d24a7e0c3","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.25.tgz","fileCount":84,"integrity":"sha512-9ZcrNipMgNgXAG3OSjXCzwy5+iYD/k8rKGD0Xgg/BhB93vZ1tQZLLCS8qtrDMv8FuYxRCbkrn9CjPxSRrNMwYQ==","signatures":[{"sig":"MEUCIQDlX8dZZMTkXrKi1hybzd+qwSpKfgu8YNpA08SN23MIrQIgN9beRH3SF2jChKojkpz9PuLnk3CYwxpITufSenSkoV4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78218},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"263460df94a51a903d8c6d5cb763e34bc0bb433e","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@faker-js/faker":"^9.0.3","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.25_1728876467158_0.5529066913635954","host":"s3://npm-registry-packages"}},"1.0.26":{"name":"@fitnet/backend-boilerplate","version":"1.0.26","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.26","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"e1a4929467e6c7eec0f61598b14c5d553678abc7","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.26.tgz","fileCount":84,"integrity":"sha512-q5T74715u6A/cpHDyRR9JB3acgti4iyiid50PuQjPGiM9hpQ9ei1agvze2gpAeEUAWVUHZNr4AtJD7eyAIbOQA==","signatures":[{"sig":"MEYCIQCtqnSMqDRPkeH5fmfVNtCnBtut5TY4E9UI+GHVnQ+HhQIhAJZI6zQK0TFzRspkl9QvOPhtpGRo8QH3dDAYiH4u4F6k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78218},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"dd479973b7bbe2996c15d6132177e613b66c2631","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@faker-js/faker":"^9.0.3","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.26_1728876604952_0.013219258778981224","host":"s3://npm-registry-packages"}},"1.0.27":{"name":"@fitnet/backend-boilerplate","version":"1.0.27","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.27","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"7280b14d004fa6f098079e38673d280d8ad9c2e4","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.27.tgz","fileCount":84,"integrity":"sha512-qEiSGhi5UMkwcZoYtrAIvPA1l/dk4ZzBDGihoXBoDsPxAw9rjuXfTrKaSYgYhcR4jGnn48ubic0EfqceZJKrcg==","signatures":[{"sig":"MEQCIB8QfJUhsBmMf1j7rb6jm3Toxrp8SuZSnftqFeo1Y+2nAiBXkJ/yNh01ki0nUGgGL3RxO8sX0bWMhHgc/WNOtcKQoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78218},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"1d0f3b3b4a669e91deed77f2e8791f6567827a54","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@faker-js/faker":"^9.0.3","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.27_1728876639721_0.5465569308198421","host":"s3://npm-registry-packages"}},"1.0.28":{"name":"@fitnet/backend-boilerplate","version":"1.0.28","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.28","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"aadf1d03e904e3c013eada66bc18dbff4020e076","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.28.tgz","fileCount":76,"integrity":"sha512-IwwlrMngxhsJD5R3USHqJgKiokqfVh27msaASIPqxr4YFrnpo27ESD9udSuBlEpSTkTxNi1WFX8v6MGNF8LhzQ==","signatures":[{"sig":"MEUCIEAJGriOKj2tI5woK8y0wROoqnwqmy4J21Tn1zuu8lY7AiEAqNnxEo+m8sXsSrhjHL37+KjcDgOnfXSbxUuHh7myhkQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72679},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"7f3153dc29a092922765c6521ae6c9f23a310a6d","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","sdk":"node node_modules/@fitnet/backend-boilerplate/scripts/new-sdk/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@faker-js/faker":"^9.0.3","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.28_1728877258655_0.9039675461270946","host":"s3://npm-registry-packages"}},"1.0.29":{"name":"@fitnet/backend-boilerplate","version":"1.0.29","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.29","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"4b32d6cf171910653ece88aafd719a8cdef2c25c","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.29.tgz","fileCount":76,"integrity":"sha512-PEmX2XHBEvluS3PEMmi7hRu3qiGmLcJwoMJJqZzX0xXajYC/sGIDav4txbJZlfx3e7dZ3/6GU24pmnZqY+Ltpw==","signatures":[{"sig":"MEUCIEZPceHPST1NkkFT3sZZ25/Ia3ol9uAvW3pJivfBaD2UAiEA2f+G7yzLWzlSwFGxAsQ6jPGxxAOFqTFKUgY8k18jedc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72702},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"9de4d1c075460913882d8ac3c1551169c40e4c35","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","sdk":"node node_modules/@fitnet/backend-boilerplate/scripts/new-sdk/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@faker-js/faker":"^9.0.3","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.29_1728877457539_0.4596606112790107","host":"s3://npm-registry-packages"}},"1.0.31":{"name":"@fitnet/backend-boilerplate","version":"1.0.31","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.31","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"8afb5c87b56e1b8e7a13b4dabb9f0d2de33737ff","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.31.tgz","fileCount":76,"integrity":"sha512-iiCOVyPnyIY5LGOxuxGILvsEG8gIfLGUjQn3Elr5sAr0xeq1XWH5Mjd2oyDupUYVPNdp+oEhLLFkhX7DZOazVA==","signatures":[{"sig":"MEYCIQC35G3Cch9RvUYbZKC1fGmXefWMpXTRxVMzlYjj02j+/AIhAIuuWKOPR40Xtzy3johw/umS+9qmVfFuJj1+bkjn9mQ/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72713},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"a3daa5d0dc1ceca42b021e8cc6d4750ba909701c","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","sdk":"node node_modules/@fitnet/backend-boilerplate/scripts/new-sdk/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@faker-js/faker":"^9.0.3","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.31_1728877625238_0.789062890932577","host":"s3://npm-registry-packages"}},"1.0.32":{"name":"@fitnet/backend-boilerplate","version":"1.0.32","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.32","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"fce61d4fe69ed2e2b68523fa39d3201b79be037d","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.32.tgz","fileCount":76,"integrity":"sha512-iKn3IttdPG8NJkdDfz6xi7vC8FD2Au8fwWlneM0+xnFWll31SltWpPTG9C3iPVbwuflaylfg8laJDF+/qIlLNA==","signatures":[{"sig":"MEUCIFrjOueckBSGgaK9sRAjOM96qW4TDISlv9XMrKb3f7GLAiEApfo2Moe7Ei9fMkkYNig2QszcWd4T6iycRSgJSsEXKEI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72737},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"01dca7ef0aae4e81c5c37c3429c4a160196311af","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","sdk":"node node_modules/@fitnet/backend-boilerplate/scripts/new-sdk/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@faker-js/faker":"^9.0.3","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.32_1728878423249_0.6385477082152462","host":"s3://npm-registry-packages"}},"1.0.33":{"name":"@fitnet/backend-boilerplate","version":"1.0.33","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.33","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"6a46bb4887f4de0028f7a823afe8ca4cd440a204","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.33.tgz","fileCount":76,"integrity":"sha512-e51UIM3ulkfWGDHRKdUKkYtvE/BtWBu7J+SJSyAYmtna+x/girx5c4ZsgRqIyb2YmD6cJ195Yi871eJThkn4dA==","signatures":[{"sig":"MEUCIQDOEpsMy2pwpu33nfgFeN++Gk70sUeCTGlzRhNF9mngaQIgP8YeIEB8Kp/CsAy/weuB+K8UNh6bCYQDkN+rfLGak6I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72688},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"f9d06c6e60efa20ade6b962c375a65cae3b7d93a","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","sdk":"node node_modules/@fitnet/backend-boilerplate/scripts/new-sdk/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@faker-js/faker":"^9.0.3","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.33_1728878613804_0.8768845049541827","host":"s3://npm-registry-packages"}},"1.0.34":{"name":"@fitnet/backend-boilerplate","version":"1.0.34","author":"","license":"UNLICENSED","_id":"@fitnet/backend-boilerplate@1.0.34","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"homepage":"https://github.com/Fitness-Network/backend-boil#readme","bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"bin":{"backend-boilerplate":"scripts/generate.js"},"dist":{"shasum":"0d50e3b9f37fd20bd9320db0d09c93acb864a1ec","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.34.tgz","fileCount":76,"integrity":"sha512-CDe6LRhxpmI3v63MVINPcPnldzb93QKvxsAjffsPeYM6doZeCUYLUjG3FIzWBjPVqy5gspfFGYTJnbDO75akJw==","signatures":[{"sig":"MEYCIQCxzwUQT69UT33mWdHyC4Es1my5+aczqhuIGSYRICVJcgIhAJYtc/I47Wk9yv8dCnPRI91a4HhUhJx5XnYyQ+M2+Te0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72664},"jest":{"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","moduleDirectories":["node_modules","src"],"collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"generate.js","gitHead":"2a52a18f92f80e91902ebd7971d71e29e096bc3e","scripts":{"k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","sdk":"node node_modules/@fitnet/backend-boilerplate/scripts/new-sdk/index.js","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","start:dev":"nest start --watch","start:prod":"node dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch --runInBand","start:debug":"nest start --debug --watch","module:local":"node scripts/new-module/index.js","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d"},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"repository":{"url":"git+https://github.com/Fitness-Network/backend-boil.git","type":"git"},"_npmVersion":"10.2.4","description":"Package for authorization with keycloak","directories":{"test":"test"},"_nodeVersion":"18.19.1","dependencies":{"bull":"^4.16.0","rxjs":"^7.8.1","axios":"^1.7.5","bcrypt":"^5.1.1","crypto":"^1.0.1","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","passport":"^0.7.0","telegraf":"^4.16.3","commander":"^12.1.0","pluralize":"^8.0.0","handlebars":"^4.7.8","node-fetch":"^3.3.2","nodemailer":"^6.9.14","superagent":"^10.1.0","@nestjs/jwt":"^10.2.0","@nestjs/bull":"^10.2.0","@nestjs/core":"^10.0.0","cookie-parser":"^1.4.6","openid-client":"^5.6.5","otp-generator":"^4.0.1","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","nest-commander":"^3.15.0","passport-local":"^1.0.0","@faker-js/faker":"^9.0.3","@nestjs/swagger":"^7.4.0","class-validator":"^0.14.1","nestjs-telegraf":"^2.8.1","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","keycloak-connect":"^25.0.4","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","passport-telegram":"^1.0.0","google-auth-library":"^9.14.0","@nestjs/mapped-types":"*","@nestjs/cache-manager":"^2.2.2","@types/passport-local":"^1.0.38","mongoose-autopopulate":"^1.1.0","nest-keycloak-connect":"^1.10.1","cache-manager-redis-yet":"^5.1.3","passport-google-oauth20":"^2.0.0","@nestjs/platform-express":"^10.0.0","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^3.0.0","supertest":"^7.0.0","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/bcrypt":"^5.0.2","@types/lodash":"^4.17.7","@types/express":"^4.17.17","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.4.1","@types/supertest":"^6.0.0","@types/nodemailer":"^6.4.15","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","@types/cookie-parser":"^1.4.7","@types/otp-generator":"^4.0.2","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^7.0.0","@types/passport-google-oauth20":"^2.0.16","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/backend-boilerplate_1.0.34_1728878782971_0.24787851250382542","host":"s3://npm-registry-packages"}},"1.0.35":{"name":"@fitnet/backend-boilerplate","version":"1.0.35","bin":{"backend-boilerplate":"scripts/generate.js"},"repository":{"type":"git","url":"git+https://github.com/Fitness-Network/backend-boil.git"},"description":"Package for authorization with keycloak","author":"","license":"UNLICENSED","scripts":{"build":"nest build","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start":"nest start","start:dev":"nest start --watch","start:debug":"nest start --debug --watch","start:prod":"node dist/main","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --runInBand --detectOpenHandles --forceExit","test:watch":"jest --watch --runInBand","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 ./test/jest-e2e.json","docker:up:infra":"docker compose -f docker/infra.yaml --env-file .env up -d","module":"node node_modules/@fitnet/backend-boilerplate/scripts/new-module/index.js","k8s":"node node_modules/@fitnet/backend-boilerplate/scripts/new-k8s/index.js","sdk":"node node_modules/@fitnet/backend-boilerplate/scripts/new-sdk/index.js","module:local":"node scripts/new-module/index.js"},"dependencies":{"@faker-js/faker":"^9.0.3","@fitnet/backend-boilerplate":"^1.0.21","@keycloak/keycloak-admin-client":"^25.0.4","@nestjs/bull":"^10.2.0","@nestjs/cache-manager":"^2.2.2","@nestjs/common":"^10.0.0","@nestjs/config":"^3.2.3","@nestjs/core":"^10.0.0","@nestjs/jwt":"^10.2.0","@nestjs/mapped-types":"*","@nestjs/mongoose":"^10.0.10","@nestjs/passport":"^10.0.3","@nestjs/platform-express":"^10.0.0","@nestjs/swagger":"^7.4.0","@types/passport-local":"^1.0.38","axios":"^1.7.5","bcrypt":"^5.1.1","bull":"^4.16.0","cache-manager-redis-yet":"^5.1.3","class-transformer":"^0.5.1","class-validator":"^0.14.1","commander":"^12.1.0","cookie-parser":"^1.4.6","crypto":"^1.0.1","google-auth-library":"^9.14.0","handlebars":"^4.7.8","keycloak-connect":"^25.0.4","lodash":"^4.17.21","moment":"^2.30.1","mongoose":"^8.5.2","mongoose-autopopulate":"^1.1.0","nest-commander":"^3.15.0","nest-keycloak-connect":"^1.10.1","nestjs-telegraf":"^2.8.1","node-fetch":"^3.3.2","nodemailer":"^6.9.14","openid-client":"^5.6.5","otp-generator":"^4.0.1","passport":"^0.7.0","passport-google-oauth20":"^2.0.0","passport-local":"^1.0.0","passport-telegram":"^1.0.0","pluralize":"^8.0.0","reflect-metadata":"^0.2.0","rxjs":"^7.8.1","superagent":"^10.1.0","telegraf":"^4.16.3"},"devDependencies":{"@nestjs/cli":"^10.0.0","@nestjs/schematics":"^10.0.0","@nestjs/testing":"^10.4.1","@types/bcrypt":"^5.0.2","@types/cookie-parser":"^1.4.7","@types/express":"^4.17.17","@types/jest":"^29.5.2","@types/lodash":"^4.17.7","@types/node":"^20.3.1","@types/nodemailer":"^6.4.15","@types/otp-generator":"^4.0.2","@types/passport-google-oauth20":"^2.0.16","@types/supertest":"^6.0.0","@typescript-eslint/eslint-plugin":"^7.0.0","@typescript-eslint/parser":"^7.0.0","eslint":"^8.42.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","jest":"^29.5.0","prettier":"^3.0.0","source-map-support":"^0.5.21","supertest":"^7.0.0","ts-jest":"^29.1.0","ts-loader":"^9.4.3","ts-node":"^10.9.1","tsconfig-paths":"^4.2.0","typescript":"^5.1.3"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"collectCoverageFrom":["**/*.(t|j)s"],"coverageDirectory":"../coverage","testEnvironment":"node","moduleDirectories":["node_modules","src"]},"bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"homepage":"https://github.com/Fitness-Network/backend-boil#readme","main":"generate.js","directories":{"test":"test"},"_id":"@fitnet/backend-boilerplate@1.0.35","gitHead":"49d1908dcae922432c7852d05689cabc783c289b","_nodeVersion":"18.19.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-ZUmMGXrbhozp/veh2QVqjEFOCLzMMdu7M9BitSKnVWVqNNQ8ceFJVbzRyh2ng/+RROOINJIckUzTrSuP3+lAEA==","shasum":"abe7e5bd4a60ecff086db2a2c3cc1f879febf9e0","tarball":"https://registry.npmjs.org/@fitnet/backend-boilerplate/-/backend-boilerplate-1.0.35.tgz","fileCount":76,"unpackedSize":72664,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEwZ6aORXhhzdSXZDIk4eXhG+glhw3OKxoX0f8F9J5etAiBmJnjlphoU0r16kzhT9416GA/TroYv+JjNlMRUU7fqdQ=="}]},"_npmUser":{"name":"martintran","email":"hoaian412003@gmail.com"},"maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backend-boilerplate_1.0.35_1728878813362_0.6673378724971808"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-01T04:42:38.454Z","modified":"2024-10-14T04:06:53.764Z","1.0.0":"2024-09-01T04:42:38.829Z","1.0.1":"2024-09-01T04:46:54.339Z","1.0.2":"2024-09-01T04:48:32.609Z","1.0.3":"2024-09-01T04:50:30.995Z","1.0.5":"2024-09-01T14:54:46.911Z","1.0.6":"2024-09-01T15:01:10.703Z","1.0.8":"2024-09-04T04:03:28.297Z","1.0.10":"2024-09-04T04:12:21.009Z","1.0.11":"2024-09-04T04:14:30.206Z","1.0.12":"2024-09-04T04:21:51.781Z","1.0.13":"2024-09-04T04:36:43.981Z","1.0.14":"2024-09-04T04:40:10.090Z","1.0.15":"2024-09-08T04:00:32.221Z","1.0.16":"2024-09-08T04:04:15.075Z","1.0.17":"2024-09-08T14:59:22.177Z","1.0.18":"2024-09-09T03:15:42.389Z","1.0.19":"2024-09-09T03:51:09.177Z","1.0.21":"2024-09-13T04:14:55.353Z","1.0.22":"2024-09-13T04:19:06.766Z","1.0.23":"2024-10-12T05:10:37.999Z","1.0.24":"2024-10-14T02:45:09.748Z","1.0.25":"2024-10-14T03:27:47.348Z","1.0.26":"2024-10-14T03:30:05.169Z","1.0.27":"2024-10-14T03:30:39.913Z","1.0.28":"2024-10-14T03:40:58.885Z","1.0.29":"2024-10-14T03:44:17.721Z","1.0.31":"2024-10-14T03:47:05.411Z","1.0.32":"2024-10-14T04:00:23.421Z","1.0.33":"2024-10-14T04:03:34.003Z","1.0.34":"2024-10-14T04:06:23.155Z","1.0.35":"2024-10-14T04:06:53.568Z"},"bugs":{"url":"https://github.com/Fitness-Network/backend-boil/issues"},"license":"UNLICENSED","homepage":"https://github.com/Fitness-Network/backend-boil#readme","repository":{"type":"git","url":"git+https://github.com/Fitness-Network/backend-boil.git"},"description":"Package for authorization with keycloak","maintainers":[{"name":"martintran","email":"hoaian412003@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo-small.svg\" width=\"200\" alt=\"Nest Logo\" /></a>\n</p>\n\n[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456\n[circleci-url]: https://circleci.com/gh/nestjs/nest\n\n  <p align=\"center\">A progressive <a href=\"http://nodejs.org\" target=\"_blank\">Node.js</a> framework for building efficient and scalable server-side applications.</p>\n    <p align=\"center\">\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/v/@nestjs/core.svg\" alt=\"NPM Version\" /></a>\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/l/@nestjs/core.svg\" alt=\"Package License\" /></a>\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/dm/@nestjs/common.svg\" alt=\"NPM Downloads\" /></a>\n<a href=\"https://circleci.com/gh/nestjs/nest\" target=\"_blank\"><img src=\"https://img.shields.io/circleci/build/github/nestjs/nest/master\" alt=\"CircleCI\" /></a>\n<a href=\"https://coveralls.io/github/nestjs/nest?branch=master\" target=\"_blank\"><img src=\"https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9\" alt=\"Coverage\" /></a>\n<a href=\"https://discord.gg/G7Qnnhy\" target=\"_blank\"><img src=\"https://img.shields.io/badge/discord-online-brightgreen.svg\" alt=\"Discord\"/></a>\n<a href=\"https://opencollective.com/nest#backer\" target=\"_blank\"><img src=\"https://opencollective.com/nest/backers/badge.svg\" alt=\"Backers on Open Collective\" /></a>\n<a href=\"https://opencollective.com/nest#sponsor\" target=\"_blank\"><img src=\"https://opencollective.com/nest/sponsors/badge.svg\" alt=\"Sponsors on Open Collective\" /></a>\n  <a href=\"https://paypal.me/kamilmysliwiec\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Donate-PayPal-ff3f59.svg\"/></a>\n    <a href=\"https://opencollective.com/nest#sponsor\"  target=\"_blank\"><img src=\"https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg\" alt=\"Support us\"></a>\n  <a href=\"https://twitter.com/nestframework\" target=\"_blank\"><img src=\"https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow\"></a>\n</p>\n  <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)\n  [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->\n\n## Description\n\n[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.\n\n## Installation\n\n```bash\n$ yarn install\n```\n\n## Running the app\n\n```bash\n# development\n$ yarn run start\n\n# watch mode\n$ yarn run start:dev\n\n# production mode\n$ yarn run start:prod\n```\n\n## Test\n\n```bash\n# unit tests\n$ yarn run test\n\n# e2e tests\n$ yarn run test:e2e\n\n# test coverage\n$ yarn run test:cov\n```\n\n## Support\n\nNest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).\n\n## Stay in touch\n\n- Author - [Kamil Myśliwiec](https://kamilmysliwiec.com)\n- Website - [https://nestjs.com](https://nestjs.com/)\n- Twitter - [@nestframework](https://twitter.com/nestframework)\n\n## License\n\nNest is [MIT licensed](LICENSE).\n","readmeFilename":"README.md"}