{"_id":"fary","_rev":"37-6fd5ee1784405113c10ce4a1e101e1cf","name":"fary","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","dist-tags":{"latest":"1.4.1"},"versions":{"1.0.0":{"name":"fary","version":"1.0.0","scripts":{"test":"ts-node test/server.ts","build":"tsc -d","pub":"np --no-cleanup"},"publishConfig":{"registry":"https://registry.npmjs.org"},"main":"lib/index.js","types":"lib/index.d.ts","dependencies":{"@types/koa":"^2.0.39","@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/node":"^8.0.31","fary-log":"^1.0.3","koa":"^2.3.0","koa-better-http-proxy":"^0.2.3","koa-compress":"^2.0.0","koa-logger":"^3.1.0","typescript":"^2.5.3"},"devDependencies":{"@types/mocha":"^2.2.43","eslint":"^4.7.2","eslint-config-airbnb-base":"^11.3.2","eslint-plugin-import":"^2.7.0","eslint-plugin-promise":"^3.5.0","mocha":"^3.5.3","np":"^2.16.0","supertest":"^3.0.0","ts-node":"^3.3.0","typescript-eslint-parser":"^3.0.0"},"engines":{"node":">=7.6.0"},"description":"> A light Nodejs middleware lay framework based on Koa2 written in typescript.","_id":"fary@1.0.0","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-1+H5JG3wUI9+v2KhF8dh6A7i0vRXapnuAYHwRFzPkJO5dYjaIoHNE5wanKD2PVBLAg1F7zV5/UZ/LpWlvQyHUg==","shasum":"3005a53fbab5df7b26bd41e78528fa462f13a549","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCl0JypsEWcz5pZY/9W0DXxS6KphITozk6/Dt9BsJrdNQIhAMrJuchK+AwTTMEC8aSVFuSb5EKHVgrDdjBTLLRGOPzf"}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.0.tgz_1506682738118_0.5687119753565639"},"directories":{}},"1.0.1":{"name":"fary","version":"1.0.1","scripts":{"test":"echo 'todo'","prebuild":"rm -rf lib","build":"tsc -d","pub":"np --no-cleanup"},"publishConfig":{"registry":"https://registry.npmjs.org"},"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/node":"^8.0.31","fary-log":"^1.0.4","koa":"^2.3.0","koa-better-http-proxy":"^0.2.3","koa-compress":"^2.0.0","koa-logger":"^3.1.0","typescript":"^2.5.3"},"devDependencies":{"@types/mocha":"^2.2.43","eslint":"^4.8.0","eslint-config-airbnb-base":"^11.3.2","eslint-plugin-import":"^2.7.0","eslint-plugin-promise":"^3.5.0","mocha":"^3.5.3","np":"^2.16.0","supertest":"^3.0.0","ts-node":"^3.3.0","typescript-eslint-parser":"^3.0.0"},"engines":{"node":">=7.6.0"},"gitHead":"efedffb76eaecce977e4b248c91a489be28bcb22","description":"> A light Nodejs middleware lay framework based on Koa2 written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.1","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-HxaLSv32D4RQ4E3rV0ojJ66WjLSWgSHc3VOpQiMmTB7hmVQVddnCLr2pJJSnZ/0snpNJ0J2yqEbn2XCy+8OlQA==","shasum":"3365f6b3f735f016073f41ee28a277742fd0f87b","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaYxvFy6On8/w4+5gJSIpsLSM60xBo+mmkaxf0XW+i1QIhAN5bgA//0QoF6PnceHlb58K/A+gFc8hBHpHmRnR6sDWu"}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.1.tgz_1506742391800_0.24072566092945635"},"directories":{}},"1.0.2":{"name":"fary","version":"1.0.2","scripts":{"test":"echo 'todo'","prebuild":"rm -rf lib","build":"tsc -d","pub":"np --no-cleanup","serve-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/node":"^8.0.31","fary-log":"^1.0.4","koa":"^2.3.0","koa-better-http-proxy":"^0.2.3","koa-compress":"^2.0.0","koa-logger":"^3.1.0","typescript":"^2.5.3"},"devDependencies":{"@types/mocha":"^2.2.43","eslint":"^4.8.0","eslint-config-airbnb-base":"^11.3.2","eslint-plugin-import":"^2.7.0","eslint-plugin-promise":"^3.5.0","mocha":"^3.5.3","np":"^2.16.0","supertest":"^3.0.0","ts-node":"^3.3.0","typescript-eslint-parser":"^3.0.0"},"engines":{"node":">=7.6.0"},"gitHead":"a4f4bd336f04e5b6794dc93777fde2d26e78c41d","description":"> A light Nodejs middleware lay framework based on Koa2 written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.2","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-FdCil/2XzpLrNfVSmDU2X/VdBxVg+pvQxq4l+CaBfznHfl2M3UZdXX+24JO3IbmvCAc17QkH0+tM4x6adDW3Gw==","shasum":"e6735cc539b1cfb120b80d120654be285e4adf86","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEwCcc/HERtKvGtuqn9VDQMQMlqH8hmf6brG9WrLP8L1AiEA1Lkg9yM7VeuG4BJoevGNh9zn4BZhwt0Yj1Eaoc7s47k="}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.2.tgz_1506749286382_0.5502347880974412"},"directories":{}},"1.0.3":{"name":"fary","version":"1.0.3","scripts":{"test":"mocha -t 5000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 5000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"fary-log":"^1.0.4","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa":"^2.0.39","@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/node":"^8.0.33","@types/supertest":"^2.0.3","eslint":"^4.8.0","eslint-config-airbnb-base":"^11.3.2","eslint-plugin-import":"^2.7.0","eslint-plugin-promise":"^3.5.0","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3","typescript-eslint-parser":"^3.0.0"},"engines":{"node":">=7.6.0"},"gitHead":"f3aa342a278b30c1eacaf2fb5a82898f6a8b6cbe","description":"> A light Nodejs middleware lay framework based on Koa2 written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.3","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-GfISlpwB6RMMS+JxrZASgp8jo+X/bMvY3puLL0pcGtGsMEOZgs0bJIhSfKPlB9apwUtFZYoHf5PBM937svbqWg==","shasum":"9a60ccad8598be0ba648461b3a788ae8a5def213","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICXRfl/aTkJ4x0WkpJtOcN9c940hciSf1iNZIGpJhHymAiAhfdk2f/B9PB4keM0GIKIa+pLOZDhjoMxS/nX1RBmwXw=="}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.3.tgz_1507392313017_0.6026619770564139"},"directories":{}},"1.0.4":{"name":"fary","version":"1.0.4","scripts":{"test":"mocha -t 5000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 5000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"fary-log":"^1.0.4","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa":"^2.0.39","@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/node":"^8.0.33","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"b72ff1533218c8b29757830414cb6bd9445e7770","description":"> A light Nodejs middleware lay framework based on Koa2 written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.4","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-DKDGI1edWMNKGBicxLZpbce54KHbq9pklZna6Ikxhd5ZVVXMaqFMWz7R40RFqWc4iK6qlHZxnLokDyLBJUcBqQ==","shasum":"81e27b3f429b3390e699cdd7bbe4d2f7ed5ee1e8","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVp8QHLkXPOODrfdPofOUtwxDMOrLm6XcEcTsC55sjEAIgGq+VsQklmbdifDselTkk0nlji/+sb92e0DPB4dZFvRU="}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.4.tgz_1507434251599_0.5343327820301056"},"directories":{}},"1.0.5":{"name":"fary","version":"1.0.5","scripts":{"test":"mocha -t 5000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 5000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"fary-log":"^1.0.4","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa":"^2.0.39","@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/node":"^8.0.33","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"7928ff64a1253b3663e131cbb7cdad44ce834ac4","description":"> A light Nodejs middleware lay framework based on Koa2 written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.5","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-nT0v1Q+w/SLXh2sU3yMsRDcyLmV5fT1eFi1PAwyBI6Zk0NsXZK1AH+yGaTBHMW/JPEe5QF1CBm6MsNjFL86Jqg==","shasum":"5eab206eb15041b8d804337b99c0f5d0a0b78012","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsEXviQqjt4aWIO77vZG3rMI8mHxfYSGREdwNnU/KgBgIhANkUfccMKbWixudR8cKvgk7KGvaod15Gm2Lqz/NK9Q+h"}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.5.tgz_1507437940067_0.140710458625108"},"directories":{}},"1.0.6":{"name":"fary","version":"1.0.6","scripts":{"test":"mocha -t 5000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 5000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"fary-log":"^1.0.4","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa":"^2.0.39","@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/node":"^8.0.33","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"8466b45aeaf4f2dcfe9d5f85429d7db5fbe78f39","description":"> A light Nodejs middleware lay framework based on Koa2 written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.6","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-nXAIlquOxlwlWezGYHs5Vm7m2thvrSJJaGGSF0vrW7nDuw+tXpLCkxkbJUUn9pLkWL/alaThEC9K9MzpQFiwtw==","shasum":"480d4ccfa46e7fe8bb00dcdbd63a61615749bbff","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzI0qbTwv2acSuzzJgPIDi6tZYnsnn1E/2li+YGL66fgIhAOS0Xg66EYMPVK7d1Msf/iQ/CoYrKkcApXfoyJrgFGoU"}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.6.tgz_1507439739716_0.8080390864051878"},"directories":{}},"1.0.7":{"name":"fary","version":"1.0.7","scripts":{"test":"mocha -t 5000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 5000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"fary-log":"^1.0.6","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa":"^2.0.39","@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/node":"^8.0.33","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"e6df1e477b782cb6d21bb29d0cc121f6e00b3d0d","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.7","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-WJiGcMuk7TJVrhGelSQEPn0RS9Qj9PiRls0EyWvH5jXP00Xv2W6UEHrxRnOUjyG+4t6kUYFu9uHo+0EyxgjO1Q==","shasum":"06d5b6337f4a25f66d4779c44ef44c1b267e1a8f","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFcwrcxyv/Bw7Z/RHp7KCpNRMCtidshR/EtGGuLgKS8NAiArQ4dw1MkdKL7HCKTBIEFePx1mzE0zL/pzEWUgAKLN0w=="}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.7.tgz_1507441302989_0.5511772229801863"},"directories":{}},"1.0.8":{"name":"fary","version":"1.0.8","scripts":{"test":"mocha -t 5000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 5000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa":"^2.0.39","@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/node":"^8.0.33","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"3b3835bd00e76a979056bc4e09a0476a0d5848f6","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.8","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-Xt9QSA15sSNWIyyhl5DLCfz+Y5cTtx/M83E0N7+h02ZUq2dNdptZFhVRDCoxh08yLi99xfW4ZPxqRBBns8CJuQ==","shasum":"b72806bc7633290c78d83fd9ae30da418de42f76","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF07WS0IZi//rPQqzAYnYThhkmmPCR0bF2DE8iGuRHMOAiEAvn6ryxbFkKt0V2cZ4lo5UqP+tEvYFgStNSxwavGX1Wk="}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.8.tgz_1507450099344_0.7230805708095431"},"directories":{}},"1.0.9":{"name":"fary","version":"1.0.9","scripts":{"test":"mocha -t 5000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 5000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa":"^2.0.39","@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/node":"^8.0.33","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"beb94d017f8a75e083657c67698633ac65d490d7","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.9","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-VXhE5IBixK0KaRqf8HNNZxZxrfctYRBZrHxU96KfQhTfKBzlR99x03BmMuAEKPgQgwKEVWP+F7tEbLuaOkra3w==","shasum":"f97319979105aefe58a55928f93c43209cebb99a","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAl7Clw5ipnLgGYLb2WFHrncLanYH4/5jGjiCV6vBabKAiEArdEsqvOE9XRUHrhEclrj/dyvfVg2uvS39Ptp92jyA6s="}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.9.tgz_1507475802487_0.9500277831684798"},"directories":{}},"1.0.10":{"name":"fary","version":"1.0.10","scripts":{"test":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 10000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"d915ed74eec6e4dea1dc9b38e8b32ff267557448","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.10","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-YtjTsq4kLj87lMpAiML8s2btAmKYSHV362T2z8Zl13fJBfQ2mMVXo1LCgjtuquzyla+r9LEcuEJPFAkORz9eOg==","shasum":"55b811a4c795dbc99670dd9827c84bddc6638ab5","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+AzhLgApcT8ldDhiZjknOMjXACIr+d6jTdmbEfVNClAiEA+VM42CGboRciSsu73Df6NRU0TkJHFZp+VcAahXbFmqY="}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.10.tgz_1507527051511_0.32513883779756725"},"directories":{}},"1.0.12":{"name":"fary","version":"1.0.12","scripts":{"test":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 10000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"d971bc5f318ee5c1d1421fe5275940b2ddc6c952","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.12","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-EVNTeJ/7qdZywvvieGsjdFw7tER+DH+EVGwiJc1DTdAw92dS8Jg14BXvK4a91ZSv/n5EVwIZEijQoDEx4vONiw==","shasum":"d74f2b3feb337705592920052cfb96808e19b2cc","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.12.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC24leDTWCWZeq0hWFtuZXAOgDstweCKpfpd2QmeMmUNQIhAN3zU1AAPLk/C3yC6EpnPll9FEvRYZ7ls0M+S+An2A0p"}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.12.tgz_1507536628790_0.29901821236126125"},"directories":{}},"1.0.13":{"name":"fary","version":"1.0.13","scripts":{"test":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 10000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"ffcd3d618ddb18914e9d00ea13a33771a2c76735","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.13","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-Z+RzkGKyX32hnVBhtuvrSs7ot7iz8CV9wuL6kXsgRva5dxGNh1vbEPOm3eaMwU1eR9wAP2tAndv9xChyOQDfwQ==","shasum":"b356fb57aa149890346684635812dc5e9c16c0a5","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.13.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2+yjY1anQGKRaDSTvS7OTwC1ziWL43rmUKqe1X1PKbAIhAMKKbBysH6EMOr1bTB5N3IaSARHVV5RZh1DsGLphJxbp"}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.13.tgz_1507629713794_0.15831175376661122"},"directories":{}},"1.0.14":{"name":"fary","version":"1.0.14","scripts":{"test":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.spec.ts","test-watch":"mocha -t 10000 -w --compilers ts:espower-typescript/guess test/**/*.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"ca214d9278926e1901617c7e1a48e47cd5b05beb","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.14","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-1DwTNDb5MB88ceVDwmefL5/aRlFR0uS+bG6Qf0dcp39EzE1nMxZVizDmZPBb+U2bgkaEnjoBCLCj2Vgh7Kciag==","shasum":"24cd18b61a4e6238c7d9fe115ddfbb675a96021b","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.14.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0PqTpxW/uDpSxKd71AyhSAbhPnSWzm6JEpkHRvp9h2AIhAPI0ZLy5NR45ruoWIjtfN44b1DknCoLr2JiSp6Ygm+gx"}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.14.tgz_1507802068116_0.9852612565737218"},"directories":{}},"1.0.15":{"name":"fary","version":"1.0.15","scripts":{"test":"npm run test-common && npm run test-prod && npm run test-prod-online","test-common":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"f2971722057984ca0ce84e014489f8a9fb2bdb8d","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.15","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-EQRNd8RRfkHbcCXPNDFj1lvYHrjFkGEher9VrnpaNK+JruZnAdssytSs81FlfPNvdNjSTTxaqbBR+nTc4wc6SQ==","shasum":"cb445edf3016c6a6f1529c8f3bc03769dffe9594","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.15.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcl89iHtmNa9a2X/gA2sYJUjfqng4Okk8zlfaelYjgYgIgZNUeHqmHZnHJqjlbsXklIqtVeMEARMpFzt6+tE0b7GQ="}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.15.tgz_1507875442206_0.1756877915468067"},"directories":{}},"1.0.16":{"name":"fary","version":"1.0.16","scripts":{"test":"npm run test-common && npm run test-prod && npm run test-prod-online","test-common":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"efeaea1791165a895c60fe83c4546ddaae65c255","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.16","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-Aqezr3LpNYH71qVypqrS6CxFqGsXRZQbx9XZ1GskrnRXLBfHJ0b6G19XkW31y5SGDQvveExf5bfrfaJOe+PxIg==","shasum":"a10de7ae2b69d018694450504f8ac6f1957fbe32","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.16.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDy+hUyWAxgX089B8T4uFiL1qaexXprvGCuXowBlweIKAiBUdC3XfGusdwsuhlPXmHHsf/LckJYwOfz+mU7nMbefKg=="}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.16.tgz_1507889655784_0.1941004479303956"},"directories":{}},"1.0.17":{"name":"fary","version":"1.0.17","scripts":{"test":"npm run test-common && npm run test-prod && npm run test-prod-online","test-common":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"86e671deb426b62746ee5b12e45775795de05166","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.17","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-Sh8oM9SkdsSmVFdupQnML4D9hhP9U90PysRTb+W84jLOkOeiTZbwNoGeBSJlIawqHZOi9QvTUcFogObupz8/pg==","shasum":"480a587dd5a2ffe6d9928a7aad37389e707bfeab","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.17.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA7SVp3TZc8Imi7ZCLKgJvkFBhkFhk8J7fl5f5Z8HsNDAiBTh/k26y8+vCACVh36GmaBskFxKJY3mFUv4c/RSZyYmg=="}]},"maintainers":[{"name":"baby31529","email":"baby31529@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.17.tgz_1508050765545_0.735155567759648"},"directories":{}},"1.0.19":{"name":"fary","version":"1.0.19","scripts":{"test":"npm run test-dev && npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-dev":"NODE_ENV=development mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.dev.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"8003fd5f7819e3af3c64f643fb02af79e645aaa4","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.19","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-VfxZQgAXvz2KNgQg4DUt98DhrEaVkO4EsGp7q9J/RrvwEMWdaaEXsACplouXGSadl9lvkxU8PTO7j5cnRKGfag==","shasum":"a49842c0289e4757e3a93128dc59ea46d56b60d7","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.19.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID7HIA/Z5DWFe4OhoSrsVNz84M4stfp/dhRv7kmsAmSqAiBzju3LOZzDrlTsQJ2PvKtlmcCnKpjsieEJJ4bv1QSOyA=="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.19.tgz_1508921013549_0.45171235175803304"},"directories":{}},"1.0.20":{"name":"fary","version":"1.0.20","scripts":{"test":"npm run test-dev && npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-dev":"NODE_ENV=development mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.dev.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"8949555ef0fac2e1a2097ce08e46bc306f15cdf8","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.20","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-7ByJyoo2rJDSmU5KPi1J1vM1enALtHb2i4nwNOqdGT7SWbds7d2J+DQC9nFhaNJZPdVBQlK7fbRygjbXUpB6yQ==","shasum":"4c3552c24a26b891ad5a98b2dd5eb86b51d0d644","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.20.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsRd2yXhBIUN8HetLLclAPIW7meMKDsq0G/OYgRtH4fAIgfGqAcfB67N7fO/M5DY1g1Kwy/KRDSi+C7WCRbh2QSG8="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.20.tgz_1508921226035_0.35889383405447006"},"directories":{}},"1.0.21":{"name":"fary","version":"1.0.21","scripts":{"test":"npm run test-dev && npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-dev":"NODE_ENV=development mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.dev.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"a447420b58d6ecc88d3621ceed502e198d4834d0","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.21","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-OciKSnwCnHtd/UD5PfYmctjoD8KPjUDVv4RPi1nuiWS4LRb3japp5TKbCGsP3c14Dn1Ao3FD18sfLjK9Fw+WKA==","shasum":"17ba77298198efb6ea035d2caa868ec48d931a99","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.21.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGg1Krze3u2sAxj8hNu+zYuSQsfRymsEl4GfVkBbrBgIAiEA1fesv0gl1+RQPZwE39tJInp5ea7Tj6E4AywIPcz6aOo="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.21.tgz_1508921757570_0.9195373386610299"},"directories":{}},"1.0.22":{"name":"fary","version":"1.0.22","scripts":{"test":"npm run test-dev && npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-dev":"NODE_ENV=development mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.dev.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"5c2e1b0b4825316a4de145ca153c547c2b8da9a0","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.22","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-LfGN/I16cBU8/7WzDbxsfb1VRWLOt3zxk5PXPiCJfawwGBliMXD9SrMQuJ1dWsSM/jXUPjI2fn3xqByog1jFbA==","shasum":"7931fe1e6ac314a42156391ecc359a0ee76e4259","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.22.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICGiIr7jbVI5g9ykRSEf4zRkw/3NwIoGiuuKZ14A7z8JAiBd16g2UG4fFcK7GhYTroVd/sAbY6enAkEfdnCBSb4u1Q=="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.22.tgz_1508922250678_0.4428191080223769"},"directories":{}},"1.0.23":{"name":"fary","version":"1.0.23","scripts":{"test":"npm run test-dev && npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-dev":"NODE_ENV=development mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.dev.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"6bb458f94e8bc7192c3f3f6bd7d31880d4c57974","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.23","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-p7sAdKE/+tNNpZQfMJKpCV5HWRn//AWbj3RaKPZ61wjOOiqeUu0J4vtrogW653slfuuelgv5TOGoZKSCxROQiw==","shasum":"5c655b61998d40556b0f0110f15e45aef8736d10","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.23.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkIX0gWTBTaZdogjTu9J/l+ZpgRiab3GhGuKNNTTH7HAIhANCfgzkHAV6EIeBco+5/95gWAIGU+Fj6oL05Qp7y6r14"}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.23.tgz_1515404896650_0.3121761721558869"},"directories":{}},"1.0.24":{"name":"fary","version":"1.0.24","scripts":{"test":"npm run test-dev && npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-dev":"NODE_ENV=development mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.dev.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.43","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"15460ba6d940149b48b20fbb81347e79b0e8b087","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.24","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-WCW2JTTP0tEZ51POR3t3kQF8xGz0N4PwnBwVs5SRWhG5dErnWo8RuLaRSlPxfBLIfdGQjrsOqQ+rnnIjBHpMrg==","shasum":"27e1c215f87bdd1a4f4a5e3a64be082fc7dc2ec2","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.24.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4IF07DXxK8OK7jdQ/wG/NrzX3eX6e8eM6KCl9IsnepwIgYBrbBcG6ipLeDdWYuswiSlCglHeY8uEi9E3BAjAJ28M="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.24.tgz_1515406068171_0.9335962950717658"},"directories":{}},"1.0.25":{"name":"fary","version":"1.0.25","scripts":{"test":"npm run test-dev && npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-dev":"NODE_ENV=development mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.dev.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"f1edeb93f9dcbae5c66cdddc3c946e3f279f46a5","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.25","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-xoxudVdjxK8QQu4/fDzuf6qM8J63h4wF9wajrIWJlcK1A07whEtKVgEnMdox5oRE7CJv8yMX5oIl8SEH6g+66A==","shasum":"6919e6f1f464290d0f1ce7083998129b11395124","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.25.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDm0x72pbRSI1j8sL2XyUv+mzzAeFMER4TGIMT0SyGUUwIgEn2b51Q35v3RZeUWq8NYOu4LMHOiWwX9R+U3J0tZUqk="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.25.tgz_1515481740205_0.8325023592915386"},"directories":{}},"1.0.26":{"name":"fary","version":"1.0.26","scripts":{"test":"npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"4878361ca45e0d84b40de192a0013a40c1f033c4","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.26","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-i/Nxl9D9+hYMarKktAGXO3SGJ8mqaZmCiMXJasTgYS07XhVNNYRuHZDr0mxBCdeGgxzBAODc5/jIOjYqizgn5g==","shasum":"8c01bcce4327e16a7d095b3656dbc57464dab836","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.26.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAgeZyMuChZxU1q2hZ1gauDJmyRrq4MEfpxLxr3etfx8AiB69sE9qRLGsafR5F3V/sXxtORGnaDmkwIuyJGxspGvMg=="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary-1.0.26.tgz_1515485066920_0.4094250292982906"},"directories":{}},"1.0.27":{"name":"fary","version":"1.0.27","scripts":{"test":"npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"4b960fcdf7c3d779403a65a04026865adafda4c0","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.27","_npmVersion":"5.6.0","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-5hhwMfLy5z9VSpK3ym57fE1QMD5nwfB1kcxKdecIoCNB4JxqPqnX149YxxS+iu/8JByAikfBFkMVDJoGrnZCRg==","shasum":"2f149b46e6c0454f8c373b01f0d63444b00dde8c","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.27.tgz","fileCount":35,"unpackedSize":37713,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHrxocYnAFyzaVD/gRmm5TLoe6E9BANxoGelv1xWPrcVAiBv+AkJyEQNzEyqJPjwbH9w+qUw/4mA1r8jkx47qgkVYA=="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary_1.0.27_1520090554968_0.6423532403909462"},"_hasShrinkwrap":false},"1.0.28":{"name":"fary","version":"1.0.28","scripts":{"test":"npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"3c9437c494931a97221d7bded2c3d6b71c6d8f4b","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.0.28","_npmVersion":"5.6.0","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-K+w8utEyTyLHb9rGP/dNDSUpxuMYJLqye/KB/uyzdxzcPOEltUTBX/rlMTQb/VgVNj9B4HGKQAkPOGHqInpmYQ==","shasum":"da0015f44f487ee44cdfbd9c24380d5ed63fb328","tarball":"https://registry.npmjs.org/fary/-/fary-1.0.28.tgz","fileCount":35,"unpackedSize":37818,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICWVGkEocU1isl69LUI92nSa2fQUMI9kz4Rw8DppEKuPAiAiH0J7yQx/q9iw61LwhluZwDXkCvm09du8j/J1wYkBjg=="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary_1.0.28_1520134349896_0.011513092612460252"},"_hasShrinkwrap":false},"1.1.0":{"name":"fary","version":"1.1.0","scripts":{"testproxy":"mocha -t 10000 --compilers ts:espower-typescript/guess test/middlewares/proxy.proxy-load-balancer.spec.ts","test":"npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","axios":"^0.18.0","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"299ab30aa25c728662f4a0f75894ffeeeb34c0b0","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.4.0","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-qQLt5hW4xj9QnB4JA6LGPn+qWFgyurHLM5XMNHMKklOQblFC9/2Ti+cYnl+SChypoXQs4BVQlwaaLXgaFHaR0g==","shasum":"572bd2fd4ac6c2c42bc82eec45b71b3f6a82165a","tarball":"https://registry.npmjs.org/fary/-/fary-1.1.0.tgz","fileCount":39,"unpackedSize":52128,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC7ISkEclyLxUKJlzyBELpUrGxzZlv2hi0X8uYks8a9TAiBwPB4kFOvrsNv+WCVq6M8H+Dvwh//smEMJTHaww5BmWQ=="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary_1.1.0_1520413461732_0.4881681442745893"},"_hasShrinkwrap":false},"1.2.0":{"name":"fary","version":"1.2.0","scripts":{"test":"npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","axios":"^0.18.0","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"3362870efc6a0003e659291108e160dff4beb87d","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.2.0","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-dZLFDgfH1nGVtqvieZHLSifS4BWRsnu2Eyjy4BCY5SKUdBooZukzYomNUuDZWXnM2W+5dCzXix7OFBLsjxBlcg==","shasum":"69404dba65d956f62ca687c7cf918a2519355b20","tarball":"https://registry.npmjs.org/fary/-/fary-1.2.0.tgz","fileCount":39,"unpackedSize":52056,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFWWpLvwMWAtGVYxCCwozVrQqV9bbCS+Abuh+NWQo8eAIhANGSIlqHNuC6rITz3E5I3QDH97wTgBoF8B/L+REZD34A"}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary_1.2.0_1521445522722_0.8049649294311372"},"_hasShrinkwrap":false},"1.2.1":{"name":"fary","version":"1.2.1","scripts":{"test":"npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","axios":"^0.18.0","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"af77cc591faaffa6e76c5e40ab62482651018224","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.2.1","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-/pyuMPugJLb2psYNyNcF6vg0sgCXrKQ5wGi5/qAof0HCASAvBOMJQwImMf1d1FyKoq1y7qu2S2QY9xEdK74MBA==","shasum":"ec1f34daad16cbd1ecc6e00bd847e88cbed10219","tarball":"https://registry.npmjs.org/fary/-/fary-1.2.1.tgz","fileCount":39,"unpackedSize":52000,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCv7TJK+BMRE5LxJRZhh+5/nco1aVGt1d0EvY70LqsRXAIhAKbFwvN60RvOZ22nY60jz14NshxffgLtYblXCusmAALJ"}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary_1.2.1_1521446464640_0.18395599239312443"},"_hasShrinkwrap":false},"1.3.0":{"name":"fary","version":"1.3.0","scripts":{"test":"npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","axios":"^0.18.0","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"18d42a68cfb5df5c37f7bae4ec410b7d02754818","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.3.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-9ADlitZOQ7TM/z2gFwmvjnk0Gh4kptMT28NSY3Q1Wt2ZvVY5OP4v0dINDi9zteXaODfQ6gv0T3HoqSxBmRuuwQ==","shasum":"21486bf0e4b79f1f9f9e3dad2ddc31edd5b334a0","tarball":"https://registry.npmjs.org/fary/-/fary-1.3.0.tgz","fileCount":39,"unpackedSize":53704,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICrsFa542CqeeR1Y2OKhooM4IUbKwI7S8RDhr0CaNaRiAiEA0+wjyluRz3FBlmocQeZV9ebtevgQuOb31bZpPRdJCJ4="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary_1.3.0_1521771189056_0.42992738554216503"},"_hasShrinkwrap":false},"1.3.1":{"name":"fary","version":"1.3.1","scripts":{"test":"npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","axios":"^0.18.0","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"b194eb2db7c395681efd5bc50e661e4469349210","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.3.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-pYw62v/pH+PwrK9scBRDz63fpGaPKe7cSNVceHgAG2JSt1w/c60XGaLS4omh/OGb7w4VtB/mrKhmm6JB1zn03Q==","shasum":"fefd833c88ed7bce1e212fa68a1f1b83db53d8a6","tarball":"https://registry.npmjs.org/fary/-/fary-1.3.1.tgz","fileCount":39,"unpackedSize":53989,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD81+amGRwk/w91tjRbx+awBKajG6CCOWC92h9gYoL6MgIgR2EVB5e6aLcYyrWPG+EWXd2uKgJcuA2QkXaqkM7cg9Y="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary_1.3.1_1521773289778_0.9353527467191278"},"_hasShrinkwrap":false},"1.4.0":{"name":"fary","version":"1.4.0","scripts":{"test":"npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","axios":"^0.18.0","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"68dd32e33c9468fac33a4f13fbf310ecd826d920","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.4.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-23LeR3aasLhI8rDQQmXl0TVx4fUVYiwryqSVSAzABL+IvzamsVhIllVNCrsNhWfe+G7QGdsK9e/nNHtIfGHU9A==","shasum":"dbe15840206e090183da4da6b04b0b6079073d7c","tarball":"https://registry.npmjs.org/fary/-/fary-1.4.0.tgz","fileCount":39,"unpackedSize":55207,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICJBwNZEz84lUx9d/C3TEmwqObsbS0M7/HFaE3NiVHiWAiEAwloI/LtD4kxo2o14VbPzqPFdN6BjTmC/pKgA2uGtako="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary_1.4.0_1523031286941_0.11251011104701458"},"_hasShrinkwrap":false},"1.4.1":{"name":"fary","version":"1.4.1","scripts":{"test":"npm run test-prod && npm run test-prod-online && npm run test-common","test-common":"mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*{,index}.common.spec.ts","test-prod":"NODE_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod.spec.ts","test-prod-online":"NODE_ENV=production SERVER_ENV=production mocha -t 10000 --compilers ts:espower-typescript/guess test/**/*.prod-online.spec.ts","prebuild":"rm -rf lib","build":"tsc --noEmitOnError","lint":"tslint src/**/*{,index}.ts test/**/*{,index}.ts","prepub":"npm run build","pub":"np --no-cleanup","server-test":"ts-node test/server.ts"},"publishConfig":{"registry":"https://registry.npmjs.org"},"files":["lib","src"],"main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"authors":["baby31529@gmail.com"],"dependencies":{"@types/koa":"^2.0.39","@types/node":"^8.0.33","axios":"^0.18.0","fary-log":"^1.0.7","koa":"^2.3.0","koa-better-http-proxy":"^0.2.4","koa-compress":"^2.0.0","koa-logger":"^3.1.0"},"devDependencies":{"@types/koa-compress":"^2.0.7","@types/koa-logger":"^2.0.2","@types/mocha":"^2.2.46","@types/supertest":"^2.0.3","espower-typescript":"^8.1.1","mocha":"^3.5.3","np":"^2.16.0","power-assert":"^1.4.4","supertest":"^3.0.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"engines":{"node":">=7.6.0"},"gitHead":"0e06a059587d9fdca700c2907afad789bb8b4f32","description":"> A light Nodejs middle layer framework based on Koa2, written in typescript.","bugs":{"url":"https://github.com/xkeshi/fary/issues"},"homepage":"https://github.com/xkeshi/fary#readme","_id":"fary@1.4.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"baby31529","email":"baby31529@gmail.com"},"dist":{"integrity":"sha512-qq5T03eK3P5vp0QbD8Nhcw8f8dyRjbLeOVtskscrCTqhtZ9bRnsJpJR+7+P5FJT65dsQuDBbCBqgINQgxQdHdg==","shasum":"1974b0654e86f795768774b5f9a0494c2978509f","tarball":"https://registry.npmjs.org/fary/-/fary-1.4.1.tgz","fileCount":39,"unpackedSize":55850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2E+XCRA9TVsSAnZWagAA5lsP/0odzGLWDyy9jr6Y+6Yx\nRU000CEC1/jmPi3LRgYN3Dt+YkFqdk2wEG3BDAbC61pJTnZ7d54YkglARTEU\np56408zNx8jTRb2H75UdVtFncoY6x3vCjC/V7vtbN3muvzWsYDOF5ds7w3+f\noiyvXsQx3QboWv9JxHUqpv7eiUwzGG+O1DUc64Q5+6WnoMarRc39zjzDj6H0\n4DvhLDQJbuL6E8dqsJMnEIoocxp8cce+L7ZEn8MC4/K6jdXJ7IC92ils2Y3R\nDk4rmQeBAJLdsCadpxbhHyqzeonA+ShDW9FnYaZwIEMuuI+6xiFIHULxKS5X\nkzRPcyRJapwXENjupxF0v/HDmB0Tn7z2FaLaKIawU1ygfxNyjtDPShmGkEWJ\nOTh1oyB5Y8THuPieIJ3qpVB03rs0AOYilxzzP6wBaqxwzuE6NaNkedjRMs0Y\n/kCS/31zu7MQK0VkhciFLvaH/4etYwviheejD1o9dWUmTZu+S/gMH+zx2xhm\n6Vy0qfTI7dujQ3LSNHBirShQx6B8V8FNXqY022ghLnzEjJ5GKaMcjvMNuxlc\n4Niovf/L+mFajJprbOWHPmEZxS3RbeLYs+gaM6G9EwCQ586VY5BX17tCZP1b\nT2M++akuJzyllXnZtHoTL3ai09ZfTSf9NbJMDfQiKtwusP9DS2Ng5BPvkOiJ\n9CMZ\r\n=J7my\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCz0Yrm4Y7lfuU56MfH3zmo0fwvfOGuGra0PhCwGabBQgIgew+WRqm7MEQ08KKpp76DRbcpkl0uUeaUp/Hilin4Sx8="}]},"maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fary_1.4.1_1524125590945_0.4606889371779985"},"_hasShrinkwrap":false}},"readme":"# fary\n> A light Nodejs middle layer framework based on Koa2, written in typescript.\n\n[![NPM version][npm-image]][npm-url]\n[![build status][travis-image]][travis-url]\n\n*Note: this framework only works directly in Node 7.6+(async/await), or you can use babel to transform the source code.*\n\n## Nodejs middle layer\nRecent years, there is a kind of application consist with a Nodejs server(can handle the static files, especially for SPA) for the frontend and a data(maybe developed by Java, PHP, Python and so on) server for the backend. The application data is fetched from client(browser or mobile app) to Nodejs, then Nodejs make one or multi data request(s) to the data server, Nodejs can restructure these data results, make a new and best result the client needed.\nThe role of Nodejs server above is called `middle layer`, which is between the client and data server.\n\n## Install \n````\nnpm i fary\n````\n\n## Usage\n````js\nconst createApp = require('fary')\n\ncreateApp({\n  middlewares: [\n    async (ctx, next) => {\n      ctx.body = 'Hello fary!'\n    },\n  ]\n}, () => {\n  // fary server has been started!\n})\n````\nPut a `fary.config.js` in your root of project, the content like:\n````js\nmodule.exports = {\n  port: 9008,\n  proxy: {\n    '/api': 'http://192.168.100.1:8001',\n  },\n}\n````\n*Note: with this simple example, no request will be proxied, because all requests will be responded `Hello fary!`*\n\n## Features\n1. request/response log with [koa-logger](https://github.com/koajs/logger)\n2. compress with [koa-compress](https://github.com/koajs/compress)\n3. you can pass your middlewares to do whatever you want\n4. http proxy with [koa-better-http-proxy](https://github.com/nsimmons/koa-better-http-proxy)\n5. hot loaded proxy config in development\n6. dynamic proxy config interception for proxy target debugging\n7. proxy load balance and health check\n\n## createApp(options)\noptions:\n* `midlewares?: Array<Koa.middleware>`: default `[]`; the array of koa middleware\n* `port?: number`: default `9001`; the listen port of koa, if not set, `port` in the `fary.config.js` will be used\n* `skipListen?: boolean`: default `false`; whether auto start; if `true`, you should invoke `app.listen(port)` yourself\n* `preProxy? (proxyReqOpts: koaHttpProxy.IRequestOption, ctx: Koa.Context) => (koaHttpProxy.IRequestOption | Promise<koaHttpProxy.IRequestOption>)`: default `(proxyRes, d) => d`; before the proxy request sending, you can do something\n* `postProxy?: (proxyRes: http.IncomingMessage, proxyResData: Buffer, ctx: Koa.Context) => (Buffer | Promise<Buffer>)`: default ``; after the proxy request responsed, you can do something\n\n## Proxy\nSupport multiple proxy targets.\nAssume the `fary.config.js` is:\n```js\nmodule.exports = {\n  port: 9008,\n  proxy: {\n    '/api/backend1': 'http://192.168.100.1:8001',\n    '/api/backend2': 'http://192.168.100.2:8001',\n  },\n}\n```\nThe entry:\n```js\nrequire('fary')({\n  middlewares: [\n    // Some middlewares(for example: routes), but do not match `/api/backend1` or `/api/backend2` requests!\n    // Because the built-in proxy middleware is the last middleware.\n  ]\n})\n```\nThen `/api/backend1/explore` will be proxied to `http://192.168.100.1:8001/explore`, `/api/backend2/run` will be proxied to `http://192.168.100.1:8001/run`.\nThat is: remove the first matched proxy key(here is `/api/backend1` or `/api/backend2`) with which the current request url starts, then append the remaining to the target.\n\nNote:\n* Make sure the request can reach downstreamly the proxy middleware(the last one).\n* For duplicated proxy reason, if the proxy target is domain form, the removal will not happen. For example, if the `fary.config.js` is like:\n```js\nmodule.exports = {\n  port: 9008,\n  proxy: {\n    '/api': 'https://some.domain.com',\n  },\n}\n```\nThen a request like `/api/test` will be proxied to `https://some.domain.com/api/test`。\n\n## Hot loaded proxy config in development\nThere may be multiple proxy target for the same proxy key prefix when development. For example, there is a `fary.config.js`:\n```js\nmodule.exports = {\n  port: 9008,\n  proxy: {\n    '/api/users': 'http://192.168.100.2:8001', // it is backend developer's local host\n    //'/api/users': 'http://192.168.100.100:8001', // it is the test integration environment host\n  },\n}\n```\nYou may want to switch proxy target for the `/api/users` from one to the other one when the server is running. By default, Nodejs will cache every module once Nodejs has required it, which means if you want to switch proxy target, you must restart the server. Even worse, if the restarting spend long time, it is terrible!\n\nWith this feature, you can modify the `fary.config.js` whenever without restarting the server!\n\nBut it works only for proxy config.\n\n## Dynamic proxy config interception for proxy target debugging.\nImagine you have a test integration environment of your application.One day your test team find out a tricky bug which is hard to reproduce in local environment.\nAn unhandy way is that, the related Java programmer add some logging code to the Java project, then commit, redeploy the Java server of the test integration environment.\nIf lucky, the programmer can figure it out the reason for the first time.\nBut if not too lucky, you will repeat `add more logging code` => `redeploy` => `can not found the reason` many times, which is so annoying!\n\nAnother way is to do a breakpoint debugging on the test server, but this will block other's request.\n\nHowever, by this `Dynamic proxy` feature, you can turn the request to any proxy target you want without changing any code! How to do this?\nAssume the request url of the tricky bug is `/api/java/a/tricky/bug`, and the proxy config is: \n```js\nmodule.exports = {\n  port: 9008,\n  proxy: {\n    '/api/java': 'http://192.168.100.100:8080', // 192.168.100.100 is a host in test integration environment\n  },\n}\n```\nThe only thing you should do is that:\nReplay the request and add a http head like:\n```\n// 192.168.30.30 is the Java programmer's computer ip\nproxyconfig: {\"/api/java\": \"http://192.168.30.30:8080\"}\n```\n\nYou can do this by some client proxy tools like [Charles](https://www.charlesproxy.com/) with the request breakpoint function.\nOr you can do some detection code in the client, for example in the browser, you can detect the `localstorage`, if there is a value by key `proxyconfig`(any you like), then write the header to the request.\n\nAfter this, the fary proxy middleware will detect the header `proxyconfig`, then merge the dynamic proxy config to the server proxy config(actually by `Object.assign`).\nThe request `/api/java/a/tricky/bug` will be proxied to the Java programmer's local server, which means he/she can do a exciting breakpoint debugging locally without blocking others' access!\n\n## Proxy load balance\nYou can set a proxy mapping value with an array, fary will `randomly` pick a proxy target for every proxy request. \nFor example `fary.config.js`:\n\n```js\nmodule.exports = {\n  port: 9008,\n  proxy: {\n    '/api/java': [\n      'http://192.168.100.100:8080',\n      'http://192.168.100.101:8090',\n    ]\n  },\n}\n```\n\n## Proxy target server health check\nIt is default disabled. To enable it, and some default options in `fary.config.js`:\n \n```js\nmodule.exports = {\n  port: 9008,\n  proxy: {\n    '/api/java': [\n      'http://192.168.100.100:8080',\n      'http://192.168.100.101:8090',\n    ]\n  },\n  proxyLoadBalanceOptions: {\n    // enable health check or not\n    enableHealthCheck: true,\n    healthCheckPath: '/admin/health',\n    healthCheckTimeout: 1000,\n    healthCheckInterval: 1000 * 60,\n  },\n}\n```\n\nFary will make a quest to every target by GET `${proxyTarget}/${healthCheckPath}`.\nTargets which responses non 200 or no response will be removed from the healthy targets list, and will not match next target picking until the targets recover and added back to the healthy target list.\n\n\n\n\n[npm-image]: https://img.shields.io/npm/v/fary.svg?style=flat-square\n[npm-url]: https://www.npmjs.com/package/fary\n[travis-image]: https://img.shields.io/travis/xkeshi/fary/master.svg?style=flat-square\n[travis-url]: https://travis-ci.org/xkeshi/fary","maintainers":[{"email":"baby31529@gmail.com","name":"baby31529"}],"time":{"modified":"2022-05-02T04:13:41.096Z","created":"2017-09-29T10:58:58.212Z","1.0.0":"2017-09-29T10:58:58.212Z","1.0.1":"2017-09-30T03:33:11.902Z","1.0.2":"2017-09-30T05:28:06.493Z","1.0.3":"2017-10-07T16:05:13.118Z","1.0.4":"2017-10-08T03:44:11.664Z","1.0.5":"2017-10-08T04:45:40.142Z","1.0.6":"2017-10-08T05:15:39.816Z","1.0.7":"2017-10-08T05:41:43.091Z","1.0.8":"2017-10-08T08:08:19.434Z","1.0.9":"2017-10-08T15:16:42.568Z","1.0.10":"2017-10-09T05:30:51.624Z","1.0.12":"2017-10-09T08:10:29.388Z","1.0.13":"2017-10-10T10:01:53.900Z","1.0.14":"2017-10-12T09:54:28.200Z","1.0.15":"2017-10-13T06:17:22.415Z","1.0.16":"2017-10-13T10:14:15.892Z","1.0.17":"2017-10-15T06:59:25.665Z","1.0.19":"2017-10-25T08:43:33.636Z","1.0.20":"2017-10-25T08:47:06.165Z","1.0.21":"2017-10-25T08:55:57.651Z","1.0.22":"2017-10-25T09:04:10.742Z","1.0.23":"2018-01-08T09:48:16.762Z","1.0.24":"2018-01-08T10:07:48.987Z","1.0.25":"2018-01-09T07:09:01.169Z","1.0.26":"2018-01-09T08:04:27.001Z","1.0.27":"2018-03-03T15:22:35.013Z","1.0.28":"2018-03-04T03:32:29.997Z","1.1.0":"2018-03-07T09:04:21.823Z","1.2.0":"2018-03-19T07:45:22.803Z","1.2.1":"2018-03-19T08:01:05.085Z","1.3.0":"2018-03-23T02:13:09.127Z","1.3.1":"2018-03-23T02:48:09.909Z","1.4.0":"2018-04-06T16:14:46.983Z","1.4.1":"2018-04-19T08:13:11.046Z"},"readmeFilename":"README.md","homepage":"https://github.com/xkeshi/fary#readme","repository":{"type":"git","url":"git+https://github.com/xkeshi/fary.git"},"bugs":{"url":"https://github.com/xkeshi/fary/issues"}}