{"_id":"@apurva2307/node-starter","_rev":"7-3f5d294126b8d7ee0c76bbc2dc8c1b64","name":"@apurva2307/node-starter","dist-tags":{"latest":"0.0.8"},"versions":{"0.0.1":{"name":"@apurva2307/node-starter","version":"0.0.1","description":"It contains common code for starting a standard node-api.","main":"index.js","scripts":{"pub":"git push -u origin main && npm version patch && npm run build && npm publish"},"keywords":[],"author":{"name":"apurva-singh"},"license":"ISC","dependencies":{"cookie-parser":"^1.4.6","cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-mongo-sanitize":"^2.2.0","express-rate-limit":"^6.2.0","helmet":"^5.0.2","jsonwebtoken":"^8.5.1","mongoose":"^6.2.0","morgan":"^1.10.0","xss-clean":"^0.1.1"},"gitHead":"1ff659556c586cf75bca76e95edff6b681144e7c","_id":"@apurva2307/node-starter@0.0.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-v7+RWRHa0Bl42g0SEDtMkIIgwE8BdbTVNQXRKRB8r+Q1KIE4ctiEyiPe2dWBP8GjPCpoCyRy1apaa8Ko/sW1Fg==","shasum":"fb9841a434389fc2e8bdf656d6dcdf2b5d5d54e1","tarball":"https://registry.npmjs.org/@apurva2307/node-starter/-/node-starter-0.0.1.tgz","fileCount":14,"unpackedSize":5188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/jM+CRA9TVsSAnZWagAAS6wP/0aFosK/rtd8iJecWxmB\nn81Vu4s3Z8oymSaY3nAKz5+LmQcI4p5nFfLeqGHQYPXhP/YxOAjbzr8m5OHl\nJdpZ5T2fSEcjcFGlXFg6kIkYmqIuKyRwMKP+6DV0Wkv/GYsBP2Ipvd48Dm3H\nS8TUkQtBusFkwUuqCOoxsoqNqbtqRh6zeUYSzhtBoADLliqPCf0PEa8h0srr\nPBc0TLIeS9wQK+BBeJwAyEgkau3Z2o/RfXhvNkD7MJU3mKwlO4x4hC+ivK++\naXvE0xcwxXfAjF2dsKW7Z1lyVD6lwN40mS/nMKoutM2hNkA0K7Bti/MQIdd3\nicETH9YEJcdf9QpC0TXCkwzajbv5ifloMbx+w5T7oalr6LF44PiYCs3PwHTZ\nZz9KH6B08juK6FbLBl8fxn1CKh5N4Yawo7DZE1PUiNwyVT9tNdQlLT9ib/K6\n8okjFw8XEsA4hUzGedfvpu7Kq1YKaKI/BFrtQUXJuEfQwAHN3wHaZh+25HmE\naiPLJB4/rUi9SP9Uo8z9aTfpZ9giDUbgE8sxO6HbsYtyesQybIz0DyjUFqbl\nNCnSDR/4HOF2NIjPOtQDzk5m5wnuIJ9lrku8QiFeWH0fNiIEm9OQmkxVXkVs\nx2Gx/5pt+zzRoBI8S1EkiXZXBU93Uy6M1UszqvoNiUSA5oj91iZHJzSPHMP7\n1AlR\r\n=Q2dO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFESPU0ZDMhBRM820+BfCNx0B+MsF0IcWb557efyFhcsAiAxh7jQQAnxOk4GM+Dvsq8XDMuD7Yz6mClL02ZLqPvoFw=="}]},"_npmUser":{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"},"directories":{},"maintainers":[{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-starter_0.0.1_1644049214732_0.34161386540232086"},"_hasShrinkwrap":false},"0.0.2":{"name":"@apurva2307/node-starter","version":"0.0.2","description":"It contains common code for starting a standard node-api.","main":"index.js","scripts":{"pub":"git push -u origin main && npm version patch && npm publish"},"keywords":[],"author":{"name":"apurva-singh"},"license":"ISC","dependencies":{"cookie-parser":"^1.4.6","cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-mongo-sanitize":"^2.2.0","express-rate-limit":"^6.2.0","helmet":"^5.0.2","http-status-codes":"^2.2.0","jsonwebtoken":"^8.5.1","mongoose":"^6.2.0","morgan":"^1.10.0","xss-clean":"^0.1.1"},"gitHead":"145410d05ff159448648285720f4ed5bd97db2da","_id":"@apurva2307/node-starter@0.0.2","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-9dKqJO8xp7fmtzb7swaB0tRHA8qfMg0V1vRSffyuVX19Dkgr/QrSoMRVJA71Ja1C0ds0JkhZlNO5O3o2/YuYlQ==","shasum":"7c30c88534b366cc072cca385dca52c166a130e5","tarball":"https://registry.npmjs.org/@apurva2307/node-starter/-/node-starter-0.0.2.tgz","fileCount":14,"unpackedSize":5206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/jT3CRA9TVsSAnZWagAAdrkQAIIrQalHrFcWeU5QPI5/\ndooxnXu3bpkgPm6qmDmxDlOWgcLyF11X5VFOOm8zj3sD+nCisOapCeGhusH9\ndABdxRaldOWvlCsCGkMpJD5EHEm76oyfTYQYjhAQjEK3QUCI2IWyxAYydmIe\nzS2sq/q+b63n/IsF63EfuA3HBRrtVCtxmMdfaFmSMlkkU0nspCMPkeNWkXY6\n0oBqKGzYZ0fFA4Oy71rAMIVQb4PncbmF7rc8FdH2Y0KeDZP3NF+e4X/jpyhb\nrI8tdvrxzzlUBMWsbbS4lJsreqBPaDpXrxOy/tw8r97aZ3MiutJXZxWclqyf\n/HzNnBXGyGw2e0FDp4NAdG2uYdGpp6Vw0PLv24DuPOOxrGpAp6VFEdigD6b8\nkAUu9ThKLOy2IBsa87fgAKwRbK67NMYH8VBCqrKfiutPt2UgrgyYBYjt/GUC\n1phfghoT3/5YkeVyIHPGD+41roljqJ/3rMgTk4h/Ci6IwrG9EgljQCJVeuYL\nidrc5tokcY9l7hlORyWWBtTN53nY9TjyAS0uFTQY3DTwxtENS2OXNqUGRay5\nzlsasD4kh95bZ+bU4ICjsngQWKPEyYVTsvdM3eIWkqKSTHpRr7FkVoy7/BV4\nYnBuQ/7+UittoUHES1V6hklJcAauCtVojY/WEzW7frORkZSSfwpm1//ALVPZ\n4XWw\r\n=wQWI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1zdqXoLtpCRdK3/laT1jnKMZTf6T3xlFbFcDHbRnvnQIhAOqIzL8jZpXF7cmbE3xhSrRqRo6lK2/MjxVHj2KwmCC7"}]},"_npmUser":{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"},"directories":{},"maintainers":[{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-starter_0.0.2_1644049655391_0.19944439940349"},"_hasShrinkwrap":false},"0.0.3":{"name":"@apurva2307/node-starter","version":"0.0.3","description":"It contains common code for starting a standard node-api.","main":"index.js","scripts":{"pub":"git push -u origin main && npm version patch && npm publish"},"keywords":[],"author":{"name":"apurva-singh"},"license":"ISC","dependencies":{"cookie-parser":"^1.4.6","cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-mongo-sanitize":"^2.2.0","express-rate-limit":"^6.2.0","helmet":"^5.0.2","http-status-codes":"^2.2.0","jsonwebtoken":"^8.5.1","mongoose":"^6.2.0","morgan":"^1.10.0","xss-clean":"^0.1.1"},"gitHead":"655faf3de630677a9c32ffa6bdf048908f11b5e5","_id":"@apurva2307/node-starter@0.0.3","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-cO1OCEXN2rMf9a4/dnnPtD7vs1kjKucXhwAJK7X634u1nC7fScsCQQ5K+f4ON4OUC/gZNMc6vA6MVRbBQlFcZg==","shasum":"a6c9c4a0aeab2e3bd838801a126b85cd6815d7c7","tarball":"https://registry.npmjs.org/@apurva2307/node-starter/-/node-starter-0.0.3.tgz","fileCount":14,"unpackedSize":6934,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/oLUCRA9TVsSAnZWagAArs4P/A9SY1ZAY2b6tegGH63l\nV8JA9LqMt7s058MYRl+2e+9Klq2Q7uHEAvtaXlf61LbGj12gCWIJkTXWqP0u\npIVNdKX+0TUPH7T61Poos9zw1tEWenrA2ke0W1lcCf+4Q3/luamJ+oojzcFl\nDk9FhWhSAMd61J47jxv5npxgzEJjiYd+KxQgg4F/fsXjzlkxHXB3OhGqmkqX\nexrQaIxeQMShsrfoJ7WmT9DfaYaK/A5HxZ/bO1Q9EmxUhXjC5H6opTHgwEAS\n4L2ai+OMzrpTgnKasgw7RTK5f9GNOskQsIqEiOBFmxVN+uQiYU9Dw/SJKhXL\nG5NjEKYF6xplF6IQVjIYOgLZ+eQ2gaLDRibBOf6OwgrXclRF4hoDyztVkgHy\n40pSQXdRWgJraNzxgvSWvbYFgAYV/naFdPdKWyj6Uof8UmdWFmqj57F9Wwiw\n+meMorBBBU7atpWUNczUZ8sgLdE3UqgC91BXcu5+oPeJJxmrHG34w9usEnAD\n7Yi2cVOahoiiCF82TU/aKTfVEsRY7nRVyk/wM8Sgw886FfIGR5HtyYnIBQpi\na0qnVPdb8TTFBueP8Xz3GIjErrqTaM2V3bfQ9ZN6ut9t3zqWM5fC6YOq+Cdb\nfIyMLaaQzOQGc5ufMmDYeX9tZfCYxiDK3stXDpHlxbNtmcCoGvi/wKm+i6K4\nL4w5\r\n=QNsK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB1z8TpMebIm0fygFMz7uBfoPORY5ZpY/abw3X21oTPsAiBfX3cYa094OYmKpSlMh2Fdh7EKRTerv2XEuyYmW818Qw=="}]},"_npmUser":{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"},"directories":{},"maintainers":[{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-starter_0.0.3_1644069588298_0.7027153981535987"},"_hasShrinkwrap":false},"0.0.4":{"name":"@apurva2307/node-starter","version":"0.0.4","description":"It contains common code for starting a standard node-api.","main":"index.js","scripts":{"pub":"git push -u origin main && npm version patch && npm publish"},"keywords":["node","api"],"author":{"name":"apurva-singh"},"license":"ISC","dependencies":{"cookie-parser":"^1.4.6","cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-mongo-sanitize":"^2.2.0","express-rate-limit":"^6.2.0","helmet":"^5.0.2","http-status-codes":"^2.2.0","jsonwebtoken":"^8.5.1","mongoose":"^6.2.0","morgan":"^1.10.0","xss-clean":"^0.1.1"},"gitHead":"ab6b2cb9a40f28ab80d9a34a53ca1aaf03db5a53","_id":"@apurva2307/node-starter@0.0.4","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-PAXQ/E6pExp/+pn71009dHzC7qrS5TwTeWd/YtHEwboHM1ZzNRR3mZvpowFHzkz08ESLkpzz1MTaBz3I5B403w==","shasum":"ae36000e10202d39bb02109048304425df9b49d4","tarball":"https://registry.npmjs.org/@apurva2307/node-starter/-/node-starter-0.0.4.tgz","fileCount":14,"unpackedSize":7054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/oU8CRA9TVsSAnZWagAAsvgP/2W+wtFQpEHrhXnCswPY\nRnuV/4zgr7lDKyLgIV62BhqLftnqeFl6vWEgahbGmt7rNoqIDXrFwKaITEz9\nkO+SwSO3t+tOJUqGgdA1HgH7BoPEZxeBO7LXhBG5GCGIK9NDkRhu/viSEnK9\n0LYAzlpYY936EliUxkrAN3ND2CJZ09JOWvueqM/ePBFohrQVXLoe+mIxMH6i\nPF3qZVy+SCCp4EHvNEDr/61yNRrfc4h7TcbyZ0ZqHS/AzvQKUNG136/DpeS6\n5SWzLAc/2bTgRtnnvk9SOB1+Ko10NjgYZ0PT7dUz4F0gphtQHBeu92YvxfRT\nwffAvGnt3YQdhizbjQvy2x+4mUNv+i8183gcGJY7t1hNha5+D2yFllxpNJpG\nVm4pksL2wkdOwLLTq830PukXiXl90GyHxoWjFl2JG6B8jQ8bnnDlC3yoPe8R\n2GJtGXG+9lvfU49c8b+LWPQ8/ifVLMUqMiRsJ1FcAwyZ7/IvVAh+HXwOkF45\nu95G+rTk60PBXkJQ0xIdttazghcCvWvniW1q8WouXKqRuZvfUTnaAA1RAvX/\n3nRsZZI62Lk/SqNUr4kjBP5cLnj+vaheqyWd9ogF/sRGuhC9L1hxw8uqMiA4\n9VZKJlY6RfZeYPnLI75qKw8Fs53lIrlCf/s0n4oRphTrPDM532F1U4y1nwVh\nyBiU\r\n=50sZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCldkApnJJbiYbX4+YgDmjzeAMCiPy+1Y0LPyURiWn3xQIgbiqEUDqVoWJ9V0txjmZSd8m+E20ZkFICwsPST9JYIHY="}]},"_npmUser":{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"},"directories":{},"maintainers":[{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-starter_0.0.4_1644070203999_0.29966460427886377"},"_hasShrinkwrap":false},"0.0.6":{"name":"@apurva2307/node-starter","version":"0.0.6","description":"It contains common code for starting a standard node-api.","main":"index.js","scripts":{"pub":"git push -u origin main && npm version patch && npm publish"},"keywords":["node","api"],"author":{"name":"apurva-singh"},"license":"ISC","dependencies":{"cookie-parser":"^1.4.6","cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-async-errors":"^3.1.1","express-mongo-sanitize":"^2.2.0","express-rate-limit":"^6.2.0","helmet":"^5.0.2","http-status-codes":"^2.2.0","jsonwebtoken":"^8.5.1","mongoose":"^6.2.0","morgan":"^1.10.0","xss-clean":"^0.1.1"},"gitHead":"c580ef6a10ee1aeebe98f3a82119443719dce8f2","_id":"@apurva2307/node-starter@0.0.6","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-sNaiVWG+hKCMdMueHVcjzWPPVgXdd+PcEf91pT7pyktA3jaFRtY3HtAeDZm8FEots77JEZCWr6GYNeCNnl+l4A==","shasum":"025fc558d028b46c2931b2a789a0302196bd97eb","tarball":"https://registry.npmjs.org/@apurva2307/node-starter/-/node-starter-0.0.6.tgz","fileCount":14,"unpackedSize":6974,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiB4ITCRA9TVsSAnZWagAA8NcP/RFEJjAbn/MX6bqeO1XP\nklh8U9E4kJ1J3UWXuzo/Z+D6oiCYqOYGAYVdjd4KY/L1lRpJ8GJiSLVLQvmb\n36cfiGUxwlLj5sPJTpZgSepSLVldguPuBqjprpbe8TGOxcO4LXOe7BfYTpHj\ndg/xCKe8p+0qJ00GHEUM1739Wut8yv4iNkAp4YkV8+xcN+sJRURTjh0ItDvB\nTPbW+7bOFwTS7WTFpnf1edn9Q0oM/UbywEzUj53sdiw8PHv8TrOJyKlqIyni\ng/ebdB1aPNXEtz7J3v8ij0xwhLArdty5/VylmIihaw1RCZAAGZXWLpGQUjsm\nxWYvJN9x3yjpmSr+b2gsqWCImRypMIYevdAbpX+e4aSF3lTgK9RppPrXYHKm\nsh/pU+EplLOPvCO6IAZmo66bNIi/g7OnVbzJ6dQNdCKrHNIrhyU9Ofgkxqom\nmj8lbTe4OeS21oXC04SMO/3LVJB69itlemXaW85ZbIV/BDz2P8Rkh2CN3zDw\nw+I4URUg+N6Nm5AdA5C0n5quqD1zHIumnl0uMdpGjWL/qyCprvGogU439dXs\nG1LE+Rthe5MnxvVTg+eZAonM9iDj6pkuvfdnpBs/9cZ1rFed3sbgWW1tTk0H\neguWw+7pUqaF/4MCOAX/ZS7Q3OMmFkT+xlm14C2l4LHPaMnXgUAvwIe6Ewww\nxc9Y\r\n=yizs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHYx173hk6+Q6FI81fYAMyYvxJfUAEiynZJPJSQE9iOsAiA9V8EhOzV8rHrYd2QnbG+yYypsVr5IEeNWPtBmcHbjAA=="}]},"_npmUser":{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"},"directories":{},"maintainers":[{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-starter_0.0.6_1644659219044_0.007213533637608238"},"_hasShrinkwrap":false},"0.0.7":{"name":"@apurva2307/node-starter","version":"0.0.7","description":"It contains common code for starting a standard node-api.","main":"index.js","scripts":{"pub":"git push -u origin main && npm version patch && npm publish"},"keywords":["node","api"],"author":{"name":"apurva-singh"},"license":"ISC","dependencies":{"cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-async-errors":"^3.1.1","express-mongo-sanitize":"^2.2.0","express-rate-limit":"^6.2.0","helmet":"^5.0.2","http-status-codes":"^2.2.0","jsonwebtoken":"^8.5.1","mongoose":"^6.2.0","morgan":"^1.10.0","xss-clean":"^0.1.1"},"gitHead":"84852557bc82f6a61ceba201db6658b9a41d3cda","_id":"@apurva2307/node-starter@0.0.7","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-ttAFAsT9d6aVnJtKkMO42TCEoRMyDBMkeOF5NsIR/sZq3u0JJBkkMAvexG0Pa+rU1mpKsjvcaHUGRGOrOE57kg==","shasum":"60e2403681ff6549fb6f88c2e01071b4046cae79","tarball":"https://registry.npmjs.org/@apurva2307/node-starter/-/node-starter-0.0.7.tgz","fileCount":14,"unpackedSize":6847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLgR5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbYg/9GhBLBzZdD9go84kdtdBO6tT05Mo8rdYM3Bjg6vHZsdtyBi2I\r\n2lGA7SsYehYnxWrJ3kczOIPLx4TAQNpWt+rPr/uASVQIASGiSySkKr7thdu4\r\ny/aCG7Nd0TtS416Mij0XNDAXHcgvjy1cWSFn46OGmH/ODLJc4MgaWnuKnkLG\r\n7OTKqJ4cCNu0DDZ4BkoTzSNjUsIdoa1joNHMdUmG6jtvTbtcnwKqbOESjRDu\r\nQmVziUu9neFnKW0CxjNYhfGmZjwjo8PRKeK9RJT95g7HcysHCSTxR0vYomZC\r\nuOmicgg6QPql2WvpKjgJdT8dVSIZkTWnkgbYclG04iwZHdSzcT1AOFohzZEZ\r\n2yfGDhShcChfmeiwNqInadDQ3Er4tkHzUDrn/gxnbchXNZlKRJDhNHtgskox\r\ngodXw8XC8wk2pFFJE0cJ+9qKEevvjRZLHgxFAsGq1uzCQrNa0Hb4oVevJeKN\r\nvczLoVBV7wlbOtaCuc3tZz1tQ/u86SG6R0EIRT7V5cJEgLi0Y1K0PyVNcmmq\r\nGa1H6q24ebRIHQEH37KZbWVaohIEjgzVtVPRSMK73nuKia8BVyZEDrl71DB5\r\nwuR/aGPpmFu687T0pKeLj8ijqoQpKT/sH0h262C1CsQi1bu1wRwxsLFfuuCP\r\n3Tq683sGvGc/4EDTjI4Fs6qNKuSDYzypOp0=\r\n=tU1F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF9C98OUG3MP/hy0pmKR3lRDQbEnYckvpOS1ze+L9xVJAiBI25Ticrl5Ao8zgVBfQ27WOTpyBuxmOHh47gwsAdJsuQ=="}]},"_npmUser":{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"},"directories":{},"maintainers":[{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-starter_0.0.7_1647182969467_0.8985897712275148"},"_hasShrinkwrap":false},"0.0.8":{"name":"@apurva2307/node-starter","version":"0.0.8","description":"It contains common code for starting a standard node-api.","main":"index.js","scripts":{"pub":"git push -u origin main && npm version patch && npm publish"},"keywords":["node","api"],"author":{"name":"apurva-singh"},"license":"ISC","dependencies":{"cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-async-errors":"^3.1.1","express-mongo-sanitize":"^2.2.0","express-rate-limit":"^6.2.0","helmet":"^5.0.2","http-status-codes":"^2.2.0","jsonwebtoken":"^8.5.1","mongoose":"^6.2.0","morgan":"^1.10.0","xss-clean":"^0.1.1"},"gitHead":"8fcf6272f59b4c394e2687905a1fa7103156a59c","_id":"@apurva2307/node-starter@0.0.8","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-sn510DBii8Zmc72IHLDBbBu1KbAFEuaWVDSnGLPQyeJioaMIeYi2jn4tqxw1u59LWa9Skhsn2QVSKAP7Ccrgpg==","shasum":"f593850e96ede2189e0b3556e87955d71d1a8219","tarball":"https://registry.npmjs.org/@apurva2307/node-starter/-/node-starter-0.0.8.tgz","fileCount":14,"unpackedSize":6770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMFMoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFuw/7B1QkZCCyBWP/Bj6GQk8wvMfwvbgLcU8KPm1spP/qqrTPBrT0\r\nfoGICWZITEwMRH2y0HGM5aSMH6drsUjkVwKnf9U/DQkDzz9sYEeF4MDdGMSP\r\nvXxt7d+z3SXQ1+vYkFOox1VrMDl7SLxBCpvTOReVM8eQidPoygUlUNR2smVr\r\nV9IUKndstsrLYG7t7xsJ8sBFqnOOz7I1SejKB23wIKTsQZJPc6wrhEr1mjrM\r\n5TJ/oO+3rev2SB8I2dJFctWPec3/NrtxrIW0J2Grkya2ES8bTF3mAKG3RVKk\r\n+BiBdwR338dx1zdCDQiz9MyS3yuPcWQ2ftyzC7SbA2alJi/0oYVHXCGg/NWO\r\nSVabI62HAR0so6/KFo+tMoO887VRNlSa9rXO94bSkb9/bTUPPFWNEntk5Ntp\r\nTUNXyPoT8rA793UOv20Uefz14S0H+iJ1Hl1SzHGNrVas0WivevmHlR3QkJoM\r\ne7/yQaNytToWuX6nO8MDkN7tl1PQQir2+QCBBDxkLj7izJ1zmazbTpMaG9Gk\r\n9KWBdu4FtB7tzkl2Hp28/yvPQm5a4wQl0ABiQcWQSDQDc6/NcyGnW0m0T3bm\r\nqUxrjS1GSyli/0Id0kRdxY6ymmxmzpGw1TpBlO6DYH+cZUyjOlxx6UbacdY5\r\nkSnH5B6xTVeIwIpvjBPAxHh0qFMcIiLeLxI=\r\n=AVlb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3eF6ge2SkRE/AuGt+GLHJl0t7ySWOJ6PVWUWiuRCurAIhAKcNbW/YHy7goKWCFmtjuNMG4fKKDlUpqu4qx9IiV2ov"}]},"_npmUser":{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"},"directories":{},"maintainers":[{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-starter_0.0.8_1647334184006_0.5313711804945305"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-05T08:20:14.687Z","0.0.1":"2022-02-05T08:20:14.870Z","modified":"2022-04-04T15:12:44.861Z","0.0.2":"2022-02-05T08:27:35.602Z","0.0.3":"2022-02-05T13:59:48.439Z","0.0.4":"2022-02-05T14:10:04.147Z","0.0.6":"2022-02-12T09:46:59.249Z","0.0.7":"2022-03-13T14:49:29.829Z","0.0.8":"2022-03-15T08:49:44.172Z"},"maintainers":[{"name":"apurvasingh.dev","email":"apurva.agra15@gmail.com"}],"description":"It contains common code for starting a standard node-api.","keywords":["node","api"],"author":{"name":"apurva-singh"},"license":"ISC","readme":"## NODE STARTER PACKAGE\r\n\r\nGithub repository at https://github.com/apurva2307/node-starter\r\n\r\n### Sapmle code\r\n\r\n```\r\nconst {connectDB, app, notFoundMiddleware, errorHandlerMiddlewar, setRateLimiter} = require(\"@apurva2307/node-starter\");\r\n\r\nsetRateLimiter(); //can pass options here.\r\n// routers\r\nconst authRouter = require(\"./routes/authRouter\");\r\nconst userRouter = require(\"./routes/userRouter\");\r\nconst productRouter = require(\"./routes/productRouter\");\r\n\r\napp.use(\"/api/v1/auth\", authRouter);\r\napp.use(\"/api/v1/users\", userRouter);\r\napp.use(\"/api/v1/products\", productRouter);\r\n\r\napp.use(notFoundMiddleware);\r\napp.use(errorHandlerMiddlewar);\r\n\r\nconst port = process.env.PORT || 3000;\r\nconst start = async () => {\r\ntry {\r\n    await connectDB(process.env.MONGO_URI);\r\n    app.listen(port, () =>\r\n    console.log(`Server is listening on port ${port}...`)\r\n    );\r\n} catch (error) {\r\nconsole.error(error);\r\n}\r\n};\r\n\r\nstart();\r\n```\r\n\r\n### sample error handlers\r\n\r\n```\r\nconst { StatusCodes } = require(\"http-status-codes\");\r\nconst User = require(\"../models/UserModel\");\r\nconst { CustomError } = require(\"@apurva2307/node-starter\");\r\nconst { attachCookiesToResponse, createTokenUser } = require(\"../utils\");\r\n\r\nconst register = async (req, res) => {\r\nconst { name, email, password } = req.body;\r\nconst isEmailExists = await User.findOne({ email });\r\nif (isEmailExists) {\r\n  throw new CustomError.BadRequestError(\"Email already exists.\");\r\n}\r\nconst firstUser = (await User.countDocuments({})) === 0;\r\nconst role = firstUser ? \"admin\" : \"user\";\r\nconst user = await User.create({ name, email, password, role });\r\nconst tokenUser = createTokenUser(user);\r\nattachCookiesToResponse({ res, user: tokenUser });\r\n\r\nres.status(StatusCodes.CREATED).json({ user: tokenUser });\r\n};\r\n```\r\n","readmeFilename":"README.md"}