{"_id":"@alfredjp/login-package","_rev":"14-4b1265ac46b8b68c3b8d56fd0f06a807","name":"@alfredjp/login-package","dist-tags":{"latest":"1.1.2"},"versions":{"1.0.1":{"name":"@alfredjp/login-package","version":"1.0.1","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.0.1","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"a73959ff5c4d29b7b819760bcd4d12fac86f1bf5","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.0.1.tgz","fileCount":41,"integrity":"sha512-vrMV2FRWF5kP4q1rH/4iwuqsHmfeukzH38VVbMln9x8tSDt+TcGYAYF+ptbujprA2bm7TQTjUpbND/0IgFdvqQ==","signatures":[{"sig":"MEUCIHOJqKk7nQ87jbkRftcrP9VN1TPV7LpZiw0pyTfoNx+PAiEA0qSy4OE1iUlZvzeTIaNacgHWGFoGXbJ1Lt7XZH2BRr8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188107},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/index.js","types":"dist/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.9.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"23.4.0","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.0.1_1734956977175_0.11094574293776427","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alfredjp/login-package","version":"1.0.2","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.0.2","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"ef654b834364774070eac47963db27d1457b9bbb","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.0.2.tgz","fileCount":41,"integrity":"sha512-88OsVhlfPxJVA7gK2Or795rozDoSs/mztaZfEGwFnnR8KkYQ3kz2O9++LBIcOQQQcB4DFr9gqJxc/IBOXudgQA==","signatures":[{"sig":"MEUCICnJJ/4zcqoDzi3jzNjPIuF5VMJhA3ELx1sltceDnxZtAiEAt2HrC5yC3owbHnV758VgZc+/FMpI6vkWmwdcs+uTMro=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188107},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/index.js","types":"dist/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.9.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"23.4.0","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.0.2_1735018666772_0.1925815071242154","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@alfredjp/login-package","version":"1.0.3","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.0.3","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"15eadb842cad63a2c3828ec5e47c3d3863c07c1d","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.0.3.tgz","fileCount":41,"integrity":"sha512-lW5yRZyC2WaKYxPh3lwBsYSwFIU2TSv0INy7j/qc+LSzX/5RtdWaiGb5RyRZhno58LYDW6PF6YP6BMRiTbV43w==","signatures":[{"sig":"MEUCIQDVdX4qprrWvllWzCYs2Zvz7J1LYTnQbEEbrQ2m1sARcAIgKPDQCq5xVyuf0yDpXF0uXZDJehlIyccsC/5Kr1VCZX4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188107},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/index.js","types":"dist/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.9.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"23.4.0","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.0.3_1735020169433_0.6703536326513577","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@alfredjp/login-package","version":"1.0.4","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.0.4","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"b0303663173905b40810a57de97195393985f191","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.0.4.tgz","fileCount":41,"integrity":"sha512-tQDl3d1qlF9HFV3eXh63rKX+5mc4ueGqXUtQk5nUU7mdTh32KEItwfEawBpyNkwB9CdJ+uHA+u3KMHghUSbSNA==","signatures":[{"sig":"MEQCIEcJe23/O+zHIBdhX37iwXwe1YOsjUnS75cyzUp9tBGEAiAIuvLyv81rwc6fgoy1V/k2PVrlnz7xTm7tK8IClnidBg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188113},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/src/index.js","types":"dist/src/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.9.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"23.4.0","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.0.4_1735027415688_0.8105027763719383","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@alfredjp/login-package","version":"1.0.5","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.0.5","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"4c679161723b1826ea2c5d6e87b6c466b9a40351","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.0.5.tgz","fileCount":41,"integrity":"sha512-4+yWhl60acfT531VL5onZ8ILTa1G3ilRSf0EI/srlXi50amKqSO33ayxEzhH4RXjihghOYNRg1b6AWbxa4PNTA==","signatures":[{"sig":"MEQCIB5MkpSVmduSwAnnt+FLV63nD73MhzJDzxaeXXPSevagAiAi+hwCOv+tJ9KdSjPDFh46wfc9VO+qZ1o7bKasXKASGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":187795},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/src/auth/index.js","types":"dist/src/auth/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.9.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"23.4.0","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.0.5_1735028089668_0.4122345538363368","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@alfredjp/login-package","version":"1.0.6","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.0.6","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"d82aa3404f35f1796a1aad3dc198f8ddbfe659bf","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.0.6.tgz","fileCount":45,"integrity":"sha512-+wum+YOSN3jpjgDB/DntEKDqRbrNYZYat2fXaxDVWAlpzstu3yr6moBPtL9HsnM+X0nll8Zxwt3m+88ZIud3zg==","signatures":[{"sig":"MEUCIQCmG7nNsXR3ByujlI9rXOTYf3HUtR86soUGpgmWC8lHbQIgGkgcPGxeEBVG8P4UEK4l4XuE3IzjfuDVyqUs3nk+N4w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":328270},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/src/auth/index.js","types":"dist/src/auth/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.9.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"23.4.0","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","twilio":"^5.4.0","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.0.6_1735205251370_0.41376554144545263","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@alfredjp/login-package","version":"1.0.7","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.0.7","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"407365d36f5e90891be117e818e8b1320e6aa6af","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.0.7.tgz","fileCount":45,"integrity":"sha512-cmKA2XJY3uJdNvCA0THv7ruPgn5MOByrq8fJgtaKK34d8Q1MBwe3cv8HSQaWqwHjYRpQDo3+QCUfpXqytHl3vw==","signatures":[{"sig":"MEUCIQDsMQIenQC8+y29sMLCltfmC9WeVxn05g74O6c3uuvf6wIgCv/nrtWWh1SJ7yZEVc52c5QSyF7ouSOi7hnkuK0m2wY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":328244},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/src/auth/index.js","types":"dist/src/auth/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.9.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"23.4.0","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","twilio":"^5.4.0","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.0.7_1735206368003_0.778559566254212","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@alfredjp/login-package","version":"1.0.8","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.0.8","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"d8480a77a9bb3274faabdbe793f3457ee5cc86af","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.0.8.tgz","fileCount":45,"integrity":"sha512-4McktiHDJMVJwpldW3fO9uAvJYqvE/LkXwcHAUPtZmUlZ2cOGyGEvqas6emzlLA0Msu2yFkRg1YrqgnFZTjTww==","signatures":[{"sig":"MEYCIQDpaZbum3/6Ts7Ntig86gIR4C0w9FkJaiD5M8dFcbAG+wIhAPY67IPPOEyc5DY3OlKZdUdqn0liEmW/iqs/m7ZJ97ut","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":329042},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/src/auth/index.js","types":"dist/src/auth/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.9.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"23.4.0","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","twilio":"^5.4.0","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.0.8_1735211422903_0.6093837138607139","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@alfredjp/login-package","version":"1.0.9","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.0.9","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"8a74519ed7c56e3964f3485bdd730a72202128b4","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.0.9.tgz","fileCount":46,"integrity":"sha512-FfzPIHkJl2GpivfvhJ1OeIrmHwE/QMq9W6ya1+EPuHyfUAmzlCIv+o6DciSPOcWuClrE7eklY53hqK98U2n0hg==","signatures":[{"sig":"MEUCIQDxvGmehpCCrCfBR6N9nSYE1JmDVZnVicScU77ToNRYRwIgW+HT3g/r/S0XGTvLLHd0jG2b1h2pXHivdJGZBHvXSa4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":328626},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/src/auth/index.js","types":"dist/src/auth/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.8.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"20.18.1","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","twilio":"^5.4.0","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.0.9_1735646170764_0.06377548799156596","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@alfredjp/login-package","version":"1.0.10","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.0.10","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"cae658de73e46245f15b9a312b369b483a273664","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.0.10.tgz","fileCount":46,"integrity":"sha512-3jMwruiOkd3eCuMAEcvU/vjhf8Bv6GUiQoGh+UIb5WI+7EJwp0B+c4Bvn3MoPhFuwwxHsrt+fZLSr41mWax1GA==","signatures":[{"sig":"MEUCIHxk0ID5GwCfDA5qA7KyT7lnLjB0qR9kk4rYI0DMzCm1AiEAk61gToz4A9xzPZMizyZYFw74U9nWJvVcyZfFj9veQUk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":328977},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/src/auth/index.js","types":"dist/src/auth/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.8.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"20.18.1","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","twilio":"^5.4.0","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.0.10_1735646425853_0.2575996895766035","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@alfredjp/login-package","version":"1.1.1","author":{"name":"Jp"},"license":"MIT","_id":"@alfredjp/login-package@1.1.1","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"dist":{"shasum":"a119c828f82d12cb873d96a7b81b13b384bdb2b8","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.1.1.tgz","fileCount":46,"integrity":"sha512-wIAY4rLza4kkHpDlT7yrsrOVlUGbDuXucuyykn+g7vT9uWKhg35ImgjeiMLawXkrPKE6ufvcFro3iSR+LU4ZhA==","signatures":[{"sig":"MEUCIFoMu/r5tb4sWMWrB31/K3geS2Qm+HYOJlzORW8kJwZ6AiEApvKNzPnkf2euUJ7Fz63LONhikNSNOg0lDQ0RyWoD9ng=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":328665},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/src/auth/index.js","types":"dist/src/auth/index.d.ts","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","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"},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"_npmVersion":"10.8.2","description":"A reusable NestJS login package with Prisma and JWT","directories":{"test":"test"},"_nodeVersion":"20.18.1","dependencies":{"rxjs":"^7.8.1","bcrypt":"^5.1.1","twilio":"^5.4.0","@nestjs/jwt":"^10.2.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","@prisma/client":"^6.1.0","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","class-transformer":"^0.5.1","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","prisma":"^6.1.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/express":"^5.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","@types/supertest":"^6.0.0","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/login-package_1.1.1_1735647048032_0.1511691307861518","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@alfredjp/login-package","version":"1.1.2","description":"A reusable NestJS login package with Prisma and JWT","author":{"name":"Jp"},"private":false,"license":"MIT","main":"dist/src/auth/index.js","types":"dist/src/auth/index.d.ts","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","test:watch":"jest --watch","test:cov":"jest --coverage","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:e2e":"jest --config ./test/jest-e2e.json"},"dependencies":{"@nestjs/common":"^10.0.0","@nestjs/core":"^10.0.0","@nestjs/jwt":"^10.2.0","@nestjs/platform-express":"^10.0.0","@prisma/client":"^6.1.0","bcrypt":"^5.1.1","class-transformer":"^0.5.1","class-validator":"^0.14.1","reflect-metadata":"^0.2.0","rxjs":"^7.8.1","twilio":"^5.4.0"},"devDependencies":{"@nestjs/cli":"^10.0.0","@nestjs/schematics":"^10.0.0","@nestjs/testing":"^10.0.0","@types/bcrypt":"^5.0.2","@types/express":"^5.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/supertest":"^6.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint":"^8.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","jest":"^29.5.0","prettier":"^3.0.0","prisma":"^6.1.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":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"collectCoverageFrom":["**/*.(t|j)s"],"coverageDirectory":"../coverage","testEnvironment":"node"},"directories":{"test":"test"},"_id":"@alfredjp/login-package@1.1.2","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-jj/5NeaGJLm2T4kLncltl9VdGPBVsCw89FhLu2xCpDuLGsNd8EDNWyI6fJ7ZPd0gFpzu++EfGuNVP1A4vd1/JA==","shasum":"15cbe7f5b0c9c7f7b1c6ca2c24a558e71fea9ab0","tarball":"https://registry.npmjs.org/@alfredjp/login-package/-/login-package-1.1.2.tgz","fileCount":46,"unpackedSize":328977,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhpSUrp4RfA5UnXzeIrOkuxYFdlDvh0N3YD41SYFP6FQIhAOT61vthBRvedTf41loYFFJ/NyVTNfgAEhO04UNPJd+8"}]},"_npmUser":{"name":"jayjp2403","email":"prakashdev2403@gmail.com"},"maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/login-package_1.1.2_1735647358107_0.9097894278795773"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-23T12:29:37.057Z","modified":"2024-12-31T12:15:58.584Z","1.0.0":"2024-12-23T10:56:26.519Z","1.0.1":"2024-12-23T12:29:37.359Z","1.0.2":"2024-12-24T05:37:46.932Z","1.0.3":"2024-12-24T06:02:49.611Z","1.0.4":"2024-12-24T08:03:35.887Z","1.0.5":"2024-12-24T08:14:49.855Z","1.0.6":"2024-12-26T09:27:31.562Z","1.0.7":"2024-12-26T09:46:08.183Z","1.0.8":"2024-12-26T11:10:23.109Z","1.0.9":"2024-12-31T11:56:10.932Z","1.0.10":"2024-12-31T12:00:26.010Z","1.1.1":"2024-12-31T12:10:48.273Z","1.1.2":"2024-12-31T12:15:58.401Z"},"author":{"name":"Jp"},"license":"MIT","description":"A reusable NestJS login package with Prisma and JWT","maintainers":[{"name":"jayjp2403","email":"prakashdev2403@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo-small.svg\" width=\"120\" 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\" alt=\"Donate us\"/></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\" alt=\"Follow us on Twitter\"></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## Project setup\n\n```bash\n$ npm install\n```\n\n## Compile and run the project\n\n```bash\n# development\n$ npm run start\n\n# watch mode\n$ npm run start:dev\n\n# production mode\n$ npm run start:prod\n```\n\n## Run tests\n\n```bash\n# unit tests\n$ npm run test\n\n# e2e tests\n$ npm run test:e2e\n\n# test coverage\n$ npm run test:cov\n```\n\n## Deployment\n\nWhen you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information.\n\nIf you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps:\n\n```bash\n$ npm install -g mau\n$ mau deploy\n```\n\nWith Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure.\n\n## Resources\n\nCheck out a few resources that may come in handy when working with NestJS:\n\n- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework.\n- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy).\n- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/).\n- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks.\n- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com).\n- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com).\n- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs).\n- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).\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://twitter.com/kammysliwiec)\n- Website - [https://nestjs.com](https://nestjs.com/)\n- Twitter - [@nestframework](https://twitter.com/nestframework)\n\n## License\n\nNest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE).\n\n\n\n🔐 Auth Module for NestJS\n\nThis AuthModule provides 🧑‍💻 user authentication features for your NestJS 🏗️ application, including:\n\n📝 User registration\n\n🔑 Login with username and password\n\n👥 Role-based login\n\n📲 OTP-based login using Twilio\n\n🛡️ JWT token generation and protection for routes\n\n✨ Features\n\n📝 User Registration\n\n🔑 Login with Credentials\n\n👥 Role-Based Login\n\n📲 Send OTP for Login\n\n✅ Verify OTP for Login\n\n🛡️ Protected Routes with JWT Guard\n\n⚙️ Installation\n\nClone the 🗂️ repository and navigate to the project directory:\n\ngit clone <repository-url>\ncd <project-directory>\n\nInstall 📦 dependencies:\n\nnpm install\n\nSet up 🗝️ environment variables. Create a .env file in the root of your project and include the following:\n\nJWT_SECRET=your-jwt-secret\nTWILIO_ACCOUNT_SID=your-twilio-account-sid\nTWILIO_AUTH_TOKEN=your-twilio-auth-token\nTWILIO_PHONE_NUMBER=your-twilio-phone-number\n\nRun the 🏃‍♂️ project:\n\nnpm run start:dev\n\n🗂️ Folder Structure\n\n\nsrc/\n├── auth/\n│   ├── dto/\n│   │   ├── auth.dto.ts       # DTOs for requests\n│   ├── guards/\n│   │   ├── jwt.guard.ts      # JWT authentication guard\n│   ├── auth.controller.ts    # Handles HTTP requests\n│   ├── auth.module.ts        # Module definition\n│   ├── auth.service.ts       # Business logic for authentication\n├── prisma/\n│   ├── prisma.service.ts     # Prisma service for database operations\n\n\n\n\n🔧 Usage\n\n🔗 Endpoints\n\n1. 📝 Register\n\n🌐 URL: POST /auth/register\n\n📜 Description: Registers a new user.\n\n📤 Request Body:\n\n{\n  \"email\": \"user@example.com\",\n  \"password\": \"password123\",\n  \"name\": \"John Doe\",\n  \"role\": \"user\"\n}\n\n📥 Response:\n\n{\n  \"user\": {\n    \"id\": \"123\",\n    \"email\": \"user@example.com\",\n    \"name\": \"John Doe\"\n  },\n  \"token\": \"jwt-token\"\n}\n\n2. 🔑 Login\n\n🌐 URL: POST /auth/login\n\n📜 Description: Logs in a user with email and password.\n\n📤 Request Body:\n\n{\n  \"email\": \"user@example.com\",\n  \"password\": \"password123\"\n}\n\n3. 👥 Role-Based Login\n\n🌐 URL: POST /auth/rolelogin\n\n📜 Description: Logs in a user and includes role in the response.\n\n4. 📲 Send OTP\n\n🌐 URL: POST /auth/send-otp\n\n📜 Description: Sends an OTP to the user's 📞 phone number.\n\n📤 Request Body:\n\n{\n  \"phoneno\": \"+1234567890\"\n}\n\n5. ✅ Verify OTP\n\n🌐 URL: POST /auth/check-otp\n\n📜 Description: Verifies the OTP sent to the user's 📞 phone.\n\n📤 Request Body:\n\n{\n  \"phoneno\": \"+1234567890\",\n  \"otp\": \"123456\"\n}\n\n📥 Response:\n\n{\n  \"message\": \"OTP verified successfully.\",\n  \"token\": \"jwt-token\"\n}\n\n6. 🛡️ Protected Route\n\n🌐 URL: GET /auth/protected\n\n📜 Description: Access a protected route with a valid JWT.\n\n🧾 Headers:\n\nAuthorization: Bearer <jwt-token>\n\n📥 Response:\n\nThis route is protected\n\n🧪 Testing\n\nUse a tool like Postman 📨 or cURL 💻 to test the endpoints.\n\nEnsure the .env variables are correctly set for Twilio 📲 and JWT 🔑.\n\n📝 Notes\n\n📂 Database: The application uses Prisma as the ORM. Ensure that your database is configured correctly in the prisma.schema file.\n\n📲 Twilio Integration: Replace the Twilio credentials in the .env file with your own to enable OTP functionality.\n\n🔒 Password Hashing: Bcrypt is used for securely hashing passwords.\n\n🛡️ JWT Tokens: Tokens are signed with a secret key defined in the .env file.\n\n📜 License\n\nThis project is licensed under the MIT License. Feel free to use and modify it as needed.","readmeFilename":"README.md"}