{"_id":"hnf-core","_rev":"77-f603e46e71e879f2b297267e0e9076c2","name":"hnf-core","dist-tags":{"latest":"0.0.80"},"versions":{"0.0.3":{"name":"hnf-core","version":"0.0.3","description":"> TODO: description","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","license":"ISC","main":"lib/core.js","directories":{"lib":"lib","test":"__tests__"},"repository":{"type":"git","url":"https://git.huya.com/huyafed/hnf.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"gitHead":"5313f6dc32d56b5dcec3c40d895a68e78c33d8cc","_id":"hnf-core@0.0.3","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-dtQq90k2NvAb3abplQ6+/5uneuWaKVFfufcLWMjM0KJXBYukCjKr13ZC2PFbyzyQsbux7IXVp02Y2M9guizn8A==","shasum":"ff027684faaf93772a96d86d34700076076d6d69","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.3.tgz","fileCount":3,"unpackedSize":709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefJs7CRA9TVsSAnZWagAAylEP/0QkEUyWw3AgiDehs2l3\nu/gbXVlvmZ4XsBtZOZ7Z4xPjuGN871BSE5e71FXzAa4viXUI4gn7yQwqvxJ4\nf10YmVIIodJsOrew9cu6jhM+t0so2PuzrsKegdsLAm4vNPsT0qMXY4YIMvBs\nQeDSH4gFWfWe3gjYrminzpqpbz9IviFEt/E4KKx5rDo436uAju/w9mBNgl2e\nOqLKwNQO2ajc3pHAKLmY29ybb13GJokn1SoEFW87op8HD21hMcOK2SsJqV+d\nMU8sBOayWy4Z3wMmPmyF8tz0Y6E8UBbaZxgNi0TL3+CIcw9A8MIO7vITtcS+\nT44Ye4xhGZlELYq9STQAGWP0NZXHIFQ4hcqeLDIMWPAdOjZYmrItQfme33Wz\nmTzYiKdonJuF2SRs1Lx7e0CaJEDUt28DH5q6C7sVAQvrv4OaxLduMqdW1hDS\nU/cI17fqEssHWWHz+6itZ3idNBeJ0T/09zDU+5YiBYzRcJvL6boa74SXsPj6\nYyM4Sd3Fy6e0jN2Td5X6bved0FIBNdUEL/lvFon8UYTwNkt5QGn0G6w0KlCv\nI1g9Z+PXOv8rDXH+sRkYFkaVxK+mkx9r2/EDtv3tGwheUhwdU+mwK8Jyp1QJ\nvR+tbIV0huIhsDcWHL8kxKtb+ov4JS7PhvKAkWH1k5gCZEK+fKNwiTj4bSZF\nUJ2h\r\n=shyY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEP20I8gO+LmTENh5i14AJ+BFAob7ctiDcSOvAQ3c4pgIgLcIPJmd118MxpJYXtX1HUraDBBAYE5+Hm9I+10bWmnw="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.3_1585224506921_0.8076948711648979"},"_hasShrinkwrap":false},"0.0.5":{"name":"hnf-core","version":"0.0.5","description":"> TODO: description","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","license":"ISC","main":"lib/core.js","directories":{"lib":"lib","test":"__tests__"},"repository":{"type":"git","url":"https://git.huya.com/huyafed/hnf.git"},"scripts":{"test":"echo \"Error: run tests from root\" && exit 1"},"gitHead":"450a3301e78b0317a05febb963f6bc9ee200d816","_id":"hnf-core@0.0.5","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-O3vQ74J1GWQqeCDR28Wwv4m5c4rzXntAwMoDD9UW8UF3fBmzs4pIRmNTmqokREt/XilDWoP6/KLtSI4ot2Rv7Q==","shasum":"6b112b66c7b82e1578e6f38841a545fbf33040c2","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.5.tgz","fileCount":3,"unpackedSize":708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefJ3KCRA9TVsSAnZWagAAnDQP+QAU48xgyn4aZgt0TrYD\nQywxLu6ly7kLyA9QkDK/5LxAS63lmoULfxPYapDpoHXZa5eCRefIA4oetUWb\norO8m6U5/lK6maLbwb7XoQ0RXJWafFvd0RcEOrfrcK6tmdYDlxX+1dvmxriT\n+kvN2V0E35MKGfsHJ13r4GAtHlJ2DcsOnouscOR7frJq+SEzMm93gEkG3AJV\nAiwME5YtQ//pBkLofQ3r+ddMWuGJmIIyf8lXPPiFh97fuosSj9Bik/oXpfvS\nzSmcH4/Bn1Aw8ZzS3Upe/PZ+ucx6h90QJxxeqlrnFzXqfBkCxQTMmVcWaFw5\nY0xTp11JtP/2AbF0lDi+ozoyf3qpif9BqL1pnh3d4C1SyKTvkh/4HQwpGea3\nSNKMFyZZizZ3QeHXAu9f8KAlNfgdMzW+FIEqHWDLUIf1AMifySb6Mi0/Gceo\ntmsQAT+oTkZr7YS8tAHkpWsjrMOaMdq5AILYhOsNh+Q/B1bkQlUZon5+Tooh\nunnhUjLQ2o6DkUNXcpwY090jC4BIkOAR3ICHVrCVYcMDUiIQbMZMnREXt5uI\nNopEhKhVnW/znMJAMFVKQi7On9enm7pLeZ4YmRzZAk48Y/xWkT5qv4Fus5Zf\npKEHCGW9i9pQqAU5Wpa0a64YIgAA0WFuhInthW6HubkqzQxCCyIu8nNDGwb/\nwsG/\r\n=vu3w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEVyaaGezDmpya74pjKdhqYlMKielWe0GcWxi7HV41+jAiEAhN5bLy56p3R70FouNRZv3O3HRbjcQfFDjecelcFrAVU="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.5_1585225161802_0.5370933627596743"},"_hasShrinkwrap":false},"0.0.6":{"name":"hnf-core","version":"0.0.6","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","bluebird":"^3.5.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/bluebird":"^3.5.27","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"cf9e83d9a50b48e7a44fd1a4779ef8cf294d3f87","_id":"hnf-core@0.0.6","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-uWIY2BLNSFkFcoYiTl2/gTOXptIsYRJqNw2djVNhlkObCbyFEy4xaA163cs3wrYTMGjQrNXJJ0+irZpRIVvOKQ==","shasum":"107260bb25e578fffa64e33a9f102d6e1c64adf1","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.6.tgz","fileCount":67,"unpackedSize":66892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefJ5lCRA9TVsSAnZWagAADGIP/RBHxw0kSLjVx9GnCgTL\nxCMZeRAxN82HM7v0o1SpHxvL4E9oxVc9IBUSgy8YEL69ND+jbS/FhQ9iOnWK\n2Z6F1YCjQLTAobAshiMD8u/feY66T0fIY4KH/mSVVM8To8sFpH/NF07n7lvA\n77+Gb+iKDndl6i3zIvN/6UZVmyS/lZVtY8K544Q+xRM1DjAKcL9tLLuWK1RR\n/SnpWXQai7obGuxtPdTzAgNkS5HAI1/AZg673xBk0/ZzZSoF9w/fm0C66rvh\nH34d5RssvhyDNge30ElkXoI5ajJ78upSl100VjatiBxCMONNu7s4mtzVIAFc\n6l8jzjzkasCJGGG2jZ0y6m9Sdcc8LaL1laDyNG/QY18LniHaCHIGsuW7eZZM\nafbqrVOaJh0lYyTh1BIq+Kw3WziQETCrMr1aPobecDWBgtPaRm9BtF+a4KCK\n4ZOI1xH/B948uYHH/5dy1PkRcyIR2A3T4MIFBpl7K1+x7jXuo8Ffbh8T5bs3\n3EegEh3iBt/wbgB5q2tZFDprlX4N8M3E4yiYhgh7zKfBWUQG+TRc+eiC42OT\nA7xaProSNBIs0Lly2lPn3ophvPyPNHC6MvfRm5fMB0xniyuvI6owMAn+vSc8\nLPOACfCCI6kksgAzeeGjecRwfJrWlBraFIemY9CPT1rqQI2wOzZvz5MjWtD6\nUo4J\r\n=tevO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQWYCSjM76xiqcLHmpsXd/udcTlyCTb49Ltvswc6rjHAIhAL88wjbjgW5uqwVroj6GTCrE61gLhkUEbBcAkaeTeFqY"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.6_1585225316719_0.6633365312838129"},"_hasShrinkwrap":false},"0.0.7":{"name":"hnf-core","version":"0.0.7","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"02258dac722147d3d7a5beb044b07d4eee0ca3f1","_id":"hnf-core@0.0.7","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-CBF9P1lPKCl9KGBmw9X5OThWdwVAyXVcJYUZZV3P/bzIXjTjO2jVnBEfV0m8ux0RXMXBn+MLbcKXaXGcbcCDgw==","shasum":"bfd96da0f06b4cbe44f95f3b2413b8fbc658e984","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.7.tgz","fileCount":99,"unpackedSize":74779,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefcVKCRA9TVsSAnZWagAAgDEQAIv9ihB16W/kMDKFBqRF\nWKxGu/VV9bIJSvFGbVatkr8MTnYlDfb4+5YWRE+v42dgpUW+URDSzLRSxtLd\n/0rEzLGGgk0j05uvBJen7hOgmKiinDti3wwgnQK0NGGzqzf944pxOpWQbQqj\ndDTXXiEddAynjUda4N5KXWdWcqFI01scF1LYaeHmLGLgMtPiPVTSVjeuSSQl\nsLtAps8o5NznaQy2NzDv861sSXKmC2L1VNDSqRS/jmELeg1BmOgjbzStoEl+\nVJJxN2XeI8Omtz4FUAKHbA0bLa9GXda+81ZXRJamn8QRxpenhQuKqk2BNSCd\nzE++QVmw2/yZc+aCyPCVN4UDoa4l8Zj1napTNP3ztYdGWQxda+Guzx8A9shn\n+sw5W/2Kb2PgvHMvp/k5VCcMSzQpiREc3gbhQIC80MBtY06N/Jm30ALHJn82\nM3dmNuYH64AcCvoC+V3Z4haypdK0XWwTssoWcJq1cCI6H/+4umCxiUsxPPjo\nNFU9bwTl2NW5hcoZpTt6eEtKGUnXw7aYRZ9AGcCwhRhMpIHLkYXnDpm22ezC\nZ1xMkmS253whWPjrNVQl6EO93yf4HxJXWIMDxxh+2kb7Fe7Fg8y+KRa7o2Wr\nm4Qz+7tQS5Ge7wKBCdQGj3kQpSvRLezRGGRkpIYvk8dN4Zf1GIOZ9dPfWWpy\nE+Xx\r\n=Ez+D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrdFY3gcAHtAYZhjogXIiatqOGRns5Ch0pst1Rt/lSnQIhAPKi9WNunIrcG0G3N8aXS9tUe4S8nIlCuUBbJdi0/Gp8"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.7_1585300809779_0.08563777901691538"},"_hasShrinkwrap":false},"0.0.8":{"name":"hnf-core","version":"0.0.8","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"dc7cb8e8389d1f6ca34540c052c6778200c29e93","_id":"hnf-core@0.0.8","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-Girrxe6pOlIbCmnf2YQnY8nFM178celP2DYtdtz6m77re+xiY7eAhpMhongG7NsI3Aev41oeAq2WCUCntIvxSQ==","shasum":"ecfe5d857a05335817960824e3b28cdfbd0f65b2","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.8.tgz","fileCount":67,"unpackedSize":66832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefclLCRA9TVsSAnZWagAAeyYQAJlFrzSwfh7F7rZZ5/+I\nnbiL8Xw7GyOt3uQJFehTlLOYm4mawEbgmTLapQOwnWwdilFTc//AkeRIX6vd\nyeX+gQHC7NLRLhTfcGKHSFMMbimD4YCUkCNpE/INoCXekQMUxccXoMds3wwK\nHl0ngoTws6AS+2pF0ZRkgy66LQ7TeCydcNLa/UYnrBV7EHNAfgB5cmVysB1N\nc0XdxOwzwsYJPODt9sae8UCF6VXG2OEh/nVNpDl9yac5ghuYX8R6pEJk8v/v\nAlV/6yLktP/d5TOj1l29FV9x5RGIBJVQFOTuyZGSzQFZT6nqRqIB0UCw7xN3\nUIer2sx93f8m0jB9PUx4SbpHIouYbnwuh/jlKN4bmIiAw3watoUysjZSqBFg\ngoalV5xPVbP0xNA9SU+HllL8BO01275IuQXd7M7+/h6RiCuoOk2vdacRw/mg\nFph0pWz1Zvoe2dPBgyXQdbnNFjKzFuO/Ompjn6c4jkdXaZLjrqxnig9dyTuL\nkyvwvEyqtD3SMmpg64OL8jSHHXOJzuQxFZ0W/GeMefPoh5FEQgiuMGTty2iY\nZrXbINeLo2N7bATF9jCZq3YNQnxCbPa5fV23GKME9k80ZuKOCIgcVNPd7bMp\nFXB1rXXSBvEZU0skK9UlGEgfrFjLXtR/SkZqPspdBl/G63XpPCFxmlrRDz58\nYpzC\r\n=SomA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGLrLOizcPvYR4Pe+rTjcwuzRsP9kMqwNXs6CPu9CF78AiEAyM7gYDSsABV+aSaxa9A48jd6CrdisAygrzvifcJ7ous="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.8_1585301835505_0.2294719593344554"},"_hasShrinkwrap":false},"0.0.9":{"name":"hnf-core","version":"0.0.9","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"983cbf67fb1cafded60b720c5bdfc6f9caa3d144","_id":"hnf-core@0.0.9","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-GwkQNZpMwtK3rIxKup4hKVpFOL7Z8rzybJtuMFv6E5jUJNNYt40+0gLXa9aoEmhNwcuG/+aaWa2P1flci30CCg==","shasum":"f0d06d5a03bb808acb7a60b74314d52f51fcf3df","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.9.tgz","fileCount":99,"unpackedSize":74779,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefdNmCRA9TVsSAnZWagAADnoP/irt5okMyujpmxJQgHHE\nvizPodcDUpMRbEjXDk2dvkMrzLp80fQko6MaqlXRhikaHnVl4XnZIhiiRq7O\nWBehKu1fZGWY8GMmmPufAACc7wLe9yNr0BPfslw24NuTaNxo5sDfWlYzncrm\nOb4blZvcV+/+jFF4sMNjfx137swMPT74XYsOpJQGHmvLTiQsXRXkA7O46JXi\nDdmx9hwI+RdE7aLFwesuJtuerpXcqmwY+DRohXxhC5MnmkUO1PLbqDbWvdB+\nx5SHxtRm+Gr+e1XVNNDdV2T5fjkERuZFXa5kv8s8zup1CvK57Luc8/Vf8BX+\nP/gMR0qaOLKL8ln5SY46KsymlLmwY+lEQp0RKkLFcesmtgrTP9eGBMa5nlUY\nEIRQZc0phPY9CtE6fJ6wgzOWkKSBE16FkE2uYGyHTjYUlXjxAhQfpSp1Lvk2\nR9DrRwtR/0YVJFUKEaB4i7ZGcjYR8fOhJGcx95sGIvtEoADaikfUQ1TNP4Dl\nEhl6K94/jdyehbxEaEEPN9SDRefCstGT/5KqxyUsOvxa6GqB13NDsziJ4bSP\nDPIwydGBTPiQtx50u4kxE54X9AQ4U+2o7i+dPe+w4tU+1lNHnseYd61WFunk\nLmWDZ2UJPnkSi2ZZpUFAfejwaVVW/O51bx47HTitpjAklQK50FW1UUJlWZcP\n7No3\r\n=Do9H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqkYF8bNJcNBRDmsIxUBS4Nal4kvhRXp++2S3Jd54QUAIhAIWKBzmZup8goMggUapY29yW4tgZAvGEzzGN2tnwDwZi"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.9_1585304422027_0.45427873263171503"},"_hasShrinkwrap":false},"0.0.10":{"name":"hnf-core","version":"0.0.10","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"aadcfd8c8a78d1f30a038ff113af73d7cbf4a75e","_id":"hnf-core@0.0.10","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-LerG1lEq00tKzZOt4sZh4TpBsEVOcCrfJXcH9IqRDbzSrDTnLT/4sPf+0hOX8Ww+OBg4xifEdPkfnO6qvqwlCg==","shasum":"13b0a02f70eaf238db97285b70dd2e5374dd4b6b","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.10.tgz","fileCount":102,"unpackedSize":78055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefeOiCRA9TVsSAnZWagAA508P/A85v3o9yM83rDfie52a\nfmjGhgly4AsiNBxbJ5yR5CWodNbwPj9/wD6cXfluKm/FIAgsxDiSPJwGZji7\n7uHT2Iwho21GHuNwbXcTOKBC4Zo1F3d8aKNMdSSILMquXlBQEIpODNxfSlfy\n1wGu3/1IZXt2NqSv6mYxy94Z8Hjv3hxs7qj9Fwg7RTRss4Mi38zq29UxHtrO\nbsOpUvgic4eiOye6cY1coeEXDgN2dpJgqksQvQ3bZtJayXU+Yg0I8eFX6gqD\nNU6YVNHC62CYDRqiX5fJ/FcmSqLrw5q+hWns+9iBf/3t6EL9m1VHI3PkZD4/\nQFaTgdNOCwqcbc3NqDeZ5V69OQRp8NZXFYNMSusLr/qxK+8nGF468nrdWS8u\nSMi1FPcGnK+lMoVhqaiL4trdzIbVDjXUfJdp1t2xSnR27WTgnrR5WAdvPEVD\nh4ZX4txfCZ0thg6Mro84QHBlbSJg7cbVWYzNspVEj+jx18ByE5FkWFcyCh/1\npYTCz2jmZ6BRjUndXKX/lX/QUb+b8kuaJpfuHsQEpRFvgNJusKCvDea/10n3\nAZ1ifWXXv+Tu6bjoMz/qCR0JnxG9WLiNSqGfVguPgYhKu29xb5T2qBBnbk9O\nY7gAuNG4XWq2FyvuxirJVXiXFerOZ7ZweDupAv28gDfz5ALZ11OPvD1VHsuu\nXals\r\n=2PXu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB4RKvdFc4U1kjjCpZuJHMDxOXAOJteuXWDkLwgUtNwdAiEA6DMfpobmCXD8jSJ6214AsxRo+XFT/D5b5DjPGoXxZYI="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.10_1585308577792_0.7963356109116626"},"_hasShrinkwrap":false},"0.0.11":{"name":"hnf-core","version":"0.0.11","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"3e1de2b8e9fc5fdb1dc9037dbd8b2d8d12f9d48a","_id":"hnf-core@0.0.11","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-qJoMsSxHcZTrLVosq8bRoCBmqh/Rb6g18acCY767v0nXsQMxgfqSQYpQkx7DIDfF34NeHwyTK2ZZiP9fczbkTg==","shasum":"7f2a29da36f61f53403eefb7c62ec1271d9cdd48","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.11.tgz","fileCount":102,"unpackedSize":78098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefeXUCRA9TVsSAnZWagAALgEP/0+jhv2KaZcx2smDxRXo\na3bVrc23Vn5wCJWqKB1mMh24piT+oDF7iQ1ok+c0CYRzE/7E2M7YOscMCaPc\nsDNMzHOxyp0mL2J6ifGDMRQ2mSdNSOgWdRIg2Hg7wATEf7DAXRU5W2udObcr\nwhCitZ4pMnE+nhg4azChfGh8rhyerauqoSQIOlfD3IbF9K7DdfLvsvratIXv\nDiRFITh0Xi7MfYdpuNOdWnyyLoIJBH9PdZozizSFP87SvYlsZrqzHq+3YM9F\nVGhkBYjj+/Waey4DMpE/8eirDTjCfA+PHy4gTZx8MFQIUdY6C05aqSvj8NSe\nOtrnWWWMlIgTGQtMwI9kUHrqlj6mzqJn5EvoiLqKW4ncOLzDRjsuu6brKnxw\niSPC0dbZ/gRZ5hxGuhbPxHjTvmLeppa1utFx87jz/kRHUHeeFekBwHzCPvfA\nBzB14jwedr3Q1Hq7QkTA4nLaFcuvkoPvzVGMgoDXSjRu3txH0uiBb3hgGvgH\nKOYgeKC/PQzI9e4n1lth78T89vRS3kIKOr5NXnLtuRMGPAidiMR+wy0QScq2\nmtieHUb1llBJQWc6Rc3UmRPyuem9/pR8khEmf4XkWi+72ZqP5S0fiTeyG044\nhaIB8BkJsaDjk2H1fhWxFkGGQ5QoXq6WCBwgEpFNEX2ObnTi5Ktiu96F62KR\n/gkY\r\n=1luw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDe5vbUetepqy0zCYTj2csLaP+wPLE5UclsogDNvXHbWAiEAij1AguKa3krpG2AunM0P06Kr+jXiTg0oW2/B5yPWDN8="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.11_1585309139865_0.4592040096200216"},"_hasShrinkwrap":false},"0.0.12":{"name":"hnf-core","version":"0.0.12","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"4dfd9e93eaf7e15c463afd5da84d372d50929ab3","_id":"hnf-core@0.0.12","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-O0lMXHLCZKNxtY4gcVtmYrOzBIzkGpxexuC8NH1B7csNUpbX1RpqfT4d79WWnahI9+LWLx91GArWIcNFA/CfCA==","shasum":"ce9f9d73fd672c4405832281ebe6408133826732","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.12.tgz","fileCount":102,"unpackedSize":78325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefepLCRA9TVsSAnZWagAAVcYP/i+GwtPCi7HQqQGJPYM9\nqA7WA3AaH+ioDSXX9jSK0BHHxRmlhlrmKMUFk0VqVJFPgPr7iQvlINFRvze+\nmZRGwazAUqZ6VZ+aVVPyZNZixyi4nfigGAg/yBcxzQRxolXktNFa/FftTGI0\ni6PxCuWdK1xxcCXRPFkQ2Nt1jb8XR9aDrV4ZVqtBV45shQuuDjsRQqAwZ4b/\n535nifvIADs0xBPonfnnTYwBGqwtf49QLmvFj7xDloF9f8ZeW0eIIP55ZbYD\nkGqCyVS+gA1xV57P9ArVflGm+4b4jbqVbVlvVrIfbcXISf4RdhEkRgCIMm/y\nwD47vpmMdnqwGvQm8R2XbJ4aAOz91sCzTDsIw6HmbMmUjfHS/XFg/REfHJ6T\nNrKzrBOcox5j8egBXakcRy/3ugSlZWGhHUgaVvuqlYaqLXhOE9iK/Z2XZ52q\nDFrcQ7QtDun0MGfaAU659vZw2o9WC8YhkrhmoBSqnqZLuzlu9hprdBN2JKnA\nZxnaAtaMRSzi/LFXKegTpGZcHCDPmWnmk4LQkkqAGKxYyV8+vbJn+O2Fuyqc\nKJaPYInz3faE+ii5BTl7Wu2G1LCNwFb3WR4qMieW838+v2vGCj5BlaPctLBE\ngbCDmaMdpYTjbau2BemX9D+svYXNv3KPBp/B2wSOMr5oFIzOD9KNEeKXvNlj\njPoX\r\n=5x2/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNXGVivSvlsldCNm2Nxyz/HDqAJIe2RwR3ZKd63LwrUwIgLnf3sRJ3wKDuhfvmISSGS14HiwP94N5FEWhv6J0gLMM="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.12_1585310282838_0.9581561588365854"},"_hasShrinkwrap":false},"0.0.13":{"name":"hnf-core","version":"0.0.13","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"3e56fa2b281542a1f2337b05e84643dc2ee48161","_id":"hnf-core@0.0.13","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-F9ICxiz6bT+gzdz5NZLvCWFYe+dFMLkAVYJ/p99R28LZj7IST06eslcoFmI8qxsaQvsFMX475aE6jMwth4z9iA==","shasum":"56ef00fe6e4fcbbe341413af72849d2f4a5a791d","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.13.tgz","fileCount":102,"unpackedSize":78215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeffCLCRA9TVsSAnZWagAARY0P/2AsAEVR8QVHC7kn1chA\n9Rhc1zPDmv3wNekLcIEFBPDiqFX9zY/kTCjoz7Q2IDtJDCAgvxfhA7oSFGSq\niX8Jzpp92/KlbT9biuzguqp8Y3f57RGctVVs7ak96ZcQ8SUf+p8CtxEPHimV\nfsr7chdji2R1MaAxijPznCC4HA3pGUClLMIdzLpN5/bHrNPRBP6ZkAkVkb+d\nP/pEpvvNp1nnkK0t9FjICXFot3L4mGFyB44H3D4gRBbsmNCZmCO+IVCGjCHo\n0PQH0PAzxmTLeOaA97jMWjyJfVq1bMOPJ2KC8nzNbad+1V5dvQN8q5MJvkX0\nKfv4DfFA31OZIoN2NVMQ049FG1BOXGiYJDOygnr4njtdBBsnX6VQOdTZELmI\nRFmtwM6TlhKUIewclHMrVKvbmwE0YqVtOo1M3Qocm0rxIGPLvi+2dTTvcEyc\nimepxUnU9Zah5wfNIDHfFQSj7RQKCSPbmvKHkB+Yr/0xOkxOY1AoaiSEdXTV\nMc3NkOti3qzQ290UYaV9hZeuClTQCe8Gfe/gK/AeHODpcnKgv5hcwKGkdMTa\nsxFTkyy/eoDWqL9Xn2PIGKkT3JCmIvSAQ6t/xR9owFB/EpsZ3bu5pFEHVzw0\nrco4Fi4b5RsdsMhCTLm9TPuPdFoqRs/1zmTRqVrnUYt+jdd4VQwURvOnLif2\nbk8H\r\n=Qvq2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCtocBO/bPtlncQkGLlKk817ezOGULTS5yk2PwTMJYEwIhAOTwnspGrre8jxF+M7prZ5S0v0SAE3tQUSuWknaVeH6+"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.13_1585311882821_0.905008888656494"},"_hasShrinkwrap":false},"0.0.14":{"name":"hnf-core","version":"0.0.14","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"c1beb93237a45f963cf5262b8c3d0bd5c0e002f1","_id":"hnf-core@0.0.14","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-FcgX8oeJKh/jZVi3Vh+Jp/0i3oEtRc/kVt3UXpLQaby7Dsx27+nOb0ipaF5DbCT9msB8R85u8WTQaEZQwqZBKw==","shasum":"cbdd7faabe4ee8706888245fbc4c78d535be9876","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.14.tgz","fileCount":102,"unpackedSize":78215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeffPiCRA9TVsSAnZWagAAN8cP/2oTLMya/80sINbMtaki\nziWUbrssOpbMeO7j+2O6FoRg6ZvrscIrh57mG1vaePcWe5DhN59GlUS/CJAN\njPZVh0lTc83vMR2d8I09nl9jtKVM4mHhFxzV4OtJqPNb9AcqJ/t6reDA01tT\nikIHPYvOwnMIKQkfosyxEXY1DYWTg+kyXK68N1uULcGcfpbmu2VgADmzLRvn\nv1wy+AhaDg6Zw8QveDW1HXH2GxJvIPVNJg3SteY+Dry2gv6FqX6f2aO5GDlq\nSFlRJn2dcCHZm4cD10fbkPexygxcWi8y6yOZYwhKx6xwdMzHfJ1oCXqwJenf\nFygOs+FXNY8MHq1qcjTyFh3Pi6Tw+GAZIeGdDRWq0x/YlV4hHrztzmy+yC2K\n6CuCz1aQOMCPecTZbhrDVp7CaHAT248644jTzROfHt5YM0Abwv3Mr5CkvX6I\nX1OOToAZH9KVIEdjN7wmzD9KBxJpwUqsuGreRvABz2nspIwN+kV/yO6bx70i\nhUiXpGMnTFKsSXgpfpMZn0FH+d9uWNfiQVOGyO4E61kbKWwN/dtVccXgrXe4\ngEhWgsvm1PQM0FchQoLm74FYc0U2wLqRoc2Motiu6P9cAxjmoLotdhn0DOIT\n3muJ4Yuft0ne/LsfcRgyulldncEzv69z0JX7r/Wf68dhGgqLG4xrElGiPoD5\nv/tH\r\n=0uLE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxWS0ZU2zUmBUYdYZhnFCy5DUyy5nOcvfhsAT398J++AIgXVYPYbeiAH5OGE5T0+oP1gjiqwxogVxvunbrBE5KaaU="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.14_1585312738487_0.39802779754359063"},"_hasShrinkwrap":false},"0.0.15":{"name":"hnf-core","version":"0.0.15","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"e6f5e38c39ebb4e5f35456e588e7ffb019353516","_id":"hnf-core@0.0.15","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-Sp61LH8JJ5jiQvDH3SQKmSlVsCptYZh2FvuhvVUK84hlttqDHVKqPdQYrCH7/pXS5/ePeJlmqHDd+zND2+1vxw==","shasum":"257930a6fe9c945dc2f22e1639381493ab0f15b4","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.15.tgz","fileCount":102,"unpackedSize":78293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeffhNCRA9TVsSAnZWagAA1v0QAI9l64Sfw4QDEgKTUdAl\n8ELW6Tj+TxqyqzAo3b0TzN42WU/jcd4SwEGQTKPNfPFE0dyk/Lz0OndY+Xin\ntBGsA+F6ZM0+o14cCoKB162vyQa4sAVZXeYmea7mwB931w96RWWZa3vJOKDE\nI7SmRlHIgTgJwb2XR2lCCoK8/DU4ESXMijTDbRL0uGbRlweEzwzaqEK/3fwj\nOhH5fjcVuvGKOzurzIC8YYj8JLLPD5cy6gu4YoTgt0nflXR5LemPP8StaOkE\nnlTe3TSOIMm6q5Yv3dTnI+bcBAfNar4Q/rUJy1ZIgr2H7ERql9IPz9j730T+\nYkAAVnYjd9Xkj5Dt4YCsGNlj9Kpjpj+6oIr6fbiglYKPYD7NsUYyDvgNFLfj\ndK+75PJoUUbkZweXDst4uRUbgLrab7x9C3lFImkdGCPYVQB/eerq36iFGep2\n5AwfONe+9E/r+2kYr6FUg1fX8PrA+falrjnCwpo9mLk0T1h9wYhkRVqtHlpl\ne9pAI358alU7Nbtg83BkNq6VqWDxubjGTZVYU/WIbk0x6/9riQ/UfAr6jeVV\nnVSm0/c4y8gWFwd5yzdQsynhnmP7B6owJDbVIZ58yuCkXqn6YyRL6cC2kaIJ\nAARD/W5Hii/dDtJl/YoQWsdOv5WDqYGB505FLTClLGrKTZ8+iYWCsT8Axy6d\n2dJS\r\n=or1m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHcS6abkOlMUk7f2YrJBVo3s5aBe7R6wzYB4BSvU3hHgAiEAzh4q7ZokanE5L1Iymc2fLWPkmoyRhluecBsaw4F6Ir8="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.15_1585313868687_0.49714127066892133"},"_hasShrinkwrap":false},"0.0.16":{"name":"hnf-core","version":"0.0.16","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"32a5030233e5571438cdbc73bcfc37b08b695d08","_id":"hnf-core@0.0.16","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-woEQ2FIUA5r51qEQLV8bIU8UBCo6mUXUdLPvWEgCK81ZmBmGPJhQhzgXlgxqk73+wDhsbSh/XvZV/BZIoTgogw==","shasum":"cb682d11575d99089bf0dc435061df6784089f01","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.16.tgz","fileCount":102,"unpackedSize":78293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegDHdCRA9TVsSAnZWagAAUE4P+wf/BOYAmSr7n9akdQnk\nqEft65o1qKbiqBUrFxbL+yR3oRSNOmfjJ5R19oi0lxgqO6wDspNZlmzS1fNq\nJA10v1yoRo06lQKivI52pYsZGo2R/WhaLtKWZIB5+4AAjxCPLgTbCnJ3DJSJ\nv5Ul9keWBKH5krdNRZ1m3L4Iqk2NZFD3htp1ew5aKEiYK+a2LMQJiyXl9ZW8\nCzqG9UAFNIjldW2n7byG/GOJ0GldNP/gfbh0hvnBqUJNPy+jGABJDOQtuSA1\n5dJb1UPfT5kYTmUMQ1AUn/am3zM8IOmOlaju76f2ZfznqrKefm8iMFa36FcT\nUxv0im+/CZmegykJrMlCbKxX1oTPQwd3Eb6bIwzlhD3fP2jTa37iasJF4Fm9\nG7XHqsVqTuNAcI2NRv8fjOutCsbzWLxeO4nQTB6P1wknnEUwu4thdFOWRDxM\ngk3+z71UJt/kF5QEZRziloFyshGzZEW+VzIszkinR1oC97/i3quVtM6EayEM\nD+nv2zL7EBpK0wh0cBNlEcYVk10JgPUDR02T2o6qWHSs7YxA2cPlyidcDTyI\npGROTkqToWcUS14y8Yo6AHwcn1MSD8RDeUwKO0SQBQK/IG4PttavRUuKSYgH\n/YxV2fukpjUHTKosIZ31PnRerl5qZgxgY+cmyJGcdOl0j6n3ofXKyKysQ455\nTD1S\r\n=Rogq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVtbj08i7425RXaVPp/R2SOvy7iOJKYvC4CmrQQRIbbgIhAI7Ur2Hklj9InCEurIxZUHGcGhx3U0qmv4bYq3UN/OdC"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.16_1585459676734_0.5955984223207909"},"_hasShrinkwrap":false},"0.0.17":{"name":"hnf-core","version":"0.0.17","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"ba19f012c072b14fe10e5f9b13363cde77c57ff0","_id":"hnf-core@0.0.17","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-Gp+NLE0s/qUTz432plU6CM+P7xU55vIPVmzlf+4woydznP+XUQ8NwqhQBlbkggvu7e0O55Pc+aTdPaHFLX1wxQ==","shasum":"dbcb74a52142e5b0af21ef6bd8a197ced24b48f9","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.17.tgz","fileCount":102,"unpackedSize":78293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegGHaCRA9TVsSAnZWagAAHUcP/0pQE3z2poWfalhHneZE\n7uOgLpgNtmUxcaFdMQeSFUFOp7iVXmSwZqGS5vTW34qWIvK5Xof3TywlakXO\nAQjQ/ypFHQLHj/WRyu2TetDEBzt/aAPxHrSQgOjP39Vkg6FVJf1MDGRFSlWO\n7EAFU6dZohq9ITF3I4OqwQXn8+kidK0dDn4tU4v5hkiGlM0RwYJrU5bGm/y0\nAct3EJRahoRzbtgj3RY3GSSYCLd9R8NteVZ7b6zWSwqrYhpX+7lexFOVQbP1\nTupxtU1e0BwCjZKeAJXykqZB65hlBWRyftU7E2HBLIDY3i/Qif3i/25yMxzx\nK9n7+VQIigFuZmljiFKD8SNE69dvggSbzuqIR0J+lAyoHRI/D8g14lCWMg8w\nWLoSsT+yJhe8x9Pqa2UlWuenn83VHwZPH2NlQVWiXSxzGt3si6Wj9LHCoWxE\nuP4sVNhvj4cqmk0GpBucH2wzai4Dh/RGfNPwEWM52iyfFKj1EezAyyt/O7g2\nIWfmzmaiQk+OxDz3p8mrhZaPcd43AuKL6IkPVXzIxw43aE5jXSGL7EaXBf7f\nxYXS6UyXOQEDrZQ0MO+FzYue5WaFbwnEqpU+mqjl8Qu+1K4qfhOuwcMLnQD4\npZyV71Oz8ffnU28lP61hnPbB0i+nvKutw2Ji6VGBijAWqlVB2rRRp5ZrWGjf\ng22z\r\n=13XW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBQX+OYXftE4tngQiwp+iTV8nLYWCra/LAedTZN3cr5QIhAPLHx5kfTGhdhwApbBgG7Fj8VRElJz6erOvQ4KkEtDAH"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.17_1585471962510_0.2914422880342247"},"_hasShrinkwrap":false},"0.0.18":{"name":"hnf-core","version":"0.0.18","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"38f966fbeb2b325f7160a551d2b0829a436dd3d0","_id":"hnf-core@0.0.18","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-PfSYCOL7y4oFnvsRiSBi6rmDkbtlo/Ojv8D3+cnqo1mgSpTTBCKQSHT1LuKlLNMU9+IeD7Pw3XaaeqX8n3Pg5g==","shasum":"408bed4fad09d573921e1813bdb36a46a0fbebff","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.18.tgz","fileCount":102,"unpackedSize":78293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegGSFCRA9TVsSAnZWagAAzt4P/jgigWgdPQj7px6p4bbs\ncSstLayPgqXswm1SNM5XrpnxUao1KUydFQt8KrCgnWq4T1MPPpTmPluHZOoJ\nGCMRJGrLWTiZQoGzxezJ1BGHAT7TgqR+4A2ueh0PKmTRy2CIOq+ZQ5Zkg4At\n3Ab4XViDJkuE0fRzyyJgBqODY0BqCJJLJ9YWmwSmRgBeO+yo8kYboUS8e8tk\n17rqlhUM/S8JQN7YdggTVcnPNKUaQNCjhQ9i0LApWPWuVvhV1oXmQ1TcfRnC\nR0TSXhpPTXuCN+tvF9RyXW5Q/SA4rHWZ+KzQIXNT7qyTP9bSiQmVhQ1n8yGr\nhJgfBz1Vl0yPkER9rGRKKEyip4aFUUhFLo8QTmQji5hSN77exC8/VMFbDlKy\nBNQxsBQAyoySU6pZWTTMSctZ1/l+hZ8OzsPIXej0AM++V8eDtHyAxF8xrimD\nRugT9KNVo89MqBrXkd9Alr9V66h9SosBZV6KcYj+5ZqHIvkorXwDZOKqae/i\nA63xEB9BIgYpMoCLqk4ubh18duh4UHCESnB296HZ+urYHUUMY5jgYv1ZLr+C\nG7bJJ7snC+FFVRwOkmsX4kN+/KrpaCb+m3XkKHRmIw6S4Z2NL9d7oa1jV4Pv\nm8cbB3++tuTQbXFlj11tZaqfoSGFi4Y5lYxgxlZaWilWePheUjrVXYJwOxYZ\nbq7E\r\n=oCBv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEnDFQAQ6Ni3quYhxhvZJCRGwMF1TUOIhkYPukYOOaDpAiEA3cQYKiFzaMfLMLq09rQovymTETTj5FywY9KCvOrbO5s="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.18_1585472645247_0.7761485436002018"},"_hasShrinkwrap":false},"0.0.19":{"name":"hnf-core","version":"0.0.19","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"2dcfe1b8abdf1f057fb8210bbe25316d5d74ba26","_id":"hnf-core@0.0.19","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-pieku7AoUdh4wXpH4RIVWNgvXY8hXUKeA+H4QenqWcYpFFaKKCcE66gB3HY7w7/esYntzakchdIRHy4m6f5iYg==","shasum":"2515e0d8f96143b43618dd5721fe083f37efad7a","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.19.tgz","fileCount":102,"unpackedSize":78293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegIQsCRA9TVsSAnZWagAArL4P/2vKbAlqKdCOPuda5gvc\n5XGsYkaTQdG3evKgI7bsGHw2YzGMYUK0XUv8OSMsUwqXt0IbZMtHt0ltCYIk\n5KVI28IHnqCmCsCXqXTvB9Tk+Aw8wlCPyC9sAHRiMpxY14UM8VUqaBP5lqhp\nyo+QONXSN+sK9fuW7Ul+gDTSlaMp12ffrpUcTRTX2R9TbMWnpT3yqWrG/adO\n3lzDG43l/G03vLamb2GYoi197BSeUhbjhWaCBGZk1UOdQIkgiAq+iRIW/aOc\n8SjFDL7A0sh0KvnbGMcOBb3uQEzp1lm3wm/h6Gwl9gzBAKoPzL6644HDoc/Y\nWRtB2FpF7F0+eL78Uew+iAKHAduiYpGdWNVAc9K8WbV/FCTTDcOgLr20uevj\ntNKoljk075ik+ZzZtUkrH2jWaGrWMZ9hRnk/AT3vRNZiYTg8WWaY7odLLTsh\nsLFUq+p29eWtw/VJkFnntYppHiNL52WHowcImuGkb8EP/s/xmT/W7YSdnSRh\nCn7IvNusALfYbkNBXpRM+1SF4eyRDT95oMxJvkWBU8nFS12g4PEgABFbSv3X\nWl93mMuhiMQJYzx6/V8wStmpT3n5dCS5FJnRhm+uKL+Hb/Iiqb5RkiY/e7sM\nJUyPo7AvTuau0dTpexhaIxg/4Fm6uidsoBvx3/WPeImbxFqyFYIMWqrSknTo\n/avh\r\n=Mivb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC8rVCRurXIqTt8j24wJSj3pXQ3ggx+XOr2tA8CZRbdlAiADqrVeXZUaO1EjUvLy2iFK5Pw3BCZbPq9eW/vXHVaWCQ=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.19_1585480747712_0.9745641485391345"},"_hasShrinkwrap":false},"0.0.20":{"name":"hnf-core","version":"0.0.20","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"3e9873d0176ba5b601e115244d68a2cb3c4b6951","_id":"hnf-core@0.0.20","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-ocK5nbSdSSQ5ARacmaofWPCGSISoSX4aXrGA6lTAwXWe4efwL883Musqhrn1qi4b+fnKb1wFgSq8HVuMXyeuRw==","shasum":"9ca0729742ca08bd97367e35ca8928541e216b3d","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.20.tgz","fileCount":102,"unpackedSize":78293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegKW5CRA9TVsSAnZWagAA4ygP/R4pSjNwuNznioRR784c\nbbMSpOO4UXrgKmmmE5tzDl+mrCT6rEok2SDrr2DI/vHqSesrf+MD/Lo2t618\npe9F8T2etVmWIvNHMtgq6IKiNKR5XEBBsZKb2meKOQ2hUz6jyv656NxKa4wB\nH+DqSwn3RJH+2iPJn+lHjtm7JafAEAcL5vP9Vn7EMa1ZQ0/yKLEgD5dVqfmR\nnKmtCWA0z9aIDOApFrJGSiX8qXrff+MfPPwx7oke/wZGhkO/RD3+4ElJI8wp\npiERP/VJmAYo+vrKzjsUR0I0EVgkXgnTKiXISJ0sSYI6sUaqwq3uke7T5Rfu\nSKHKRAJ/rI1P1F/5p65rNpahD1+uQUZqQMDPrG9OT2+YG0CdAWRgSaxKh05W\nXjDc1dM0gkFs2pvFxHT+BzwjkFU/AWOwTod0Gip95bqqRb8PQiCZIOjPKMoD\nBCQu0eI26puMVn97hoJKrEITU6J3wQWOPaFUR7y5AruOxgHEpjzrjCf1hkq8\np7/oR+WlZBmd5sF16tpHTWE5bqmOiQqEszsqirC0T9HFcwpFtaaxe+ndVjxa\nLTw476rJYWSqqWGWTsg6yFDB52xnmwzTYHtFJgUjaqusSRzr8qRo9XszXAbV\nHfktCxOCWa4XcCGJjww4wxoq1e75ibpAxpZB/wcK57htwnPCaLK2RWyqm5k8\ngcxV\r\n=8Yma\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRJWWE8PlMDUDrg6Ke9Q98Blvu/A14ths7iAV0n4UYJAIgEApBAvtacVilX5gqtISdfH3Fp0guOemcs/63plN3iCM="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.20_1585489336484_0.9957442825417546"},"_hasShrinkwrap":false},"0.0.21":{"name":"hnf-core","version":"0.0.21","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"c7221fe0b1093e49e528248d7b3f9872d439c073","_id":"hnf-core@0.0.21","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-C5ooTyNTuZ3UaxvY5P3dQXeMfSA0scIjTcFyOsoRsQaFnMduZRlI8s14PNx9aHvSPqaKCYxURbPLWFyi+HY36g==","shasum":"1f150acfe57601a51859d285282ecb05a8a6f713","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.21.tgz","fileCount":102,"unpackedSize":78293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehJchCRA9TVsSAnZWagAAqwgP+gM30jR4KAoQF+Ye9IpT\nCZZoOSCddVzc8pTqXHeclqgiJEVeypKAmmP5d1AZEJOy7abhg7sJB5iflJsF\nTpBmjhm0kc9qEu6SCPyJ7J2J8xGEDnjaCbbsruv+qHhU8snQwrzY6tyu+UL7\nxBQWB53K9ZOimCJXxH9OQ6mUqpA/NuSZ54xuys2uqRWvM4sEjbTDiujtPMWN\nA/NbucyZw8Y9MNLZCf9MyaM304zohuzZj9dN6YVf2jDH/Q4GnYcO87cNEC1Y\nKE51UnXH+3w2du9XMEaegMR5BpM+Z8wCSoQErfJF4tjNJ2TtG9e7fu/kxV97\nNdxpoCsBktobxqbzdpP4/CIe6Fv+R4YvpcK2YNCLJk94yVbylp3pMb4TQjsh\nHBEMjlUrw3qDb6nNMtZeGtilSILTlb+yrN5txS3kV8E+deps/GmAYneaSjKa\nHqRiG9LC9g57Z0qUGgPUwTmxRgj3LogD4tvyxLFp3UmglkpWafctUt6EokLt\n1nKxedxK1UwNzIHIsON+2GNa1SvUP2BpmXzlbKu5D4A43GW2QKZ5lPLe8lfn\nGbaaqcg8O505cz3GNwaJ5W3nKxjum1EMpedJR2lGCu6Y2bBTLqOJ3IhjlLpl\nD8nQzG38w6x9/Md1+FZXzvsWzAGR/zpWx5qQJLTIVILT/9LJ+YdczdZjmZUg\nps82\r\n=K9R3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCddhEz0C4kCWbnsNoDfO9nAWuGGqMiGdkOiDB9XfKHzAIhAJjxfipOdVB62jIjwqhnv2umn+VzBIeDIXb/lcVF/plo"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.21_1585747744533_0.7278153434819641"},"_hasShrinkwrap":false},"0.0.22":{"name":"hnf-core","version":"0.0.22","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"1823aa134983d6bd0eaa35170ce954937c730dfa","_id":"hnf-core@0.0.22","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-pP/EcUSJpSFoVAIkEzWbV9Z9VjA3beMNJxiAGjiTgFd+bRX76N7bDjY/ZIjuJJi+5HzSGYIw3o5nv9S4bzjNgw==","shasum":"114437b6d7e42e5f38fba74ae3aab4b2a0abecc6","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.22.tgz","fileCount":102,"unpackedSize":78293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiy8lCRA9TVsSAnZWagAAIMYP/RIl8LfuivPknp8Mw1Zi\n/SRQ9yMIDfO61ZPsOtr/EcymdNeGLJCrF5fFnz698oRtsu9Od2HNdOEvB7GM\npLY3dsIW0Izx2vV4aGN30M4jqUawKYKwiVFhNou2AU70cW6l6HG0xfzXxGfy\nfHtwiyTptbW4Yt2O7DVn/QhzyvXLuFSwuG3enjtooBdgHXdaY80A583C/Ced\nDj4kPvcE3oNI3qEGX9rCJPOeeyIdn7+3/NiHemwZEiEePIiDRdzm1wimN0Ic\n2gcbdT9T0Y7JoAsNu59O+FCFVJ1L/dYgnjJpG9HIEXi01eEbfVtbTLnEK912\nTpAllQLg5t6hoY6w2Bdm+YncdCZ8VITPscOnPEtz+CzwrG0w89ELNToFqgIv\nM85vaLe1guMUl2nHDDWzxOBxJ1iB390xxnxuiirt7ye+vKai8rOZy+uPX2al\nhkIEdGCrjtYsUV7ZPdQ2NJrUztd02+y68OM8j46QzbymDBN/Er2UZ2obJ+BJ\n5/liGn54MVt9V9JpCv6CDKWxgWbTiWVMqKQPDPbiFowwmvaviKf7fwVAZtJD\nrz1+iTZn/3rRKdJlGPhftpaE0Vhb7y3D5Mi1Rh+nCcc9NXZt/dBA/cqdNUXE\npjvCeRFxwLQf44QSbeZmewbE9QqKrmYwLcVtxm928iQjs+eF6XimdhA6GD1Y\neOEh\r\n=wqLC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDanKDrsmiPrlJ59iOCT44keXdIVDYivm5xGLk9y2B1HAiEAvqJ9mkxsEzGVHtGr8uB0d8HI6T80pr+V95TYDs84oBc="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.22_1586179877418_0.4796914554573819"},"_hasShrinkwrap":false},"0.0.23":{"name":"hnf-core","version":"0.0.23","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"94ea0842f47aff4262e91d2cff3194aaf234c364","_id":"hnf-core@0.0.23","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-Y+KxWhWdYkg0B1kx3LFyMP/J21ENM4wMNCZyrODXV4XSSm1r9PZ9RdN3IWf7QSlzqALQZRYStph/joTxJmEFRA==","shasum":"cb27a4b404acf075869b418a92476076b764997d","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.23.tgz","fileCount":102,"unpackedSize":78293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejsG2CRA9TVsSAnZWagAA/cgP/0jMkiGnlm+qE9p47j2W\nS1tiGavNkRFWzMDmqEGQi+rXn1Ha+mGj8UmpWvsRzr6PyHtrrW4lRKW7lybc\nqTPh/eU6G0lOyZeLYS3MnlpqO/lvw3T7nWAlPQ8E/+xmwiHmDP8NiRsaSK7F\nE5ERVqA/ydi99KTM4naRX/9kwG8JGSZv2VPETr7hyc/GidEcbGZc8wSbMZIH\nMSBEf/P8fnIyYeIMWvLw8mRwNvkRNPn34B7+dsGXp3Lq0+T50BWo4T0HUCP9\nT6diD3TEPPZ2wxhpvcp5MLi4Y3QhGhbmF0GjcSbl8DHk51t3piFgSBmXYUPI\nusedHZKHXBLsGbsQX22+qsDTaf+VwnUpfJLwEYQKJ/jki2OlOIo9a3qfBrLp\nVkn75XaGENKU4vIB/8k3CbOMlaJVP5G0tGvt6/rvUWKXNXhr6Juefy0YS/J+\nSmLaGaeebr2J+zQ8AKACxBOQyLoQBxe/7BXZbJ7pCS3MyCUDHWAc6/L4mnhI\n0eoaZ4W/iWCGRyRVDB+pJ7MM1yCgC9CaWnlne9fhACCIcVKya38lutjhygn0\n3DBcW1tUyQangtA/wyAUzmW0vKnwQZGiZo03C+BgYBcqJRNlfjBObpU/wTAr\nQ9D3PNOfDcKeVAnZ8ButIdNFmb8ZpNAe81X5O7knBmjLUPD+yPijpSTJR96N\nIwAg\r\n=33FW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoI/KVQWPRHi9oFn87JtvNwsiw9wnuFZpm+jlYoTBYoAIhAIngVEEN51BFr/+W8W2WTvg443aPz4frbCyc7lmRF4Ks"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.23_1586414006129_0.692480862139349"},"_hasShrinkwrap":false},"0.0.24":{"name":"hnf-core","version":"0.0.24","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"618784034210117073948b25f6c5c3ba1886eaf7","_id":"hnf-core@0.0.24","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-jz6f7yX+pGUfo0ByHUPBymGxoEYL0ubLgwz/gAOLfEvoouJIyxZor9+yl2LDtAP9PLG7eV0iiY+087r8MBuuPw==","shasum":"fd7b5afac1d57f58d640473df0fe26b7b012ad3f","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.24.tgz","fileCount":102,"unpackedSize":78293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejsL5CRA9TVsSAnZWagAArSoP/AmdIqKhdSyyAkj5ZZyq\nuRNYSwYzhv5+yHMjHyBSJ+2AwGy/fP+YZKdPcvgUqEEPwlD4wjVThIDza8zS\n41Xy/N/ogJNwf/roKq7e0QROWUMdC++enJOMeUgQZ4QWM27tFQHDA7MDalZo\nNasGU+l01lfsjYLmPsOiYf7O0KX23DUg/gZZDGnZQexY84XiRCyr6vFtSjkh\nCk1znAWkFzKw7zVG6vyEICPQzsH1V4bhhjNzV2Lt6JVVKnM5baeFpF8rmXdq\nSObIERpmxFOU9pgVpJDH9AhKEO0Xw2uMBN0hxIsWwYGFb7YQ5n+UMuiaCuSK\n8iWdfWFd3ogrqn1pOuFB7pTpWvhOYucFzI36obafNAJPFIw/eyZYKB+qQUiN\npq3IAa9Omr01IxCw7OG9qiin/WGMIAAW9HoPezvM04a7/ODUYpzAcPFHg75Y\nG257AsqjYK+X6wBRw2ISfw0y9gT0AZ5V3DW14r1lklUNXm7piPFjYYfUYdtM\nz08rMGtKLUDz6AZ6193wpSLojHJ21+5NDp6mo//PvCr09Uq5ZazA8LL+RNoC\na5PgP4q3OGeJHcDKr5vKmAKAU0aj2vM+dc0DDKuO1WCAHBoQ8lsrCGRAzRki\nSARYxHmelaJdrDX6//8CWHe3TbWYdMeI0yMVYjR2AuxNBp+nB+qSKAlRcePT\nukmF\r\n=ugwz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDstG3w76fEDchXJjX4vHlzyQLXLsxau9N/Eh6rUcM8FgIhAJCMLoEqcCw/rfcyMvhKthoYWBnyGzuFl3D60IpdKAS9"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.24_1586414328633_0.3859929209552304"},"_hasShrinkwrap":false},"0.0.25":{"name":"hnf-core","version":"0.0.25","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"e4c31447d090b2bc27889fafe2aca0ec355f5ff8","_id":"hnf-core@0.0.25","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-DjUzLyZc4yB+x2aQUY3q3cYu+oG+f6SlxI3ZOf553CNFeIQdAj0QLhLfiiJZ3soPxwQyqdzalGuJF4AMe0V5UQ==","shasum":"0af7ee1f1621e35d615e7c55e2b0ce2395c2f018","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.25.tgz","fileCount":102,"unpackedSize":77675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejyI0CRA9TVsSAnZWagAADR8P/3z1RVEUG2qreEbZ4P76\n0aKxGQ6fSV8H3TiXTBggnM5LJSqWVPDJyUEImsqCybHXX+66cDnmnXh8h/Nt\npuEv7KtUbmB2I7+troG1cBYaEXaGmNJi2LMdVkEp+MdSrVWnF8WCxr9nk8HL\nZ518zB3gQVGvsMnRc4nl6ywjuir0atjgF3UhYYEGELyjFc6a0Apus43LFVCv\npV4RgRiTDANv39KcKvy6MpzXCB/scnd5E5+xeCLED/GzKFkIhEOHZdX5ygHC\nElQ/RKpMmX9wI4iDnVT+BAbiCJi7cni3YXYzVM6ol9K2y/xpb9qfCOCNF5xP\n6fcmRHTruQfK39Bm4MWbY5NDzVm3rkfK+rJZRgFMTXmbvMSOw1NAzjv1vyq/\nbE3VD1Vu5ZkjVI7gK8qxunal1wBYu6llXBSg7FfiMYKoNAe92+6xi2rvWAPR\nMPUgR0UshtZy1hTieoVIZ09mgziIrT+vBSEjsCOtrQzavgglFUqlINB6JxUq\ngT+FZ7u6qBQx9ikuiy/s2EeIa+VZe08AZ+iSYEonJSvytGJ3KrjkmOSfS6ru\nBWytPxkHFy37gVlCwnyEqkBLySIlzE8mkm3LV5p2Vbkw2O0n2JrSuX72ixyN\npYmXVD+9gtPryk2mJkebcyZPNCeUIgJuj2Rc8TwvwLUQQXu5YYV9kefYzvjh\n8dYG\r\n=zLlZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDX+DIkmitk1iFXtelQ3pP0uLeED23jREJahoA4OTG/OwIgLq1We28U+yoaUaFvxZ1Jrco0stquMy2PtTddScMxXos="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.25_1586438708145_0.8326014076486121"},"_hasShrinkwrap":false},"0.0.26":{"name":"hnf-core","version":"0.0.26","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"64be7842ecc0fa96d7c4c96ef76a179c2dae5b43","_id":"hnf-core@0.0.26","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-5iCXgRhQaolSESmy/9fmlalJegmNdllryXrvaZsmfL+lkV8354d5o79mJ1J6zi0liQlvAwdYXpDSaJ9MziTOsA==","shasum":"0219b9cfbf71345ecef301b60cb0a59ae8172246","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.26.tgz","fileCount":102,"unpackedSize":77667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekEYWCRA9TVsSAnZWagAAdswP/i2XA12Gdu82bP/Jbk35\nKAOJUmdREitoBnk2iYoxtJrpFFz21Lij9hZZS3l4WgXOyRr+NhAOiSUHz6jr\nIC23VW4WLPxOYvRrKr0mNaewLKnK9UMQxW2zr2lxhD7W6/QO/mspKczer267\nsmTNVxQ/NdcMhV3RtpFKxr1bGEUeB4hE/AaHXvb8VLUpJSa+OanMxpzGJj8u\nhzMj636Wb/cjHppzOjlPKXPwRU8OseEQX/Rk6GdQEiEdG4hvo9I9ihSGgH1S\nu1vesTJJXRjiKEYZ2KosYvNFPQHLbt4dMpwXpfRKccZil1zuM0U+UswcxuDZ\nbDPp8uP8K4QF2dHiyLqzanawds99wVGfmM2tckwgjkdCB0/wO3I0/mHKLBmX\n/frzgAaiBSr6VRU5rm3AP1V4CEr1wnU/P9Qy0gb0lT/26taLqhO4ZXydFM9I\nL6+RQz4/c0OPUJ2XzciiKhPvatI5RSyt2/W9AV53c5mmH/kP1WNf4Fh4lvQk\nUVFN560F403Wh0OMDCBrmfGriHxZOzzDMaaUHsXDAG7z0sCpT53rReWQunCN\no3WY6tDwtt3BcYHc+Ea0eYVgsieyoBfQucCgQxynGMcp4dlvhyLb+ljDZ82p\nC6dBRK37Ptw6LxSW2OK1T0xHYULJWtxcYlI8vMUVgEos6aCCLAvhxO2+n9+I\naSMY\r\n=K2C+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWkBqwHjTWDg5nKFnl76VG0nOXJYQJfpIkyryOUdD0TQIhAMwhKgIVv9rVq06j9DUxA0+/BaA0EUnAzI1inFc4U77y"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.26_1586513430169_0.03243592319888977"},"_hasShrinkwrap":false},"0.0.27":{"name":"hnf-core","version":"0.0.27","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"534318767b6a6fd7ecb8e133b2a67864b61353fb","_id":"hnf-core@0.0.27","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-3UcB2FoPXH4wHLVIky06jeo3S57Do3FCrkk3cfntpNzbreRjIHVxg7OOzqaoaaN3/ydshFRH0La0uFF1zsOkWw==","shasum":"40c621f398627e8fe67abe810b7de8f32a92aef1","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.27.tgz","fileCount":102,"unpackedSize":77640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekGFcCRA9TVsSAnZWagAAJl4P/3h7Srx1J2NoDuWTJV+W\nAgq1j1D7BdHQa2g3BNd5ZxZWl3dg/TEU4XKK72Pw2YY8o4d5Xb6PNHH02zQr\nkcWAw6Vfkv/NnHrr25Q/WCsJx14WvcpCRYZ0+yGv6P8e4mmSgfOwEUYgk1cs\nnv8DwTpwqNBO5VKazHujbnTXDVzjzU6wzKz2OoFRkrcL3OwEDCqUvwxXvpr/\ngtc+vaDZRaBkmhaLzLdcSmYV1RKMeM3JgDy2ZZAqkNuaBfVqFmZyMOl2Uerm\nyssGnp35C+aCpIMFzbO7CrKxSzjTiWh5FR6QuROKoW1ikVTK38eJoP+s6p0/\ndayCJzvTrqzVK229lmMyHyDL1OvWuZ1817WiGxPvQve/7biCqs0bBTj8BLR9\nu6SMohVFbaTudJXHBGyc795x8jpcgIi5TLpoDZwjL1kSPFMqHvXx5WqyL++I\nmhU3tn9Rr5cYlUsgk2r4asKjT22itsK6rVK72ipk7K7pn4FM3WjrNJYFvitY\nPbHJA2TAbbeq4NTgINmzAp3wdhDi9c9LJe9cr+SLgScnpgMiOVLKiKapNRS7\nGo/8OPoLoeQrSeftQ1zHXqBBtd2yfj1Ciwdq1DkzGLIHCkwnY56cV45GSTGF\nW2f7O2gVfscmwDAdo0UBPgbQiySQhphrMYHbHOt8Vvir848dRFaFmSaFW7Dc\nUg/v\r\n=5Iq+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcxAKBfJoNlkn1GD75g8XoHf6YaPfiHn9AE3I5Qdh8FQIhAP0Od5f7GljqUy72+5HoLUGIwSAJeKtDO29r1Obh3nWC"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.27_1586520411663_0.17991079493297701"},"_hasShrinkwrap":false},"0.0.28":{"name":"hnf-core","version":"0.0.28","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"c7d46a585bd34e84346841b9e0e3cdd86ddcd3e6","_id":"hnf-core@0.0.28","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-NJcs1K9z9sVmoJ/SB0MHpnxZMOYYszngQSE7Bs5YUTpSsf8sBpP46Ei0mLVjK2Wxd9iizCI0YthoV59ripBlJw==","shasum":"e8bd72e8ff588b4610d9519c432646286c65f0ee","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.28.tgz","fileCount":102,"unpackedSize":77538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekcDxCRA9TVsSAnZWagAAOLkP/0FaEh66cXLxp7DFaASi\nt20BfmkECdvyOe+NGHNn1QW5nXE9M2lxmxtzYUPGRdJZmJyQ2y27M9QnbkY6\n0SO/r2lOfFXwtWI09mtY8f03DL+YK0m1PT+cL/OtKRHEcBiRArVVkBFwLIQw\nzmIde+PMgsKzYoctOYbXraixldzXdZ+UZgA8LfpN63Ldb6r50vI7ndEj95so\nQJ6djYQbox+qQg80RmFTp8OsK8x61EhEv3NYMEdX1sm7U3GPqCwpPGZ1wZcz\nZXedoIp0SEDuZagNCUy7+qMY+2iao15rXZXWxa3ume0iVMOQ6UG8wN3MXmMO\nsuQlVBSD6aVYiTLMnF8SG6LV83Dgmf/sOXCguJj4uS7eoGFYPZ5bV9JTpjUI\nSuNJXeV+ARb3OJJX93bF9tLMIEvroUeKukcKn7XL02JUF2YBu80CxJmOHj/X\nGjdeKmrEJNAtlazF8IBl2jJ8fqev4hO6LMTHUpcgzqq6IonI4w0Rqe/1sj0Q\no5WXNsVFYdqhTiNyrjCp8bKO+vC0xgCBlnzNlef1UNeSdbR1hvA3Y2l22dLB\nm5o4jC1YDO8/FoAoXeQ5aV8i1KKxXxlQg2HEVHTnoG13io6tpRgZ1bglqwaj\nMCz8OpDRKdB1Y2VbWy5JoJRvyDqxwwW2kdhQOB55RJD3PHbstb8ngBWQuJ/H\nubyK\r\n=Cke6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5+MJNYMxP5C4IYOJNX4DD5HhFkK13ZO/x0EUmkrG2mgIhAMxF62mkLyT6TQfYT3VUrUzuSK/kjTnD9BoQARDmUWb3"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.28_1586610417224_0.6765182881430396"},"_hasShrinkwrap":false},"0.0.29":{"name":"hnf-core","version":"0.0.29","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"048a88192c7bc70a56a6fd85dee0aa8b60a8d72f","_id":"hnf-core@0.0.29","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-MuoMcJtj2bUYVqWHZ4hicrfMslmLUmSCSaLzDCVM1ez8rHRWjZef18zA2KMphPKYF/woYgZ521dTDu3E3uyPPQ==","shasum":"757e41a79d1cf06b7706dd8af28ef635a9294081","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.29.tgz","fileCount":102,"unpackedSize":77745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek9HSCRA9TVsSAnZWagAAb3UP/RGtokrWhwXNhlN6qyvv\n5/o+MFoyBlVxo0DR3huCHc26OqnLTpCYL1u5vefcVd7KKU8HjqiAP8HvEagr\n+bg7jb8YeDxWurkvFcgXe5/kNIlP8ee6InUO/YgM4qFscB17UJVDs8QZ1j1j\nDeuGXVHtEd8T1LjxM24i4whSMBshVaxczrklQWk8L8GC0OFFa6Y7RYCHjnKJ\ngAus7tNbhZHUcoUcHnVmHbDb+OBWrmmOmEF+PwEG42jCGQBknY+YwwK6EcLH\nCGW18HgpjXoJE0EA/2i5ZGl/YVL4fxiPMZw8PfnD2EiNu+2o2QrCmgdZfKCu\nBiLcdKa6oQy4BcjZqTCGV4iaKUj/8c5J9UJENrkH91iscfSebhL1RtToQDjb\nKmF9CTGcyvRfRsyGbnHEhWDvMTWzQWaG2n/TRKGAwkrKctijM6dFC13b2hTm\nRW/at6FnWUFx+WBwafAlq/ZlQVFUgKwPyflZ8fmKmvqFdSGTJmBffAGr0BBW\nCWeli+9L4v5+hf5PTkWahNZtBtZzSAQZlCA6Tiz0bs77CxKcth8x4AExWKeN\nsYX+opD5t+Ku/EzMduyZxBFIuNTpnnDcJnu4ii+RruAUuTD3UFsWKgMYcQuY\n4dq1n/n55xy9CYTZFpEPq7g1ocAzeEtuJmU1VfeCiZdQozbM2ALamelvclq8\nlNXz\r\n=5J3X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHP4GyPzWwnVEP0UdK+ess8yERBJ1LWScIYsppU/N6YAIhANWjBwo1xxodkmdgdcs6Nlrw9crfvTRwGRatVuzCmqHe"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.29_1586745810103_0.4446345571366592"},"_hasShrinkwrap":false},"0.0.30":{"name":"hnf-core","version":"0.0.30","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"198a0fee1f63ad8267119953d0ee66a9909fb742","_id":"hnf-core@0.0.30","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-4SdG0P5PsrGrVX5Od7SVgPJ6NjKnI7Do29PG5lyVMv/VbRn6zSBFqpe5DhgK5xxsd7s38tvA5WroDvjZJXfRiA==","shasum":"f7044cca5ae1056200a17af409fabc1a221846e3","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.30.tgz","fileCount":102,"unpackedSize":77971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek9iVCRA9TVsSAnZWagAATf4QAJIOoSskytqhKP4YSk4H\nYmYDV/F2+Ptm/X+bN5J1aQwqMGb7NtMREOgsy7aEl9/dXF/qNFxPTt6wWAtD\nUnFRcmHJqjSVUsox6k5QII1vgdhLffVSouAP5hoC65IWEK2oH6tFo8T7uAAs\nL8eCYUKObQvkt2AygLP4TQHTTRU1f/3PdlNCvxbGvrRWJQsJei1J4TfsYeLb\nn00MFFi6ORHZy9IJXRgVsexkaIoh28NuQbhdZ87CKPR3v2Pr3Fonz3RNfG80\nlheHPJA6tGCKPV7OPEpT4yG9TmM80q99UO4hLRyhGUtyxSKBAcL7GLqtgXBB\njti05M5nKmzwVvCB2g7jp7naLP2B81nj5iOw81RkWFDsoxEEv9f6npnwnyDI\nS/19H1g1gaqM88o/zmleVARlEKgc7v1QuPoj2Q2G7An4npa3wdcXxFx37r8+\nKZ6su6vF/UHZs998XW/9ahKIv0sVqNsXM/VqV8wawIgu7NhPhkD2iOnCUR1K\nBBrpHBVQJITzAGy44mBhJNhbJlVuBa2uwBS2+zu+tfQ7Mu4SC1eJME6Uhcsi\nechsSVvI0FpJ74cw8cQbClymNbIZCDOX5iyPubm7HAIbeBorwz3HN444KTRX\n8Vg6V7BDyw95Mfy78Oi8XFVyq9t1fhBB416mJgNyswyFCT5EqtfY76nlYgsM\n4bZD\r\n=HVyv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFckkRtGQxubwti7imkCc0obLRl1+Gn9nys9bhaudQEwIgZ5ycFqBS7OnRMo3l+y9aOlXkhLSozGGPP/1ejzL0dHo="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.30_1586747541490_0.5453513788174236"},"_hasShrinkwrap":false},"0.0.31":{"name":"hnf-core","version":"0.0.31","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"5f99f46df6049b64cd8a2062f78eccea20dd1d8a","_id":"hnf-core@0.0.31","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-jn1SkN62ykjwML7j+D0CZFTPat8HPzDULrMev3uo03sRdOYycGZyulzXW7XLLada6+eDTGENZ4f0RP/ydx6pQg==","shasum":"f5dff0d6150692a6a94d6ec322fc07a9d47d4505","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.31.tgz","fileCount":102,"unpackedSize":77902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek9ldCRA9TVsSAnZWagAAaHAP/RfviYAv+kJvYuy7Sade\nX9PUV/XCL4tIKFtHYfXZY4zlzJs8zJ6Aliu6ZeCB6xv54afSHEbs8IM+OTKv\nevoWgWFjZGHF2ZHvuzEsvELnUnLFsCH2+zb+23i0PKHE4BWyphB+xJdw/0AK\n5f52kpAOhzq4M1RDrR/YpQy3ae6eQyBUdFPTlUwxIC9mepi0qYwEwobRD/Rk\nBAOCCzaSeANyjUcgFnQV3qrKiMI0+La85giF2vXhaakqdeVoLrXS6WydjQlZ\n2JbWmIYmthwPiyAogH0uYdymREGoI9Tl1UtPEgdWJ1sND8nKbO/dVj/fn2ux\n5uyikdWCeLoEiahvBTDPxlkw+n1gFtIb8FsMT3yXfEA2N/uD2/yX/RmUZJz7\n7VgKbUQD59kM9up9DB4+7+AWhkkH7GDqfLo7Nnz7fHjtcwoOtOdkjJO11kdC\nw5yFShyUWKuXBwsmfv88j87xnxCcoNuNz7uLdWKyi3SvABm51o0unAto8UBl\nByKs3ubxJy2R254PdyFga5EiDaEYbFV/upN/HD09+nPDD0iqQZdPyNgXefLf\nVWoOI1MkZHJzJs3IT0+fnbWPs/Y1zBQD2+JWiRNIuRCJVICYj6t2IUd9uP65\nPuOSdsKl0pgBaVe1YxUaXWY8yx2sjVKHCO+pm+Oeq8CupYWu2BE7C6PIfTvi\n4FL+\r\n=azuu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZxf6H54M3QE+IX1M+RWCXdV+Uz/YfUJCwBp6i0CcwawIgIjLIpOsQ4CMI1TW9TNv71k9vofOILQRWOREwwAmx/gs="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.31_1586747741006_0.9096045874579375"},"_hasShrinkwrap":false},"0.0.32":{"name":"hnf-core","version":"0.0.32","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"a450ae4456ef78444925c12678e105040e90b189","_id":"hnf-core@0.0.32","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-sGc+4dc4DD/13H8fKz26X8sNyRLI6he5/+KfdD+Ufq0TZDou/jSzsiBk4SD65qKcIZhJ/5ImsmE48JnLWP9ckg==","shasum":"b5adfe49e1d7787b13589ec72b5afeec0bd0844f","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.32.tgz","fileCount":102,"unpackedSize":77935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek91LCRA9TVsSAnZWagAAmtAP/Az5KVmYS3rp0tY7lsMW\n22RBrenBDIsa5mEe+g3DHTxivjVPM2GlwWZ0BrUx2zRn4DqHajl/5CmWNHEx\nhG9Uocl4il2oBwBscnOVmOkczVzgRrNW9WhOHE0mdlDzqtiXFDW3h78yQNFQ\nmjdQqmpq4GF8G+x9P8xNwDnVt4bM8mb1H0XXGGHfJ0eFg7UVJsxUVb3kyxXo\neZc2ua4EUwSWCvjPjzKmutHEu0MIu4vUbZLCzPsRj8MjSOJUoutHkVUKQNgD\nK7zUP6CKxnIzlBgiHOsyugeKcLG8cCtdJTh9LqgPfZS3IQHOg9pLwYw2pLub\neYPohBqH9WEIeJioMJ965puuUCt2GD0Mt2W3lw0PghHX7Uk4oSxeUD+N6uKA\nbSALsVdPbomfbZaGy4UtNXXHBosdN9RYiZ6doyynVco409thrxYvFmyYrAlo\nxJ77mINJBLbr6Boo5hwnA91d6NrGlzZejDuV7wUVwHfuvVn+jV4941Yi5mHh\nBx/H/duIWqlLI3oc1LiqXbts3HYje/8D33HSD5DRyQhFgBXU7xBgE990w318\nyeBzgWntx0OXOd6bhxf76mWhStdViPBxwUnkemRehGDd2qQZQrkSjx1EqXBM\nl1keUft7jDqm8QbKXouKguQCKrQp07GYHs9cCkB4JLrDnZwncmEBgBMI5Zcs\nzy54\r\n=qRSn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEq4SEyHis34SPGa0nx551rRpuQ6pQtBRJB0n/Hm3LxkAiAvfPVNrFzShgTo2BrBZIgK9WQF+Ryj2Dfgj9cX0+Gwvw=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.32_1586748746895_0.8842671070830401"},"_hasShrinkwrap":false},"0.0.33":{"name":"hnf-core","version":"0.0.33","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"5387fdd697089e4a997bef45e8d1d63341a4d956","_id":"hnf-core@0.0.33","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-AV2BMeTyqYf5P3C7phtXwvyvFJ4c05S2RTijQQQpWB7RRb4hcACDXGtIc6EwMyKFk5qMJjmM3x2/V+8WA2BdDQ==","shasum":"bdde4f4136d9da1874cd4c26f82fd6df1d2af3f9","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.33.tgz","fileCount":102,"unpackedSize":77935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek95xCRA9TVsSAnZWagAAZ2cP+wYWY31Fi5eFO86j3uyR\nDG4nzO3GYvkC4/9T7AImmMXSQFdggrqkq0ii1aae9rXOuxJd2ZNuB0HJKb/u\nGPzyDCgMdZshrPLmsvJeUUP88MIYeE5voQbLNExbIcjHrwGInukkKFJKF7le\n0yJsK8LanlcBphwo/WVa8biv42gXDwvNN+rrkxUTP0033Iz045TcFi4UJs7t\nKmq3520rdnY17BPA40DlMeIJXTufAOqWG9utmkk4eR2cRP2lBZ57YmT07y9I\nmnDjJWg9xkgQUvCOGFs8+9l2ivoh9HxT0QpJ+WkS8U/HSMlXg+fqEb4a0MPM\n3CcuN3hoiRk2THid8eMEa+IUsR1sjNpqAXiDXn4dfZfXSoaWQRkbcQbtG8MM\nSh3spUKD3c9ofkBzqXzhF2ymlhHdUpeu55cX3WU6yoSDKd7egCVg3xpEH369\nRL4AVPTsPWhKf7Cs/yZeTDJ6TkkIpx+VjaeNTiwtLCQD+q9VKYGzDcb9PGdK\ne+P2/MW+jlBsSoawGD7P0UROhNbQu9R6wFKZMSHHGuELAYjQ4l3sfNMz/8Vy\nn9cNbW0D7q2OAYq63PVYMtgFn+Bsj0dCPm1RPMlKVd15fd/4yKIHBPzsRFBT\n45v6sysB/2zhdZ76ftYy4IxpqrlPA0u4um9P1Pg78z5asq0qcEkN69UrF7YU\nWnLM\r\n=bhNZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDD7hJysgLaUl1kCQMYTv7/U5AvtHEh19ZqLscNBvvVMwIgZxTU6devcEIL04a0glG8GMKTvmT/GoBilBlx3HscpJ8="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.33_1586749040847_0.6213870111413025"},"_hasShrinkwrap":false},"0.0.34":{"name":"hnf-core","version":"0.0.34","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"61c7be32b2f87c73e64858ef9b8d101ce7fca959","_id":"hnf-core@0.0.34","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-y+T17Ehn5R1+N/U2UGRXax1xVAFmVGfnw1VIQhufLiLFoIHymeVQvz4tg1occ1Dh11ek1IUPLw4FYc0nIat2Xg==","shasum":"52e2e32a4cb5ede7bfc7ee13307b32d45f9af045","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.34.tgz","fileCount":102,"unpackedSize":78014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek9/eCRA9TVsSAnZWagAAkRoP/0FgM5TlTyq34SzjKIGP\nMwTv5FSGUC+Z+23rkyZ4+9vDd/pS5XarGESPi2HQg18wcG1fAnOdOBQ2Obvt\nXsn9oRO1oY+nYUGcC3+k7r9cdyfaR93ltFkRPOQGfiFVrsAFbI4wHZWdtBDE\nyJhJ9Z9Xa2olxhg1/tlAjXpYdb4j8dt+dJLWgzArw34P99B2tV83qYxu9x0f\niYA5Dt6/AXDO7MsHqqWJaNwGlMd+5OqyTgEWhe2GyoiKdyfI7bg5EXGkpTI5\n6aGt71AT96AElzVdpNg+nbojPsdxkMl74hWxi0N2BiVuDkdNQ0813gSGk9KA\n+a10dPgzvP4yAe8spC+lj06VEkG81YuCDQovqGOjL9jP2TENCih32OKszz1Y\nOrj5EDmwrps/oOK9qn8BKFt4iivAX8KwnxDbmQ5Ti7RFoBmyxTh4e/lJkH+I\nINKjXik1mTOebtNMrWytS7JRJQb4phMa6JeThxOBw/mb8j14cuzazv/tgkQF\nr2MaRp1fBg6zblLAxGpIA/sl+HEYa1+UNKwKntpYRP83xrpMIhefz0bvDYdr\nxZQXLKhuPxhHbXyGsCbag9pwXEe5VeDC35wgtuctfgkxW1LizT+rc/orkYu0\n/rf1690INsgSEMYF3RR2zL5//VTyNyXTFKsBJQZp4+YdM0EIfewfVj4U+AAi\n9s4q\r\n=VUCF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEvazLpJKj5tKUvWjINp56ZrSn472SRjowXOnRE1ZBfZAiB9Zq6VeV2/DMqv2LNIITr6ny3VHAY4zWo3HIevZlkcLQ=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.34_1586749406263_0.6224716321708028"},"_hasShrinkwrap":false},"0.0.35":{"name":"hnf-core","version":"0.0.35","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"367e3377a33df6b36296529e885fe1d6cbe09c17","_id":"hnf-core@0.0.35","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-0352b4/rdfiZX5EbYMpuVV/HtFo1nVCZhwMDZUT8yuYh12AbFwMHBwzVqkwwG/cQF2VeKeyUL/ED8kkkDKsZtg==","shasum":"75355149ce25c54a7c0898818c6c8254d7b0af06","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.35.tgz","fileCount":102,"unpackedSize":78035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek+D3CRA9TVsSAnZWagAAJhsP/2HV4npzg55iqlJPdCe9\niA/itoZi9M7Mdhd5zeiynXzcTJBki7Nq2mfLZLL8aBRcKluvXxZGr8XKX74X\nvKBBzSGr2avExtJe0jWOFPlh8tB3iA+wjArr80VoonRIsNaHhYn46mkSguRf\nfoIxl6dHg1eI0JKa2RDGkTwxebjDdLG7Na4mBDt98OztkwU0jRkR4Cc1nbFo\nHW4/4b/4cTKTGSlNHg/v6jo1o3b0aMqsCLs2jgEJEjoDMBOksAaDa7ZIbfUy\npMt9ysrE7NEaoJTSsj7DSEwjlyYNMW5ofHgpZtRCaiosx+HjMfFIUVYzTXyO\n9+25P0O6u0k4+fO8f2Bsl05Sck3McM4QxMtCx6f3j+E3bbC8413YSBYhGzi4\n4mx6ICRA58LPOiCRij3ihEEs1LkUqIikejNAaWf9Ut/mINDVeUtfTCnpJ4bI\nGQuLU/xXj7uTyCsMFJG+LL1aWLEEVaU9Vz2/mhOQkg34BqeVSd+/mPuD1Cuj\nLURU1msmqsoJnS10XtSS53uj/4oHNWEF4sQ//GsqHWFhEdePoDFFCVe0wi0S\ngUckL6HX9RKhlaRBr04pI7Ls4SKuIWMv0BpPEeLBa3EOUhgHnr+ws/yQXuWE\nWXmEoKAkcpq3Z0LOU8+TAsFPj4t2T0OoPdaw04xttpghmNz/7YiTFAuBePPy\nj5q+\r\n=HyGU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDubGeDzKjpTXAUDSAAV1LNttcKKXO6LRS+00yrTikrPQIgNT77oxZE8eOTSSNww3M2tfTsd8LiGorYbFkQ4L086yY="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.35_1586749687185_0.7407341241706153"},"_hasShrinkwrap":false},"0.0.36":{"name":"hnf-core","version":"0.0.36","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","test":"jest --forceExit --coverage --verbose","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"f6ed8cc7b42d7ff593bb7b29325bf5a26c3a82e1","_id":"hnf-core@0.0.36","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-WF1/ORYHsOz17RaPIsBpXJUgpKwsXhZzPyCbiklNdhIMAhIUEgz/lrp5ADUjuwHvfKnuvNZ9M9LOigNC0igpZQ==","shasum":"f58275e4ea118e7899844420bcc9af70ab7d9866","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.36.tgz","fileCount":102,"unpackedSize":78205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek+a3CRA9TVsSAnZWagAAVtMP/3U+R/WQN0tclv/KQvk+\nALcLp+ju+NCH4YrC2ABtbNWqXbImLxuhfF5fxDh2cX56ps7kfwR7yz3Lj6zh\nuoLwp1J4da0OP+jMf6sc3BF8UYVuIANeCGWII3MGF/4mgmfU86G0YGea5syO\ntDihd7eihJhw7XKLnxrodosn+Fjn5tbx4zrhTx81buvZLVxhiciH3tcWbOux\n50jG4UDhxyGm3IEXYtz8Jgz223Q9hpbpHV3ob85GDMUYeMUDRwaNk7WEw/4o\nwsg1B6dkTjKe1IAjRMsDeoZvWeS1yyw6ms96Y0lFF5HXT0BFDQys9t7y5XJi\nkhcaiYa/35MRLb4Wd5az3Gk4vweZ2ZCOpPTik/PuVFd0Mo2jgE3omkQQ+MxH\nIPkT42D0rqbjXRN2wwxijCx1urezUJAN2AhcVNs05CA4jDWjTrrFqAouuLmt\nCro3Ki07G6zu32OYelRjNO50qv50DTJeIqtED/Npkbo6z9cxIDuhgsFMouVx\npEo6CDDqcyk2RnSPRhMdMU9G/r5OagG5FFeQGnfWHbbma85a7lkimYnyiz37\n+Oz8xJ15CJTw5h6EmyABFtJ9EujC0PjT3j2m5PENi45CaPURxxGS/EptOHir\naawLH9L4PjfhRkaNmBqqH4Qc5qPxLuqznj3kfXnBOKmPbXrTETjiAuk4Fx1i\nulD8\r\n=t5hp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCs0cywzQUo3fJxfCt+UCy1GZQWuQgjg868uLE+8b8zXAIhAJhz+CRI9OWnBQI6JNb1YQEIFBBhs+80ffCeukcaZaBV"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.36_1586751158586_0.859567447698848"},"_hasShrinkwrap":false},"0.0.37":{"name":"hnf-core","version":"0.0.37","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"ec9764c5b94bda2938413b8ad162e0e59461ea62","_id":"hnf-core@0.0.37","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-8Ujrx2G9asxDxYsdkDLxxEuK8cthjTerqD/ALb/KJBiih7c0NZDR3HIuewENLDMl1bRQ7bA5ezhqOQ1avheKdQ==","shasum":"9f46b12b67909e0353def1b8a5b204221f483787","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.37.tgz","fileCount":150,"unpackedSize":142556,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemELZCRA9TVsSAnZWagAAcQ4P/1zkMUpsbo0jSCMbFeIt\nYQvEz9obvR63BbslojnklgPfD4ylz6Z9e07/vS5c25ig3BvizJNtwjGnVAUS\ns0jSwgwrew7vRVeSR4xiqvvgerauNB4V25zL8xy9V5RJW0jmjgDZYz4Fv4r0\nnrjeHe6grJcH9uR+6ybm6fgbf7Z26QxQm64/1p1Z6tGd2614erDnegeMbU2E\nHLk3wVK97Ns7VIBR7PZ14WUy18KTvsR37OY60NLi1wiaHeYGiBLAi6MPbiMP\nTKr3e4K5VtLIMlj2P5ZuzuCseFZ7glG7ptevA56UQTAGTuaii05bIy9MZG8E\nGn74i+tAgmnd5qku5S3PMNnr/teCPCE3rAPnubcvWFmAivQGugiMAdpWdFYR\nhcUu+K2JBfL6Co3q01YXJkUOTLj4eBX8XYdn0QkBsG7YlkybZ8FTk8sPGVyu\njtZZ0jR55BFkVHTjG1MyV6/trm72c+IzSPJ93AXTXK1ImOBK/kVJwCOZ6HFO\nnWyu+lcV6tDhiTA/ap/mk6aEywHyqYanQw6Ll7xUrz14gnExOVESJ4Z5uMPr\nfD/XKtgzbtuUFJ0L3eYuIB0geTCXrXpBjhUtnXZj9SrVrGOZ6HzByL80ZyqN\nOKW0bujmuDU7QBp1kUqTkToZtZOK6y/Nvrt9BmKyY5eTwXtGfLqKR3SERCPY\nimH9\r\n=ZBRF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrjOueoQeZD7cdqVVTVk+LyBR3+gsECBIh79V+XfU3uAIgFjd4YDu6kbeyReI+DXHPLhPiG2MHGH+qfA5K82nTFIg="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.37_1587036888906_0.8183065025016718"},"_hasShrinkwrap":false},"0.0.38":{"name":"hnf-core","version":"0.0.38","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/src/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"c99ff699a0586d4ad7891a783499e78e5a471b02","_id":"hnf-core@0.0.38","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-F76pUTIEwg92QjnaSBnB3xChYlqVD7lesNBrxYfoWKghFPcZD5BHbKjuvXLLxcCJzj3SEJliYkzMzdz7jJQp9A==","shasum":"a136fb7b56d9b9d96dd47926a3e0d06165dd1a79","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.38.tgz","fileCount":150,"unpackedSize":142560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemEX7CRA9TVsSAnZWagAA7YEP/3uYmoEGblABp9ximZbD\nNs8oRZYQ+laDku1rpj6S7iF4IA68n+MpmhRWVibp/e2EHaoZSCbqP6EryxAk\nCupK8h2SgCq6ZZzFoWjDZjQM8joAjB/jO7m/PLBQoSVU9kC4trajPzu0rfzU\nTU/4UNxSbnhQJPAleq0woz8CQMy9BEO39z5tGmJHDnf/K5LKETE3G3EIgA1V\nAhTeklSW65a6E6g1WVmcuIS7p35m+AlZ0Cvgrn90OAJChPaoKXow8wI5o0kK\nvOiWXsM2oGEcRF7ADOCw3YVDhMkF2CnovJYitMfg97lS8ZBo7DSLtGXOI240\n5AQy+VZU0c5Nb4W1VeEdox+j0BkTCqYRDdCYc7Ej2vdV3AYkjvuMeVsjMFqC\n495C2d0xnJ3Eo6aT+APEY/7IJXZvf01j77411CizbT7ry4os7Ce1vfNGm+CI\nXEd/tP+bdMx8l5Fl//Vc4ki2ay4DNryo0mg2aCd3GiBOaw4GfwslDbHgBa9D\n1IdGT1hUgkfV0wIb+SOZ53nsUIWn6gT3CPs0SqqOp0Lj4DKV3dHGARBA13Ss\nGF1t1MLHBpzez4A2Iucii+faYu5Z3tJ3Lzn0HEIwgFCt/h3UzXM2ewUvxRET\nrPWtcQ9+s7yfKXW7rkr6h4KPCAF92PKeoUKvKXOQJ2BxuEIy0V3PXc4J42JA\nzMEA\r\n=r0Po\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7Yj+STrOUARZ7brd60DSp3Y+mmiSKPbC1jG/sMaNwEgIhAKgffgnY2vlYmJ+nZXn953ywPa3A+ioxKzGka5CEXXBg"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.38_1587037690895_0.5204760519570459"},"_hasShrinkwrap":false},"0.0.39":{"name":"hnf-core","version":"0.0.39","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/src/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"6891813e2222bfbc2c492bb8ac73a0a66aba9feb","_id":"hnf-core@0.0.39","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-YsURcQ6k+XeF6MciXLsUkjgla+lz1CO6v6bIAvEhLfs2L6EOdJETKvGwuWhMgUXXhqlVWOtcYuS7909ZsFxYZg==","shasum":"c1ac6124e9d7b0ff5891493886fe61e45c82f372","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.39.tgz","fileCount":150,"unpackedSize":145795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemFLxCRA9TVsSAnZWagAA1akP/Rg9vWg2KGozWbqTyFZQ\nVsRzURL/+4MKaBgOyIqh/BC+6gLHapEr+5bS7yed4SVmbkDU0li60no7wRCB\n4RXu9hUqH3MrqQD3h25jilFO0J3JltrFS+1sE0uoQrALJrlblLVb+KrG2hpC\n6MDtu+QfVlafjcfiyYb9JmF6RzK+38Dh93FIB0OZAqUcxdQwX/sJCeoYFXCl\n+kb25oGNTQ+op1sbYvhAa3UdFaCXhUNzXvRbu1QEnpVHg8ETXo7Zh+7srcc9\nSjaGzcAtljdVtvUsSfk86wjdc0zbUm19wTLFIdTSk1sn/Hvqn9HhYf4Sk9Wb\nbE3zzlxetkQBf4EduS1Sp5SfclJScq+OwHIbMq0zrBlz2aNSDJGrZivyLTR0\n9luPUAKze/p5y9Xip9yOODmU0pFDWncH95id7RDnjmnJjfiR2a37JodWUMmM\nOIWHCpcVQWqzv3Jhe3+DrO4cip1eh9yBVqNxjzLrwePbPk7fLL84f31iMZpW\nI9LCAIzkY/+1WbB30C29Q/FLbue8NdmJP+q/akYKCbig6hkr4g6AW0f+OJBX\nXDQ2QTG8QDA1CM5zfuE7GxgA1pu+qwfcLeTMy+VmYAXsW+/KG3qDUDOAGTMH\nGNrOfIdOeliadR2BoqwcAqSDcb0EV+woruzVDlKA/ivlQTudek2DqtZeZfKr\n7xMk\r\n=Q0Wo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGzC0xHbPFqFh9x4CwIvb/fH0YvYo0dWt8rI6E8SDPLlAiB1lDxqUJmproAx0oDVOtLi9WXZ20nIxidHWmen3TCITA=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.39_1587041008821_0.09901684045029846"},"_hasShrinkwrap":false},"0.0.40":{"name":"hnf-core","version":"0.0.40","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/src/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"86ad4faed74d3b5524ff024753c1302066e96551","_id":"hnf-core@0.0.40","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-SmrP66b5j9x8Lni3KsZNW9PITdp/if5EHvI0Ya/bhY/Z/zHj6xEIGCGYYh7SISo99OvVCbzNvt2bakA6ZB2+6g==","shasum":"3eb02d8f8be9888731dbf43a658ed1630b164f3c","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.40.tgz","fileCount":150,"unpackedSize":145795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemFesCRA9TVsSAnZWagAANmQP/2YjI38R+n6OdB2FmG+m\nJtlCz6WiZAQBzkQ2qVOb3O5+dinL5NDY2W/9hu8c16ghejxU6zq0uSwMcZ/0\nOufRCOgo+IoSWGXOcP/jbAu2Z0OYRbmlCBtV8Hn6z29NpCgcMhZLRW26SKO5\nEMV4KqWbMtYJ7zyL8QVU2a+0XfZ54DrnlXI1U7C4c/V0Z4FqWX+S2/X0mgT4\nFOsehwPODsQbw/cqDmfwsRWP1sV5J17rozBC8xz3I5dDLuUOA6IFH1hE//QG\nhGs5S7CSWX+ExzAQP22L7EK8aWz1N+N7GDigLDlU7G3eehM3DH+SSpggDSwP\nogTw4Se65CVHrl56tijP7GYxxkifpfga6yg2tbx1tif1RCuBqyZFm8irb9VQ\nkpTlHZvBNh8K4pGe0G79MiV/UADiAwkt/T5nJ9TBWKCflX+URQeYMvwV16kr\nXdLP63zTcugnzSKcB3hlLLWh/7x5OLNJDHnUVXLTBL7fPzYuD76xP7yq/Gkq\nbKsJRo0X+o+gw5J4rJEtTXAqiG6gt/3VhyIRX4QuKQUFIZcwq4T5iYnyZDeb\ngwuMwZLKlHkJQOUNAQ+arT/CZ+jMJU42GIReEkL3ySU6leBfxCBshuS/29vF\n9lRROyrBSSJA6Atv4wE6+CDll0zSCqkxZiPPvKiHB9EEDtcOtajCUekw0cxV\n5+wR\r\n=vDmK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUybv1gesqRqbBX3KnlUmyRMdRRGlee6fglFBFeSgZ5QIgS8hgABTovBqkZ+ZjUn/sp20L+PN9GZ63e6llsJ7tWOs="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.40_1587042220401_0.539158786137568"},"_hasShrinkwrap":false},"0.0.41":{"name":"hnf-core","version":"0.0.41","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/src/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"76e81497c51b38701e7278c6c9491e9ed6a21694","_id":"hnf-core@0.0.41","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-P5Z3no+6fAqt5R0I1ija/kdTiMDjqmbXVtgunZHq8K0X2abGZAymYQUimccdk/VS3+3NwwxiIzyQ0OXZbn/j5g==","shasum":"b68f62d4561d0f87c2cb3e66017a4f339e09f5fa","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.41.tgz","fileCount":150,"unpackedSize":145795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemFhyCRA9TVsSAnZWagAA1rAP/13SSHQG8hCUVhwy/M/E\nIM2Y5KPmTW4AD+BKolRLw7OemPMGE5HBQ1AJazF0j55YAqoQQsL0x1szciXn\nLLmBcriE1cG0Y2glaCRYIuCpzSfj9Moje17rC2mnWu/tZ6FrZe3n6F98n08j\n5Xay7kNcyQLPnKj/PjjZ4FgjJrHzl+hbfpLqMaDGPAVyh7quBbEFY2CupV/t\nd6FQrNsg5vFhvK9rUhPjy4LW9O3gPUTQ8CyzlIxLVTON4O+eltZEkCLnCJDB\nfVTSiDTh8fPKZv2itpeBmWBDYFyePTWpVTdMO05zAYaTo3983kr/qL1L7KwE\nspgSKaJfPwCvt3Ra6xMj+mdiLD6SZ7KlxoA49mMBoirRBNTrkivE+LzU82sc\nEo6jgEU1NxbytL6mL7M+xFUSb2bIjRxbRj02y1k76j+Avm8RMkw1/2cZHyUs\nsGgTA/pMJO4ePRsiK3ttYDULKUEG/s6BZs49IJ+TnNC2KCwRuEWK+OCAaskV\ne9db65TmTK3Zr0+x7baCiM7dqFQWPsrjtjrRE4qfAlZ4YiDCyPby8w2Itqn3\nsPiuX7GMPlH8RfZDhRIhuTaKPZuZcVaNm3z8fqHHWq3pzdt9yYkuJ1JKyYyd\nxP2f3go2oE47Hzo83s7JYrAu6elZni5LfhjEsrTUu5JX5QDGMb9NuVDACaTG\nwyZn\r\n=Obq3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGDfr4M1u53BP/D70KrQQg9MU+cDRu3qycsjq8RJc6EPAiEAsj4qKi+VhuE7qp+Ed4Oj3EQe4VoWMK0ZOGcTSdBHI5M="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.41_1587042417773_0.3096018864734409"},"_hasShrinkwrap":false},"0.0.42":{"name":"hnf-core","version":"0.0.42","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/src/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"tsc -d","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"ab9ce629777c6efdc976622049077ae0be4e8fbd","_id":"hnf-core@0.0.42","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-I1k1kkAPPZ+GywxR7tldNjjO2UCWaAsLfoKA9Y0sW2FmjzJF7wiVvEWFMozQ4r/3rvo/Yc7EUDIhRV2j+RpRWw==","shasum":"b86effc61254231e94d28dc74864aaa7ceb5f0cc","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.42.tgz","fileCount":150,"unpackedSize":145795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemFyXCRA9TVsSAnZWagAAG8oQAJLLYiZZkIgxMVybeD4d\n5WQHL/nBSRpnLh4wcaw9zrfzKRQsDO3865XP4qhx5zk1Ku3zB53LSwi+fyS0\nCos9P9pFkO0y4dSnb5uj0SKjp38DSzzOHohkm94/biggGcIPcnYwuDUJFUwP\nyG34+gBLSFsNkb9TxzqpKoSbi7MICGdOPoHAxNcYwudiWrKLqE3ZK5yGDjRq\n9/82U/s50xGaW75ESZ0HWBAS1FM3odMnKMc4cHm2skq10XcYqjZiQkgEVnvP\n07w8dmyOsVReMvJofpcvvLwxc670M9xXYioapESshLLmOo6nVdaURNM3eR5/\nEUtRyQ3191B5Orrw4uRPgTtDt2doyJfsKtx/j866LSbQ4u9X7VQ8yuLwm3uO\niSRpvU7cV2Bdg5xZ657XA3UAg3rRlLou0j7fFdIaQvsj22MvkPRFYxVQ4Ujm\no5u08aNM3c0DsV/E1Xemvoxc/rH0Orx0277F55hwtRiC4wtMIsNjsW/jfvKR\nG20Zryar+RS0alSokGGxYv03W6HhmFAj8y0/fARePd451/plpAopBvgA/xli\n1M9Ai1MxZp/OpIeZDyNxpsvmHhcE9ZZ5NxBYNttns6YZXACsZmYNgjd22OIK\no+sCh6XPon+TGkzhcpKo2K5hG+/ciU8F26Ed/DnrAM46jyVZVK4ni7aEMWJe\nLG9H\r\n=9qL6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGxQY6K+0WfKLBSfCCI3j+5xyrRcUaAfHq7+BAHEY1agIgU0RO+nhoK5G5HwAJ+NNFYsx19N5V/CEFBNBZPX+BIes="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.42_1587043478696_0.9750707057854471"},"_hasShrinkwrap":false},"0.0.43":{"name":"hnf-core","version":"0.0.43","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"f43ca775fbcfcdfd53387ae7a623c44b685e303c","_id":"hnf-core@0.0.43","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-5XLvgpR3NkMn1fkOxGxD7n9j7+9HUEW+XSyUFrR9lBVS1/cG7JmiCWO/ESxohQ0ft7beBHFtwmmyOZlm39XvNw==","shasum":"bfea599e66a04d2ef998c37f183ae5c4e7a19acd","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.43.tgz","fileCount":102,"unpackedSize":81712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenBlLCRA9TVsSAnZWagAAP18P/iRbd9/6HZ7xhQT1WhCj\nLUaOlvAZh+MwyqKk4yCpYBwAF3qWRNf5nByyU/Z2W5V3oVMTq6M48LSLJkou\nW/PQhJWqzlKpTF5kM9CD/SlGyCodeDvq06lKRQk1H9g5wgCKYWcGEoChyh0u\nvUiVB68nsmLXpmsyG/2xp+LawFgKI2z9KOuV55E2H1TwW43aieU01HlWt6Co\nWsCPFsjOMnQ/pPiUYjSsHu9xEcR5vRexh6zWRwZmHIHIlxUZyXfQgti/GQhR\n8lDW13V8C8shk3IrHjM896wYlsvjk5pcDQcwTz9dSZTB2IX9SHMypaFfAnkN\nV3w6ws9uTY4I8qsQSdUgQB5U6PHHxqleYfqWYIPA23xK61OEXB3Iy9xKUWOv\nmZOExgZYrtAlKtklYOxdMVf6XO+nOz7OYs3ndpOoBCrOrXlwaRIOOxboRebi\ndaLtTT5RqPzonzIWCm5VY1lOnYPNq7zACCZPBD3DpELEzoIpTmMCEBOcQnAJ\nSH5euPkqcw5IoV1am569QK4HTdRqwvQW9SEBc/4325fNzNJBCaPznzPLlO+w\nH/RBaVNTHmpgxblp5PmvBpEjxttBX+fCZ6HYviYkGqsVKTGWW2Ns8oEWLWhN\n2l7iOCdENFwspcWZADqrelXATpdDRzFBULlTUWgRRFilMrsXzGv9/TfwLp2P\nlZ12\r\n=IQk1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdcjbC+R3efU2/DP/YMFS/dluM4o2GPP8I+YdHonQ65wIgQSc4y7QEnnFgNYsKRZOg1uwEhTIHgIXsed2/+Q63t4Q="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.43_1587288394992_0.08553373532980024"},"_hasShrinkwrap":false},"0.0.44":{"name":"hnf-core","version":"0.0.44","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\""},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"259888946a861c39c5744eb6b00f481db7d4de35","_id":"hnf-core@0.0.44","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-grZyxhKEmIVObCge+MnYxjMN1J9npkY29ywBrNLqDj3+w5KphRweot2jluaBHZkOH/COJhOyCIJeAd3DIp815A==","shasum":"cb5c91d4d01a5c189bf23c447f21e4f8ea1bc759","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.44.tgz","fileCount":102,"unpackedSize":81728,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenEMhCRA9TVsSAnZWagAAkX4P/2RFaPrVATi1URDSpNhm\nvFzKhNYFp1DRcscBqQpwuOuMhz/yOjY9ifteyw+QdJIfWwhfnw9oY6CSVmoK\nzk4oBTtnBVeyNcDnTDsDAF42hPiSC4EvloWJMkygK8Mt2O3fG+iqJ+VHkBai\nBLdI6lNCf6ee8z7TbICu/E3tMKXSHD2CgpdtLKcW/kaQBH2w2EQ5ODyI/pkt\nq1fotWON+RMymikz+xVzhz3B78/DoxbwUSa3IBJ71F7lrmC7CeybuonZfOOg\n9hoGSOMSauE41iMYGwS1/8b9s/PAFFAsksCexsE2jX2oJY75rpYQF85KPItv\nwih+vNuPdnsYGiFkz2tfAiZ/dy0az/+wiVc+HAnmD1et3np1400IOp/bYM0g\noG0mqfgsamywruWrDC9CTQmQP/W1QeBrhZ3bhLNnwk+h5EC4ObJgJXVDPJh/\ngQ25I8REYQAsesu+lRPFXuAJN4YMrK1g+5KflvYmHmv4bJV87fsTj+Xt9+IR\nztjxPv1WUgIVBLIwxOh8Adblkpi+CaBoeVJPUJC7RyI2/9wVkkTa+V6P4A6/\ngYAmJntvkrFQ8aAjIUbU7Qj7bJ9rA44HXRKgbv/x4tt1DZapQa1m/3Z9nWgh\n/9YFErmyMD/dmaj54ynTBbKSaji/wIzB9L6LErTcaQMau0/geW5tBIdzFcZN\nORoB\r\n=2Ywi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnhkXd7iJEoOgIj/sdrGTRwkqlzaoqai4ddYTWWo4k3AIhANLWgCZXyAJH3hFrwwGAzdrtvXdWgnlBhBkyL7nw7uZt"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.44_1587299104671_0.6286248518861564"},"_hasShrinkwrap":false},"0.0.45":{"name":"hnf-core","version":"0.0.45","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"e56ba1a02e46994ba2811fe82819d4626a57eeea","_id":"hnf-core@0.0.45","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-MHZkWIg0nj8bTkDS95QQDrRBrsgdeGFCi10zhN9tKeE+JLqSD+PC5wThp7YUv+FWn6TbuE2HcxhZYEx2Dk6Rlg==","shasum":"ed558ec6c5000f63918725c2ee169dce426a96ca","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.45.tgz","fileCount":105,"unpackedSize":83391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenYcbCRA9TVsSAnZWagAA8gAP+gKFBVqoCTNjdtckSjfv\n4wDcRGyaa+bolK+Wq06kbxApW/wJXQEvDnB/jmtnUP77ARwngXvaVkFaiQoq\nhWtgdzWHi0s8F4X3rkZOWdEPGgd5SZqql1jfEKYQvMfEf+EtzSPQQ9AybVHH\neGLn9e3OUaNkD2xM6pJ6aIccdda+zQGae1dNmfiQBV4nvxK/UfTqeactCB4o\nVhSCmAwLXRv20GD+x9OOhqTt8YrQKwznYKWc+o27uAAeB53ncqxLI2m7dh7o\nnpKPl2ejSKDKVCtTOfPGKpOF+QnKPE3Ytkd0hr8wAoJAzb/KOFwJBooI516o\nICPfaF2tg2r7rZjwgTiVtBYJTM8RH1J0WsBOZLmghM5n70ldg9xhVGvJWasR\nDbSB7zQ58BT7ivbfWSgQcoQv7zE/SGcKjBMGPLfzuQr1ljUPvix7w+F7QNZe\nRq84/y1OkKjzi0yaUbc4Nlpwia6I+DSclqF6cX9/zzmBUUucYGQkcqYYDIK7\nkPDcIapYNR+sKyuS6OPyejehaVymc6GrChcrJYxzESlkrmvCnSHCILFBbWbF\nUhBPUSyzb+Cvt2WzWK7wmWPyUifRKcEP+/XQS7q/o3q19qUWnCgmP5pXlH/O\nLEXT/4n+deOf70AbbxH2LZCNDSeJhI0/zc+/kRAIE5SrN/xlIe2pJfihxjnO\njuHA\r\n=X6h6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFQIw55Flg8UCNjktn8iNURoB0gil9d6w7LFzZieutTbAiEA+TgQwyBL8JLL49HeLp6o1sVy/LvVI/L02fNiAro4VGw="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.45_1587382043503_0.38325854133403103"},"_hasShrinkwrap":false},"0.0.46":{"name":"hnf-core","version":"0.0.46","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"864168e5fa6f51377e5fbbf513f63af85b323d46","_id":"hnf-core@0.0.46","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-VeOztzZCCLKMa5YS378zxF6Gw7p/jr7hmm844+091aoSgJ6ERJXP4aeIO+7XcL4+sCJK073x0zFuhThFM5kgCA==","shasum":"58822757fdae9ae97f8a50f2108d7eb67d24018b","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.46.tgz","fileCount":105,"unpackedSize":83391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenvaFCRA9TVsSAnZWagAA+M4P+gJdQ4QzI25EYGiOmKj+\nl35vrQTxVaWQeH+24osaGEFk1q/s2tViwtArx2Ph6g/VVQ/M22XgQF4LM3sN\naw14+t+lvkyUlv2GbXJHHAr01BWDEqLmthzHEonjSV/bN8/ZVURqrMrqmBKd\ndxk6h8tj2EdVGXOORsKLS7UK3kqaq6wAHqmFBSVOE90LpvNgsRGVXGyuKRmX\nmcDhvzhQxpJzlZfgdnuie5RC/XGzB4o1RChytRPUZBipERBXGg5zRM+INWtj\nrozCXiB0D83R6Y2GOCoxtSfQ5+vB7VA94n/wsuCUZSXy5COCT2wl9X4gsZCP\n6mKBu+HyweKiUjLrKUGGoKJsXkw8VSHpLZNKlxHmzTQFsgaZ/tp6YeFWr2Ka\nQzPQayYmpq84WW3+TCWMziHV+ba7vmowWlWWoJFD8JBLXLWPcYkoOUe6t2be\njC/oUE/C+bhvn+YCpN3HdelBacwFGREVjIbv3xPl0ZCU6TWpsdB1Hf9CJ18Q\nQyCtHbMsZD3yiQlfLqulTjCYq+7MyZPshbFfOtF0NLL5u3feGfybnrapJbpV\n7bvBnfm3WVvjHM4WmQvxMTo3DHKxxG/AaDcZd+vzz4tMHiNPkgpMKuzlnI35\nYPC+WfJI+KH4wUBIcDsa8ArYJDESkA+qQPFaLsbA2jP4o+UDVYjWe7ZvQVIO\npCk/\r\n=0kds\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHG9ELNobwAcGYemAO2U1orn1yLzGSBogi+reNayn3RDAiEAmZcBIOdqU7Lv0lYsJ/ECWOLnT3svCjXNiUv+DUY2Amk="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.46_1587476100570_0.07411373695471979"},"_hasShrinkwrap":false},"0.0.47":{"name":"hnf-core","version":"0.0.47","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"ead6b304310431535b6a4f518466ed3c245b1b81","_id":"hnf-core@0.0.47","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-kpEr02ibY5/4oX4eS0ushO15LLdh8bwYrAl3DPSWY9farRvNJfuBbesXMmauFV5MowwVQ00kQ1wOWlUxknzh2w==","shasum":"3c3c78eaf85bceb3063972bc9068f56e8b0fcdc6","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.47.tgz","fileCount":105,"unpackedSize":83391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenvpICRA9TVsSAnZWagAAUD0P/2xplns03shZ4KbfWY3p\nSJ6UdLG2yss3kv9lEisyITdpZxhml/mj/1p+32bO+il7H7bvvFwPaNVL9EAV\nsCvRBmme4M497NznZMLJ30z/fG5C6knD27IPVP8VICDDpct2hnKhhdBKm0mt\n+pyUuBS4m7e+A6GEB2gz+Lhe48RmSaf/77WBKBXCd6BsiWG3Fkl+rzjgrLJN\n8NPfUDwE9/qaNyZHIph/UC303Gxb0GqY75Savp8KVYl/GPOzdKyoo/pg1TRG\nkckwW++4QcBTZV4tSiRWEWnARtFV1TUrGFo9gNReeBQ0P+UWeO6dGCbStXwl\nW2RyD1+SKVX9u6vTJ3Hb1mCoeSqlb7bEWrrytKd7no8DfSXzgSMrIEvqXKz2\nehZtb/lO1I6Fb+Tg4oiQtiFhlzJOjd6CdHvr0HMMOQs9/phv/KX2mB8X7HyI\n97ydsBzDbcz8tKMwAlg6Uxz47w68+OmubUDzX6z5qyWw00GqzOLuz1CQyE6Y\nQCXjEn2KIdmU/BoIB4Imn9dKrII5BUCC5Qzwygqjf1wLzNqZeja8eaKuAutY\n2cnumvz/XhwAK79tjJmsGiwSGA3fIed+RSlaF123APC0fP/MosHxKT+06LV2\nghajz2zBy3DsTc95ZfZn95/EsFWM6QgBBqNKEPUKG93erIBsVkiQO6+KojHl\nkjzf\r\n=hPxM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2+SRS1mWsvr32q4C8fN1l5Izx08wuYyVG2YIzbcekSwIhAOnIrsbE4pRabEvgX394e+6OntIvWumqigHLasFjl4qa"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.47_1587477063766_0.9274630222518672"},"_hasShrinkwrap":false},"0.0.48":{"name":"hnf-core","version":"0.0.48","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"6af4cf677d2e8486bdee802df0b870569f055367","_id":"hnf-core@0.0.48","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-0MaJ4pFrw/xB+sIMBqRzglyZT6JYxJjTPJrMv+nlXe7s9FnZQcGpf6UkktsyK2j6l5eJH6wuTciwDOvohtnF3Q==","shasum":"c4f6e87a18877d1a42d095661960194c10e263e6","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.48.tgz","fileCount":105,"unpackedSize":83391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenvxbCRA9TVsSAnZWagAA1JYP/0goJeqZq0u5U7aK6y9c\nw6JbYwEaEeMkV53MAZxKaS1zyO2Lei/BtmT1evLM0Xs+8BAp4Pq7ztZUhsQX\n1cQRub0yXB9VXxlWhENXdqHA0XY7dpFm47KIA8Jqsdss9iRjtvyVrK2ccItB\nV74ek/NPjYNLeLaqE270hiIYsdXrFVMVuETlayceP2vEGau8zvH+Tmxnnpy0\njEO/CzBMNFcLSJ24NSPw8aEp5TbfX0c9YQGjw9FMpoCB50ga4M+dzQ7wl5zj\nQraI0Ay33hsO4XSUbUke64o6MUKgKq8ktyz+Fbe0uIiMLKw6gAX+VPxEfvTO\no9C/ekxp2uYEQUmzp9/UzWMVtdP7BDffn3bXEFsav4S/qqDlx+qn13fyWdyr\n18PR+8RIzH8qyR+elDdZQAD3DwtWINCeGjXuLC18rG/xvCVjglIgyeSajmjm\n5B6u3SjUDF1KJJGDvdVvLOJHYmbNt6V604ibH1C1SJfZq4WbpC9K/5LCRe3I\ncXCnyocGkIvvTUTYi/897RK2wr4iIc9ecMNKFbjsimrtLP+PMxyQlUDHCkRY\ntVX5o7WpbLaZwbadlvOxHbBCfJ1d/Z0BroLATTjO2rkDWbecibeYehkxTRxt\nLnAUkOgFQnyd+W4fQEtgjReD0Ky9i6NuiCp+Am30UL37UUk0TyMWkLyfzS7f\nr5/c\r\n=pBOp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOvVy+yeEgjmM3zfUwPedFD18y2RH1ka2DGcFuW/4DgAIhALoGEZQqn3gxV7wahLQFzRh8rKsq9Bzd9GKAy/47EIrA"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.48_1587477594767_0.04005421289188171"},"_hasShrinkwrap":false},"0.0.49":{"name":"hnf-core","version":"0.0.49","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"af0503cd7a39c070b58441b310c1ab699102c29a","_id":"hnf-core@0.0.49","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-1fAkOj8q57OEaotD+kv1Lj240OsqbSKpTCok4EoiTNbsRFqUp2VtLblWsO6bYHVbrFZYk47Ml9+Tjx24dlfcXg==","shasum":"898780ec78cae7d6d60ef823578bfa7220bbbc0a","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.49.tgz","fileCount":105,"unpackedSize":83391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenwQVCRA9TVsSAnZWagAA/hkQAJQhZasrpF0kaeSsHyLE\nIAYjrtLygch1SNpz/aSUisegcMdF5eClB0cYYof3L4uGEZCCDkloHB97Q7UP\ne0HtFnYZjx7XNXA402WSrCghRTe4NVF1Ttnpjs3Cbx54qweQUzIkVqk2LQQP\nPnM4ySJeLDJ7LfxqioERBfl07kYulEM2dygTyt7iWJ05n0XXIXYP7WR5NdKd\nHgNxLrc8HANKqfo9h6p53/u7HySqDTyaRJuSjho3yHIwztmgw/0HgDIxdCKd\ncn8Zl4z2IqRuwg80QiW2IIUrzpHnPK/GxlFXL2WUzcb0hAw7/Q/wSefwhy28\nQ9dLb7n6/Rmp6m9WCV1IroZqG2yeTasEXbEdrgxUbSoVDPAWBk24T85tGOBu\nTK3dG3pqePdka9YjxdDzqoaULrzfaMd1tkJPLnQ+pzAqIKcbXOXNcgvv1NRG\nn7EQ26mtLtAQ+A1FbZHoZVMwH4+W44d2mkTAvL2G3uaRQgzCzpep81xSA5d0\nIU02g6mdoRxtXh1O/qQnruSquwLWYf/RBQHZXdmD2G+5P7aH4Xs6vyT4cLDz\nC1wNqcrv5zdrB8VPdEjwRbWsJa6/hjBt/3droUhsfdIQTS1cq+YMNpptZE26\nZuU6Q7zpw5osjVlaxD1/vK+M7P1CLz5SE2LtFOyaV/TjvLhjhEHTwpa4nq6x\nSEq8\r\n=jkfb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBKbk+xQ4ILkAE19V7KKx0K4m0fu986SfdEBbPlOO9TQAiEAyEvOqQ1b8maZd+tNt4rcih/Q0lAfrax4c2+5Gy2usLE="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.49_1587479572983_0.9394071507756085"},"_hasShrinkwrap":false},"0.0.50":{"name":"hnf-core","version":"0.0.50","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"ff28cbc3ffe0954086888cbf97c0bbb32506547b","_id":"hnf-core@0.0.50","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-wku2ttQHE2FJ0iwym1NIZWCayhiE+UFxtncz7IP11gJ7fmCdIPhMEge3pqAtAUOS0LYoqpIeUa7Vcu8RMPwtLA==","shasum":"a1a2ab6ff7857186d8dc46cec8dec04fb53d6239","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.50.tgz","fileCount":105,"unpackedSize":83391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenwUECRA9TVsSAnZWagAAmF8P+wW8Kc8qFUw0nVgNtpW8\nZg/aUmEvUxaqaqLhwGEhQVD03S5DLSJQx8ZPgmbVotUOETjU1pF6Hpu62D/2\nhj5DhpelRv4QvF8yKv0oPOK48XukLpYtxQih9W2hfV7hpc3eCegR48WuX/kn\nzS0AJbHDlnu4FIkK+jdv13U/IncTyYVlCDoenmGGH6v9Gf9QsZcPzM9i3R1G\n4LpHEq9D8mrc0llH3STlStfKJl+6IMdm+O5DfekuSiq+g+1ipG2DLfqLJUyr\nVtggQA4Ylx4znqE+RxKeaYq6MMdyn7bprAWHPm1H/cxrQpibdFePDBpII13E\nrebVg/XvIk9yNW+93rN5D6s7OKxCaYdSns7XszbxhBr6HyCCC9lwJjcEI5NY\nuaR72J4gSV9wc4NprZDBe5oBiK17pPgCTLVFU6p84ZgfzQE3mBXFVv9hiwZi\nGeV6n2CHHRe73JTIzDASfAtaa19XqjeBd7ycWA8EoOEz9o+3lCt1C+4MjBJ4\nCjGx1+nKSwFK9VpXl+x/nsT5D/wK6q+mhQf3xRxlQ7raHuXtCqgBTsRFjIx5\n9bAzvle7VoZlw8+SKnY7KLnztfnByzZ61LEU2lFJPYd0zmq48iA+EnmVc2Ly\nP3UvZWaYWR9CPkMFdXZIC6DYkd/umJ+NPwwkHCT1cLgyf413iCZDD8B6P6iq\nzAAB\r\n=mO/4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgies4PRW0UZmyW1OYZxEJ5/0/CHB0J3K1MAgfV8hzyAiEAnJBqwicGVUaIL807VXL1uValAzCD7hS1lTd8q++HXhI="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.50_1587479811634_0.09597002165834678"},"_hasShrinkwrap":false},"0.0.51":{"name":"hnf-core","version":"0.0.51","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"9d747bb3ed5d4c14ce289edd09ab3dbdca5af08e","_id":"hnf-core@0.0.51","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-EuB/Aiz9/B79h77JeMCU3vSERVbVbHXVV+pxy56ZZ0iR9NJ08312cJm1OQ8SeMEN1WEXWA902W0tkdJpR/XV+A==","shasum":"d44e7024d6f1deb266d31df432a2556be761d5e9","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.51.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenwZHCRA9TVsSAnZWagAA6/4P/0e82S1tlMkAuygF9Hf3\n4KDRBbR0XZXfsEo+2zVMkia9q/o+xd/YbvSemyM1C7PXHrLwDGr3rWuoWR98\nZwQbTHyLT9AYLxT2mOZO/Ot+dG6YQCVfLu3psaByq4MHwmpgcRA2D+KC6agT\n2eFhy+Qe1bzVc1M/NHDt/u9eW+KKUoM4WcHhaFXqJ33bJUya4lsuswg0q0m9\ngIo772yOtStQ2IsOv0sfhkQhb0z3P8iiUDFWrwUH0d64bxj6G6QSrQVCjIlC\nRMVZSGznBvD6lDta3cr7Bk8908eiIplXWrwRutBWPvjGMABI0TCbrFc5/zT5\nRkIKiU+kWU6+I6voOeLsmWJWY0xqyl9QI2662iChK+VLsaSVPo19y7p66w3j\nJzCDIX8iTSyXLx+s98aCPg2gTB5DHCac/9cKSX9SBVCCFWV+WHcnbnlZFWf/\nNbNoi8zaFof/WFGP6QslwbLxiBBXko9deaVXDM/dQPkLGFtrJRKuIWkRFEdA\nUo3Sy2xfGhc05No7LFbpgkXEnZd1qN6l+LK4sNpfPHbL1i9RzgRvPwKSYloh\ngBU7IXGdSOQ3Zbfpn2PVQ2fOcsC+gfp7uO5vsdYX7+3Fi46IRNk+u/hZxPC/\nenkHiCsy4+Nt+K1i7uceVFPLQszdBXg3t5LFPkQ5z0dG2MWwRRBzwTz27D8a\nMAiK\r\n=7Ex9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIUjafC4Ulg5wWUDg6Owq8wTNSM8Exq7Na6MJAeItVGAiBw836wiznGltufaz4BvlyCrfd4eSq+u1nI5HR+PYkrMA=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.51_1587480135482_0.32340869166009245"},"_hasShrinkwrap":false},"0.0.52":{"name":"hnf-core","version":"0.0.52","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"e8e0afab89e266873012be43726aa9e0ac2ce4f5","_id":"hnf-core@0.0.52","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-F05WYd6DaLXAESTANWa69ZMWU8lQ+ZYnJTn/srYrJ1ThmqkSoBJmLkjNH8I2oyaEceGxHWT4Ww+PwdTf9ES1bQ==","shasum":"9d723e1beef1901f63fd306d037899c6dc67d4d0","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.52.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen7HCCRA9TVsSAnZWagAApXsQAJUQwdF2+kMoUqJofQq4\nxT73vocwE/jRxN90hFQqlFQk2+7LAjdL1QJbGuOotAHNT0PWUfQV4fmWQnOs\nSlqHGtFHOk9Y++fNKxzwPuruSVhl1eZrhGkQW8PGHas/+F3v/JFBwWOQLBgF\nPU1QwALcI2cBq9b8TiUIAeuFIVJS6c0p4OAmKbyyjI/+kwyaEdToMLK2ai9Y\n3GePEaPn66ywL39ZQc2F1kFjYFPyUs34hAve8lFaAe8Y++J0ZHgjDkP+o2Jq\n4XiHjExto7B7jN96lBAX4UnIAcsBt77pDcZl5FbVhUNV9kTKklIg/XUyTGH8\nvBDiwAasJZ0SkbduogzRJtruNgk5PkxMbyqP23vI5Yh++Pp2sFLk4/iqVVmB\nAADULxTaxe2uE7yAj0B3Qvuq1BrZ+W6xaOzftPS2ZaD/2uc5zJ8fMR3ZDoKK\nw4v8/QCrMyNflMKDDVeUC44HZH25fkq4JQPjNrMk2k3ypbs4bdELxlHUwLeI\nc+wKh7P6S0y1vH5UsRiOw2uv+J3fjfKMqUP4cDHAldUqKdRy91e4dANae8ue\nfityHZWBpFO3oHi9DzutTs0liRstC0Utr1p0a7sU7MAugdBE8Hw4DSFtqmOS\nLZe08qD03+Yk4GwDVslw7DJWR6usmK5pJLHVewFR83eVHQXU6YqmRAp1ECeD\nsJdx\r\n=LSgw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBdesklblC/tqSa3SXyRWwMucNPpbz8vLZDtDvU90EOHAiBY13VbwaeebhYEC4JKs7YwVFHkQzPIV4+Luk5fY5SAOQ=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.52_1587524034249_0.7752369351098498"},"_hasShrinkwrap":false},"0.0.53":{"name":"hnf-core","version":"0.0.53","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"ca709a671fefa58264f2fc9e8620480dc52e33d9","_id":"hnf-core@0.0.53","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-n5aF6u3JFZ0mvPOGWr5QkAL57ABj96c2zntKNXKJhmBiubdCXxPz/kj++/ZvD4mi4oHfj78zAFTj0Kr2o9lq1g==","shasum":"d2b431c8f0d815f37917735abfc87e4ebfb6e477","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.53.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen7X0CRA9TVsSAnZWagAAjmYP/A29zLDSy3Vyi5lDB1/E\np/lKdOLT858Vvz5kWnplhzbD/iil/hV+aqVjOTaS2JqhwMpQb3WNfbpV02oT\nAk7lMZkMB95bEM3aFPSMZuqDOswks8Le7xtJ+tvojsLTSGFpB0dgZlhEIZz+\niUsjSkfEOazQvpwr3U1oKozcpEP6bweb0Gwai8NMFh0OmMVPcOSwB5XaHgjA\n3670/EdXswRfHewBDnebRacAm69bXfHg1juciTOUoIk/bpreOoVTMbcWtB1q\nf2F9MtQ17aFamzCuMsPP+RA5seIPz+CGOuGCJ2L7Hpvtr63iwDthW69H2juF\nD2KjsfCvH8s0kmwIJZ1khfktPGmF495+DJQzyMFqCVJED7LyZjFQh6E0MoMF\nN/jfKtmMou/xntMQGlRj4NwrgWaYY5xPBIkorBE0K4KZldg18idTw2xc3uh+\nxkk8nAB6N63o2o/yQK8Cd/3ee7lvDuzfEr5Wt6RzZ0j657+jAztWJAkWUMxK\neXxbA09xyPZRGaF2oJa9y9BLVkvXF4IH0+UpYptQCh1AA9vTVK2FMFgaLGS8\nZAtoSVE2HubS8Z83CA/AfY3CfzzXIp2RpX001fH9Y4pzIYJnpETF5AiHIaY5\nXcjdMaeqepo1SSrKz3bvEB3zvSEySBJo/dWZGwsFDWce3gjqFQNT6yvbg5jq\nzhD6\r\n=FWz4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG+h5raWuvL5ZsPcw00Jdw5lpe5qXKJ2OsjbkIQv2yI5AiEAmuc1Mjf+cnFZve3A+/a4NP7T3RpECqgq1UzftCy1FAw="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.53_1587525108225_0.19336689911289695"},"_hasShrinkwrap":false},"0.0.54":{"name":"hnf-core","version":"0.0.54","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"a994ff45511535f10291a95fb6183ac4eae39877","_id":"hnf-core@0.0.54","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-gemuKmvdHw1gxmRpp5Vg3eIUscNQtIF2MGi3oSHJ8HVFx4t5b+Zr4hdAjqGlxsy9KPUth4DIWUbssjwKEaYdMQ==","shasum":"b1de058b406b704095f937ec00fcfdad1a51332b","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.54.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen7jdCRA9TVsSAnZWagAA5PoP/iS2FQyA/H7o3U+txUaH\n9vLqvg+9QgwSc6TfavHzvw8bZEp8+M+VLT/IhSr/LtEpPV9WbW6miFKPOik3\n/2TCl+dp0wKi3nCVIcSQOfzE8NZRVJm29BrSuH+XqqCeEf8sMQ4UO7VybA7Z\nKX8hG1lmbDI90qSxsy4CtTIcoRsQ1o4R7yXnGeCkzbjZyQKvDC4VzqjVzAzJ\nIHznu9JZ0+DkLtf4pEV5Qqo/tiXHKSAGyaqjmEpmjIQvqsMgKEOP6vQEDmut\nGsxxSMsI0DpzNBSlst17aa2uRtvSZpodch4CsuSttfIuCVlOltQgcMMIUqKU\nSTB47WwIUdCyjgaO/UTssgpqeYV0h2SHW63Xfkex8e3WWlRB6lpTIJFYuchF\nAgPtOba6gWKr1VDfBE18BQmBXnoE5hGt3IJezQC720lRV6T9gmZNrVGj359r\nQeP+oN56aW0XO/VAHVlFZ9zzpE7ueTMa/915JZnrvj9U1wi5U+1LZL7qYBij\nQlhV8aGJxUXI41PvxQWY4Y9mfTci2EthmxHvtQSGp2oXhbCJsf6x0QdYA9oK\nN1toquuZa9U37xjWHmf58EURH+e7uJuiSXY+GSB9xImWp/m2Q27oNuVMHTl3\nHtDogzYQgg2Br8i9hpGA+U7CwyhhXLxCgscHZLdqtQSMTxrnBS0HZchJv7il\n/uGz\r\n=hUIj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcWN3UkGzsddVeNAKU0o/Si2Vu7AuXrA1kb5gdHqSbsgIgSBBFq3u+YUiVh/jRrOdB8WYZwWTj//H4t3XBQZRuqPs="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.54_1587525852557_0.6766884552298116"},"_hasShrinkwrap":false},"0.0.55":{"name":"hnf-core","version":"0.0.55","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"704068029be7ef45579823f0ad666076265c0d0c","_id":"hnf-core@0.0.55","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-voo5jHMHaFgKK2Jcdm5LUoq7UAD/ABG5wuXfuU07edKvI/5S9i3A6jP+n+NHBWC9tJqwInKG0b5CCSKH1zhCMQ==","shasum":"2f0810164a94c14698741b10253aa847aef302ef","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.55.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen7/JCRA9TVsSAnZWagAADtAP/ifHxvrTw4TJCzfgm0Uv\nydjhWTTfaeYAa9W0VYpomit25Qw52gxEOcyewZP/q/stwKKo3FgXcNaZ4MP+\nTaFAwUnF3QA6I8BP5dcddf+b9Xx6PS+GOzDXI8ti+SNaaGC0Can0kxjITbQA\nwVBY91KWTz027h1a7kjQN+mQKDCU1FtQeBTMlKungCsL8SMHxNRJKIW9mQGU\nQe3RAxnBPw8zMRtQKg3Ew8M/F8fKluZWKljr05R2XCUVPPB6sg8jczc6Omh7\n5Zw4b7etwFXUtW/2iVlZHmb+4QDZRAVOnOJ01941EjDmbJCk/5m/8h2KmYYO\nBXc1seG20S4DLtKXvLrgXnsQm1r4KJokLgwh1xqV9veHYDYU6MEn6QwHMsel\nMaPnl9rqVsLuVJeTPPFj0giJM9BQSAYq2ci27c3rzgkYJmYzpebIbtdAtDtv\ncXSkzc1dE44CIIxBEb4N4DcsMBiM33IzebOHPIm5nQFFuyh5Rii20vi+4phL\norVbLPeiutPhJu+15m1Ck1v9vtGs9peqMEu0xubH9LEnCceWX5CfvXgimVB9\nzKkiag4uaVhySRg3pguvyj5I1pdq52W6W1+g3jNwkkYbMFacYcCmLVtdHktw\nHAipTxcIhhnM66cT/zBAdVkTrD35E+a+Q2/FrSfPKQuggt9rTsq6Jqp0k2Bn\nY8BP\r\n=OA2Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIChIG8a2H7wCL6XxmJFi4i6qm8Yj5ba0OiiiUok2Sr2QAiAxLvajgLEMtVYs5PX8v0qZEIgrkMgu8uvTFvD+4491nw=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.55_1587527624631_0.23461074176679042"},"_hasShrinkwrap":false},"0.0.56":{"name":"hnf-core","version":"0.0.56","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"a79b62e21b2374f31e7d96ce021225a6c82ce433","_id":"hnf-core@0.0.56","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-gjeLJect5r7NaYvxo8ZMNrOO9q10bu9BVYZ1oJYkC+3fboQEgAyANvKqdGzH1L7BydO6JjaYwRrJlcUoVGqkjQ==","shasum":"c42b82f81e8a4e99694f55ddd71c969ee6107aa0","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.56.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen8saCRA9TVsSAnZWagAAgXAP/3Zbmj9tCnlcIiKj0z8L\n+AxuL1tJSssNcos4bJE3eAdafH1bhh4ZJRJm8crzUS0DJrmTo0iWqOj3Uwb/\nU7aq+8MgS0yVuY4zTAnJKpzpBTb8bnjPl3ThIF22ni96xWV+7zvleD4SR/03\nMiGyEsclcGpd9a61wHhxnOBWIL441hmKjoV6FRxN8y7neXa6hrdrVmjK/WNY\nbC4pCBz5Uw80zAUkReHF58Q7EXiX90mGoIAW1F6a9yXrw+ExpP2/xRUhLL/q\nk14yIUsNh9H8aK7VaKNOVhA3Qkkiue6we1AAj9TcwkR7aYMNf+ZSE9nV5mZl\nCD5wCNJrR9yr2Wj3O2ZSbDMKUwnYEOjCKWROH4d5Z90dQjQTPN8a+rmCDonT\nyTlkAh0wsTJc5Xg3+0o0TMwADFSmGVn+wHaaFVcBqSQY2hpzsthSzO5fon8M\nwA12GpuR0tQNaZCw0sMqe1GJMU86HuhSQBqO7XFDwaAE0wwUiXxuFuQTxh/w\nZqtPnsRFynz0ezgop4k+4b0/dwr98j3DN3JvJuZThdsfe03AOMjVZF+7+TAC\nBhBUQGnmBWylhk8Aw9MHnaKFC9TxYom4qMVUfpkUfpGSQ/mm+lB5RcHHComt\n9y41+XrAWdxktEgC1NKe5mXSAlUDG+JUvq00DXHdF5fQP2Co1nV7kde7n8o+\nvaxZ\r\n=+pUh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID0R6ZDikVwcNnnS5fdKqAFf+LYwMx8PEkThU7Uu/0nnAiEAxF+9at8u9SUAtcVUbFSbYfZKfzy5Ro2vidPOrLnxm+k="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.56_1587530522331_0.5985552759463655"},"_hasShrinkwrap":false},"0.0.57":{"name":"hnf-core","version":"0.0.57","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"f6edd6c369ee697144fbf11a99e499ba53fdcf5c","_id":"hnf-core@0.0.57","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-K/FGKmhrCyoOlG7NualbMnR7FAIfO+vfLH7b8o2TNFqOk4aqsIJCOZJLE6GIsvvdpFVQMgMcr3gos2MZArQZfw==","shasum":"cde5c2acbdb2e4916ceb44677ef5d8f89dc7f8d2","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.57.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen9CDCRA9TVsSAnZWagAAPIcP/inQPcBg9IeLJPXpGfX8\nUALUozPC7eCR5840su2Fc1ptezp1WZ7fN5/QPDYGlDBDTyUFs7ZNkiG44JW/\ns8ULnBoj4YxrNjQSqiLX1KeRWm/30e5h2YUCsT4i1UuXGra4+2uV8Bs1t99p\n7SmuKe0jMN97PTLNL9Cfpt2HUZ0I7taNIUKHEl1Ml3eNYqVH9NsrD8KiW8D4\n34IgAem8reySns1OonCWH+SoZ1CB+gVaSzNOlGb5NzK1lnHHAEd9SkTptrUa\nLX8enJC9RVyfpMLSYRdkC/r5qmmhLYs0+EXBEcZmvKjIBa4C+nUK4Rj96C0m\nMBXVFegP4SlHDJGkQnsZzYl9T2E/dnKZnF7plXqc7CCDY4kOIja1W2yEXl3G\nsZCWirjW7JgSP0ubUP1CuticOYn0Hdogt8wlVCyfdJ7MBf09XREVTu6HFySq\nZToi6uNrOxfvX6mpSMPkZTv9IDnTdtnX5X/jULhNYbLisOGNLM2FMpKS/jf2\nsOBc78zC5SloWBUeqp/Yn9aKrnOMZKc/1+WcYTCL0fZFNp/H118FTpcbfkZg\nyXB1O3vFb4NNPJ9eHDNI9dXteD1QvTw4nmPVv61TSrGrHdKNsAiyFnBRfXoB\nNXIb2rCX1Y6+PjLW5wFoxgL+0JvttKGaYYf5n33kJNVSBUwcSlu/JqokWdXK\nbRke\r\n=K0r6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXzI9lfqrJDU+XAPtZLfq2YUcTTAkRch1YC2MRNHHzIAiBJo0wbklcAktc2xMOL1IiefqxxfvMx9fuSi3WmVGUJtw=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.57_1587531907120_0.19317167684021896"},"_hasShrinkwrap":false},"0.0.58":{"name":"hnf-core","version":"0.0.58","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"0fa5d2115e61b87e68c07df6f671c920c6a1d96a","_id":"hnf-core@0.0.58","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-EsbFQX6mZ5hLcRU9z1EBkb8Mz0PHEfNK1qgqMtG/X7xajcRCUjaSrSQof0qsnYTy+o/14hEI807VG5KCEwIvnw==","shasum":"5131d26ebb7706ebb21e8fd2de15bf145ddbd6d4","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.58.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen9JtCRA9TVsSAnZWagAAs2YP/3bh2DtzmHvY1zP1lvVB\n4ZG42R04U7m8bC4XPXcZJiR2BnBzpUL9pFf1VkECvbrJblkAdMMlM/MdS9OO\nZr0v+dkdoJ72g1YCrWvMob8LwKlb1dms1ACGL46D1e6OvAYklXmbdXlYq5Hy\nO5m/dyebFBpmdz0Xqm8a38JVZ948QRzgM51FMC/cXDqez8UDTVis5kNJ5BsD\niMT8lHegE98FU/ejCjowbnfa7hzU/UxwnUEiMr7YA6163pL7TQb1kCoF/rId\nUqZpN7SSP8nTssul16SAGLFzrBFFqKQOLWNtuD5Hla+Dj6Wpq0SGIcVS/+9W\n3EZpld7dcnLUVnk5Pg3WjlIqDO7364/BbqQHbZRtfsx8rYasBSaofiTNnaR3\nszImtThKo1H5q1WHbVltxCmCNFGY0SsUkFyyT3o21hcIqJvXgiarXw7fLQC1\n3k0Wok8Oj0/soW2A85GRA98PIrfyx7r5giIaVckKVUYfKSQjtzw3chSREq1b\n3cQBA1pdrHKr1Uyhi8oDqCsNSR0ikiMOFRn5qVbCSFizBDMTXex2K+yGm6rg\nHzwwOja6ycex5zAxa5U9qdNmJn+rP9yjjnbbw9fu4TC/yFgU4kjcq7BUBGwg\nX9YyI9iRjXoBbqQCUNJ0GiHNFVy6MOh/FvQSAIbTUeHEjSYYXu0T6I0eTRM6\npcjL\r\n=Iij6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF8X+HoKIQB0ku90s0s6awRpIWrpNv2v/carAXGppxxUAiEAn2SdakpF34s2lU6z8jKtWnwu3rMP6Td/Da2BPG5h7iQ="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.58_1587532396539_0.2803337930731935"},"_hasShrinkwrap":false},"0.0.59":{"name":"hnf-core","version":"0.0.59","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"e4e6b348351da7f73437ebeea4446ea1587c4491","_id":"hnf-core@0.0.59","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-EGBjdXlNXrpggzpykU+lFZ3joLZoAb3iJ5VNiNVdDOpoFc7B+AkUfD/7cNzsFxgRE4/Gr5fE8RHDEV+ZpD7mcw==","shasum":"ba11d54208004eb4863aac6853544178129b5474","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.59.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen98WCRA9TVsSAnZWagAAFNYP/3WMG0WKyHw31mHDkP+6\n4oG91F5HlcXZ/KpAImCVQjoiBDdU42FfG/GpzmLlvLqCypRgcvB2tt9RC/pm\nrip4Xs26XkS19wgNTx5s89KBH3XBNHLHD60MW+aZOA5snQHXSBSJy5TU4R2w\nz62Wg/Dmjp10qG4TDYa1VhnpmK1JQn6/z5ZNBMbYrEBtCsjLCRTaza2/Fo1u\neJsfMVGrWl+gunYgJx+qK+Kh4Pl5NeYCKTmjZP+c6kYji7654D6KwVTNc6/3\nfdSj3N6QniGwOOopV/1nPI0vF52uYOgeluiVNi4vvIVWxs8hKl6vEQFCkuEt\nWOrXYRtBLBPVGLuy4qliKtP2gZKJ7urK6b52VA1oU5WPkwZJp8970eo3tF9W\nx8VZbYQ59x0AeMb+r/3v2iq/Ly4hV3EFUIf5TK+L8wC4Qo4ynN7sBM1YRTuc\nyFIbt0fUzhwHRqSDx51Ok2UNZL1gPjxYlJr0mbHT3te57rJhFx1ftCb2RAxD\nqT5Xkz3kP9OWVQsolMdme9PZ26TE9P02r47fiSnK8/PQ3wkmLowIiJtWCQpr\n9CHqjoTJ2NJucoeTn4nkhxol1/dIZYYypDTMq2jUhPfePcXIIVKlh3cKHoDT\naTc5t8xKfEjOPj+dAIT7jhnnKiH/djlPLGLXtxnO1q0j3pJg4lFRm5M71cly\n8gqD\r\n=ciiI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiJrfOZL+WoRniGl9c2NlujrY4AL6efKyJv9MRtGSJiQIhANHXeyLMjqS9qoWqbgvSGQAsOeV04LPRq0acuatAwyZh"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.59_1587535638264_0.44725624009230214"},"_hasShrinkwrap":false},"0.0.60":{"name":"hnf-core","version":"0.0.60","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"80ce1278041bb33c3cbaa28283162a84434d2d77","_id":"hnf-core@0.0.60","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-fylRNpofk5RDuDpYLHaMw+Kd7/5mo0S7ZOm50c2A+vVpc5eWnQNpWDCMzmTclKjeOs5bWR0DKv4Rr0gtbbcqDQ==","shasum":"3cb5da7a201d8258be2f40f5639a3ce9d8840f39","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.60.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen+BvCRA9TVsSAnZWagAA3ygQAIUE0H70VPQtaHL64H3D\nsHxY99xO37pi3k+/VvzNTxKp3o0B62Xyk8TOXgCp2lLn3dInsf8qOxFewVSr\njJfrYjYMtdLuxiUBRc2H+tWF7ReVJYgaHmknZz8El7UzFYsoG18IpUB7JHh2\nPaAfY2QrsHTi0d99bk5MQeCvoLLm/zP9x1VrgcnmslbDMf/HHfn97532L8vV\nC6Jq/JKeH34nXM+IXBNhk5GmEHuFApgbal9Ty+vPL3d6Owhj/o3vokTe/S6K\nAfAUt6v2uoChpWlDUVyfIu7QmWP8W/9vEUrEsuwl+m5itdFFNg5s03yffJ4b\nnAHIt5Bl5f+IQ3z24I9WAbzri8g3wXEteYt0yjBlwhmPhyUNrMVCFc0m0Chs\nBD/GSXlCgkz0oF50FIlM1tGNydiUhNN83X6Ltfi7TiuiYBxCSlP0XBQeWh+o\nBTANSipbxJGjTGAqf1OU0qd3jRmdqJ1M1MAUrDfkELPjGb/c3lzgKs2QMzJX\nayc4Exb02dWuCMmdWLwxddr3wenlZ37QpHovFhoui39UN+No7imYuka9PzW9\nTMMDDvKWxOF8WRShGidA/+g6IIifABxzENn/STETRZyMP34lKQEKLo5jIJga\niNCstdsLtXScMrHILKR8H3v0ocVFsQVeaakisrLyWqQHjj+7wMxC5LGLRDga\nGOVa\r\n=v+Sk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBDq1P/qC9kCGLgFKLGYbC44xxBv70QQLYg7V9TE8lkvAiAbv3ha84BAqt3kqgFPq06gxBemalW1dctHvFjF+2O/vA=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.60_1587535983311_0.16503998076902993"},"_hasShrinkwrap":false},"0.0.61":{"name":"hnf-core","version":"0.0.61","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"5bc9b2c73feace6f57b5f3b7b036c5c973c3e86a","_id":"hnf-core@0.0.61","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-nJeXNh5/G4t7Hy8ExaWKjF4w8XUanMEMlPKEU3meYjoIf/BOz38Zmjb9LDz9+2ZraGvYU6Qb8sET+IzxuuOFFg==","shasum":"723c8c56ca938568a97aebcb4075a485108f8613","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.61.tgz","fileCount":105,"unpackedSize":80188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoWQ/CRA9TVsSAnZWagAALbgP+QGtwM/Q//UapDLojYji\nch0tUymUjSJFtuCPfhTvgDCGxL2hrP918wmiADaRfGeOVktrF2mUDGsJa7gb\n8KOYg4BL6POaGE8Tu8odwHqeXVG1t0tlveZgq9nksR2RNn7eryu/dXtTbGtM\nnYelyYSPUV1BEfJofpE3IlIoI1z9L/HvxCLGcsiFNlMWma3cVwsbXzwOd88r\nHOUNVY2jtme5IiuT0C04dZsV+yU5cAFBm9Szw5xQr58aYT3GEeeqBRY9Bi++\n2WGCFFedaiwSupTVcV/Uipm6lkOeJ4NKelhTrfggZYZYvdMwvCnXLcd9IJOD\nracVOghn2SZqEYe4ZtDg1rkQL4nLpivREVcLSZCGavGrfffy7lHPeSabhwju\nq0Z9KIv7LhyzBHwSjBECRZ9UCgOkxdNNPjpKRZi9sojLDlIEmMT+U4pz4VFg\nlFhg/q2M6gIHcMW3FgCMyfVKhPhFgD8FMATpQh7cGMds1bmBBzQBF6ctOFGd\nszrOU4GlvLeVb9Q0c4MPKGC49i4uRa4nFnYcoup4B8x9VCXLCiT9UaTrj95F\noqBKJ6A65NX/Yek0a5vOEVkfrB9oVMQ/3E22UgSq+zbwCwdvU3jpbH0uvHUp\nj85Ho3iUpc8Qo2WQVaAD2jINEJoVYmuyPkJP5VLCfgVyi86jhFyNrp89dmt8\nZfqH\r\n=OGl7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCA+VDC8FyGmt5OaUPPzbhqWE5drdGl1OtHoWZEU43c2QIhAKbtb+JL0bFS9EthMMn9Af0FKXtqYjic8DcX2xf6FaVf"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.61_1587635263353_0.32489727495442344"},"_hasShrinkwrap":false},"0.0.62":{"name":"hnf-core","version":"0.0.62","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"36ad1e67eca1c2767c8a5a94649a741e2727a3c1","_id":"hnf-core@0.0.62","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-5upAglj7lGy9xgqEaSO80oXV96a85tCoxceTzFw2NbjFrCkMK2JnvaIXKOw6GbG92PVBapSqzmNuIsgr27ZX6g==","shasum":"348ecb64af91c493a332ff295313180e1b1141c4","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.62.tgz","fileCount":3,"unpackedSize":5067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeptoLCRA9TVsSAnZWagAAiiEP/2Jt52YuZtLMTOwC9n1N\nwLx+ucJXenfIh+BxUKfXsFCv2HEDnGDyeUJEboHAh6rpO+3lJMVU9tfg9DUF\nlTROAYYRpRGG7PsYVi82tNw1HV0OwJ5CorB/wG4RmKzkenlYIECCZk55xMcp\nIiU5z1SdKdk2HJEAl3RcvJqR5UTlWK3VXYaIZ1xmObfADndhKfPYyDFnkxpX\ni/0awh/8nk0LQ6FBUYrg2m53GvvWiJv0VkwUki1IrLUy4AIpkV/q3ypubtx/\n1+jm1f7pfBhg91PVdJBGYsEFXLvWEqRzRFpLw8gs1PgSK6XRYsBYQulRV6Hg\n9fHN1gpj3G2/gfxkEkXLcOjaDim7supvqAW+kudXBqGEdAY43WWukNlrv6Gl\nFsFOk7LZQbwqZOJQtbGoYGxXfeo1pyILtnu6LHSxZCfgRHrHXnSVL5HVLOSC\ne9OX55zJ+KjO5xUUIDoVYcCDtKZ86/1KzI+TrmZlK2y0q7NZWEUEX5sWhuay\ncSQn9cZHAs4UawSCtQTYW2IycEFghY2Xrt/5XhugLs+oZpRZXrVdMi6C/OfA\nwV3a9vW9n+YVn2DBl/0n3wPJkONMmp0QD4sYznAgAfZXBeggLMY1EYyFxpDI\n51K0fwUnntVOy2FbR2kAEG00+wktSddA+N0msby63G6NGtOZlZYVQBHESoH7\nVF4r\r\n=Fs3j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYvQnWN4twRiUEQ2R2O/ojMTL4qBMhpRPovV8C4bhlOQIhANVgXPBqNSK4kP2lnOkMKj0eiND/EQRpMSyAnEPXgsXu"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.62_1587993098882_0.46820385497537775"},"_hasShrinkwrap":false},"0.0.63":{"name":"hnf-core","version":"0.0.63","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"a4a16e5ecf64d8cf22e8611909a4b054468199c2","_id":"hnf-core@0.0.63","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-HOo25Vu3GdPrX/YIX3nZK4nor8ZCZ7iw225C6w2yZ9bfgbnoDlO4cRTKiYFT8avY0KEWvVDzajoe7MxcwCBQ6Q==","shasum":"b0c6e9b2373ceaf941bd3374b2ef0319032d553c","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.63.tgz","fileCount":117,"unpackedSize":88602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeptwECRA9TVsSAnZWagAA4JcP/jgCJiZ2pO1kSr2h0Eqk\nnf1ExJPX5X9ioGS32OJou9NrAux5aPdirOIQjs4eoK90RZsYxBz3vTrcfZlC\nUGOkxRINc0/r257SUYcRCZBYgEGZmLirR9iyG0dBVF42Qx7R4lCIJYio/3X3\ndhOnLq/TNsJ6i2xLFblbTc490w3ytvFCRPA6QnYmv9xM+ZbpAJF7Q64tgTMp\n5G8GO88xL5TrEJlA4M5J0xKqjPkZ8eMZiPCJ3ukmiv2/OzoGFc5OpFHJuH8B\nR4PSuvBA3AkMLVQH5V7UY3WhYLs5kw7zRff62tsx+ZEoxRDpk7ADLqyBxLfV\nvh5BU6CaeARIAnzQ7vccPDh6CPQc0e+1pMeawBpRppfS07ocvLQuXSDFjhIb\nGqnsDuYIeyNZG1AQceH8h57IKH000Ztn/6ZWAGMKpaiftiD2RV/XbnQkVAuq\nCNOPkWJNABRPsM85y+Xpcov9GQwgrcQk/IL6G5GzJqPgfj+/SDULqVfe1OG0\nj6MLTMGUlRC+iLM41Eq7ckwpXU6pxP+OnfnZmIcUrfJSOB2gV7h8PDbO/5jg\nTmbPp8x5lH3TKyOtFDp21kfkRCmLcJmysX3GPKSHLFTP/MMBgm8qUPo2khZZ\nmJ9QGjKTLJ6oD01k7r93dgLC5YsnE82LeA8Dk2F8yCEJN6fBRJs9Nh961hwW\n8TdY\r\n=P753\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEhGNE1V/13ByAn5eCt6IsF5GrJbnWSPLz29p9rbepgdAiEAxwcMmJ10U95jOU1bLv49cMhF55yaSuzb45MUXlWi3Q8="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.63_1587993604198_0.014308658121662932"},"_hasShrinkwrap":false},"0.0.64":{"name":"hnf-core","version":"0.0.64","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"9cc1c018d6e2db04adf7d4bd6e0b677c6704bd7d","_id":"hnf-core@0.0.64","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-PZ2BJp7t3i2bp/2VpIjmW2WCUuWHaa6wUl/1E3IDPcsQfSOL43xOXaANEIIWPtUf+grk2KHZWO35WHPbO6+ELw==","shasum":"ead9ac37925c178db933db10f572f29aee647336","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.64.tgz","fileCount":117,"unpackedSize":88602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJepuRrCRA9TVsSAnZWagAAp64P/jHYhJN09zkWTIY63eT6\nr7OtlR9WcTlJVVapgS63YZqZCqNIv2td8mug5MXuRhwmDvX42MckPrDYVAL8\nrrAqRgguNI9N+bQVz2CamKBOtG0qwVL+s+d3wM5RoG+oAA1YhyAQsa6ykGyf\nySaXex00r/MPp7VcIjF5ktsz/foRkkdm0cyOJbSC+oQOWdD4BtTm1OijUORU\nvUTeYF8Wtgzcc68jcSelMSlzGxiBA9muP02/VL8CbJkCSWx7pTzuholHhThR\nJpiEKsilZpFmZyOZrS6F/ZtIRUcM/hKnVpx3PPL5iG7BZZ5ajCHUCFmSHLyA\nXd//8/3gxL90KoXmoG0BtIwuiHKKvw3CajOby5nGWP4QkCN1BVvQh9iNG5lg\ntJ+S6gAbMCf4KQ/OeNjpbsJLFJyHLatmbMTw652og/sPbmpxjNRx58tw17gt\nDplOsmIJYn5iq7eM6zbnvMEfVGlJ/w2UH6GJ8GA+PncytYHyiSZNs8fpMwip\neNHRtaT+9XeC9EFz+r3MtpieSHt1vJrob8EgCZ6Rt3JX89udeDqqfesplU75\nMsAW6lS41KkX2nGRLLXThbu3F8kIcOmB3fUfAhZDg5K8ow7lju/dnX4Kibci\n0HjWiOSCIhepw+d1ePW1j6K9jMEum5wMXK418IcUYJLnGNIRgQCbSsHoUNwr\n9+GG\r\n=9y6D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfHs5BxMlwCjIo9uTwgjEsUFzFcGX+l/bzBUFsl7+jQQIhAJmah1KFdC9PYSxj66mTqYFQG82y6akUQG00Cl9elLGG"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.64_1587995755503_0.439422797811414"},"_hasShrinkwrap":false},"0.0.65":{"name":"hnf-core","version":"0.0.65","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"6af22a20df66d068a0016e1008832ba5c4288bc7","_id":"hnf-core@0.0.65","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-s2pDAehVfyuPC0+mCAzO95b6FEz7W3XdWcnq+W0JaBou+nSaGZ7HerNJZgmND4WnC3rwcw6XQstOp0FEy2EAjw==","shasum":"c8baa1dc45d3768d766da3e71f08cd18d8a7086e","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.65.tgz","fileCount":117,"unpackedSize":88602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJepugECRA9TVsSAnZWagAAJb4P/1EfbrXX9lIO5NFSeD66\nbUBML3fLsYg32YBhqtHOYnO/iqag7ivC862VptcI1g8hksj58zPjMrf9wObA\ngnzrTrpdgF/hgWtNWbR8UoU1YoRZ4oH5UCIkx0efQ8uvCb/SidxqG5HsbO4E\n/4uvJx/R2UlJysJsDsgnZ72f4hOqU7IgzdhUKm9nLGocAdvnJWjl6Plyqr6p\noYzEC1Z8vdBrAHv9Ko2FQnKERofdfUNmtDgN9YX4D7IU/a6WkNOlu8mm16wK\nVUHce2px/nwSGXAwx7zon5eBJ9dQ0sXInFDajgrdCWRI/6AvoZCnlrHmBSIa\nBDoaK0c5l2VuCrThsLYDl86JzOPhLOxSZmFLeHSBaeh78k8prCpHgWAhXN7z\nh1WV5ttJcHP6gd4VnvW0He98rRHeL3oJD8uGN/DwL0aELL6Y4u1GdwipyeZT\nG71jQZh3NpqcYrYAQL8J5BbrVVloRx9kdO+ssOZqARA2O6OjtPMMcowXdaWk\navSja4gjrJSt8m9D2alzi8osykZJ8/2+kaklSA8ogcfguXOKlMn7SEDqTZMw\ndc5wLLNiMnaJOz3Ewm7unmhbIziATyKERpc4PS+izgtvBNO83aMyISS1AqOr\nX+QjwVUrhO8bp0Ely3GGqyOfilg1LF453YnQDIra11xpAKOkDgunhcavdv77\nr7fu\r\n=6lFq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDxD+fIGm163gM7ovpnJnjZ8NRZ/nTzi20CMJMQeh5qrAiAyhlanSr+SzBtmPeimVn66KuE2mgbpTSj8W47fDUxfNw=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.65_1587996676411_0.3207336992337615"},"_hasShrinkwrap":false},"0.0.66":{"name":"hnf-core","version":"0.0.66","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"e7a25ec65cdb3f1b9efb77eb248e48d27b88316f","_id":"hnf-core@0.0.66","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-mVUQUsgj1HcxJD3U+qXIjtW7YAUn/dVv0sG4X90s+SaXe9eb697QLIWJFQrWqvGCl6P99Rx17N78fyvTo0KwhA==","shasum":"d1dc8a561315155e39f9d3642269355da7ea4de2","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.66.tgz","fileCount":117,"unpackedSize":89183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes4fvCRA9TVsSAnZWagAADXIP/ipaRHEWJ/9mYjPRiV5K\nJkv0ICCUZOpb/3+ffqyQZCHwrAVxLJU3t5ktOgOfgQHV7+ggajWQyP/MZWxD\nd9dSXs6MfzbGHh5NIYE6LZV5WHzSTAcVTWCugPz1TG7mooJc+ffOQxCizf4D\nK5SHqNbl0bAnbvHO4Tr2g6GHgcUJ8hLw0obi21gewWDIE08P8YTundlZmKkr\nVhshUyFdvGDnrpcWFiLImeHuYixzvTlxyY+4bBy0IBKBy4BT9+f35Ry2CRo/\nExjcIIJRKEIw7z+2NL8/fDqayYXv81h4qKavpMZtCmVBdIS5yMZd5kx4u/6Y\nk/phI7oAqUjSoc/6krwdTY3pdiJE3YAp5FqjfV+gbBPUKqnEQHZTmhLZiV4/\nbJanU5zcNNl32ZmChjxpPzl2lboK5q8augvNaT8RuDQBBk4nHhyfhohvib7j\nkEF7CIuFWfof0vuqPOlBA+N5sCpu2chMRKPB3KnMC6gatO6Qlv3FvNsrw2pB\nw7r1yRBvkzoKogOTKFCJ1ySItiutSShqJ2mWDLX2rQIJjLVzGQ7HLb+wq9iB\nstar3gwpoznEjthJLMhpDtmlKxnc0nsEdKSZ21VYwGyBo7FSXXYCrG6SqUB+\nfajWr1H10XyDTxM/KhCWz7WyIw9wmb+hM540ZApBEkQbUXtuU2wUiitV2HhW\naBUu\r\n=ghL3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZtrXsIzWo1h1szoQ9SCA+vsN/8+IL4CieNaGAFiOf6gIgcA4Ux/FW1Oy+/FShnr3E51Y0NdfaAZUp8ibWUy5Ewbw="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.66_1588824047071_0.6103095774210061"},"_hasShrinkwrap":false},"0.0.67":{"name":"hnf-core","version":"0.0.67","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"7f442bb413a20af301cce0725c60ccc217930c5d","_id":"hnf-core@0.0.67","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-Nt4aueQlA2S0UYfolZHNmV024YB/LX60V6OaSZKvZCTxctvftLJycONzAjBqO3phS6nxgXgp3PjLoy3gzcBGwA==","shasum":"3bb77861eb73274ff655015ad5c019c8de2387c8","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.67.tgz","fileCount":117,"unpackedSize":89183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes8acCRA9TVsSAnZWagAAU0cP/0FTvEi7S0DbqJTtAHcs\nDfU/8FOtYQDLtXlDJPBURT0eTZacaV8mCSeX8M+rq3AeJwuBOqVr+r/eFv6V\n9smBe1uGVTiKrHgCoZEJozfruNvQZGRx42YWJv2OGtSrTMEPYig5uEIhRUQQ\n475gW1y4MnM1rO6F4l8rcOsJFZh5lCDTjWmUMtrHQQv4rTnTBW7mUMThO67a\n4BlWUgjjSqOv+yjm8G2+AfQAOL6jj2l2LFMGgsgHAsORu98+wXnmAenCu89a\npduPj9JqBEcq2qXdj99oiZODZRFvKp44Gt7qfgaElLcj7gxjKW04qmUhNfrW\nsN9Nkca289zg8Cjsr9iWSZHBCD+5fg87WVn9bsZpvU/wOPnr6Tm68H4UtG9p\nZ/qxbewLgkSDrnRvz5bAscQ9fywG/8PHqBa/xypPBoOVISXCC2UvIkEcvfaa\nUQ8yj8SEPD0sOo8ZvNxQy6UyVXbLDDQEKtPy5pzTnhHQdXNMEKQDzue6Mw/9\nE99qrBB+Bd6AyHXMLVunYgXsI5OZHe70I3bcHP1ASJ2TyhuCgqZRHKyIXgV0\nOUvEpPsTNawpSnHNGkkk5nl3Miq2Ki6SkXFTsA/B965TeMPIow8YaumAbKCt\nvfnR39FItO53JDEBxOIzMWmPsBDH6mZD+A9T0ifTBBaGJgMARCq05Lc+m/GL\nxS2Y\r\n=mWIm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGdsFKiToLuGqM/Kcr81Jrx0D02oPptsWefhp1HjbN+JAiBVHGJI6D/Vv7bf3ZWsRhe5tB6wyGm+brf3OqlWs7LqOA=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.67_1588840092425_0.9865324238561424"},"_hasShrinkwrap":false},"0.0.68":{"name":"hnf-core","version":"0.0.68","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"16f8ffe95835da811d861cabc89f85221d145b0a","_id":"hnf-core@0.0.68","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-CRNanEb7393b2n5KhcfPsCDEkXbh+bcHHmHUEdTtW09Bdm+dju1a/4VVfE5PBw7OrQl6/uaZOoiEXEmGT+fW/Q==","shasum":"a50b84bc631ddc679f2b2a9fc62af52217138158","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.68.tgz","fileCount":162,"unpackedSize":137899,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetAZBCRA9TVsSAnZWagAAEJgP/1H8TUS1slIkUdfm5BZ2\ngfqPQxwpdvJ5uB3dQ0AtC1UtCFshKvPUGgeWwAY+fO4H9QVF0ND5Yq5+k0ql\nf8ESxEZnDy0q+lsv3A76KgDWqZvpH1uRz+7FfbdM0II9UyiD15jewgyJNR85\nD2OEQFDGQVm7TQqhBkgC4SaWdMB4EoxWnZPz15w/WGSILEYeDbZd526lixFo\nDeUO0/5msekqjGs4i6zU6i/CVl1/fgeKdUdSGzfWxldrHQnqItkil2kwM7P9\na/7bgHNztSrI/5jwE8XEiHNOKA1xiY26c3FGOxm3SUfirRPdry0nFE6k9TqB\ny3SnAidoIu/UZP33jwOYFWuWCMq7opq3YT5IEOhwj8AKq0cH6N4Jcv/I5mcP\n2uHIm3hIgXVYJTEuQqSZpM6lJo9FjTmwmInvjPJ+QZfq7SIejMsib60CL/fJ\n+wg8FoXbLtq3FhgjL2niU3JtVrTHNkFKeyAmE21EvRLB6zkbCJgdDin2YOu1\n6C4ECPw0r/g0f04B8/owFSjVKq3bZvNT28+rMJ9VMgEOGkNewMhbJnicBfp8\nOozRYM4SP70hcjWgC7ENgaTUHRiEMcr61LBkrnNjZhD4dfey2EmbVs7ZAYWd\nO9on49VR/XrS0R6i21BcoPARv1mMGiK4yyEDyBksXx9XJjZTFGdDZ1blunLk\nx37D\r\n=EF+f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcRzjASd4XYh638MqA4djAKkzhjvsUdhUMpEaLcWIZfAiBGks4UWB9ImYkzfnRievXYscey/kSoH9wVpKGKFvBWjA=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.68_1588856385486_0.7780835316819363"},"_hasShrinkwrap":false},"0.0.69":{"name":"hnf-core","version":"0.0.69","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"419ad70a95be2edf1e76523f550d0a0b43402ebd","_id":"hnf-core@0.0.69","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-DJqBJ80PD3qMb57PbC/eZLCqjvL3ilJd0OnV4fcrlVrpYRJwuBMVWxTtBf+YCFSYpzJQyr/d0LFC58eJI4yuHQ==","shasum":"aa5d942e3a703b89a22770dc5625205560899777","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.69.tgz","fileCount":117,"unpackedSize":89118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetAh2CRA9TVsSAnZWagAAwIYP/AyEEII1HJzC94vUWKwp\ns6Yx4KTfD7kwz8c7aIfLWGt73YOQldmgEpVR7zkHBIy6l7i7zZJq9KyuXRW0\nBneNdhSXM7JNh5fImmaz7Sdm2IHzi5NVpL7kxzMhsbUgbh2hQ/yHe6UHgQ0U\ncNpLBqZbcxsUC75wX9hEkCt8wrxPLUPkSF3J/qj5r3P9dtlqLSyR87hkNwgr\nNw6gHxxxr3JqnWKbByZWQ8+cLeppzUEtfHHnD88DbNWasIEbly28ykqvnLu2\ndllivVfQkywKVHOAZWCy6vWQMWo2xNpOtfyEfv6sKpmhoTtA9ppAUnQ89HWe\nHQX3svUQTqyouX/2By5xJ+wDzMbmJI8UBBpfWkdcHf7iUNPfxBnafsGmjk/L\n5rE2y9I3LVgkquZrKuO4wDtYpCVfFqOQjzvRGhPB1QdxYifLD9o+uWsPrQCq\nGIjg4ZCX+DNi1D+vMnTsJEj2/VGmNo5hggjJmxWVKtgSBdC4wGEPaY9kNBBb\nCCXn4ORmGrasaY3vWu0X5jcJU++pJJF6dwjxeRp4yNHETmY5Vx9lp8LjmA+K\n3+sxzjewgeqZmFZWpF8hpOar1jcLiCPgVWODjTdRXY28ep8xrlPmnUuTZfi8\n4DjYMvOH3xi/qIwhL6OwmHu3jQM9a2MMsc5z2ub5e8nU8kZmvWFLamaLXqSQ\nQbiL\r\n=1eXo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+vEZDf3VEtmm+1Fh5u0kLkC5kLz+zZ80uy4we6Zm0TQIhAPumCuJiBLOQ1DYjULZTo3uzEvEoPLdkw3+yVwlKyJeK"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.69_1588856949611_0.015862469500263154"},"_hasShrinkwrap":false},"0.0.70":{"name":"hnf-core","version":"0.0.70","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"5cf8e2eaa8bf9e662749aa8eb3004bdd84efcd0d","_id":"hnf-core@0.0.70","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-Kd2oANnbEDiUFZ8w6QWEyuVpdSmfQe1T/JFI+Jd95UkmhKiQ1f6nuO59oGUlH1ogRFmCioOCeLOJY+lEblBosw==","shasum":"70a274ab2196d198b61a00230364b0dc68f72f00","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.70.tgz","fileCount":117,"unpackedSize":88628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetNSECRA9TVsSAnZWagAAISQP/A86r0bHBMrMElaFsfVC\n5rGsRk4Nsc0kuB4t1Y6YwbjS/8nmzSrmUNTn/TzRcCEX74polCXSnBUFklZk\neR/gvDBJxFfy2ZHzriV6Xpi6ALghKNNR1TF9Cg1ydmtTN6MRsuBGjt3Kccgz\nGUYKsz10M7cgJvZE+M3IHsMbiR2Lj0V/ucxvptEW+6qnYJeP6Q1z26EaGw2Y\noBt+hlXvvBqL/NWoF/REbj27e4ZhppweNKW85rUbWuxjUw6WCq2aChzupqIW\nlf7O3p4WjR6m2NCSWHjAI1L0PkVCt7fw+jZs/4P9adNKQ2moBIhG2ujYgDnd\nbFqZszffCFw3XOSTRFdTvXbPk67oSrNWBbfFvs4sZ55BuOMz12BZDIEunmr3\nx6g3Pns2bSG3bfD/psE2eeSh8pGF8o+k2G8eonFv6T0XZ0N/STk6WgXS32pw\nuGdPv/HP5aRMB/ckkR7+8ert12Zm3pHYEwa168CggYTSHiAZEaddUIJ3ADat\nihL3zEjgEoFm/z5NvKxxA0iWbrTz+IO9G1lnm3TUDjO/4yb9ykPdYGjC/pED\nmSumT+ZAFVKwqJlIzsBWmFYEQXdoLCN16tN1EZ1RSTq3O+AHmDqhmZavjaiz\nJNmnU5ovAp2z/SFGok4zgvoiDVYk/PNWUMH87k6sKj4JmpkRXPphLhyQ4Ar6\nBTbw\r\n=1Urr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD26LubO8I3Nl4903rlHzB7nrfFbn83PBC+kpy36ZyjiQIgMjLWzWviGdh2z6WOJJUvOE0fKipUVzkob8DgHsyUpso="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.70_1588909187591_0.39319529905580164"},"_hasShrinkwrap":false},"0.0.71":{"name":"hnf-core","version":"0.0.71","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"9f941c2974c52dd53c7f5918071045f34f0a1f85","_id":"hnf-core@0.0.71","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-JY0AxOcMLLMlnEDTf1z1E702tTUuvz71EQmGli34zzT/FST5XiI4mHAbShHaJyY1fQAX3ldYAbMs+WTosl8moQ==","shasum":"67a830296d6e1f9de0b2afc40839e55ddfc96f9c","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.71.tgz","fileCount":3,"unpackedSize":5104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewn9YCRA9TVsSAnZWagAAKM8QAISaWs5gdb4oA6sqQ9OS\nS67LsXJUouTO+3hgXOe4y/hy9PUvFt6AzwhMYHU1qUMOb/IVlv0Fcrzw5ISo\nm6PtH9mfAMJOkUd9mOXF0J2LWcVVSlxl8CSOPtVp6R3UtywZU7px7Oo+8rhI\n4igp5J+jctrUVnchI8AT44pABhUgsw5zqsirpZlMAybVy6phjoUD0xHFZP5V\nBbgRdnf7DnerP4pNs7o0MSku74sVnJoBd0TnmsdLThhe3bWrn55gNoqBCHOy\nyR4UeIB3Txv0LgKp9t1l8+b5m8VI3k+jv59r7Be05IJiDL4AYNqkiLBi9h2L\nAHDbFBps6rcwXCNYbHL0W/QJyEOp32bp78118jzc/4VT2tVKBDv8fOr4Wj+B\nYUpmEd/loxdm5vNp1BtFlrIg9eBwbqia3KiMkjC8uaSujXJuPh9cIrkEY6L6\n9RukiBdmO16F4tY/50/s7cOczrPdaDLkRTNDD1mfUvhyenAszo/rgRzrxHHW\n29+vUFUQRnm9xtIN2r5MC/Sk6eFg1V82cchBtTDF3iCeL3ckQCOdKYToM+jC\nsR81UGeuJ2TzjAAReA8ZOPWynK0Bf9CtwwejajTLKSKlpuxxOxNidx6fB74Z\n3U1t1PSjtwGAk0rj0zKHeTTprQfLxeQdljY35xK5uXC1Y11sk1532xKH16uz\nWz6+\r\n=lWED\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbaJ6mT7X8vGS2P5sjrUSGnxcX55iwQqcoAmw6LMWkTAIhAI8svlQOLVGdCsGKXvBi6fDO80PnpASxDD1N+8IUWs95"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.71_1589804887705_0.9920256333406914"},"_hasShrinkwrap":false},"0.0.72":{"name":"hnf-core","version":"0.0.72","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"bf6356a8287a58b527853033f2a8b4e79a35a9b1","_id":"hnf-core@0.0.72","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-0FraC+YkalB/VEhsBgqOMX3kLKQXQbjO932rhQKms/BM6THYILXrd3/rvqRtzSqKffKNvFKLfqYsuJP4BpQ0ig==","shasum":"c0df3bcf64033af44523b82b9ab462b62fa84660","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.72.tgz","fileCount":117,"unpackedSize":91206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewoN5CRA9TVsSAnZWagAAVHMP/juAlS8bqDRow4ZhjLJx\nnl+f+dotC03gSuezN4fmzneMyWgC3a6HK9f4yepxx3lqAg8R97ajl2BZENlI\n6jDh95WsSvFJY0gQgYkWZVN4J+1DQUUkPsNGEOH75/fBaHgjr3d/NMmNlXod\ndiLXQw2HzC7MiF23rfCF5FpKqiDuANeiiTjkwlmMxsLwG0HZzcJNBD/bcz0L\nHfnuNiemX+knLXFlRBRX/UBd1kOTTGY9jbY6gboyuFjLBrdN4iaKCX3m0IT1\nwX0B1lwmrly7XNb1M+jfTvnFP1f101FPlYj0wjVVFHKTdOSdS182RLhbjCGU\ne3gPpX5ZK3KmA31EL/lbPWevbhGV1og7YhGmHn84CysLbsJSAF7TEQzm7cJx\nIjlHFdxH73ZqIrVo624bnsTUtGXciMt+bZ/Uj+hWUZuvIy67TBqx8bsb6apH\nmR91aoy1oXIGrR0sXq8hpAulgZLbz6ZGvg2/TmsQ5K3fIVxMQJYCH+eQgCfY\nOWUKQMrWS5O8KthLcftKzj/wD9ZsOC3QUpv/AOQHaaZiv/Bs6SoCGe6LTPqb\nap21fSrZu4sr4TLyUsQawamGogybXf6/i/Z38ASOIfFdQLm69d75EocbUGkn\nmYhZa17H3mZsv8hxTJuj2WQuwj8sn1HVugqU3EloCQh2guTy066DjWV4Nu8l\nV+89\r\n=qfUI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZjFgLi3jYVVFs+BEzH2LebpwL21z/5/1rZR/L8srLswIgBrHo5wC8Nm+u5BDRcaVaNtg65Cuj7ZH+INhnIWMOpsw="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.72_1589805944691_0.5409192320527483"},"_hasShrinkwrap":false},"0.0.73":{"name":"hnf-core","version":"0.0.73","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"0d14d558ab0cfe8d88cdb99760fb6625e58e6856","_id":"hnf-core@0.0.73","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-DFUG1rrwtLjO4CYiZ58CWdH40UY3jw4f0Ac2X7FS/8+BlRLykKvLHzaGbcZi0IQ+pK+0C3Y1XPHoJCq9JqSz6Q==","shasum":"603b52e102fd81918d331451544a2b8774849222","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.73.tgz","fileCount":117,"unpackedSize":91232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewobUCRA9TVsSAnZWagAAMaIP/0wjwNoJq/TT/w2TArtJ\nj9H04Je/LggqeFsVOwZ81Fay93/s9YaewBJeFhPNDFiPwTvHLFnXzVmzwUc1\nVW5EvPX1nUhM7yB73YpeenX6vAj6IW/aELbO3CU4poQ16P7j0P4nvXWg9DWp\nFnEIbWtyB5yXv7Kt8+31rPe829bLiMfpeixnNiDGvWprwHjhDgI69DPIr8y6\nOLqjIppbFlGmKpd9nmJbqMs9B/2pjhMvyS7zzIk4qhnqveKaJfYjoaIutlbT\noIv9+ss3Ib+rbHLm5ORBSmB9B3bHrzpFzPyCaZngIs4XRtG1C4MhoRDmeqcz\nmOgvl4d1je01LNjmO3XmHWdW6DKQ3TzPRZD5wXPTMMWqlKt+x46cBDgZNdBF\nEVW+vVX8h8jpvSL9l/G/GNtvhLGiqcAeLltcdxI8fM8GZTQokatZQ0nm4zTn\nNrwJw85UqsBCGOJhVrEGvxQYZy48SZpuB26PjJ6KKmwbvgR8tZkYehJgFlU2\nfmSaNzZRG0d1tnMp45B4x5NiHhIRlMvASU0iGenq+kTbkTgl1AKAgvH1a6Zu\nQSXAFU87gQ+QJnkd06WyGhlSiCVPdPFeQfGYrR9p1CqB0To7swZzPimJy0JE\nIFGMlAczBihGPziag+iHv5PoRLik0ybWUzkFvUTTI9gJ3g05CgVoprqFOz6z\nNi7o\r\n=v+SG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHc+B7oyrklDEvg669Gp8s8BDPMsGGdqN0j7le/bPkKTAiBrNP9cMBL7u5HrXvPaz+hi4PbcaJiWP6ToSxIwwdjNiA=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.73_1589806803960_0.5385874592157014"},"_hasShrinkwrap":false},"0.0.74":{"name":"hnf-core","version":"0.0.74","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","path-to-regexp":"^6.1.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"bea0c6bba289428f750e66b0ffe491e355f98481","_id":"hnf-core@0.0.74","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-6XjQs29yTkqrhU1oBwkrvRe+H/PPHUi+RegKi6/JEc5hgDZp81Fxpj6+GJ2jkqbj+uaYIoCnkbmXMERuwP8SEw==","shasum":"b4b22e0a7b323449f353410b74c7568c6a1301f1","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.74.tgz","fileCount":123,"unpackedSize":114082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJew96gCRA9TVsSAnZWagAAmLIP/jDubk5luMeXf3RsP2GE\nAk6Zv5sQlsKJbIrfq3cALxJCG58YMIE5bFn69qdVFruvFgQMFkNuNTp4zOZd\nIB8JUdaxFOvN90LHbyv9U0laY/VL4Ur/KateKr5AAyIGacCnOVhM7XB2WrbX\nnMF2Uy2rN10b6nhD6LE9vus5A9/ZxrNEugu6/s1GoLG/p1Es2dsodmZyBbT+\nHXiz9JNttkNpuayELmVGoVFX9RzunPVmCsYoL6eEzbhuGgUjOzAsE0LRzblc\nkcfhpu++Kz1kLr7a3GF1PJZLhct3sFUQEK8/MZCsv/0kW3R9eKfNzGSTHX/E\nUPquL14gdUTKc6OgALTnKuMUStAaRhnLI58oFtXBPfSEt5Ex8dzd1TSKJeUs\nDiMgxZ+dTcmIKGHQIteq8VMjD/aXXUPb/rbiMSIk7BwOGQYYqQaJdRe2i42V\n1x0cRg85Dhuz5fzF5UsllFFLCax+3FbCKidhOwUZtgeJ2EPjVjbf2nelVUix\njgQjX4TOdQfG20lnZuJ2tazF0n76FMbOqjCRSZY3vwz+rdP1kuhIOAmUWU9E\nd/ytub/r1IeZK5n85aWvAQV8W68b1fCQKFR1aDdL8AJIygjtaJQCn2qyEZ8U\nzcScKTuZ5pWdDycHMQPUC9hgegTJuOf+ykMwFAktaD8+bp0Nuvk9jewnTS6q\nL6qq\r\n=WkFe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKZVMHgQbqfBlisOEzKkWJPQYUJcwmh/TnRR5bdj7o9gIhAJLQXAEn+vw3P1yqYxMIEuiS+zl+dYl/+7riy9FTLPnX"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.74_1589894816278_0.013047373853430466"},"_hasShrinkwrap":false},"0.0.75":{"name":"hnf-core","version":"0.0.75","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","path-to-regexp":"^6.1.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"80959124d5fae6a92fc35842d08261ec92e5e7d3","_id":"hnf-core@0.0.75","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-G8HKZYq6Od6IPWX3E3zCDo+A4Ur2ro7rHjMazLTEIL7UDMdOiKL2iswBKWywUyzwZi/vM2GUh8E4HFInFALV3g==","shasum":"abd732702a895f3c286c86fa286a317680e1ed64","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.75.tgz","fileCount":123,"unpackedSize":114273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexJPvCRA9TVsSAnZWagAA8gUP/087UzG2uEbpygJaWGq0\nEwUawsGkJkf96b0+c6+pnaiJyR5FvOmgz+T19qOzjtAlhHTZPVrXoRsnhw0i\ng0LHGU5kQn5vFMOPjmDO4u09FtyYrmWqPx9SjRe3UT6EKVcI7WfMBp7Yrfih\nzDMIcVechmF06sQG+B23MswIvftK6CjM8h0S2wMzjks5lr10aEmujmI3X0MZ\nNkzVT09y+NnuYlpgaibpyG/eecqXvpaKNYS+TQK9cHRZgXzDwFVqawvP6WcM\n2eMMWSsGbzFvPhSRSNP8p/ab+VM+ApBsjqybezjLImaRV/bQuov6J2KAeKz1\ntEGM5GC/adVRCwsm6P+5D+t5ikz3Mid8hhxSR6PtvqWWgnc+OQmYQEj6zt/c\nWKYXZUrChytuwWj7/CtbTd9VUgd7bhNR1LYkOtO0jNo7/qCtr0V2vsYglzLF\nFQ37Bdng8WBUOTYObLdoAuPNm/Zkk1umn/EW/0EYQDAgRqjiGOpntB6APj8y\nYQtDWpHb9eBgmDl7BwNeA02CBHxzLRYZgHTEXJItZry9DtirBloK1c2Ork2r\nP8as594Sy9z351+WFERjubcWFMHAj/UypKMDlmAv/0/dpQ7U9gcCtJesh/qe\nNj/i5G4uHJJWbcoDY6ERU9kQsyKHMTZ3HrzbGAqlHQNbshcGa9MLhoWO6E7P\nZzBH\r\n=Vtwj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkP96JqP7AbnUsanEgC69suPLSQchcBccZtusbXvmlIgIhANN6m7fn4kbkBw1gkE5xgCOyDrrPfx1ew2GcErB6Nzdw"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.75_1589941231548_0.11681073684632937"},"_hasShrinkwrap":false},"0.0.76":{"name":"hnf-core","version":"0.0.76","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","path-to-regexp":"^6.1.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"1065da1fd921e59b86db65a89934f6f981960bf2","_id":"hnf-core@0.0.76","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-Kgty58hCWz2m9qojVFxVJ7o4GxNXH/3S+MegRe6gEbTLvYPwXMO2f2+Jh7c+Ez81YAbk1lUDifkmy7c4RNUJQQ==","shasum":"1497a455ada15365e09e8be7a98633c453258dd0","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.76.tgz","fileCount":123,"unpackedSize":114468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexOAtCRA9TVsSAnZWagAAr8oP/j5ngs2qpUOITBrdFgzf\nPQE4XHg4KMPWNDWb3Awa1ddxm8DV5dPCGiTUBpR4+envNjnvhzzt28xR2j3M\nQvjgyn7CAeXqZjo0wk0qmS9kHhv7BPu4p3EfdDcsceRNjzSzDFl8mu/HK06l\npeyRusRUmXcm2dcbXQ9vwL5TmWEuARtVQyW1DCrE+nnKasZ+2pNeTHjZIfyt\nd7tPWmKQpOIJvR9XxCZh26SL7Zp1lx8mlIiqJ9V5j5lYp4AnWxdQ8yaujQ6k\nO48I5BlFWQqTUcng7GMz2LPAC7lBESmQENIMMhpirnvMJPCM5AdOuuOskrZ5\nHZIFJUXkF2nnDfzS+htWhsnHuIOBqRdeY89XsNTvpo4E4zmnh4eyLrkJ3liQ\ncEcI70TJjgR2Qpn5p/bFwS7CXlPI1foNAdaMFH+Ad59HMKFSPW2F/n+3p6bY\nC3rGDloqOd9z1Robuh8je2YCJCt49KdEflSk3K3JTumOC7/vDkAVEXzSQb6o\nSTSNh7GOlliEVKMF5mimPaOZF1aRGkof8NaNbZCmrVbkUGY8GkZxlKCfRK7q\nANOeA6sf7bql4ZSq6v7v1exUbJ24vj5Sar0mv+QZfk9lhTC1FN3NEamyF4wf\nC2dGOjyIc001OSkNb2RKQ+epcKqIhCIcqfhSjDMBAZ/0adqEAQX5bJMkyvz5\ncq3v\r\n=dLnB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID2Kkr4hWVnglh9fCFfjqAYGYv1jYq+S6tzwZ7xhKhlIAiEAhso+YU+2g8ZQ2rGdMyexA0+B8h9Mf+ji08OZBS27sDA="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.76_1589960749285_0.5524209910630815"},"_hasShrinkwrap":false},"0.0.77":{"name":"hnf-core","version":"0.0.77","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","path-to-regexp":"^6.1.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"5a5e4896d912158429cbe37f442415c8be604941","_id":"hnf-core@0.0.77","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-m9+0hzG4Gy3ag+jAJY24y4PfUEz+EzlbR5cdgqUpwiJiuGLmXe6T37tmzRoSNeH5MGJ5bmDEPZC4pPYECoR4og==","shasum":"585c75572386a5b8ddf27f7aa3ec5a4699b79f62","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.77.tgz","fileCount":123,"unpackedSize":115551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexRRsCRA9TVsSAnZWagAAz4UP/iLh7t2ENTTtzjZ27MxW\nWJ4qKhchAM6XHlQtaXx+zBOsCYr9RAQxm1IBPKkHGmswLIH5JojS+53aTSn6\n0hSuHB7hfTWHECC8H91RdbvqFDcWYohFZP8HD1Ycih1BAK7hZFbJh/r1aPMC\nQoK5xR0ElWU7kKstal6OiyV9KlWWDpX9md19XV7KKIkls73UA3Jta990kZ7A\nO7IRzWlGb6uQ6LitX7/r58+YEF8y4MEbd2hECby7a9d9iECgaYvIxY4vnTsa\nLQDbibnqfPJf5PB1k3jN6v7f1Pf+ZYBstg7JA9svbfDxprqE7bu13Bm+uvLG\nOmr2uoJ295I9CvrMJqVPxWypLet9ZAriKoIUeEgiwpKG0jGgwz/koYYt03kS\nBK9agZu6XUeLPJ4ZxiNVqi4/LAEy5H3r5Yq9e+lzn+7NvebFBU0hQgjklY3M\n75pCnRtBVS/CHIVo7KGLNdK5H1HIQklYOIRLaMyDMhYurhEK216PUGzCbH/D\n2SBWSWK74rXjprOK1nSsFcDOikBp5e4uAmICMI7ESTMJSYDRiGkdHmKSxco2\np2Jbp38zCtHq74oFne+BxCZZKcqMjHBek4oWL0iixWK3SxhxwxMoC9bX8KRA\nQNd2ebc/s7oXxXkMjr5si2rodPhf5fsGcTpByKGaLQLx9l/RdPz45XUggKS6\nkIc6\r\n=B54d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAdMYP9J1WtuOGuft3+6A3abZFKalDEokk2kGepE0BbTAiAzkbFo3jNi7Dg/pzdmeQGJBQDY36MZdHfIaGcnCp3KWA=="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.77_1589974123591_0.1725999067052555"},"_hasShrinkwrap":false},"0.0.78":{"name":"hnf-core","version":"0.0.78","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","path-to-regexp":"^6.1.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"0c4a1abae9d63ac3e0d81dcd15b324f0c178bdba","_id":"hnf-core@0.0.78","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-GPSs+NP0cvWkFPkE9qL0Ccp+wcaw5Z9g3U92zrGLAuqHTFqOl5ktTkKPxkL+g2tKYNI8zrl/pw8hZTgvMWirfw==","shasum":"b28c9a0ccc0a586da383ab5c419d36497854aa37","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.78.tgz","fileCount":123,"unpackedSize":116131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexSOrCRA9TVsSAnZWagAAgW0P/0Jh30oyuqtbi/hMRiuf\no1H/jtVpXVsUvnriHmky2GknGBYW5zHCxPz1uvq1rwOkOfZQoU72VCfxpZ50\nzMjrUU8ph7AyCOP0YRc4FUJW+hMbb67a87t9pumxvMXtxelz0Tm1dPO4w1Py\nZkQ/emoJ5TPkbvmuleLJK1wrcr+DZ+8c6lZU83A/rcXdn4Y04BEJu4R+pLxJ\nZ8ZWLJjkZ0J2N+pS5w2HqwKy6GYNEssQxAV1IcZXsQ5OOPbEj8rwqNG4mUS+\nNn+qnMgaA8vXDO24epnO+ZAzvhWHW5m7Tf/L6neGBiEJUL2xx5KCrUpzIrXa\nuY63bS9drpJXmN8yJTif/xGys92ixL+wMR6xKal6qqjVAnoXR24Uw+3Asq7n\n+1fC+MscnWNMx0d/5ICss1VJYBmW9A9GPYYR7Amg7TO/sIhCw9pIyxJwUR++\noSrLzegVENNHC4cO5IGaFp5orBBH0YHY2qmd7mXF6VFO6siK+0hCWMnsqCcN\nTz+S52fkDG9dImRkUDjITiysCk22H6sGau4OdvrHX5XOEmtghL3of6CvpBnN\nYDZv3SooifHo0WV49eu1Op4q8guJbmNqqSWU7VqY6int4T19EsAjXcViE58h\noD6ufHZBS3uIIkYyaqg6wAHTOzIySsyG3eInJz5xZJjXoQxRAQMNoJH1JhPd\nV+Ti\r\n=CZHl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRLvUSF/2NKt6D1ZpcUse63sT3MZFYwhg1bYyvb8zaSgIgDqNTvLRV2K/+6lA9BeTSRcQoXLcS6vtSsnADCZigwoo="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.78_1589978027164_0.3273533148238408"},"_hasShrinkwrap":false},"0.0.79":{"name":"hnf-core","version":"0.0.79","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/index.test.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","path-to-regexp":"^6.1.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"3a7987695c2a56657331695289b3788b3cd370a0","_id":"hnf-core@0.0.79","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-Y1OHcPEswh+9uU6qDMmvqQkC/eexGfiAue75F3eP4chPSyPyI7ymonnJfFQNdnPLP+wXGj4T/m7vQwhJUD6Qeg==","shasum":"c78797d03e0776ad1f3a779fadebd093db07944c","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.79.tgz","fileCount":123,"unpackedSize":116370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexSZbCRA9TVsSAnZWagAARRoP/RKC/KBQBrDXnvTS+0dV\n1Cr1bKtl/Fcpd1dKchu9kQ7s/XC2cJgELDZzjzAiASDZHC7a5cNcPTzi8z8w\n9EUaCruY2tYshp1M59YJNJEJqm60uQUbTsW4/ghcC07oqEo3fS7Cmn7w/AzZ\nVNbKGnefr4ietu0nRN/zwVbUMfzyu7+mEw1ot6Ow6O+56mfDCP4xlxBF51ih\nBxvHiQrt84kLxdbUSs8rlxsFZY77y/JWH9ofetsIuOdy5bPzyeVHkkyM0P7k\nwE01jGL7dCvfpxIKj/DnXaZ62LVGJHA67V5J5U06MV0rsiwXe7rETLXnFoCQ\nS/XX71qRzZsQcA16AjZQrml0Y7ebZjPiKwXmkR2d0ace+4MgqUAE6RW9Ti+q\nyYzVR3WCYwJPPaF83JQ3wj4NmZRHH9xonzFituhH9guc9YnE/kOPa0z+gy9W\nGWH1XhImIQ+HXtOd2DjIdrc+SN+ScmQ+ztuu2wbMo2np1ZjLh98Jlx/htCHE\nPyz0u/OOgxZk/v+aau8RON3OmbsITCTxjyxWaMVYpsfVwjTEXawDXxywhgKm\nqrshlKbXWL93z0BhtGxDc+gQYnC/b8JY4wWtS5yJu/1dbYZHUtHolJxUuKoO\nc3+GtaGPi/bEewm+zrJoFh4gJHoAL4FIuX+2IJzt2ZHPSo3QRzJ7nVg8Il2E\nRAPX\r\n=rHit\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH3Hp949otdx6rj04GYxd6J1Hrzs6OkKlo2d9nnXBM5DAiEA5UMge1nwCenkT2QjaAeSx0Q/Nhug9Gv8ULiXZAN8EP0="}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.79_1589978715157_0.16153708890400087"},"_hasShrinkwrap":false},"0.0.80":{"name":"hnf-core","version":"0.0.80","description":"A starting point for Node.js express apps with TypeScript","license":"MIT","author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"homepage":"","main":"lib/index.js","directories":{"lib":"lib","test":"__tests__"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"scripts":{"start":"npm run serve","build":"npm run jest && npm run lint && npm run build-ts","mockbuild":"npm run build-ts","serve":"node lib/index.js","watch-node":"nodemon lib/index.js","watch":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run watch-node\"","jest":"rimraf lib && jest --config jest.config.js --coverage","watch-test":"npm run test -- --watchAll","build-ts":"rimraf lib && tsc -d -p tsconfig.release.json","watch-ts":"tsc -w","lint":"tsc --noEmit && eslint \"src/*.{js,ts}\" --quiet --fix","debug":"npm run build && npm run watch-debug","serve-debug":"nodemon --inspect lib/index.js","watch-debug":"concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve-debug\"","dev":"nodemon --watch 'test/**/*.ts' --watch 'src/**/*.ts' --exec 'ts-node' test/websocket.ts"},"dependencies":{"@types/express-handlebars":"^3.1.0","@types/formidable":"^1.0.31","@types/method-override":"^0.0.31","@types/socket.io":"^2.1.8","async":"^3.1.0","bcrypt-nodejs":"^0.0.3","body-parser":"^1.19.0","compression":"^1.7.4","connect-mongo":"^3.0.0","dotenv":"^8.2.0","errorhandler":"^1.5.1","express":"^4.17.1","express-async-errors":"^3.1.1","express-flash":"0.0.2","express-handlebars":"^4.0.3","express-session":"^1.16.2","express-validator":"^6.2.0","fbgraph":"^1.4.4","formidable":"^1.2.2","hbs":"^4.1.1","lodash":"^4.17.15","lusca":"^1.6.1","method-override":"^3.0.0","mongoose":"^5.7.5","nodemailer":"^6.3.0","passport":"^0.4.0","passport-facebook":"^3.0.0","passport-local":"^1.0.0","path-to-regexp":"^6.1.0","pug":"^2.0.4","reflect-metadata":"^0.1.13","socket.io":"^2.3.0","winston":"^3.2.1"},"devDependencies":{"@types/async":"^3.0.2","@types/bcrypt-nodejs":"^0.0.30","@types/body-parser":"^1.17.1","@types/chai":"^4.2.3","@types/compression":"^1.0.1","@types/concurrently":"^4.1.0","@types/connect-mongo":"^3.0.0","@types/errorhandler":"^0.0.32","@types/eslint":"^6.1.1","@types/express":"^4.17.3","@types/express-flash":"0.0.1","@types/express-session":"^1.15.14","@types/jest":"^24.0.23","@types/jquery":"^3.3.31","@types/lodash":"^4.14.141","@types/lusca":"^1.6.1","@types/mongoose":"^5.5.18","@types/node":"^12.7.8","@types/node-sass":"^4.11.0","@types/nodemailer":"^6.2.1","@types/passport":"^1.0.1","@types/passport-facebook":"^2.1.9","@types/passport-local":"^1.0.33","@types/pug":"^2.0.4","@types/request":"^2.48.3","@types/request-promise":"^4.1.44","@types/shelljs":"^0.8.5","@types/supertest":"^2.0.8","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.3.1","chai":"^4.2.0","concurrently":"^5.0.0","eslint":"^6.4.0","jest":"^24.9.0","node-sass":"^4.13.0","nodemon":"^1.19.2","rimraf":"^3.0.2","shelljs":"^0.8.3","supertest":"^4.0.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","typescript":"^3.6.3"},"gitHead":"aa37127d42ae051def1892884f608ee92fc61d6b","_id":"hnf-core@0.0.80","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.20.2/node@v12.13.1+x64 (darwin)","dist":{"integrity":"sha512-3wrRAqCzLhZHgus4b0MthKRsH+shEaiB1bbFLvNsQPUsCXp63uTw7aVIHCJdHxolgza/TSHoGOV7I8urUWQCDg==","shasum":"5d80f66945d7f2361ec70847af1949c3dd606e8b","tarball":"https://registry.npmjs.org/hnf-core/-/hnf-core-0.0.80.tgz","fileCount":144,"unpackedSize":133734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezNzPCRA9TVsSAnZWagAARfEP/2GbejQSC/wKoCNJRhaR\nXm6k6pCUtmUB0nJTV0XoC7PVBfdL162DNjrYPtw9TajDRm+cdyiSJDJPY+pe\nDLpc8VItj/d8erL1H28fWW4XrBDnfIwE4DgyCpEOVWBzXxtdE60uDN/Si4iH\nzLYk7MjdLefaEW++ziDedm+5KwO4c+Pof7JS5i8+eYACZzcYEcrANxkp8b0x\nd0poKnzJZfgUyIjZtSSnaHIlbc0Eqg+iEw7U3Xl7Zzjd+KlTCNy0EgeESFcf\nR6R7vqMO6Rgx0eEyxB5+wTmsh88AEPDq5YbxCxK0aGOhOszsJyp5FnHLQo2p\n3WFNQVuiNOQDl3M04j9QbX6c1fHD3dqDMd9+6II4Bw5sz4Bi0qdbl1ODhIZ5\n6nBSqV9cn18XqlvUwbPxUSuDy0sPjgDvCED7VYHV24Hs58JJK9DjKBygNJWO\nkEcoxfRFf7jrxJb67pTnWkLe84KeEsvMQhsfs6BgBclfOkjQrFZ1DmyhuRWv\ndw5jmL6kxlELnsnc3U8DaK/yG1dU7cgL0fzWAw3TnviGKzB1xb67yu4NoWNn\nFgGkVqc25UYtPLdkGmbqW/jZTkf5xb80t2HCUe71w+63uBBVQqWCGDTb+n7D\nHjf+3tHxNKiqt5D/e/7Ekfwce62qS8SM5FZGroJ76QD7JhwIGMcQiK5pfNtp\n+SGZ\r\n=yzWv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9ejArV/F47AFAxd7NXNc1PVLgnKEK0htW4rFZPFvOEgIhAMFpLovtYfgKEhxC2RqJPaM6Bc6Hj3xPTATmcsLg3NL3"}]},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"_npmUser":{"name":"zidan.zhang","email":"470336897@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hnf-core_0.0.80_1590484175240_0.9760059515848876"},"_hasShrinkwrap":false}},"time":{"created":"2020-03-26T12:08:26.921Z","0.0.3":"2020-03-26T12:08:27.043Z","modified":"2022-05-05T02:07:07.613Z","0.0.5":"2020-03-26T12:19:21.939Z","0.0.6":"2020-03-26T12:21:56.959Z","0.0.7":"2020-03-27T09:20:09.916Z","0.0.8":"2020-03-27T09:37:15.616Z","0.0.9":"2020-03-27T10:20:22.218Z","0.0.10":"2020-03-27T11:29:37.927Z","0.0.11":"2020-03-27T11:38:59.969Z","0.0.12":"2020-03-27T11:58:03.540Z","0.0.13":"2020-03-27T12:24:43.015Z","0.0.14":"2020-03-27T12:38:58.600Z","0.0.15":"2020-03-27T12:57:48.819Z","0.0.16":"2020-03-29T05:27:56.876Z","0.0.17":"2020-03-29T08:52:42.613Z","0.0.18":"2020-03-29T09:04:05.385Z","0.0.19":"2020-03-29T11:19:07.815Z","0.0.20":"2020-03-29T13:42:16.603Z","0.0.21":"2020-04-01T13:29:04.931Z","0.0.22":"2020-04-06T13:31:17.547Z","0.0.23":"2020-04-09T06:33:26.306Z","0.0.24":"2020-04-09T06:38:48.782Z","0.0.25":"2020-04-09T13:25:08.271Z","0.0.26":"2020-04-10T10:10:30.288Z","0.0.27":"2020-04-10T12:06:51.823Z","0.0.28":"2020-04-11T13:06:57.340Z","0.0.29":"2020-04-13T02:43:30.240Z","0.0.30":"2020-04-13T03:12:21.637Z","0.0.31":"2020-04-13T03:15:41.170Z","0.0.32":"2020-04-13T03:32:27.015Z","0.0.33":"2020-04-13T03:37:20.973Z","0.0.34":"2020-04-13T03:43:26.368Z","0.0.35":"2020-04-13T03:48:07.313Z","0.0.36":"2020-04-13T04:12:38.776Z","0.0.37":"2020-04-16T11:34:49.071Z","0.0.38":"2020-04-16T11:48:11.056Z","0.0.39":"2020-04-16T12:43:28.957Z","0.0.40":"2020-04-16T13:03:40.539Z","0.0.41":"2020-04-16T13:06:58.001Z","0.0.42":"2020-04-16T13:24:38.873Z","0.0.43":"2020-04-19T09:26:35.119Z","0.0.44":"2020-04-19T12:25:04.849Z","0.0.45":"2020-04-20T11:27:23.645Z","0.0.46":"2020-04-21T13:35:00.712Z","0.0.47":"2020-04-21T13:51:03.971Z","0.0.48":"2020-04-21T13:59:54.925Z","0.0.49":"2020-04-21T14:32:53.152Z","0.0.50":"2020-04-21T14:36:51.822Z","0.0.51":"2020-04-21T14:42:15.642Z","0.0.52":"2020-04-22T02:53:54.338Z","0.0.53":"2020-04-22T03:11:48.366Z","0.0.54":"2020-04-22T03:24:12.724Z","0.0.55":"2020-04-22T03:53:44.874Z","0.0.56":"2020-04-22T04:42:02.497Z","0.0.57":"2020-04-22T05:05:07.292Z","0.0.58":"2020-04-22T05:13:16.743Z","0.0.59":"2020-04-22T06:07:18.411Z","0.0.60":"2020-04-22T06:13:03.439Z","0.0.61":"2020-04-23T09:47:43.533Z","0.0.62":"2020-04-27T13:11:39.019Z","0.0.63":"2020-04-27T13:20:04.408Z","0.0.64":"2020-04-27T13:55:55.590Z","0.0.65":"2020-04-27T14:11:16.552Z","0.0.66":"2020-05-07T04:00:47.172Z","0.0.67":"2020-05-07T08:28:12.600Z","0.0.68":"2020-05-07T12:59:45.590Z","0.0.69":"2020-05-07T13:09:09.760Z","0.0.70":"2020-05-08T03:39:47.725Z","0.0.71":"2020-05-18T12:28:07.909Z","0.0.72":"2020-05-18T12:45:44.804Z","0.0.73":"2020-05-18T13:00:04.224Z","0.0.74":"2020-05-19T13:26:56.391Z","0.0.75":"2020-05-20T02:20:31.682Z","0.0.76":"2020-05-20T07:45:49.521Z","0.0.77":"2020-05-20T11:28:43.822Z","0.0.78":"2020-05-20T12:33:47.290Z","0.0.79":"2020-05-20T12:45:15.303Z","0.0.80":"2020-05-26T09:09:35.450Z"},"maintainers":[{"name":"zidan.zhang","email":"470336897@qq.com"}],"description":"A starting point for Node.js express apps with TypeScript","repository":{"type":"git","url":"https://git.huya.com/zhangzidan/hnf.git"},"author":{"name":"zhangzidan","email":"zhangzidan@huya.com"},"license":"MIT","readme":"\n","readmeFilename":"README.md"}