{"_id":"@duongtrungnguyen/nestro","_rev":"129-0735d98a9ebfe3b9a87ba616d999115a","name":"@duongtrungnguyen/nestro","dist-tags":{"latest":"0.1.26"},"versions":{"0.1.0":{"name":"@duongtrungnguyen/nestro","version":"0.1.0","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.0","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"d89b01ed907a87e1912036e695a1f52965db28f4","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.0.tgz","fileCount":277,"integrity":"sha512-HWLOOrbBrN32i9kEL75w6biKOnJmBy2Fy547tq5Yp+93UibZhnOv0STUjFUTfpHD29758YWkUJVFB4CRxXXHCw==","signatures":[{"sig":"MEUCIQCSESOmIneiaF79GDypvCOpXguMaheHPxPlzgo7STHkYQIgSc2nVo3KuPRteXMM9h/m27jJUUKNMg4An8jtf03V3F4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":388183},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"02fdd4d687f4390f97f5ee76dfa787e35f296763","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","uuid":"^11.1.0","express":"^4.21.2","handlebars":"^4.7.8","http-proxy":"^1.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.0_1743835649029_0.7116165482102434","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@duongtrungnguyen/nestro","version":"0.1.1","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.1","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"58daff27a34738671815ef6049fab671ac260be3","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.1.tgz","fileCount":281,"integrity":"sha512-zSdAl40FBjzs1x2pOp+9maA/uEksDWNcABqXd82R99rKLiT6XQNE+t+9Zxxee4yz66fMY50x0AH+dksJ3Zso1w==","signatures":[{"sig":"MEQCIGOGFo7TUz7G+So5TLGKj5ta4c1NeRquNoERsVs4NE3QAiAnc4Px5yHR5AEzl1ML6uh/rDYHMTbcFGJbJb049zEqdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":391019},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"651a2163c03f327abe7305ed2f71f6f6d2b56916","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","uuid":"^11.1.0","express":"^4.21.2","handlebars":"^4.7.8","http-proxy":"^1.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.1_1744019621439_0.6180090811900705","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@duongtrungnguyen/nestro","version":"0.1.2","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.2","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"6c41edfb24a288bc609d9d8a4e503d6dc8072491","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.2.tgz","fileCount":281,"integrity":"sha512-PIgfR3bu/BIvsPdYgyjNEgJ/iKqod/54see1NGNZZmobDSUj+WK8JGSerh8CjbI9+AAor2yxktKLkdEkDFhykQ==","signatures":[{"sig":"MEUCIFADH8q5wCU7U+dRireU17IbKuAMJLrcpqfucfdCfr1IAiEAp9mVdsUoRW+ht+Mu0FSt7vua3w6VvCef9pBMsBUVguo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":391063},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"e37a14e27bb1c9ca86ebaced6df7f508f00ca2a9","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","uuid":"^11.1.0","express":"^4.21.2","handlebars":"^4.7.8","http-proxy":"^1.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.2_1744020884990_0.252821422838692","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@duongtrungnguyen/nestro","version":"0.1.3","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.3","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"39c2c515d6c2c593120220b25f847d1932e46d8e","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.3.tgz","fileCount":281,"integrity":"sha512-l48yzKooRU6DVAssdux7Rgt3dLv2G+vGuNjw4OnyPUXmfF65I7v6NdOcRFMX/sVsNTRpw4RrxaxcTZOGOY1ykw==","signatures":[{"sig":"MEUCICAs5coTErsjin8b8RGqjrHJ1Un6GgsB4h1TKj2h5sKTAiEAqHMe+3g/uePy9euRrYuVa7ctNOj9JINDP5GNKVTaNEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":392123},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"624b6e1ced985a539b80ad1b58c1bbce754dd21c","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","uuid":"^11.1.0","express":"^4.21.2","handlebars":"^4.7.8","http-proxy":"^1.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.3_1744091766230_0.26279298776462534","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@duongtrungnguyen/nestro","version":"0.1.5","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.5","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"bc8c3f1235bc0e1bf52034ecbc729f896b6f956b","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.5.tgz","fileCount":293,"integrity":"sha512-FNtLLbN1PDaluOB8erjykhxZbQ+6Py8PIaXNVHuw3h4QBm5u+aRNiOlMevMHsWKnlz4HTtcTThoutcWybI6Egw==","signatures":[{"sig":"MEYCIQC26Cy/gsImYRZkhbAFK/FpSSEPzf/1Ou3nc5W7nZoZwAIhAIk3+WfYuP0LMbeVe9JtOAYQ6Rie/G8NUNtv4eW/MECC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":518843},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"2f43228a3949d521b946a6fb3d6683e3c9d72adf","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.5_1744202074130_0.18057230722985573","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@duongtrungnguyen/nestro","version":"0.1.6","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.6","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"dd1e920885cdcb74f0320a3f0099d0b7df17968b","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.6.tgz","fileCount":293,"integrity":"sha512-tPPNiQZ7u8PYSe7D9uXVMSpoX3JACpLFYO6NhxzC/J0U1ZF0IpWulVQPf3yCd9V0IpRQx5SXw2UAFWGDJO+Now==","signatures":[{"sig":"MEUCIDTRxWOUK9YbQsWuq1h25K8RrOmluSivSN+5HFaYrxgdAiEA1k2gGeoEym9ioeg0Jl05zG0Hl2QVtwWo0HdJtAn9pjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519736},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"0a73d94073c96da3d6bf8dcb3f2b5999801fc501","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.6_1744212562961_0.46198074890164764","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@duongtrungnguyen/nestro","version":"0.1.7","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.7","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"c9e53ca994d212c690b9bedcc0af27682543f6e5","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.7.tgz","fileCount":293,"integrity":"sha512-LdIxs/KFdawd+3YXb416FBrvbO7R4vvG4eX0+Ir9T6N8VDOjw4Hx+DXTUWELUPVf17JmY6rJqYNyjN96oxbCgg==","signatures":[{"sig":"MEYCIQD+5YlPBIbUpKUjU1i51B8sXD/RISycKoyqy4nMJzsY/QIhAPy0YNDJ43CYfrPg2mUZK4n8qfAHFjtjtygODVTboJSP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519156},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"a1dd6b5410cd4ac167e085ecd640bc0219240572","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.7_1744213135793_0.05567373081002014","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@duongtrungnguyen/nestro","version":"0.1.8","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.8","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"535079fc61e45a4e6d1506a0bd9a25735a24aec4","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.8.tgz","fileCount":297,"integrity":"sha512-uXo59epLxx7UcynjXrdGwCQEQwGsEX3FkKjRF2Zbn3/Eyuywocb/VOHi8OqwBa4oWLLgqNfMzLJ7G/uQ9TY6OQ==","signatures":[{"sig":"MEUCIGsiyjcSRJ5hZ5d2pNKeKuy0LmrMnRqeI1wfS5plILtsAiEAs5ZSa2Mp83g8+8f3pNeLfK/dJ1brep8Y26AK0jV7qBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578556},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"44d4d4a7700fed6d2b590b88f6cc5706b89c882f","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.8_1744348540055_0.5919273210047693","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@duongtrungnguyen/nestro","version":"0.1.10","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.10","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"455795d702c8b737009a039f14fa1e1b87a62435","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.10.tgz","fileCount":297,"integrity":"sha512-oL0PP7oRQo8dhDjj/mEEvTtaOqygeo+hsPq7M5FeBqObEKR+9/WGHB1eFv+jafhSp0UA4e5A0v1FnhKNx4OlAw==","signatures":[{"sig":"MEYCIQDF+yOrP+o/NJ3C5bCjM6Q5gNFgz3/LEGxu33xfoFdWpwIhALLmj0daV5JTSy5e7SwjV0EhHvcm4sZB2060+mNr6cET","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578469},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"40cae8b77460033dfbb8608805fe2d8f93ab29f0","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.10_1744462727209_0.664074984366148","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@duongtrungnguyen/nestro","version":"0.1.11","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.11","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"f440fdda5b09774b4884d6e618a2ace337a38f18","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.11.tgz","fileCount":297,"integrity":"sha512-TYUNLytkXs1pGXJOjhOlGpkVHpvlOVl6ViKEwBL9jZUmq1BXys2X8hgOT4fse3ecCSMo5Dg60lwMtSIZxrK4Vg==","signatures":[{"sig":"MEYCIQC/H7WjnGbUXHVbz62eGXHTfOr2DNAP9okU6MUKJsi4fwIhAJ673w1fAbDXRphauia4VsIUT7OIrVOfPCk/ch26IXV4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578736},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"66b631c0ae58468aa7b43c3cc5b1b21ae08536e0","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.11_1744464273839_0.1584554816222481","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@duongtrungnguyen/nestro","version":"0.1.12","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.12","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"ffd72f315648a8e97b5fddc46bf45676630facf5","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.12.tgz","fileCount":317,"integrity":"sha512-NXHMtW/9ZcZ8s6F57L9dRsMZO1aYQy7cNICP6hdGF4MwRq0nAg3DNlz7KqUOEfKstmo9izPhfYbYDiY3e++AxA==","signatures":[{"sig":"MEQCIAe1OC3if0mzFRSJvWIJWri0D1VfqmB6W7jKlsSskc/dAiBn0K6jiXR9V6DrgFKGXlmlN5FDGRIAn/eHgIHzPd/flw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":616808},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"5a7ef205eb4a739d7cec7c182a62662d063db5cb","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.12_1744520945734_0.5495107520405524","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@duongtrungnguyen/nestro","version":"0.1.13","keywords":["nest","nestjs","microservices","service registry","service discovery","load balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.13","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"6327c43b0de4f59f0ebecc65fca10cbebf048f51","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.13.tgz","fileCount":317,"integrity":"sha512-d+Zq0xgIUrNW8tRrdsovRoSg2zj+5+7wp2ZUqo0A76wDS2reQinfQeAkoTt38Ctx34LBjMxHrNlzKgP6+kVVUw==","signatures":[{"sig":"MEQCIBD9njC8+10Pdv29lu2yYVSqLNVSUlqA+ALxJ927n7DjAiA8jxgtQN7YR/FyUNQ+xvwKphSG4ux+ouSNG6R65d87Iw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628810},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"c470337a109180ce0d8be061832fd4d9fc3dd518","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.13_1744636691069_0.2797000311981086","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@duongtrungnguyen/nestro","version":"0.1.14","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.14","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"ed65c59b5ffa57f0b4815baeb325897d684f5097","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.14.tgz","fileCount":325,"integrity":"sha512-2YtfS97LvWY5a5bsQmJ3pekFzJfXccsjENLcejN4+wYQ334vu3CuabOXHqQNJxsMMBfGF4c4LLnpDmm4XrDg4w==","signatures":[{"sig":"MEUCIAMNGyHP0STutgWJz9TzMqUE4HbddHeU3kwo+5O1wPVwAiEAlG8voAGjT5PWzHm0kJMdl31CjkfcDn8L+erwkLBkwko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638650},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"21cb671940ef155b47dd7788d58668bc415e1efb","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.14_1744720080011_0.9499422994575748","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@duongtrungnguyen/nestro","version":"0.1.15","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.15","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"d0aa26d96e8c201f8848a0767d93a28bb8fd555f","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.15.tgz","fileCount":325,"integrity":"sha512-JeXtiYDF0NEOTynC7qSJCjFOFu3RqpwY8BpmhytCwk+P+Qyr71efT/w3sHv5/07jEMhiVFdT6Ag/Y/PgOO/Hxg==","signatures":[{"sig":"MEUCIQCVUbfvitrHEQrjAbc8KPHniECKd07lV7+HEPKrNYVClAIgP/4rudjtexZ/vqFWmjFCc2MtSG9lcsy63/EQlP99hos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":644805},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"c116d9aae7347ad800f6ab7bf55579e47bc5597c","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.15_1745301828690_0.6484749321604817","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@duongtrungnguyen/nestro","version":"0.1.16","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.16","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"9b3f1f1bc4e30ab69126fb305b90ab7f7a7fde62","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.16.tgz","fileCount":329,"integrity":"sha512-424rOSk15vTIHjRFa5grHdMzGY1PmyMEWoTi5tZs5z74CgoRU/WIqTyBmc3BXu3/eTueBJeM0QLFtwxnuXp/CQ==","signatures":[{"sig":"MEUCIQDetl0WCjyHDNBk9R4fkwFN8tQ56OC67JGkg0cI3UgxAwIgCbuNN1hpEPDA8X+7ZDDWsZ7ovEuFVjdp+P9mpoeCSWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":645329},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"d2d452384e5e62c5dca6299353515a61285bae22","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.16_1746889827588_0.470592317411066","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@duongtrungnguyen/nestro","version":"0.1.17","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.17","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"7db944228bd4ba740e29d34a9eb71fce42edf0cf","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.17.tgz","fileCount":341,"integrity":"sha512-26R12Qj1FQy1VV2HAcbiUPN3NMxg6CIaKRB+vlCqHko1KLbEjKqxGEkctzNGt5ymxRgt0E4zGHsc/FZBGtj6zA==","signatures":[{"sig":"MEQCICHAzAWgrdT2FBzYV8xKsa2P2WjqE7efHPghBElJmo05AiBKZmTTgngwGYg3ZglqKs8WOEOc0DcQmgZOdNff+IVIJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656445},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"18d4cc6bfee26897732d91223610ce505e96adce","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.17_1746973729823_0.9190348469753746","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@duongtrungnguyen/nestro","version":"0.1.18","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.18","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"ad605e44613456bb47a2e2667fde29c2b661301c","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.18.tgz","fileCount":345,"integrity":"sha512-FsVmW/Y0ABDw5e/iU8PXjxzc3XI8JBbAy5ecS+94U+Qfu25FyLh/IpipmtjO5a2ov2QcWqLoU0pHBlLSZUr5QQ==","signatures":[{"sig":"MEUCIQDWY32qRnHAcOFSPAXcwwJFBM43nOU4iDjcPJ8ZGJ1bagIgdjHruNGOfLS3Mlz+5uNGPAvrwQ6KXd4TXOwQfgRrT1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658703},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"e3f08085e34e2939bf2bdf165bdfe6ed604a1a80","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.18_1747053846266_0.16656833441036323","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@duongtrungnguyen/nestro","version":"0.1.19","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.19","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"a836aa6c07b2ea24ea0a32c65907424a7309238a","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.19.tgz","fileCount":345,"integrity":"sha512-mONa7k/3nrl15ixLhQL9RnMI9TRoJPDyFKmAaMZUYkJbwfJuHjdebjg3ZIURMIbIzyl6Ej7baYT1HZS6WAaGZQ==","signatures":[{"sig":"MEYCIQC4R69oDosOmhWKOc5gc8K29NL77bktdI0UVqsuFR1UmwIhAMc99lpg8Ssvwp9SevaFi4EO/ruwYwk+ukbDml99a4fS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658739},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"352866e0ab8997a3d019441721d5cf78d10cb6e0","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.19_1747056016292_0.567075645598291","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@duongtrungnguyen/nestro","version":"0.1.20","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.20","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"149e474b7e98b0a7351f8e3a829c0a8c66ad43e8","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.20.tgz","fileCount":345,"integrity":"sha512-QtdQj+gGKeXvJZaIlJq5lozNfPqzVU+dhoCk0vbumZ1jhNbc6h0NnE+5cH99W2JVnD1KdZ7ll/siq3TniZz/zg==","signatures":[{"sig":"MEQCIHnEJ1nDAKd0efJRhSRAl+56WcXRhIeksknQjKV44XhjAiB6UdtowoKZi1cyIFfjv+8b5++DV/v2eZ/3x6uMGlPhXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":681609},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"b5a03d20a0c1ddb99c7ebc8f8c52fab56a31c53b","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.20_1747368021302_0.21429663787100162","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@duongtrungnguyen/nestro","version":"0.1.21","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.21","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"32ec8a73f148af4120316544d346314f318cefbf","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.21.tgz","fileCount":345,"integrity":"sha512-lZvL2aFnuLbD0oOfR9yI50CMNUMAKl1l/c30ObdnlJTvhyX4SbI+cQVUutPypGjte1zgM3jxyDbUGzR3qgvY7w==","signatures":[{"sig":"MEUCIDUdpBBuU08HAmSWF1oQJyNSI/FpsqBxRqnJ/6kt4DbVAiEA8ahatBEL4LGgVpvCWcXUYzcy4+xs0h9rTqJlcM1ylYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":681583},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"d37618cbc33f723636ceb3af78621d61025a105e","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.21_1747371702716_0.32012994003340056","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@duongtrungnguyen/nestro","version":"0.1.22","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.22","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"bdfe8d2e08619d571ce7e69e42b958221338b5bc","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.22.tgz","fileCount":341,"integrity":"sha512-P/Hatu+Z1We85McJ/rUliUip8qHBCnUxCP6rFWO2Mv1XfJzy976Yxej0KzwSPxq0/K4L2CboEuDjzDNqu/Qy4w==","signatures":[{"sig":"MEUCIQDRDKZDlvyUy59Sp+6HOgrATASuKHpgHS9NCRajIWQq8wIgCMWSWje3InT3WCZlqJsqSIwwYQ712t1jZatDZEqcUKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":654232},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"9b62b106a0684a05f12472b6e71ee866fddee085","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.22_1747400448424_0.5091298612049462","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@duongtrungnguyen/nestro","version":"0.1.23","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.23","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"a1ced8bbbd7670a274eda1742198ab16613177af","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.23.tgz","fileCount":357,"integrity":"sha512-s9nDgVp74YWD69UWmA5YRg/p0EwK6lKbM1OgUiorb43eFHLOmVQ5sFCvDV42lCr1zC5RL8rIfHfrbeDU9ow1ig==","signatures":[{"sig":"MEUCIQDEyXXe9nRacIDn2W77UjzB7TZLjXdJlKLuZHNV4OQjvQIgY3Y8mLrLuRn/y8YeiAzl7JRsU09xeoAGL6tUvNotYbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":686645},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"12e513bf3f3581ab4aade455729879fb8a528151","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0","swagger-ui-express":"^5.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.23_1747662654428_0.32760701417347304","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@duongtrungnguyen/nestro","version":"0.1.24","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.24","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"1798b6fe982357ff54e3b0f40797e7a852e038cc","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.24.tgz","fileCount":357,"integrity":"sha512-6BpKPfB1E+Yxru0lOHeth3WicN7XQa7AAadyldxqIqqj80rgjyesEDHVMNSZi1DmBrGLeHLBwLvvWpMbHOXMng==","signatures":[{"sig":"MEQCIFWQNTYmEKsVXSP847gJcP5wTJkDD9ThyTpLvtxdDjmDAiAqD9JRsaVrVaSzPO9cPYowI1Q6AEzK77GMFogP15InTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":689147},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"4ea73685ae99599ba6e8b39e6ad6e15136536b74","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0","swagger-ui-express":"^5.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.24_1747663763675_0.8588944969442285","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"@duongtrungnguyen/nestro","version":"0.1.25","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"author":{"name":"Duong Trung Nguyen"},"license":"MIT","_id":"@duongtrungnguyen/nestro@0.1.25","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"dist":{"shasum":"e437aa85363b817d53e99685a9c45c0b5165f855","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.25.tgz","fileCount":357,"integrity":"sha512-e2/N3v2oUAInshx3pyKaxM6IosdiuDwcRuI7v7A3nQgjNiaOzvJyf6qNo+uSYpp+01DDTeaiOY4qCgnGzK7lHA==","signatures":[{"sig":"MEUCIQC7Vltc4v/bYM3PTaFxP5qKKl+MBlT7ciQB2dbD5LxRDQIgAa3jAXeThtX2X5e1CZqdjO+o1cwotg/dV/xZP97wnBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":689739},"types":"./dist/types/index.d.ts","engines":{"node":">=20.0.0"},"exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"d5fb3e9f67d6b1a9362df13a9868bf4dbbf7fa4d","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"npm run clean && tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start:dev":"nest start --watch","link-local":"npm link","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"repository":{"url":"git+https://github.com/duongtrungnguyenrc/nestro.git","type":"git"},"_npmVersion":"11.2.0","description":"Service registry for Nest JS","directories":{},"sideEffects":false,"_nodeVersion":"23.9.0","dependencies":{"hbs":"^4.2.0","express":"^4.21.2","handlebars":"^4.7.8","path-to-regexp":"^8.2.0","swagger-ui-express":"^5.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^9.23.0","fs-extra":"^11.3.0","@types/hbs":"^4.0.4","typescript":"^5.3.3","@types/node":"^20.10.5","@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/http-proxy":"^1.17.16","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"peerDependencies":{"rxjs":"^7.8.2","@nestjs/core":">=10.0.0","@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/platform-express":">=10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestro_0.1.25_1747664419654_0.7326265078339791","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"@duongtrungnguyen/nestro","author":{"name":"Duong Trung Nguyen"},"version":"0.1.26","description":"Service registry for Nest JS","license":"MIT","engines":{"node":">=20.0.0"},"sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/duongtrungnguyenrc/nestro.git"},"types":"./dist/types/index.d.ts","exports":{"import":"./dist/esm/index.js","types":"./dist/types/index.d.ts","require":"./dist/cjs/index.js","default":"./dist/cjs/index.js"},"scripts":{"build":"npm run clean && tsup","dev":"tsup --watch","clean":"rm -rf dist","prepublishOnly":"npm run clean && npm run build","lint":"eslint src --ext .ts,.tsx","link-local":"npm link","start:dev":"nest start --watch","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\""},"keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"peerDependencies":{"@nestjs/common":">=10.0.0","@nestjs/config":">=3.0.0","@nestjs/core":">=10.0.0","@nestjs/platform-express":">=10.0.0","rxjs":"^7.8.2"},"dependencies":{"express":"^4.21.2","handlebars":"^4.7.8","hbs":"^4.2.0","path-to-regexp":"^8.2.0","swagger-ui-express":"^5.0.1"},"devDependencies":{"@types/express":"^5.0.1","@types/fs-extra":"^11.0.4","@types/hbs":"^4.0.4","@types/http-proxy":"^1.17.16","@types/node":"^20.10.5","@types/swagger-ui-express":"^4.1.8","@typescript-eslint/eslint-plugin":"^8.29.0","@typescript-eslint/parser":"^8.29.0","eslint":"^9.23.0","fs-extra":"^11.3.0","tsup":"^8.0.1","typescript":"^5.3.3"},"_id":"@duongtrungnguyen/nestro@0.1.26","gitHead":"ced36af912ac1c875e25cd8cc39e8f38dcaaff67","bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","_nodeVersion":"23.9.0","_npmVersion":"11.4.1","dist":{"integrity":"sha512-WF+yEIv0+8kTOeGgJQLVz6c6KjM4ANPiWeKAcJPRjFnN16LyaKg12lE1qPGdkRy/N1SbEkl3i149ZrziGDTLJQ==","shasum":"df6c2254123a5824f7fb07a3055a2e329f84a5ec","tarball":"https://registry.npmjs.org/@duongtrungnguyen/nestro/-/nestro-0.1.26.tgz","fileCount":377,"unpackedSize":753359,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDjSh+iUAxbCB8oSuWujiKFqncOTu7u/xJJTzFLSCgYUQIhAJ7yaikVt0rS+gcowqtCiS+ilB3utNYdKNefnhgW6QcF"}]},"_npmUser":{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"},"directories":{},"maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestro_0.1.26_1748273810774_0.8652231354443689"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-19T10:06:02.994Z","modified":"2025-05-26T15:36:51.189Z","0.0.1":"2025-03-19T10:06:03.284Z","0.0.2":"2025-03-19T10:14:45.007Z","0.0.3":"2025-03-19T10:17:29.616Z","0.0.4":"2025-03-19T10:20:18.767Z","0.0.5":"2025-03-19T11:47:19.705Z","0.0.6":"2025-03-19T11:49:12.276Z","0.0.7":"2025-03-19T11:52:50.323Z","0.0.8":"2025-03-19T16:44:16.641Z","0.0.9":"2025-03-19T16:45:09.341Z","0.0.10":"2025-03-20T11:51:09.642Z","0.0.11":"2025-03-20T12:07:20.276Z","0.0.12":"2025-03-21T08:36:05.151Z","0.0.13":"2025-03-21T09:31:03.401Z","0.0.14":"2025-03-21T09:31:52.903Z","0.0.15":"2025-03-21T13:51:03.661Z","0.0.16":"2025-03-21T13:53:45.699Z","0.0.17":"2025-03-21T13:58:32.272Z","0.0.18":"2025-03-21T14:01:54.767Z","0.0.19":"2025-03-21T14:11:59.497Z","0.0.20":"2025-03-21T15:25:19.764Z","0.0.21":"2025-03-22T07:01:47.685Z","0.0.22":"2025-03-22T07:03:35.873Z","0.0.23":"2025-03-22T07:04:55.803Z","0.0.24":"2025-03-22T07:08:34.235Z","0.0.25":"2025-03-22T07:17:57.133Z","0.0.26":"2025-03-22T07:28:56.029Z","0.0.27":"2025-03-22T07:34:55.401Z","0.0.28":"2025-03-22T13:26:19.244Z","0.0.30":"2025-03-22T13:29:26.598Z","0.0.31":"2025-03-22T13:30:43.811Z","0.0.32":"2025-03-22T13:31:27.008Z","0.0.33":"2025-03-22T14:01:43.875Z","0.0.34":"2025-03-22T14:03:06.465Z","0.0.35":"2025-03-22T14:10:21.491Z","0.0.36":"2025-03-22T14:14:02.804Z","0.0.37":"2025-03-22T14:33:29.525Z","0.0.39":"2025-03-23T02:55:56.750Z","0.0.40":"2025-03-23T05:25:10.313Z","0.0.41":"2025-03-23T09:01:22.132Z","0.0.42":"2025-03-24T04:39:45.059Z","0.0.44":"2025-04-03T07:03:42.915Z","0.0.45":"2025-04-03T07:05:08.352Z","0.0.46":"2025-04-03T07:20:30.610Z","0.0.47":"2025-04-03T07:57:21.034Z","0.0.48":"2025-04-03T08:05:43.363Z","0.0.49":"2025-04-03T10:13:19.980Z","0.0.50":"2025-04-03T10:26:21.738Z","0.0.51":"2025-04-03T11:39:56.522Z","0.0.52":"2025-04-04T15:35:08.543Z","0.0.53":"2025-04-04T16:59:01.808Z","0.0.54":"2025-04-05T05:45:21.844Z","0.1.0":"2025-04-05T06:47:29.260Z","0.1.1":"2025-04-07T09:53:41.637Z","0.1.2":"2025-04-07T10:14:45.196Z","0.1.3":"2025-04-08T05:56:06.435Z","0.1.4":"2025-04-08T06:27:26.859Z","0.1.5":"2025-04-09T12:34:34.313Z","0.1.6":"2025-04-09T15:29:23.167Z","0.1.7":"2025-04-09T15:38:56.109Z","0.1.8":"2025-04-11T05:15:40.327Z","0.1.10":"2025-04-12T12:58:47.458Z","0.1.11":"2025-04-12T13:24:34.051Z","0.1.12":"2025-04-13T05:09:05.933Z","0.1.13":"2025-04-14T13:18:11.252Z","0.1.14":"2025-04-15T12:28:00.213Z","0.1.15":"2025-04-22T06:03:48.874Z","0.1.16":"2025-05-10T15:10:27.802Z","0.1.17":"2025-05-11T14:28:50.110Z","0.1.18":"2025-05-12T12:44:06.495Z","0.1.19":"2025-05-12T13:20:16.560Z","0.1.20":"2025-05-16T04:00:21.533Z","0.1.21":"2025-05-16T05:01:42.981Z","0.1.22":"2025-05-16T13:00:48.631Z","0.1.23":"2025-05-19T13:50:54.603Z","0.1.24":"2025-05-19T14:09:23.923Z","0.1.25":"2025-05-19T14:20:19.844Z","0.1.26":"2025-05-26T15:36:50.992Z"},"bugs":{"url":"https://github.com/duongtrungnguyenrc/nestro/issues"},"author":{"name":"Duong Trung Nguyen"},"license":"MIT","homepage":"https://github.com/duongtrungnguyenrc/nestro#readme","keywords":["nest","nestjs","microservices","platform-express","service-registry","service-discovery","load-balancing"],"repository":{"type":"git","url":"git+https://github.com/duongtrungnguyenrc/nestro.git"},"description":"Service registry for Nest JS","maintainers":[{"name":"duongtrungnguyen.it","email":"duongtrungnguyenrc@gmail.com"}],"readme":"<div align=\"center\">\n\n<img src=\"https://github.com/user-attachments/assets/09579645-adb7-4be6-a503-f7c297ed62e5\" style=\"width:180px;height:180px;object-fit:cover;\"></img>\n\n_Empower seamless microservices with effortless service discovery._\n\n![last-commit](https://img.shields.io/github/last-commit/duongtrungnguyenrc/nestro?style=flat&logo=git&logoColor=white&color=0080ff) ![repo-top-language](https://img.shields.io/github/languages/top/duongtrungnguyenrc/nestro?style=flat&color=0080ff) ![repo-language-count](https://img.shields.io/github/languages/count/duongtrungnguyenrc/nestro?style=flat&color=0080ff)\n\n_Built with the tools and technologies:_\n\n![Express](https://img.shields.io/badge/Express-000000.svg?style=flat&logo=Express&logoColor=white) ![JSON](https://img.shields.io/badge/JSON-000000.svg?style=flat&logo=JSON&logoColor=white) ![npm](https://img.shields.io/badge/npm-CB3837.svg?style=flat&logo=npm&logoColor=white) ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E.svg?style=flat&logo=JavaScript&logoColor=black) ![TypeScript](https://img.shields.io/badge/TypeScript-3178C6.svg?style=flat&logo=TypeScript&logoColor=white) ![ESLint](https://img.shields.io/badge/ESLint-4B32C3.svg?style=flat&logo=ESLint&logoColor=white) ![CSS](https://img.shields.io/badge/CSS-663399.svg?style=flat&logo=CSS&logoColor=white)\n\n</div>\n\n## I. Overview\n\nNestro is a powerful service registry designed for NestJS applications. It streamlines the management and discovery of microservices by offering an HTTP-based pooling mechanism, real-time service monitoring, and a comprehensive dashboard for managing service dependencies. Nestro provides essential tools for efficient service registration and load balancing, tailored specifically for the NestJS ecosystem.\n\n**1. Features**\n\n- **Service registration:**  \n  Services register themselves via HTTP requests. Regular heartbeats are sent to ensure that the registry remains updated with active instances.\n- **Dynamic load balancing and service discovery:**  \n  Distribute incoming requests using flexible strategies such as round-robin, random, or least-connections for optimal performance.\n- **Robust security:**  \n  Integrates key management and request validation to secure service communications using RSA algorithm.\n- **Distributed Swagger:**  \n  Auto merge Swagger documentation.\n- **User-Friendly Dashboard:**  \n  Monitor service instances in real-time, manage service dependencies, and perform administrative actions (e.g., deregistering services) directly through the dashboard.\n\n**2. How it works?**\n\n**Service registration:**\n\n- **Bootstrap:**  \n  Each microservice registers with the Nestro server upon startup by sending an HTTP POST request. The registration includes critical information such as the service name, host, port, and security details.\n- **Storage:**  \n  Nestro stores this information in its internal registry, making the service discoverable for other clients or services.\n- **Heartbeat:**  \n  To maintain an accurate registry, each service sends regular heartbeat requests. This mechanism allows the server to track active instances and remove those that no longer respond.\n\n**Service discovery:**\n\n- When a client makes a request, Nestro will discover the available service instances based on the configured load balancing strategy. This ensures that traffic is distributed evenly and efficiently among all registered services.\n\n---\n\n## II. Getting Started\n\n### Prerequisites\n\nThis project requires the following dependencies:\n\n- **Programming Language:** TypeScript\n- **Framework:** Nestjs\n- **Platform:** Express\n\n### Installation\n\nBuild nestro from the source and intsall dependencies:\n\n**Clone the repository:**\n\n    ❯ git clone https://github.com/duongtrungnguyenrc/nestro\n\n**Using [npm](https://www.npmjs.com/):**\n\n    ❯ npm install @duongtrungnguyenrc/nestro@latest\n\n**Using [yarn](https://classic.yarnpkg.com/):**\n\n    ❯ yarn add @duongtrungnguyenrc/nestro@latest\n\n**Using [pnpm](https://pnpm.io/):**\n\n    ❯ pnpm install @duongtrungnguyenrc/nestro@latest\n\n### III. Samples\n\n**1. Nestro server**\n\nNestro needs an intermediary service to handle the service registry to avoid bottlenecks.\n\n```ts\n/* nestro-server/main.ts */\n\nimport { createNestroServer } from \"@duongtrungnguyen/nestro\";\n\nimport { AppModule } from \"./app.module\";\n\nasync function bootstrap() {\n  const app = await createNestroServer(AppModule, {\n    security: {\n      publicKeyPath: \"~/keys/public.pem\",\n      privateKeyPath: \"~/keys/private.pem\",\n    },\n    enableRegistryDashboard: true,\n  });\n  await app.listen(4444);\n}\nbootstrap();\n```\n\n**2. Nestro client applications**\n\nNestro client is that the microservices will register with the nestro server and use pooling to periodically send heartbeats to notify the nestro server that the client instance is still active.\n\n```ts\n/* nestro-microservice/main.ts */\n\nimport { createNestroApplication } from \"@duongtrungnguyen/nestro\";\n\nimport { AppModule } from \"./app.module\";\n\nasync function bootstrap() {\n  const app = await createNestroApplication(AppModule, {\n    server: {\n      host: \"localhost\", // Server host\n      port: 4444, // Server port (Default: 4444)\n      secure: process.env.NODE_ENV === \"production\", // Server secure\n    },\n    client: {\n      name: \"client\", // Service name\n      host: \"localhost\", // Service instance host\n      port: 3001, // Service instance port\n      secure: process.env.NODE_ENV === \"production\", // Service instance secure\n      heartbeatInterval: 10000, // Heartbeat interval in milliseconds\n      swaggerJsonPath: \"api-docs-json\", // Service json Swagger document path\n    },\n    security: {\n      privateKeyPath: \"./private.pem\", // private server generated key path\n      publicKeyPath: \"./public.pem\", // public server generated key path\n    },\n    loadbalancing: {\n      strategy: \"round-robin\", // load balancing strategy: [random, round-robin, least-connections]\n      refreshInterval: 10000, // refresh interval in milliseconds\n    },\n    gateway: {\n      // Use for api gateway service\n      swagger: {\n        path: \"/docs\", // Swagger document path\n        title: process.env.APP_TITLE, // Swagger app title\n        description: process.env.APP_DESCRIPTION, // Swagger app description\n        version: process.env.APP_VERSION, // swagger app version\n      },\n    },\n  });\n  await app.listen();\n}\nbootstrap();\n```\n\n**3. Gateway and communcations**\n\nFor api gateway or communication between registered services. We using http proxy to handle proxy forwarding request to registered microservices.\n\n**NOTE:** Nest js always using body parser by default and body request alway read complete before streaming. But http proxy need raw body for streaming and we need to open raw body mode on Nest application options.\n\n```ts\nimport { createNestroApplication } from \"@duongtrungnguyen/nestro\";\n\nimport { AppModule } from \"./app.module\";\n\nasync function bootstrap() {\n  const app = await createNestroApplication(\n    AppModule,\n    {\n      // ... Nestro application configs\n    },\n    {\n      rawBody: true, // Enable raw body\n    }\n  );\n\n  await app.listen();\n}\nbootstrap();\n```\n\nNow we can config route proxy using builder pattern. Nestro will automatically handle proxy request.\n\n```ts\n/* nestro-gateway/gateway.module.ts */\n\nimport { GatewayModule } from \"@duongtrungnguyen/nestro\";\nimport { Module } from \"@nestjs/common\";\n\n@Module({\n  imports: [\n    GatewayModule.builder()\n      .httpRoute({\n        // proxy http request\n        route: \"/user/*\", // Route to match\n        service: \"user\", // Target registered service\n        target: \"\", // Force target path\n        pathRewrite: { \"^/api/user\": \"/\" }, // Rewrite path\n        timeout: 10000, // Proxy timeout\n        requestHooks: {\n          guards: [], // guards,\n          middlewares: [], // middlewares\n        },\n      })\n      .wsRoute({\n        // proxy ws request\n        // ... same options with http route\n      })\n      .useGlobalMiddleware(/*... middlewares */)\n      .useGlobalGuard(/*... guards */)\n      .build(),\n  ],\n})\nexport class GatewayModule {}\n```\n\nOr using config class\n\n```ts\nimport { IGatewayConfig, GatewayConfigBuilder } from \"@duongtrungnguyen/nestro\";\nimport { DynamicModule, RequestMethod } from \"@nestjs/common\";\n\nexport class GatewayConfig implements IGatewayConfig {\n  configure(builder: GatewayConfigBuilder): DynamicModule {\n    return (\n      builder\n        .httpRoute({\n          // ... options\n        })\n        .wsRoute({\n          // ... options\n        })\n        // ... builder config\n        .build()\n    );\n  }\n}\n```\n\n```ts\nimport { GatewayModule } from \"@duongtrungnguyen/nestro\";\nimport { Module } from \"@nestjs/common\";\n\nimport { GatewayConfig } from \"@gateway.config\";\n\n@Module({\n  imports: [GatewayModule.config(GatewayConfig)],\n})\nexport class AppModule {}\n```\n\nOr using `Proxy` decorator\n\n```ts\nimport { Proxy, ProxyTemplate, ProxyService } from \"@duongtrungnguyen/nestro\";\nimport { Controller, Get, Param } from \"@nestjs/common\";\n\n@Controller(\"api\")\nexport class ApiController extends ProxyTemplate {\n  constructor(proxyService: ProxyService /* Inject from proxy module */) {}\n\n  @Get(\"users\")\n  @Proxy({\n    target: \"https://api.example.com\",\n    pathRewrite: { \"^/api\": \"\" },\n  })\n  proxyUsers() {\n    // Don't need code here, Nestro will auto handle proxy\n  }\n\n  @Get(\"products/:id\")\n  @Proxy({\n    target: \"https://products.example.com\",\n    pathRewrite: { \"^/api/products\": \"/products-api\" },\n  })\n  proxyProduct(@Param(\"id\") id: string) {\n    // Don't need code here, Nestro will auto handle proxy\n  }\n}\n```\n\nFor communication between multiple services. We using communication template to get best instance for communicate\n\n```ts\nimport { CommunicateRequest, CommunicationTemplate, DiscoveryService } from \"@duongtrungnguyen/nestro\";\nimport { Injectable } from \"@nestjs/common\";\n\n@Injectable()\nexport class UserService extends CommunicationTemplate {\n  constructor(discoveryService: DiscoveryService /* Load balancing service is global dependency*/) {\n    // It is used to get the instance of the service\n    super(discoveryService, \"user\");\n  }\n\n  @CommunicateRequest()\n  async getUser(instance: Service) {\n    // do something with instance\n  }\n}\n```\n","readmeFilename":"README.md"}