{"_id":"@angrub/nano-server","_rev":"9-2206376b577661b7dd5de5f52117b170","name":"@angrub/nano-server","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.0":{"name":"@angrub/nano-server","version":"1.0.0","keywords":["framework","web","http","server","typescript","middleware","router","api","rest"],"author":{"name":"Angrub angrub1810@gmail.com"},"license":"MIT","_id":"@angrub/nano-server@1.0.0","maintainers":[{"name":"angrub","email":"angrub1810@gmail.com"}],"homepage":"https://github.com/angrub/nano-server#readme","bugs":{"url":"https://github.com/angrub/nano-server/issues"},"dist":{"shasum":"e400f5066ba12a52c9ddb40fd91e69fabddaf5bf","tarball":"https://registry.npmjs.org/@angrub/nano-server/-/nano-server-1.0.0.tgz","fileCount":103,"integrity":"sha512-bHTbOORnmyJjWtsi/g4ol6O3dEYqmzLWw1crj67xedIeSIvOmYaDlaPXB+QXF5rstqcUkVsrLW/HcC1vkInNpg==","signatures":[{"sig":"MEQCIEk4ir8Jbd2SS3/awDdS0Vw7ODskfZZDVGSVBLx9sqxCAiAYplGVMTkIBMSCjzNDyVPY9IQspfx7FvbEKaS4PB2PfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99878},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"ac437448bcf76839b41b71ec5f568c4a0f3eae05","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","start":"ts-node -r tsconfig-paths/register src/main.ts","lint:fix":"eslint src/**/*.ts --fix","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"angrub","email":"angrub1810@gmail.com"},"repository":{"url":"git+https://github.com/angrub/nano-server.git","type":"git"},"_npmVersion":"11.6.1","description":"A lightweight, high-performance Node.js framework for building web applications and APIs","directories":{},"_nodeVersion":"24.10.0","dependencies":{"amqplib":"^0.10.9","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","globals":"^16.4.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","prettier":"^3.6.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.8.0","@types/amqplib":"^0.10.7","tsconfig-paths":"^4.2.0","typescript-eslint":"^8.46.1","@types/jsonwebtoken":"^9.0.10","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/nano-server_1.0.0_1760968592270_0.8287043483579841","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@angrub/nano-server","version":"1.0.1","keywords":["framework","web","http","server","typescript","middleware","router","api","rest"],"author":{"name":"Angrub angrub1810@gmail.com"},"license":"MIT","_id":"@angrub/nano-server@1.0.1","maintainers":[{"name":"angrub","email":"angrub1810@gmail.com"}],"homepage":"https://github.com/angrub/nano-server#readme","bugs":{"url":"https://github.com/angrub/nano-server/issues"},"dist":{"shasum":"4c8fac8b647ce25de9ff04f306274c7efc7d4023","tarball":"https://registry.npmjs.org/@angrub/nano-server/-/nano-server-1.0.1.tgz","fileCount":103,"integrity":"sha512-iA072E6GR0znRXoRAR/Ly1ecrR6IJJ/YZudFfVQAQbK2NsiPaUGuUTc0z0H3RXzRmsN4quof02QLlnAtb3slnQ==","signatures":[{"sig":"MEYCIQD/I3RJBAShfsl7jPlUSoAl67/21Jn0/Dl8FAQTSFgQkwIhALqnZ1mQ+wZ3QscOU68TPfsSbvRH99PPD2jdoS8EeOh1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100034},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","require":"./dist/src/index.js"}},"gitHead":"c83a99c01da906f3d78a9e2a477dd2a0a7110192","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","start":"ts-node -r tsconfig-paths/register src/main.ts","lint:fix":"eslint src/**/*.ts --fix","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"angrub","email":"angrub1810@gmail.com"},"repository":{"url":"git+https://github.com/angrub/nano-server.git","type":"git"},"_npmVersion":"11.6.1","description":"A lightweight, high-performance Node.js framework for building web applications and APIs","directories":{},"_nodeVersion":"24.10.0","dependencies":{"amqplib":"^0.10.9","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","globals":"^16.4.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","prettier":"^3.6.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.8.0","@types/amqplib":"^0.10.7","tsconfig-paths":"^4.2.0","typescript-eslint":"^8.46.1","@types/jsonwebtoken":"^9.0.10","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/nano-server_1.0.1_1760970491473_0.9637794924183651","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@angrub/nano-server","version":"1.0.2","keywords":["framework","web","http","server","typescript","middleware","router","api","rest"],"author":{"name":"Angrub angrub1810@gmail.com"},"license":"MIT","_id":"@angrub/nano-server@1.0.2","maintainers":[{"name":"angrub","email":"angrub1810@gmail.com"}],"homepage":"https://github.com/angrub/nano-server#readme","bugs":{"url":"https://github.com/angrub/nano-server/issues"},"dist":{"shasum":"74e58207ce0b8bfdf6e240e6b179d2c1d40a8a36","tarball":"https://registry.npmjs.org/@angrub/nano-server/-/nano-server-1.0.2.tgz","fileCount":103,"integrity":"sha512-+kW9x7vd1P/OWs7zVskd1K7hZqw2mjfLjD0VVJJr+sYel+wEM571Plbu2z56Ma27e5ZNaxqgXUz2TfKCwe0LcQ==","signatures":[{"sig":"MEUCIEhgShzTXTkG8YFMTVyYNNq/mn8G6wEVWYheWtJRzqjpAiEAxJCuFzlFB5qmivQVqEbdOBWRSBpMx/zqSDF+dLFltqU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100482},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./util":{"types":"./dist/util/index.d.ts","import":"./dist/util/index.js","require":"./dist/util/index.js"},"./middlewares":{"types":"./dist/middlewares/index.d.ts","import":"./dist/middlewares/index.js","require":"./dist/middlewares/index.js"}},"gitHead":"8a0655c519fc5be936c498597f7f4430005c66a3","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","start":"ts-node -r tsconfig-paths/register src/main.ts","lint:fix":"eslint src/**/*.ts --fix","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"angrub","email":"angrub1810@gmail.com"},"repository":{"url":"git+https://github.com/angrub/nano-server.git","type":"git"},"_npmVersion":"11.6.1","description":"A lightweight, high-performance Node.js framework for building web applications and APIs","directories":{},"_nodeVersion":"24.10.0","dependencies":{"amqplib":"^0.10.9","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","globals":"^16.4.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","prettier":"^3.6.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.8.0","@types/amqplib":"^0.10.7","tsconfig-paths":"^4.2.0","typescript-eslint":"^8.46.1","@types/jsonwebtoken":"^9.0.10","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/nano-server_1.0.2_1760971919306_0.6829261596258893","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@angrub/nano-server","version":"1.0.3","keywords":["framework","web","http","server","typescript","middleware","router","api","rest"],"author":{"name":"Angrub angrub1810@gmail.com"},"license":"MIT","_id":"@angrub/nano-server@1.0.3","maintainers":[{"name":"angrub","email":"angrub1810@gmail.com"}],"homepage":"https://github.com/angrub/nano-server#readme","bugs":{"url":"https://github.com/angrub/nano-server/issues"},"dist":{"shasum":"5fad81b4e0325328ae10a1b6a6a1a99a3bfdecb3","tarball":"https://registry.npmjs.org/@angrub/nano-server/-/nano-server-1.0.3.tgz","fileCount":99,"integrity":"sha512-Q5Ct2omumZ7D0sXXK9MBYQsxUtibO/S58wfs1qOjg2zBhiN+VO4n/EGXOdUhTTQYFlQjyOd4DhCO1Ybu2F1idw==","signatures":[{"sig":"MEUCID27m+KlTdqmwkI/s2HeSYolRpjIZXo1A7RaBjKO9MLCAiEAuCSJbrGhOVAoS2H6aYYOpl2nRs/O4Qp91CcNAVx1xKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98564},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./util":{"types":"./dist/util/index.d.ts","import":"./dist/util/index.js","require":"./dist/util/index.js"},"./middlewares":{"types":"./dist/middlewares/index.d.ts","import":"./dist/middlewares/index.js","require":"./dist/middlewares/index.js"}},"gitHead":"e49e03f2680cbe28fbe9f7a46eb229bfc1894f4a","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc","start":"ts-node -r tsconfig-paths/register src/main.ts","lint:fix":"eslint src/**/*.ts --fix","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"angrub","email":"angrub1810@gmail.com"},"repository":{"url":"git+https://github.com/angrub/nano-server.git","type":"git"},"_npmVersion":"11.6.1","description":"A lightweight, high-performance Node.js framework for building web applications and APIs","directories":{},"_nodeVersion":"24.10.0","dependencies":{"amqplib":"^0.10.9","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","globals":"^16.4.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","prettier":"^3.6.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.8.0","@types/amqplib":"^0.10.7","tsconfig-paths":"^4.2.0","typescript-eslint":"^8.46.1","@types/jsonwebtoken":"^9.0.10","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/nano-server_1.0.3_1760972261155_0.06288939552529649","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@angrub/nano-server","version":"1.0.4","keywords":["framework","web","http","server","typescript","middleware","router","api","rest"],"author":{"name":"Angrub angrub1810@gmail.com"},"license":"MIT","_id":"@angrub/nano-server@1.0.4","maintainers":[{"name":"angrub","email":"angrub1810@gmail.com"}],"homepage":"https://github.com/angrub/nano-server#readme","bugs":{"url":"https://github.com/angrub/nano-server/issues"},"dist":{"shasum":"2ac971ba6ad3b086fe399fb6e7baa58212850dc6","tarball":"https://registry.npmjs.org/@angrub/nano-server/-/nano-server-1.0.4.tgz","fileCount":99,"integrity":"sha512-Q5YJ2HoMFKKAd0UYZZu0hSqYlmLOUyjqf3XHKNaO3itsYjVE/asqyEM+Hu7y2G7FljSJajCbAckPxia97J2NNA==","signatures":[{"sig":"MEUCIARaY3OzfShK7un8RQNRLWbW9OXH9hWjMInBVg3uiaWEAiEA9zZBontT/BB4d5atQ5906kTMzSgGwQG9miF+YaG5yME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98879},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./util":{"types":"./dist/util/index.d.ts","import":"./dist/util/index.js","require":"./dist/util/index.js"},"./middlewares":{"types":"./dist/middlewares/index.d.ts","import":"./dist/middlewares/index.js","require":"./dist/middlewares/index.js"}},"gitHead":"a83d749155a50f8d3861cf5e861578d7863637c4","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc && tsc-alias","start":"ts-node -r tsconfig-paths/register src/main.ts","lint:fix":"eslint src/**/*.ts --fix","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"angrub","email":"angrub1810@gmail.com"},"repository":{"url":"git+https://github.com/angrub/nano-server.git","type":"git"},"_npmVersion":"11.6.1","description":"A lightweight, high-performance Node.js framework for building web applications and APIs","directories":{},"_nodeVersion":"24.10.0","dependencies":{"amqplib":"^0.10.9","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","globals":"^16.4.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","prettier":"^3.6.2","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.8.0","@types/amqplib":"^0.10.7","tsconfig-paths":"^4.2.0","typescript-eslint":"^8.46.1","@types/jsonwebtoken":"^9.0.10","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/nano-server_1.0.4_1760972905247_0.0226056872116418","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@angrub/nano-server","version":"1.0.5","keywords":["framework","web","http","server","typescript","middleware","router","api","rest"],"author":{"name":"Angrub angrub1810@gmail.com"},"license":"MIT","_id":"@angrub/nano-server@1.0.5","maintainers":[{"name":"angrub","email":"angrub1810@gmail.com"}],"homepage":"https://github.com/angrub/nano-server#readme","bugs":{"url":"https://github.com/angrub/nano-server/issues"},"dist":{"shasum":"bf002d824c93596b0416dcd7d648f65fe1a8586a","tarball":"https://registry.npmjs.org/@angrub/nano-server/-/nano-server-1.0.5.tgz","fileCount":99,"integrity":"sha512-RLA0iHUeiD1y443urooa4nxeyfw+qVrijR9ZRWYgVespaivYAMbg437iqXbAewfwvzIxsBUFz2ased93JvQvXQ==","signatures":[{"sig":"MEQCIHh+Cx3OXdTvFNjkLxSeysj346mcAeizUSiC4KaK/ocCAiBKgw7JrwS4TWpQGYDUnqq5JH59YZ6UvrKmvTGg0E1phg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98912},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./util":{"types":"./dist/util/index.d.ts","import":"./dist/util/index.js","require":"./dist/util/index.js"},"./middlewares":{"types":"./dist/middlewares/index.d.ts","import":"./dist/middlewares/index.js","require":"./dist/middlewares/index.js"}},"gitHead":"dbf326cc2b1422b25195ffb202adf3dc2240facc","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc && tsc-alias","start":"ts-node -r tsconfig-paths/register src/main.ts","lint:fix":"eslint src/**/*.ts --fix","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"angrub","email":"angrub1810@gmail.com"},"repository":{"url":"git+https://github.com/angrub/nano-server.git","type":"git"},"_npmVersion":"10.9.3","description":"A lightweight, high-performance Node.js framework for building web applications and APIs","directories":{},"_nodeVersion":"22.20.0","dependencies":{"amqplib":"^0.10.9","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","globals":"^16.4.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","prettier":"^3.6.2","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.8.0","@types/amqplib":"^0.10.7","tsconfig-paths":"^4.2.0","typescript-eslint":"^8.46.1","@types/jsonwebtoken":"^9.0.10","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/nano-server_1.0.5_1761091113666_0.7971750919658929","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@angrub/nano-server","version":"1.0.6","keywords":["framework","web","http","server","typescript","middleware","router","api","rest"],"author":{"name":"Angrub angrub1810@gmail.com"},"license":"MIT","_id":"@angrub/nano-server@1.0.6","maintainers":[{"name":"angrub","email":"angrub1810@gmail.com"}],"homepage":"https://github.com/angrub/nano-server#readme","bugs":{"url":"https://github.com/angrub/nano-server/issues"},"dist":{"shasum":"55738799e1e41b47918ae805cda041168d8d9670","tarball":"https://registry.npmjs.org/@angrub/nano-server/-/nano-server-1.0.6.tgz","fileCount":99,"integrity":"sha512-3wTmtQQ/5S4EPKr++vTQ6MvSutqB67YjGitnKZRtxPJ8dA12p5Mr5rpsxtJOxIxcYdzkKRf3mGGRaW8o4+skag==","signatures":[{"sig":"MEUCIQCdJiB9cYu8Gt2OM33hkA6H95IoYrLX1Rw+SY8kxpofmgIgX+aQl/U2bF0EpnwNTMlOD2Zgk3FqeNMEmDatjG1wA8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99280},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./util":{"types":"./dist/util/index.d.ts","import":"./dist/util/index.js","require":"./dist/util/index.js"},"./middlewares":{"types":"./dist/middlewares/index.d.ts","import":"./dist/middlewares/index.js","require":"./dist/middlewares/index.js"}},"gitHead":"5dce74b65f6cdc2197376c94e76f5aa1dba28003","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc && tsc-alias","start":"ts-node -r tsconfig-paths/register src/main.ts","lint:fix":"eslint src/**/*.ts --fix","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"angrub","email":"angrub1810@gmail.com"},"repository":{"url":"git+https://github.com/angrub/nano-server.git","type":"git"},"_npmVersion":"10.9.3","description":"A lightweight, high-performance Node.js framework for building web applications and APIs","directories":{},"_nodeVersion":"22.20.0","dependencies":{"amqplib":"^0.10.9","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","globals":"^16.4.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","prettier":"^3.6.2","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.8.0","@types/amqplib":"^0.10.7","tsconfig-paths":"^4.2.0","typescript-eslint":"^8.46.1","@types/jsonwebtoken":"^9.0.10","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/nano-server_1.0.6_1761435857545_0.9132145505760858","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@angrub/nano-server","version":"1.0.8","keywords":["framework","web","http","server","typescript","middleware","router","api","rest"],"author":{"name":"Angrub angrub1810@gmail.com"},"license":"MIT","_id":"@angrub/nano-server@1.0.8","maintainers":[{"name":"angrub","email":"angrub1810@gmail.com"}],"homepage":"https://github.com/angrub/nano-server#readme","bugs":{"url":"https://github.com/angrub/nano-server/issues"},"dist":{"shasum":"c9fb3a2b724b373fcd7dd7bc1ab7585ba064cc6e","tarball":"https://registry.npmjs.org/@angrub/nano-server/-/nano-server-1.0.8.tgz","fileCount":99,"integrity":"sha512-Y5RXZ4JSBSxcZxuzFJcXdQpozERC3rb67KoCCfjqnv80wzHjsmImbqOd5g99Yvs+yOj5EmyzTiOennGLzdmPjQ==","signatures":[{"sig":"MEYCIQDHnxcw526KfABVvxxILmr3vBPx1fJ+k0NU8TPGgtKH9wIhAI65oTGQF6C2Agc6cyD6rJqFTEKlt5V47ymatei7fLOc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99282},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./util":{"types":"./dist/util/index.d.ts","import":"./dist/util/index.js","require":"./dist/util/index.js"},"./middlewares":{"types":"./dist/middlewares/index.d.ts","import":"./dist/middlewares/index.js","require":"./dist/middlewares/index.js"}},"gitHead":"d5f69231628a724506b4f421a5b4ebe526a7aa21","scripts":{"lint":"eslint src/**/*.ts","test":"jest","build":"tsc && tsc-alias","start":"ts-node -r tsconfig-paths/register src/main.ts","lint:fix":"eslint src/**/*.ts --fix","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"angrub","email":"angrub1810@gmail.com"},"repository":{"url":"git+https://github.com/angrub/nano-server.git","type":"git"},"_npmVersion":"10.9.3","description":"A lightweight, high-performance Node.js framework for building web applications and APIs","directories":{},"_nodeVersion":"22.20.0","dependencies":{"amqplib":"^0.10.9","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","globals":"^16.4.0","ts-jest":"^29.4.5","ts-node":"^10.9.2","prettier":"^3.6.2","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.8.0","@types/amqplib":"^0.10.7","tsconfig-paths":"^4.2.0","typescript-eslint":"^8.46.1","@types/jsonwebtoken":"^9.0.10","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.1","@typescript-eslint/eslint-plugin":"^8.46.1"},"_npmOperationalInternal":{"tmp":"tmp/nano-server_1.0.8_1761441475915_0.6616931259323531","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@angrub/nano-server","version":"1.0.9","description":"A lightweight, high-performance Node.js framework for building web applications and APIs","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js","types":"./dist/index.d.ts"},"./middlewares":{"import":"./dist/middlewares/index.js","require":"./dist/middlewares/index.js","types":"./dist/middlewares/index.d.ts"},"./core":{"import":"./dist/core/index.js","require":"./dist/core/index.js","types":"./dist/core/index.d.ts"},"./util":{"import":"./dist/util/index.js","require":"./dist/util/index.js","types":"./dist/util/index.d.ts"}},"scripts":{"start":"ts-node -r tsconfig-paths/register src/main.ts","build":"tsc && tsc-alias","test":"jest","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix"},"keywords":["framework","web","http","server","typescript","middleware","router","api","rest"],"author":{"name":"Angrub angrub1810@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/angrub/nano-server.git"},"engines":{"node":">=18.0.0"},"devDependencies":{"@types/amqplib":"^0.10.7","@types/jest":"^30.0.0","@types/jsonwebtoken":"^9.0.10","@types/node":"^24.8.0","@typescript-eslint/eslint-plugin":"^8.46.1","@typescript-eslint/parser":"^8.46.1","eslint":"^9.38.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","globals":"^16.4.0","jest":"^30.2.0","prettier":"^3.6.2","ts-jest":"^29.4.5","ts-node":"^10.9.2","tsc-alias":"^1.8.16","tsconfig-paths":"^4.2.0","typescript":"^5.9.3","typescript-eslint":"^8.46.1"},"dependencies":{"amqplib":"^0.10.9","jsonwebtoken":"^9.0.2"},"_id":"@angrub/nano-server@1.0.9","gitHead":"38902b15a1a016f1ff0704a086bb568cba2b0489","bugs":{"url":"https://github.com/angrub/nano-server/issues"},"homepage":"https://github.com/angrub/nano-server#readme","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-B6qfHKj8lp70wTZ5EOVGuZVRn2ATbN3ftxBEV7eFwyueDkbio8VzDaeHquYWwfh7ITjO51m87Foum9/+8qb9Ow==","shasum":"d352a08cd785197d6a57112932f56d42344fbaa0","tarball":"https://registry.npmjs.org/@angrub/nano-server/-/nano-server-1.0.9.tgz","fileCount":99,"unpackedSize":99355,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDX81d37rqpL7RM3fssPLtJX1JqwWcwGv42sv6WtOGofAIhAKbZxzGFfxPA+cfvIpPNSfeQ+zJOgtBL85ZWI5w7Kiut"}]},"_npmUser":{"name":"angrub","email":"angrub1810@gmail.com"},"directories":{},"maintainers":[{"name":"angrub","email":"angrub1810@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nano-server_1.0.9_1761611193644_0.08517496689694481"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-20T13:56:32.190Z","modified":"2025-10-28T00:26:34.031Z","1.0.0":"2025-10-20T13:56:32.474Z","1.0.1":"2025-10-20T14:28:11.731Z","1.0.2":"2025-10-20T14:51:59.468Z","1.0.3":"2025-10-20T14:57:41.354Z","1.0.4":"2025-10-20T15:08:25.569Z","1.0.5":"2025-10-21T23:58:33.880Z","1.0.6":"2025-10-25T23:44:17.734Z","1.0.8":"2025-10-26T01:17:56.112Z","1.0.9":"2025-10-28T00:26:33.838Z"},"bugs":{"url":"https://github.com/angrub/nano-server/issues"},"author":{"name":"Angrub angrub1810@gmail.com"},"license":"MIT","homepage":"https://github.com/angrub/nano-server#readme","keywords":["framework","web","http","server","typescript","middleware","router","api","rest"],"repository":{"type":"git","url":"git+https://github.com/angrub/nano-server.git"},"description":"A lightweight, high-performance Node.js framework for building web applications and APIs","maintainers":[{"name":"angrub","email":"angrub1810@gmail.com"}],"readme":"# Nano Server 🚀\n\n> 📝 **NOTE:**\n> This project is not intended to be a real production-ready framework. It was built for educational purposes, so I strongly recommend using popular, well-tested tools such as: [ExpressJs](https://expressjs.com/), [NestJs](https://nestjs.com/) or [Fastify](https://fastify.dev/).\n\nA lightweight, high-performance Node.js framework for building web applications and APIs with TypeScript support.\n\n## Features\n\n- ⚡ **High Performance** - Built for speed and efficiency\n- 🛠 **TypeScript First** - Full TypeScript support out of the box\n- 🔌 **Middleware System** - Extensible middleware architecture\n- 🛣 **Router** - Flexible routing with path parameters\n- 🔐 **JWT Authentication** - Built-in JWT guard middleware\n- 📝 **Body Parsing** - JSON body parsing middleware\n- 🐇 **Messaging** - RabbitMQ integration for microservices\n- 📊 **Logging** - Structured logging with colors\n- 🛡 **Error Handling** - Comprehensive error handling middleware\n\n## Installation\n\n```bash\nnpm install @angrub/nano-server\n```\n\n## Quick Start\n\n```typescript\nimport { NanoHttpServer, Router } from \"@angrub/nano-server\";\n\n// Create server with configuration\nconst app = new NanoHttpServer({\n\tport: 3000,\n\tcors: \"*\", // or specific origins ['http://localhost:3000']\n\tlogs: true, // enable request logging\n});\n\n// Create router\nconst router = new Router();\n\n// Define routes\nrouter.get(\"/hello\", (ctx) => {\n\tctx.response.json({ message: \"Hello World!\" });\n});\n\nrouter.get(\"/users/:id\", (ctx) => {\n\tconst userId = ctx.request.params.id;\n\tctx.response.json({ user: { id: userId, name: \"John Doe\" } });\n});\n\nrouter.post(\"/users\", (ctx) => {\n\tconst userData = ctx.request.body;\n\tctx.response.status(201).json({\n\t\tmessage: \"User created\",\n\t\tuser: userData,\n\t});\n});\n\n// Add router as middleware\napp.add(router);\n\n// Start server\napp.listen();\n```\n\n## Configuration\n\n```typescript\nconst app = new NanoHttpServer({\n\tport: 3000, // Server port (default: 3000)\n\tcors: \"*\", // CORS settings (default: '*')\n\tlogs: true, // Enable request logging (default: false)\n});\n```\n\n## Middlewares\n\n### Built-in Middlewares (Automatically added)\n\n**ExceptionHandler** - Global error handling\n\n**BodyParser** - JSON body parsing\n\n**RequestLogger** - Request logging (if logs: true)\n\n### Adding Custom Middlewares\n\n```typescript\nimport { INanoMiddleware, NanoCTX, NextFunction } from \"@angrub/nano-server\";\n\nclass CustomMiddleware implements INanoMiddleware {\n\tasync handle(ctx: NanoCTX, next: NextFunction) {\n\t\t// Before request\n\t\tconsole.log(\"Request started:\", ctx.request.method, ctx.request.path);\n\n\t\tawait next();\n\n\t\t// After request\n\t\tconsole.log(\"Request completed:\", ctx.response.status);\n\t}\n}\n\napp.add(new CustomMiddleware());\n```\n\n## Routing\n\n```typescript\nimport { Router } from \"@angrub/nano-server\";\n\nconst router = new Router();\n\n// Basic routes\nrouter.get(\"/users\", (ctx) => {\n\tctx.response.json({ users: [] });\n});\n\nrouter.post(\"/users\", (ctx) => {\n\tconst userData = ctx.request.body;\n\t// Process user creation\n\tctx.response.status(201).json({ message: \"User created\" });\n});\n\nrouter.put(\"/users/:id\", (ctx) => {\n\tconst userId = ctx.request.params.id;\n\tconst userData = ctx.request.body;\n\t// Update user\n\tctx.response.json({ message: \"User updated\" });\n});\n\nrouter.delete(\"/users/:id\", (ctx) => {\n\tconst userId = ctx.request.params.id;\n\t// Delete user\n\tctx.response.json({ message: \"User deleted\" });\n});\n\n// Path parameters\nrouter.get(\"/users/:id/posts/:postId\", (ctx) => {\n\tconst { id, postId } = ctx.request.params;\n\tctx.response.json({ userId: id, postId });\n});\n\n// Add router to server\napp.add(router);\n```\n\n## Context Object (NanoCTX)\n\n```typescript\nrouter.get(\"/example\", (ctx) => {\n\t// Request information\n\tconsole.log(ctx.request.method); // 'GET'\n\tconsole.log(ctx.request.path); // '/example'\n\tconsole.log(ctx.request.params); // Path parameters\n\tconsole.log(ctx.request.body); // Parsed request body\n\tconsole.log(ctx.request.getHeader(\"content-type\"));\n\n\t// Response methods\n\tctx.response.json({ data: \"hello\" });\n\tctx.response.status(201);\n\tctx.response.setHeader(\"X-Custom\", \"value\");\n\n\t// Custom payload (for middleware communication)\n\tctx.payload.userId = \"123\";\n});\n```\n\n## Messaging (RabbitMQ)\n\n```typescript\nimport { MessagingService } from \"@angrub/nano-server\";\n\nconst messaging = new MessagingService({\n\turl: \"amqp://localhost:5672\",\n\tqueues: [\n\t\t{ name: \"notifications\", durable: true },\n\t\t{ name: \"events\", durable: false },\n\t],\n});\n\n// Start messaging service\nawait messaging.start();\n\n// Publish messages\nawait messaging.publish(\"notifications\", {\n\ttype: \"user_created\",\n\tdata: { userId: 123, email: \"user@example.com\" },\n});\n\n// Subscribe to messages\nawait messaging.subscribe(\"events\", {\n\thandle: async (message) => {\n\t\tconsole.log(\"Received event:\", message);\n\t\t// Process message\n\t},\n});\n```\n\n## Error Handling\n\n```typescript\nimport {\n\tNanoHttpServer,\n\tRouter,\n\tBadRequestError,\n\tNotFoundError,\n\tUnauthorizedError,\n} from \"@angrub/nano-server\";\n\nconst app = new NanoHttpServer({ logs: true });\nconst router = new Router();\n\n\nrouter.get(\"/api/users/:id\", (ctx) => {\n\tconst user = getUserById(ctx.request.params.id);\n\n\tif (!user) {\n\t\tthrow new NotFoundError(\"User not found\");\n\t}\n\n\tctx.response.json({ user });\n});\n\nrouter.post(\"/api/users\", (ctx) => {\n\tconst userData = ctx.request.body;\n\n\tif (!userData.email || !userData.name) {\n\t\tthrow new BadRequestError(\"Email and name are required\");\n\t}\n\n\tconst user = createUser(userData);\n\tctx.response.status(201).json({ user });\n});\n\napp.add(router);\napp.listen();\n```\n\n## Logging\n\n```typescript\nimport { Logger } from \"@angrub/nano-server\";\n\nconst logger = new Logger(\"App\");\n\nlogger.info(\"Application started\");\nlogger.success(\"Database connected\");\nlogger.warning(\"Feature is deprecated\");\nlogger.error(\"Something went wrong\", error);\n\n// Contextual logging\nconst requestLogger = new Logger(\"HTTP\");\nrequestLogger.info(`Request: ${ctx.request.method} ${ctx.request.path}`);\n```\n\n## API Reference\n\n### Core Classes\n\n**NanoServer** - Main server class\n\n**Router** - Router for defining routes\n\n**Request** - HTTP request object\n\n**Response** - HTTP response object\n\n### Middlewares\n\n**BodyParser** - Parse JSON request bodies\n\n**JWTGuard** - JWT authentication middleware\n\n**ExceptionHandler** - Global error handling\n\n**RequestLogger** - Request logging\n\n**MessagingMiddleware** - RabbitMQ integration\n\n### Utilities\n\n**Logger** - Structured logging\n\n**Jwt** - JWT token utilities\n","readmeFilename":"README.md"}