{"_id":"quiver-functions","_rev":"39-ecac09c6d41d0c6fa9bbe6770b5d213e","name":"quiver-functions","description":"A monorepo of useful Firebase Cloud Functions","dist-tags":{"latest":"1.5.0"},"versions":{"1.0.0":{"name":"quiver-functions","version":"1.0.0","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jasmine","install-functions":"cd functions && yarn install","install-public":"cd ./public && bower install","serve":"cd ./public && polymer serve"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","devDependencies":{"firebase-functions":"^0.5.2","jasmine":"^2.5.3","nodemon":"^1.11.0"},"dependencies":{"firebase-admin":"^4.1.3","firebase-tools":"^3.5.0"},"gitHead":"c9858a11a9d1b38083c08fbaebec6e301af1645a","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.0.0","_shasum":"cf526a194e50aed587b57c1fe814ad993e7e2d67","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"cf526a194e50aed587b57c1fe814ad993e7e2d67","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.0.tgz","integrity":"sha512-5LpoQYP0IxskBFcdSEss7nQ97R7Y2GxdsR6anrYX1mQVvVaCtpvxTDffV5s6rilmXYMiP38y9yShEDbEMCakDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDN3PJL7QGBTaA4UzQSzGJAcGFY6WtHOIscIjelqjL+owIhAPPXzoSzb2xl0d5+SzIPkHEm07yXtQTYp6kBwPPdjMl6"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/quiver-functions-1.0.0.tgz_1489865390080_0.20852755173109472"}},"1.0.1":{"name":"quiver-functions","version":"1.0.1","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jasmine","install-functions":"cd functions && yarn install","install-public":"cd ./public && bower install","serve":"cd ./public && polymer serve"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","devDependencies":{"firebase-functions":"^0.5.2","jasmine":"^2.5.3","nodemon":"^1.11.0"},"dependencies":{"firebase-admin":"^4.1.3","firebase-tools":"^3.5.0"},"gitHead":"c9858a11a9d1b38083c08fbaebec6e301af1645a","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.0.1","_shasum":"eba00469e0a398332f40db3c5d50b427219c3169","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"eba00469e0a398332f40db3c5d50b427219c3169","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.1.tgz","integrity":"sha512-bgnzquDueD3fZQISFKRuPK2YmgiLyojKG7AsgwuHHn1sHBnV/z4prfJHDftDBgSvg4QYrCcp0SQ8jQrx9XE9nQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDFaIO0E9jxdILrljSGh/+3sVCwe0Rum/F6YHHvu6F9BAiAJ4smJDDKKBnz6anhu1yeuqWfD1nmFDOtTV5rmSxI3KQ=="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/quiver-functions-1.0.1.tgz_1489865614904_0.5459063383750618"}},"1.0.2":{"name":"quiver-functions","version":"1.0.2","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jasmine","install-functions":"cd functions && yarn install","install-public":"cd ./public && bower install","serve":"cd ./public && polymer serve"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","devDependencies":{"firebase-functions":"^0.5.2","jasmine":"^2.5.3","nodemon":"^1.11.0"},"dependencies":{"firebase-admin":"^4.1.3","firebase-tools":"^3.5.0"},"gitHead":"c9858a11a9d1b38083c08fbaebec6e301af1645a","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.0.2","_shasum":"8a7bbcf9797ae8f1ef18938ca21b283f6ab1052b","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"8a7bbcf9797ae8f1ef18938ca21b283f6ab1052b","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.2.tgz","integrity":"sha512-0jRvaJqk1auNDB0GbCAg0icoblYKZZf0V+QBjQrgH0jj7zKd2+feFGHOdLR9DnsdfO9Wl1MVOe+KMaB4fd25jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBQ1wYQ0xdDPQyBUIWHSpJrKT6GQpSaeqlUiZptkhl7cAiEA2qWKvQlTwC1o/JRYKx/VrIV1odHBsiw2IhBBMY4KQco="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/quiver-functions-1.0.2.tgz_1489865749745_0.5947545580565929"}},"1.0.3":{"name":"quiver-functions","version":"1.0.3","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jasmine","install-functions":"cd functions && yarn install","install-public":"cd ./public && bower install","serve":"cd ./public && polymer serve"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","devDependencies":{"firebase-functions":"^0.5.2","jasmine":"^2.5.3","nodemon":"^1.11.0"},"dependencies":{"firebase-admin":"^4.1.3","firebase-tools":"^3.5.0"},"gitHead":"c9858a11a9d1b38083c08fbaebec6e301af1645a","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.0.3","_shasum":"6f113707fc7c211d654809164e34552145f7b12e","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"6f113707fc7c211d654809164e34552145f7b12e","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.3.tgz","integrity":"sha512-G939ggDAVo+qQRaOdQ3z9gszeRwSbt1niohkda29C7F7aaf3kZLttuZQVybuEbp3DITXx19mYPsllbsvA1mSCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDThJtlUQ7M9QnCvK4PN74gTIv5mYENdD/8TEMicg4jsQIhAIFKZyRynjTIVUTgKDvivqAQC3vWtCYu76Og6YIOG7UC"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/quiver-functions-1.0.3.tgz_1489868338196_0.636637597810477"}},"1.0.4":{"name":"quiver-functions","version":"1.0.4","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jasmine","install-functions":"cd functions && npm install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy --only functions"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","devDependencies":{"firebase-functions":"^0.5.2","jasmine":"^2.5.3","nodemon":"^1.11.0"},"dependencies":{"firebase-admin":"^4.1.3","firebase-tools":"^3.5.0"},"gitHead":"c9858a11a9d1b38083c08fbaebec6e301af1645a","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.0.4","_shasum":"8ab61c325385e8627bc81cbd2c43754b1e12bff7","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"8ab61c325385e8627bc81cbd2c43754b1e12bff7","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.4.tgz","integrity":"sha512-tdgmadh7I+UOQgi6GWkdJYJlOe6eW2SkSgnrJLRla+HfQIxOoS7u8edR2TK82A02AjB09M7s6dKvhy38ibACog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGVhXdyU3jUUBCEiFRzQHPscFnyBhEzEmI/4svtH9MEgIhAM0/FFCeoRVHQlrqVAgEUSJ7t9EIBQVN2y4rBXP3C6Oy"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/quiver-functions-1.0.4.tgz_1489871796426_0.8079705913551152"}},"1.0.7":{"name":"quiver-functions","version":"1.0.7","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jasmine","install-functions":"cd functions && npm install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy --only functions","version-bump":"yarn publish && git add . && git commit -m \"version bump\" && git push && git push --tags"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","devDependencies":{"firebase-functions":"^0.5.2","jasmine":"^2.5.3","nodemon":"^1.11.0"},"dependencies":{"firebase-admin":"^4.1.3","firebase-tools":"^3.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.0.7","dist":{"shasum":"2755b8f1250dddb6c644d0f60f00028ff99dabfe","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.7.tgz","integrity":"sha512-EfMRdp6cK/crTZa16LDUBoEeZvR02shKVGObefEK8SpPNpYnH+AzriBGArhxQAzYFP5/IRPIi1dUZVzNnfOjPQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6JnGkkJPYq2pGJxgYZurIa6NexaMXVNnc7dIi0Ey1EQIgKojKhndYp6UxHBsAxn3Zx2ImHv8MhZWw7RXe5N9aQGo="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/quiver-functions-1.0.7.tgz_1490027043181_0.1355074644088745"}},"1.0.8":{"name":"quiver-functions","version":"1.0.8","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jasmine","install-functions":"cd functions && npm install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy --only functions","version-bump":"yarn publish && npm publish && git add . && git commit -m \"version bump\" && git push && git push --tags"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","devDependencies":{"firebase-functions":"^0.5.2","jasmine":"^2.5.3","nodemon":"^1.11.0"},"dependencies":{"firebase-admin":"^4.1.3","firebase-tools":"^3.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.0.8","dist":{"shasum":"7c57741706d62560d9afda71bef40ac35064a49d","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.8.tgz","integrity":"sha512-Ahnarvd8YWHoFeeCHv5TUZHK+a1haMY9Buwhgl1yIhKFETUcUftjCm9Ta5wJ3Xqfo6LC0ucJazomUWskyewyDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFVMDG/cVIXX2OfjP9MMjvcdKioqL6UeelPY+Mm8rB2bAiEAuE5mxD16YYiCNKxIIKOG8s/lAREul8uY9ekCZola6kw="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/quiver-functions-1.0.8.tgz_1490027251097_0.2621727955993265"}},"1.0.9":{"name":"quiver-functions","version":"1.0.9","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jasmine","install-functions":"cd functions && npm install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy --only functions","version-bump":"yarn publish && git add . && git commit -m \"version bump\" && git push && git push --tags"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","devDependencies":{"firebase-functions":"^0.5.2","jasmine":"^2.5.3","nodemon":"^1.11.0"},"dependencies":{"firebase-admin":"^4.1.3","firebase-tools":"^3.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.0.9","dist":{"shasum":"0e7902791df0b158c76497cada16b5d33efac41a","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.9.tgz","integrity":"sha512-jK4Fmeg0lZor9gjlJZ8LzvqJziGzkeUfRCy6E6oA6WQtOhHWLYxLB2GRVavdTssEsXuF9JDGBVFMCTsOrBnhOw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDB5GWJCmSfjxTsMdqVg7I/d7gjAbiW4Ss9Y/cd61BxgIgbgOVboFDANYmloyHFz7fMuskvczv9Q9OKn61t+2cbjw="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/quiver-functions-1.0.9.tgz_1490027424832_0.8789342753589153"}},"1.0.10":{"name":"quiver-functions","version":"1.0.10","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jasmine","install-functions":"cd functions && npm install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy --only functions","version-bump":"yarn publish && git add . && git commit -m \"version bump\" && git push && git push --tags"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","devDependencies":{"firebase-functions":"^0.5.2","jasmine":"^2.5.3","nodemon":"^1.11.0"},"dependencies":{"firebase-admin":"^4.1.3","firebase-tools":"^3.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.0.10","dist":{"shasum":"e4dd39221e9691b43fff466bdc1d3097007f6154","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.10.tgz","integrity":"sha512-24XZjiuE8X9Q9zQW+IfncnWDW4rHZtrYPQIgnM40O2E60qukzBqnxMY3pVtZK8/WbAixa08uMlnmjsRYatN/Tg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF1VPBHHKYdoS8KwMuNTKYOlbbSWDaI+UJAqI76xw4lBAiEAi38Jnfot935sx9WLd5jXJ8LHV0H8NOXVO8iLsygele0="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/quiver-functions-1.0.10.tgz_1490099443967_0.9723497827071697"}},"1.0.11":{"name":"quiver-functions","version":"1.0.11","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jasmine","install-functions":"cd functions && npm install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy --only functions","version-bump":"yarn publish && git push && git push --tags"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","devDependencies":{"firebase-functions":"^0.5.2","jasmine":"^2.5.3","nodemon":"^1.11.0"},"dependencies":{"firebase-admin":"^4.1.3","firebase-tools":"^3.5.0"},"gitHead":"dc2a05bcfae8e14a4e2f6c39d84f589afa9aee2b","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.0.11","_shasum":"06ca56a10b50a2af52ec4128eb0e951ade46a2d1","_from":".","_npmVersion":"4.1.2","_nodeVersion":"6.9.1","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"06ca56a10b50a2af52ec4128eb0e951ade46a2d1","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.11.tgz","integrity":"sha512-J+vEzBokt15WxIfEW6wl5HZlVzVa1L8v+9alTdsHfpRk+lOhnfHgylRL60uDtgv5F+zXAtZIjPZk8V5UOBC8tQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfu5Gx6X37ekPEtCx/mqoA9fhc21EbT1vMB5iiCfnwDAIhALAN4os3YA7asBolEpDZYX9p5w+2cLs46L8uEa/jwy/A"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/quiver-functions-1.0.11.tgz_1490100057046_0.9761593260336667"}},"1.0.13":{"name":"quiver-functions","version":"1.0.13","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest","test:watch":"jest --watch","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","version-bump":"yarn publish && git push && git push --tags"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"firebase-admin":"^5.0.0","firebase-functions":"^0.5.7","firebase-tools":"^3.9.0","yargs":"^8.0.1"},"devDependencies":{"jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"gitHead":"8d645ce3b9c15b662ff01b0ee7e168b95f4eaa48","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.0.13","_shasum":"66cf6e1cb066c02ee8e9e5b71e776b5c250f2a39","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"66cf6e1cb066c02ee8e9e5b71e776b5c250f2a39","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.13.tgz","integrity":"sha512-njrlCzS/O20VEuE/AzsRI8LfvAMoTZG/+t+NR23Q4XweEMbbOADgxbB8PB/ukDbBVDcsdYBS33thkEVge7Vvig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDG3Wo4Gu3O1pIjKA6Ly6eauv08yXxJS7aEvbv0XJhLTgIhALuT5DyjdjQbvPFXA5JdJnfZGM1Dp5a+wuUiKYLL6LYV"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.0.13.tgz_1496183310020_0.2681145933456719"}},"1.0.14":{"name":"quiver-functions","version":"1.0.14","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest","test:watch":"jest --watch","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","version-bump":"yarn publish && git push && git push --tags"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"firebase-admin":"^5.0.0","firebase-functions":"^0.5.7","firebase-tools":"^3.9.0","yargs":"^8.0.1"},"devDependencies":{"jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.0.14","dist":{"shasum":"aad8c7aeba2e8dd4f03def442e36111c62bb9682","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.14.tgz","integrity":"sha512-wFV9GPOy+1Hm5iqCyG9Xg9Fei/Vo/7xy+aslVEmIpDM26vbMjndPvDRdzAiRbqvgRXBVO7TriFabE2D/iRxOBA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDICIJa9Zma8gfUZ9IyIUOkQfnwTQwPR03ffzmf68GejAIhAIpnYXrxEaxxHBaCI3CptKbGWkGbOPW3rrFuaYXczphf"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.0.14.tgz_1496185883974_0.686428387882188"}},"1.0.15":{"name":"quiver-functions","version":"1.0.15","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest","test:watch":"jest --watch","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","version-bump":"yarn publish && git push && git push --tags"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"firebase-admin":"^5.0.0","firebase-functions":"^0.5.7","firebase-tools":"^3.9.0","yargs":"^8.0.1"},"devDependencies":{"jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.0.15","dist":{"shasum":"5a3369d8f06ebdd7c03e0ae6218bde3fd4641301","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.15.tgz","integrity":"sha512-vwgVaHOvGjBwHwNhwufEj3Fh11grXvL72PT5IU5S4zx4R3sj1ndMTZb33Xo7xRkUDTKh6iMHPwMbVyOdz+uyiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGYYbe2yNJOnMRr+b7FrleKN0Wk+HmB4NWvQvAGrBrEEAiEA7HfaVFgtRJDcyI/vZ+JMQM+6RK2s+XPLqXAUwcyeFlo="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.0.15.tgz_1496239831203_0.3302989983931184"}},"1.0.16":{"name":"quiver-functions","version":"1.0.16","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest","test:watch":"jest --watch","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","version-bump":"yarn publish && git push && git push --tags"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"firebase-admin":"^5.0.0","firebase-functions":"^0.5.7","firebase-tools":"^3.9.0","yargs":"^8.0.1"},"devDependencies":{"jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.0.16","dist":{"shasum":"50313f5b38c376e849a0f8555113859252b17961","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.16.tgz","integrity":"sha512-ai4RJnm1agTJoBErDKYU42sIgJ7rq5dkCTp6xsxuIQBSpJVxyslLcrdyO2URHJoqnCWi695jNOzu5U7/wtorgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE+1YtQEfU/g0JG80OaAW1cLI0cQRAMd5k9GOLcpDLTFAiBzHjg2e+YvRos2xEby4xHNENuRg44cgPNWVUX9+O74kw=="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.0.16.tgz_1497008715638_0.30355621804483235"}},"1.0.17":{"name":"quiver-functions","version":"1.0.17","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json","test:watch":"jest --watch --config=jest.config.json","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"firebase-admin":"^5.0.0","firebase-functions":"^0.5.7","firebase-tools":"^3.9.0","yargs":"^8.0.1"},"devDependencies":{"jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.0.17","dist":{"shasum":"1fde9e2c1ac5c26fa7cb9dc2f030f990de3dd1a5","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.0.17.tgz","integrity":"sha512-Mi5et/Pp/y/LPMtXcul0nI+fF4tdK9RTBYuwb/C7zWFRFkxDhcpXX4rh4WYnkXYmmFJ8oR80RfpW1RiO2Q7nPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/bch46tZTGiQ8UTNwTqbN5MwD+xhGHfDWz5UPYQWR4wIgYx8My5MM1rHdAOq9cFe3OqPgGtH0AIKl1Q3kUsOrPVc="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.0.17.tgz_1497012713000_0.2541531214956194"}},"1.1.0":{"name":"quiver-functions","version":"1.1.0","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json","test:watch":"jest --watch --config=jest.config.json","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"firebase-admin":"^5.0.0","firebase-functions":"^0.5.7","firebase-tools":"^3.9.0","yargs":"^8.0.1"},"devDependencies":{"jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.1.0","dist":{"shasum":"d1c668498bb445a302582f261f34d27677270827","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.1.0.tgz","integrity":"sha512-XdLcIDmaKWPEoc/TbDG4Lhmk0i9iIuNSomaLZJZ8iM/2M7RuYY2Za0m2CJ70iPquYfmkHWUGwtnziwtX+OMVLA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICu+T4vwMWaM94Scorkv+JFCB204bbm2dKcdqZ1Q6R3VAiB65c0m+XnEYhTF4m3pVWsiSudTT4ql2SQ4Dry5kVPgng=="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.1.0.tgz_1497101341179_0.5034791042562574"}},"1.1.1":{"name":"quiver-functions","version":"1.1.1","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json","test:watch":"jest --watch --config=jest.config.json","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"firebase-admin":"^5.0.0","firebase-functions":"^0.5.7","firebase-tools":"^3.9.0","yargs":"^8.0.1"},"devDependencies":{"jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.1.1","dist":{"shasum":"a147b9be097701dac129ae64fcdfaec3ac93e7dd","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.1.1.tgz","integrity":"sha512-n7AGZQfmqH3QY2JuigelhtMjoonuk3BdXkaBPKFdIjq2pRv+rru42AhuvEGUDsIAiYRZUCOEV7LqCgwyQ0KmZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5LisFHBsqZqBBRTlMLNqIBcXVNBn77uY3S+WsHMDk8QIgQBz/FBP9ZhzUkryT+H0tl6ZF/3YLtZQm5Gw1nvfsG7o="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.1.1.tgz_1497355701712_0.39685481740161777"}},"1.1.2":{"name":"quiver-functions","version":"1.1.2","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json","test:watch":"jest --watch --config=jest.config.json","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"qvf unset && qvf set && firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"firebase-admin":"^5.0.0","firebase-functions":"^0.5.7","firebase-tools":"^3.9.0","yargs":"^8.0.1"},"devDependencies":{"jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.1.2","dist":{"shasum":"2480e11f754bf71bac5513c35335ebbc26f6b4cb","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.1.2.tgz","integrity":"sha512-M5YTKw+1hszARaIty8n+kT0CDt5hxQWZqcUYpDUOVSDMzjVBRkONS/T6I+VYDazDmkSNeHiijbtpFeWCQpemYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3KDEbf6WhDFzpVyU73tJ26hgU4uknNoAUmk9pxs3RyQIhAJAXdbNr27EqvZaFoF/MdWn03r85Y0192Nh6qQ2y+RG9"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.1.2.tgz_1497363018567_0.8580075716599822"}},"1.1.3":{"name":"quiver-functions","version":"1.1.3","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json","test:watch":"jest --watch --config=jest.config.json","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","firebase-tools":"^3.9.2","yargs":"^8.0.1"},"devDependencies":{"jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"gitHead":"011397e8f97d666836a2ce1b9a8968caffc23c3f","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.1.3","_shasum":"04e7174873c17be7c2aa1df9cc0ea3baeb2daa66","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"04e7174873c17be7c2aa1df9cc0ea3baeb2daa66","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.1.3.tgz","integrity":"sha512-WDws0+AjW5MdbPTgQdbF6pI90EEfNZr6fYfZ9xPpook0KSsgKbKg5GPmSpZNJJe9nsDC7m5GliLLQfnlrW5uyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOE5keJh/o0Z6y4B6gvizl1v7ycsbJx8985v6Ha1LsWwIhAI+++vImS0vSbOYYf8OsVRQVGUP2HgrqWoN7PfyNf3BH"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.1.3.tgz_1503594489109_0.4471901939250529"}},"1.2.0":{"name":"quiver-functions","version":"1.2.0","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json","test:watch":"jest --watch --config=jest.config.json","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql":"^0.11.3","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"devDependencies":{"express-mocks-http":"^0.0.11","jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"gitHead":"9841c3b37a99c2323d76c2f5b94bb5cc802d636e","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.2.0","_shasum":"c2fd8772539b1e8c5e2b316ed5d30876f9ea2876","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"c2fd8772539b1e8c5e2b316ed5d30876f9ea2876","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.2.0.tgz","integrity":"sha512-UM0+mkMpswUEbyoS6yOsf5n9oARVLxP8O4nGIIUeSLAN/idndR5MpHEknh6Al86+9VeO/r230hL6U7zufkZy6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6maGjBowBUCEBC9/RZiw3LcjmH2auTXW63ECf/uwxyQIhAOl0qdsK6YN73V15iGtVGfbPbawWFV9qaMKK2Y7+3CsG"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.2.0.tgz_1505574643988_0.9212031678762287"}},"1.3.0":{"name":"quiver-functions","version":"1.3.0","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql":"^0.11.3","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"devDependencies":{"express-mocks-http":"^0.0.11","jest":"^20.0.4","node-mocks-http":"^1.6.2","nodemon":"^1.11.0","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"gitHead":"9841c3b37a99c2323d76c2f5b94bb5cc802d636e","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.3.0","_shasum":"49ba53f59a243274d00a888e76523f3822352871","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"49ba53f59a243274d00a888e76523f3822352871","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.0.tgz","integrity":"sha512-iYGnaLZ9ky9vF3RRne4PYvsHhCy1kUVea0/fbcsleio8ipNuRvfcn0Bsa8Ks/TKYJo+mXIPlggRXwHfOVRQKaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuP7gmwKOGxGk3hYbKsskWp/B1PxDuZps5wVAGlofoGAIhAKKkCmxU5jCd4KGTLcs06v6N3W5a+ulP5at1TH0xcy7S"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.0.tgz_1505735495624_0.3389812340028584"}},"1.3.1":{"name":"quiver-functions","version":"1.3.1","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql":"^0.11.3","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"devDependencies":{"express-mocks-http":"^0.0.11","firebase-tools":"^3.11.0","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"gitHead":"b47f87687ccfc889050e24b51deb587a2d4451b9","bugs":{"url":"https://github.com/deltaepsilon/quiver-functions/issues"},"homepage":"https://github.com/deltaepsilon/quiver-functions#readme","_id":"quiver-functions@1.3.1","_shasum":"41d9d9420d76f57a456983a15e2e02de6a982e17","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"quiver","email":"chris@quiver.is"},"dist":{"shasum":"41d9d9420d76f57a456983a15e2e02de6a982e17","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.1.tgz","integrity":"sha512-YkhDxD2IFf6GR1TKKv5llsYl9RMCT3Pq0UCvBjbWK2k/z9akSicLcQuGicy1pIYFFBJVZjQ+j82fDIhn9RxBkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD25pypC8XQuCd1gXyf9tsukjh21b4o2qhjqBFRoq9eBAIgC/f+qXuAq2tA0RhtOo5n4ZLe3MMCoCwJ4xx17pIWGSQ="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.1.tgz_1505739748751_0.14259452186524868"}},"1.3.3":{"name":"quiver-functions","version":"1.3.3","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql":"^0.11.3","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"devDependencies":{"express-mocks-http":"^0.0.11","firebase-tools":"^3.11.0","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.3.3","dist":{"shasum":"8c93cfa220abebeff0891045b04b165c5445e903","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.3.tgz","integrity":"sha512-8ZQpg/pAIEN7oJcH7v7otzbqd5gmD38Z5H5z8LGzY94/9MRalj6ITsSoygIKISico2mRpYqKhDlAb2OwAqZnZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsGRZFXfghthtg1b44jrYcJAidy8zlvboKd/EES9HmzwIhAM4kvQ8ykEw9OMNNBxaINeuLAhVfuzy+pSKkG1/4b6zL"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.3.tgz_1505740289250_0.3036639280617237"}},"1.3.4":{"name":"quiver-functions","version":"1.3.4","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql":"^0.11.3","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"devDependencies":{"express-mocks-http":"^0.0.11","firebase-tools":"^3.11.0","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.3.4","dist":{"shasum":"7053b3bb9a27fa8ffbf4f655883eb12868dd8d18","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.4.tgz","integrity":"sha512-/SFt2QIVgd23iizGh1jvB/R4D0GnClsEQ9R8hCSx8rzlu7EYzZJOombgAvZY7RIF0gkyx96otjSFKKcGzutagg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoNx4zL285KYBUm2/Jj+wfosO//JcLlAc3WTgKfEXOSgIgdw1tuT9NcnaAPPJ97hre/kmOiCCg7f4R91dg61Ht5Fg="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.4.tgz_1505740410154_0.571073359111324"}},"1.3.5":{"name":"quiver-functions","version":"1.3.5","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql":"^0.11.3","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"devDependencies":{"express-mocks-http":"^0.0.11","firebase-tools":"^3.11.0","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.3.5","dist":{"shasum":"457329710b6850ff2f92d225b59d742d7740250d","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.5.tgz","integrity":"sha512-cXqGHkiZ0BEbS9NT0lyE3kN7e/L35UYDpvvUdAHeNXDULlR10sew4r4I0rX8GT7WgMYF2MoIav7UDdZUr8Xhdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGDMpRjQ/XTfYit/b5hu0RDsZ2+PBHdWJh4Yd0JZvj8JAiBC+jsVuwKEQ07SduruNqA3ZlGIwbXsUREg8Z5rYkGLKA=="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.5.tgz_1505740666068_0.8537319970782846"}},"1.3.6":{"name":"quiver-functions","version":"1.3.6","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","firebase-tools":"^3.11.0","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"graphql":"^0.11.3"},"devDependencies":{"graphql":"^0.11.3","express-mocks-http":"^0.0.11","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.3.6","dist":{"shasum":"abea452eaee00ab054dd38e3b7851c6eaaa1bfc0","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.6.tgz","integrity":"sha512-7nOvqxdT2othQWZbIIC8Cw4t434P7nTn/hjhEb0qdd7hn1zrbNBu7XsAsOBJdC9NhYqjigV8cypEGSHc20ZYpw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQCxaaH00YdBVkq65qKalPzsF4LIC9UPWqv9XgrKdkgE0gIfKeubReE2A+M2U39SOc7Q+XQR0Qzi7lJPPEZmyUwSrQ=="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.6.tgz_1505743385996_0.2033195870462805"}},"1.3.7":{"name":"quiver-functions","version":"1.3.7","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","firebase-tools":"^3.11.0","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.3.7","dist":{"shasum":"26cafe03fff42711365cffffaaaf73acdb282e50","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.7.tgz","integrity":"sha512-l47K1t0gLAtaD5YmZxtUgM5oSVuWu7Cxn+cdn/s8uQpWo8h8dwq7IcWJxCa66U6+SyLJFNNobivEpgaodkQSvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmKBMRZcARZrEcF9dJFcNEXnn4MpGVwy6+dfx73EojRAiBn3YIvZhF5GJNxQgqYXAeXjuWSp+qyAeceEmJM9ojNKQ=="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.7.tgz_1505746224810_0.13550928072072566"}},"1.3.8":{"name":"quiver-functions","version":"1.3.8","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","firebase-tools":"^3.11.0","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.3.8","dist":{"shasum":"e3140a84e3be412a1f2b67e03294c830f306263a","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.8.tgz","integrity":"sha512-8KbeVCYFnWrsl5tqaziz3Baqnf9quXDgzdn5hTHE+4qRK6zUHSwmFW4tKGdIVEAI2Bfda1HAx2DQK7inGbfeIA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGJghuknelQeIdK0STQ9fl1cAg7uviRJsuGmkShMlwRZAiBmXOw3Tkd0Vm8jZBA9FQ7Iu3yD9UiYkg/sRcIBryrLNg=="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.8.tgz_1505747867477_0.855347668286413"}},"1.3.9":{"name":"quiver-functions","version":"1.3.9","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","firebase-tools":"^3.11.0","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.3.9","dist":{"shasum":"f18e57637f4b1b3ad8bb31098fa638442174a8b5","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.9.tgz","integrity":"sha512-czG56kAAvHFSOvLnMNlt1iD2B6O+8wiY4L7EN4poardYPjES1oN8qOmTjM1WL4Vq3xXd73Mr31XsPQrELzgqFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEiSKUjEn5biKpUs2PvYzsDluqNecdRcxy9WqDrvWi+kAiEA/lhz15iEkse/3ELBnGFpzdqQcw36KLDiP9g9TMsAMP4="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.9.tgz_1505829206040_0.6714968390297145"}},"1.3.10":{"name":"quiver-functions","version":"1.3.10","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","firebase-tools":"^3.11.0","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.3.10","dist":{"shasum":"b502355fdde02e1ec3d2e13ab044b7e0e692fa6b","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.10.tgz","integrity":"sha512-CwMKRhiBwg4yQzSQU38yYQ9SgHfLQTb17R2jL5Qp7kM2+JTXIlNdLWti68PO67ORDZIyaeYmpzBYTay0y2X5ng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8Zhwnqa8drHNrzxStBmJZsng4TecIWlN0ITGLQ1Q4sgIgcBwb8KXMWFh00x8AKC4GMv3aOk6XRY75tpd3LoR+rjI="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.10.tgz_1505833400480_0.6088218244258314"}},"1.3.11":{"name":"quiver-functions","version":"1.3.11","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","firebase-tools":"^3.11.0","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.3.11","dist":{"shasum":"1d76fbd33067bc953a5e3dc918fa8c73ad0f07d5","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.3.11.tgz","integrity":"sha512-d6mffe9cdL5tWiSTxltERYHfcjEJlX1HKynV3PW/6HPv/HdzDzlHvFExY3e2lR9Rvv7cArChBPbQS1oi/nCjOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHsKmbUAexbj71zce5OwJsPc33MIhCMkJrslyDg16d4WAiBJGXcsQ8cTvRiGB0cHI+w0PSakcDlLRME114ZB9Qyhiw=="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.3.11.tgz_1505917360040_0.09095968515612185"}},"1.4.0":{"name":"quiver-functions","version":"1.4.0","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","firebase-tools":"^3.11.0","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.4.0","dist":{"shasum":"12fb9763b70725f8a63b42472708b533df727e77","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.4.0.tgz","integrity":"sha512-/PrgWt3ZAd7BElZAXXaEHWx/zZqq6D+fwbXDbrvsuPJ4e8qQmpN2bShh5ZAE7q+aKAH187q7Qbiej583ClTxxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3bIkGwihAVRUKHKqiUiEp59z2qkqxP6OSO059951EdgIhAIKPVVqeVJqbz/SNO8eF6VWa2hnYHHCjwEffbUp5z3mf"}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.4.0.tgz_1505919208841_0.15729029523208737"}},"1.4.1":{"name":"quiver-functions","version":"1.4.1","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"firebase-tools":"^3.11.0","graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","firebase-tools":"^3.11.0","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.4.1","dist":{"shasum":"77e7672c28283ec7d444411ac90c57fc463419e7","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.4.1.tgz","integrity":"sha512-Kk/EdI1FHu4WBmRMsD6yk4s6+6rxgbKpcmgRN/J84fBaCc+zMm+geABczc28ORaVWR+sVqm9MCKP0dV0vPp8dQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGUzkjqFsO1cfK08Uham3hmu7jhnINmSTG87lOdNVE+3AiBzcPWMj7Us/xhgvksk/9ZIHK/RJJI8EpBlGdY8VUgyIA=="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.4.1.tgz_1506438092270_0.3812193695921451"}},"1.4.2":{"name":"quiver-functions","version":"1.4.2","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"firebase-tools":"^3.11.0","graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","firebase-tools":"^3.11.0","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.4.2","dist":{"shasum":"5020c419c00aed138ecd7a92abf44f0f1493168d","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.4.2.tgz","integrity":"sha512-wFaZB7+lVdoQH2iyBZBqo1ekACw0zajYIbBqUmdERJk4UsV6nRD+a/xRzE7ydMlkIq8p91FA2LAtzclE31EztA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/3RK/PRS723EMpUCEVhlsBk4bOS8LYyUHEFBv96qHbwIgC0aug3PFJRjNRvsvqmpojbNB/wOta3UIGwd23L+8f+M="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.4.2.tgz_1506439839813_0.9173911567777395"}},"1.4.3":{"name":"quiver-functions","version":"1.4.3","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"firebase-tools":"^3.11.0","graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","firebase-tools":"^3.11.0","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.4.3","dist":{"shasum":"abb0f99a900d7834955e1c5aaa3b494b5ede6cb2","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.4.3.tgz","integrity":"sha512-xr7tdIWUpmzEEY46htNC1trUN+eMrT/ounGlelVdDIbZ4JWCJiwjPIXjyIJ3ZwYqSBQROdNAoil7m8ue4/aFdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDC6rS9wJvS7dX7H3DJbhR0XzEHW7pYSXEXEHAVNP95lAIgHPjVaKOF4Cf1G3MfsmoIBLtDT366+bkvaD45Hs8JSnY="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.4.3.tgz_1506446284559_0.2147650436963886"}},"1.4.4":{"name":"quiver-functions","version":"1.4.4","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"firebase-tools":"^3.11.0","graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","firebase-tools":"^3.11.0","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.4.4","dist":{"shasum":"13d68a4210f10d8cb59bfe1150b2cc8f4c1e0ee4","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.4.4.tgz","integrity":"sha512-9TKKjILp27RxmOy5su1lhjT89c7e/gSDTYTeyIQGlyXDsoLguX7kVytGE1k7u7Snw7hh3Jwye/96xqnRJlVHXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFqpuH2X3cOC02Rsy/e8PxMCayCJGCpwNGte0cu0zWUCAiEAioowGSU/nY8N5dHQk/x7dh7LTWWI6H1rONB2BK/br9U="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.4.4.tgz_1506525112729_0.44043412432074547"}},"1.4.5":{"name":"quiver-functions","version":"1.4.5","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"firebase-tools":"^3.11.0","graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","firebase-tools":"^3.11.0","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.4.5","dist":{"shasum":"f0316a69f815bdbfbc0ce84fa0005dcba0a13245","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.4.5.tgz","integrity":"sha512-+osRAydRgdFNO/B+gvNfX37A1zQi6yoBDGj7NbimFePoXaqm+itBbIQdO4tBMbiwtgLq5oHTHLzqSvordTLJDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8WAyJG9kvQtbW/VVqS6y4e+K5Eu5mrF4qqkrXw4+kEwIgZiNVYsz6hhEZ0IvYXWHBEC2K29JKqw5mXh+bHJafJYY="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.4.5.tgz_1507297143337_0.4325292876455933"}},"1.5.0":{"name":"quiver-functions","version":"1.5.0","description":"A monorepo of useful Firebase Cloud Functions","scripts":{"test":"jest --config=jest.config.json --env=node","test:watch":"jest --watch --config=jest.config.json --env=node","test:server":"nodemon bin/server.js","install-functions":"cd functions && yarn install","install-public":"cd public && bower install","serve":"cd public && polymer serve","deploy":"qvf unset && qvf set && firebase deploy","deploy:functions":"firebase deploy --only functions","deploy:hosting":"firebase deploy --only hosting","deploy:config":"qvf unset && qvf set"},"main":"index.js","repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","dependencies":{"body-parser":"^1.18.1","express":"^4.15.4","express-graphql":"^0.6.11","firebase-admin":"^5.2.1","firebase-functions":"^0.6.2","graphql-server-express":"^1.1.2","graphql-tools":"^1.2.2","morgan":"^1.8.2","rxjs":"^5.4.3","yargs":"^8.0.1"},"peerDependencies":{"firebase-tools":"^3.11.0","graphql":"^0.11.3"},"devDependencies":{"express-mocks-http":"^0.0.11","firebase-tools":"^3.11.0","graphql":"^0.11.3","jest":"^21.1.0","node-mocks-http":"^1.6.2","nodemon":"^1.12.1","supertest":"^3.0.0"},"bin":{"qvf":"./bin/quiverFunctions.js"},"licenseText":"MIT License\n\nCopyright (c) 2017 Chris Esplin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"quiver-functions@1.5.0","dist":{"shasum":"ce1d1fd62d8cc731967f61705d49b583eaa62644","tarball":"https://registry.npmjs.org/quiver-functions/-/quiver-functions-1.5.0.tgz","integrity":"sha512-c93xHlJALxRmLO2Oj7iIh607JCu6AmhsE1/OESFf2fyjQRXrnYvqr1nO4PoHjZ7En8D+SjM2UV+Z0IRNeC3IVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFXwda7Qr/C2tlI6VkKAhYjVuumFzo1Lae3zePQZbEyoAiEAix51zEqvx5eW9c58ybub1rjnDCg+7mLWBLv0LQBgIMA="}]},"maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"_npmUser":{"name":"quiver","email":"chris@quiver.is"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiver-functions-1.5.0.tgz_1507298333529_0.48314598482102156"}}},"readme":"# Quiver Functions\n\nA collection of little helpers for your Firebase Functions pleasure.\n\nYou'll find yourself implenting a lot of the same things over, and over and over. For instance, you'll need to test your functions locally, so you'll be implementing mock events over and over again. And setting functions environment variables programatically is a pain in the neck... so you'll want that automated too.\n\n### Installation\n\n- ```npm install --save quiver-functions```\n\n### Testing\n\n- ```git clone https://github.com/deltaepsilon/quiver-functions.git && cd quiver-functions```\n- Install ```firebase-tools``` globally with ```npm install -g firebase-tools```.\n- Run ```firebase init``` and connect the local project to one of your Firebase projects. No need to install database, functions or hosting if you're just running tests.\n- Get your CI token with ```firebase login:ci```. Follow the instructions and copy your new CI token from the CLI.\n- Edit ```./functions/config.json``` with your test project's details including the CI token. Let ```./functions/config.json.dist``` be your guide.\n- ```cd quiver-functions```\n- ```npm install```\n- ```cd ..```\n- ```npm test```\n\n### Test bed web page\n\n- ```npm run install-public```\n- ```npm run serve```\n- Edit ```./public/env.client.json``` with your project's details. Let ```./public/env.client.json.dist``` be your guide.\n- Open [http://localhost:8080/](http://localhost:8080/)\n- ```firebase deploy --only database```: Deploys database rules\n- ```firebase deploy --only functions```: Deploys functions\n- ```firebase deploy --only hosting```: Deploys hosting; use if you want to host the test bed web page.\n- Profit\n\n## How to use the module\n\nQuiverFunctions export statement looks like this:\n\n```\nmodule.exports = {\n  UpdateUser: require('./functions/onCreate/updateUser.onCreate'),\n  Login: require('./functions/onWrite/login.onWrite'),\n  Environment: require('./functions/onRequest/environment.onRequest'),\n  mocks: require('./mocks/mocks'),\n  utilities: require('./utilities/utilities')\n}\n```\n\n### UpdateUser\n\n***UpdateUser*** is a simple handler for user-creation events. It simply copies the new user's JWT data to whatever collection you specify with the ```usersPath``` parameter.\n\n### Login\n\n***Login*** is designed so that every time your user logs in, he'll add his token from ```firebase.auth().currentUser.getToken(token => console.log(token))``` queue, and ***Login*** will process that queue item, verifying the ID token, checking to see if the user's email is in the ```adminUsers``` array and adding the ```user.isAdmin``` flag as appropriate. The user details are then updated to ```usersPath/{uid}``` based on the specified ```usersPath``` param.\n\n***Login*** requires ```{uid}``` to be in the ref path. It's a generic solution, I know, but every app I've written in the last year has used this functionality, written exactly like this.\n\n### EnvironmentService\n\n***EnvironmentService*** takes environment config and has a utility method called ```getPublicEnvironment(host)``` that will return just the ```.public``` node of your environment as well as complete any overrides based on the ```host``` that you pass in. Note that keys can't have periods in them so we're using ```_``` instead of dots. Here's a quick example:\n\n```\n\"public\": {\n  \"a\": \"defaults: a\",\n  \"models\": {\n    \"queues\": {\n      \"current-user\": \"quiver-functions/queues/current-user\"\n    }\n  },\n  \"localhost\": {\n    \"a\": \"localhost: a\",\n    \"b\": \"localhost: b\"\n  },\n  \"subdomain_domain_tld\": {\n    \"a\": \"subdomain_domain_tld: a\",\n    \"b\": \"subdomain_domain_tld: b\"\n  }\n}\n```\n\n***public*** and ***domain-specific overrides***\n\nI always find myself wanting some of my environment variables to be public so that I can quickly pass them to my client apps. I also want to be able to override these public variables based on domain. I use different domains for dev, test and prod, so I should be able to easily override my public environment variables.\n\n\nCheck out ```./functions/config.json.dist``` for a complete example. \n\n### Environment Variable Rules\n\nFunctions has some rules for environment variables/config.\n \n - No root-level key can have the word \"firebase\" in it. There is a ```firebase: {}``` attribute that will be filled in automatically by Functions, so you won't have to look far for your core environment variables. Also, it doesn't hurt to keep your own ```firebase: {}``` attributes in ```config.json```; just know that this attribute will be deleted upon upload.\n - All config must be nested. You can't do ```{ someValue: 'true' }```. It needs to be ```{some: { value: 'true' }}```.\n - Dashes and special characters in attribute names can wreck havoc. So can capitalization. Attribute names should be all lowercase and have no special characters. Underscores are preferred. So don't use ```{'test-user': {...}}```. Use ```{test_user: {...}}``` instead.\n\n\n### Environment onRequest Handler\n\nThe ***Environment*** onRequest handler is a bit fancy. It takes advantage of the fact that ```firebase-functions``` looks for environment variables in ```./functions/config.json```. \n\nFirst, place all of your environment variables in that .json file, and use ```./utilities/environment.utility.js``` and it's ```setAll()```, ```unsetAll()``` and ```getAll()``` functions to push those environment variables up to Functions config. Now your local environment and your Functions environment will be equivalent.\n\nSecond, export an ```environment``` function in your ```./functions/index.js```. Here's an example:\n\n```\nconst Environment = require('quiver-functions').Environment;\nconst environment = new Environment();\nexports.environment = functions.https.onRequest(environment.getFunction());\n```\n\nThird, create a rewrite rule in your ```./firebase.json```. Here's what I'm using for ```firebase.json```. Notice that the ***source*** is ```/environment```, but there's no ***destination***... only a ***function***. That ***function*** value matches up to the ```exports.environment = ...``` line in the example above.\n\n```\n{\n  \"database\": {\n    \"rules\": \"database.rules.json\"\n  },\n  \"hosting\": {\n    \"public\": \"public\",\n    \"rewrites\": [\n      {\n        \"source\": \"/environment.js\",\n        \"function\": \"environment\"\n      },\n      {\n        \"source\": \"**\",\n        \"destination\": \"/index.html\"\n      }\n    ]\n  }\n}\n\n```\n\nNow that you've completed the redirect, run ```firebase deploy``` in your terminal and hit [https://your-firebase.firebaseapp.com/environment](https://your-firebase.firebaseapp.com/environment) to see the magic. It's a single script tag that adds your public environment to ```window.firebaseEnv```. This is perfect for importing your client-side environment variables into your dev, test and prod clients.\n\n#### Full Example\n\n```\nconst functions = require('firebase-functions');\nconst admin = require('firebase-admin');\nconst config = functions.config();\n\nadmin.initializeApp(config.firebase);\n\nconst UpdateUser = require('quiver-functions').UpdateUser;\nconst updateUser = new UpdateUser({\n  usersPath: 'quiver-functions/{environment}/users',\n  database: admin.database()\n});\nexports.updateUser = functions.auth.user().onCreate(updateUser.getFunction());\n\nconst Login = require('quiver-functions').Login;\nconst login = new Login({\n  usersPath: 'quiver-functions/users',\n  adminUsers: ['chris@chrisesplin.com']\n});\nexports.login = functions.database.ref('quiver-functions/queues/current-user/{uid}').onWrite(login.getFunction());\n\nconst config = functions.config();\nconst headers = {\n  'Cache-Control': 'public, max-age=600, s-maxage=600'\n};\nconst Environment = require('quiver-functions').Environment;\nconst environment = new Environment({ config, headers });\nexports.environment = functions.https.onRequest(environment.getFunction());\n\n```\n\n### Utilities\n\n***QuiverFunctions.utilities*** is a collection of useful little helpers. So far it's just ```utililities.EnvironmentUtility```, which manipulates Firebase Functions config as found in ```./functions/config.json```. There are three functions on ```EnvironmentUtility```:\n\n1. ***EnvironmentUtility.getAll()***\n2. ***EnvironmentUtility.unsetAll()***\n3. ***EnvironmentUtility.setAll()***\n\n#### Example\n\n```\nconst config = require('../functions/config.json');\nconst quiverFunctions = require('quiver-functions');\nconst environmentUtility = new quiverFunctions.utilities.EnvironmentUtility('quiver-two', 'my-ci-token-from-firebase-tools-cli', config);\n\nenvironmentUtility.unsetAll()\n  .then(() => {\n    return environmentUtility.setAll();\n  })\n  .then(() => {\n    return environmentUtility.getAll();\n  })\n  .then(newConfig => {\n    console.log('New Firebase Functions config: ', newConfig);\n  });\n\n```\n\n### Mocks\n\n***QuiverFunctions.mocks*** is a collection of useful mocks for testing Firebase Functions locally. See the code in ```/mocks``` to see how the objects are built. Check out ```/functions/lib/login.spec.js``` and ```/functions/lib/on-create.spec.js``` for example implementation.\n\nUse ```new functions.database.DeltaSnapshot(...)``` to create mock DeltaSnapshots as documented [here](https://firebase.google.com/docs/functions/unit-testing).\n\nDeveloping Firebase Functions without a local testing environment is... a mistake. A huge mistake. It's basically impossible to develop effectively with a guess-and-check technique. Every call to ```firebase deploy --only functions``` takes at least a minute, and then the functions can take a while to warm up, so solving bugs by uploading new \"fixed\" functions can be a huge waste of time. Just write the tests. You'll be happier. Promise.\n\n### QVF\n\nI found myself wanting to fire off the ***EnvironmentUtility*** functions directly from the command line, so I wrote a tiny CLI that's available with the command ```qvf``` (for quiver-functions). It has three commands and one flag. Here's the full example:\n\n```\n$ qvf unset\n$ qvf get\n$ qvf set\n$ qvf set --environment some/other/environment.json\n```\n\nNote that ```qvf set``` defaults to using ```$PWD/functions/config.json```.\n\n\n","maintainers":[{"name":"quiver","email":"chris@quiver.is"}],"time":{"modified":"2022-06-25T07:48:16.139Z","created":"2017-03-18T19:29:50.717Z","1.0.0":"2017-03-18T19:29:50.717Z","1.0.1":"2017-03-18T19:33:35.563Z","1.0.2":"2017-03-18T19:35:50.356Z","1.0.3":"2017-03-18T20:18:58.775Z","1.0.4":"2017-03-18T21:16:38.558Z","1.0.7":"2017-03-20T16:24:05.112Z","1.0.8":"2017-03-20T16:27:31.743Z","1.0.9":"2017-03-20T16:30:26.789Z","1.0.10":"2017-03-21T12:30:45.878Z","1.0.11":"2017-03-21T12:40:59.279Z","1.0.13":"2017-05-30T22:28:31.369Z","1.0.14":"2017-05-30T23:11:25.137Z","1.0.15":"2017-05-31T14:10:32.282Z","1.0.16":"2017-06-09T11:45:16.659Z","1.0.17":"2017-06-09T12:51:54.027Z","1.1.0":"2017-06-10T13:29:02.350Z","1.1.1":"2017-06-13T12:08:22.845Z","1.1.2":"2017-06-13T14:10:19.628Z","1.1.3":"2017-08-24T17:08:10.360Z","1.2.0":"2017-09-16T15:10:44.077Z","1.3.0":"2017-09-18T11:51:36.031Z","1.3.1":"2017-09-18T13:02:28.888Z","1.3.3":"2017-09-18T13:11:29.430Z","1.3.4":"2017-09-18T13:13:30.380Z","1.3.5":"2017-09-18T13:17:46.168Z","1.3.6":"2017-09-18T14:03:06.113Z","1.3.7":"2017-09-18T14:50:24.900Z","1.3.8":"2017-09-18T15:17:47.605Z","1.3.9":"2017-09-19T13:53:26.121Z","1.3.10":"2017-09-19T15:03:20.598Z","1.3.11":"2017-09-20T14:22:40.237Z","1.4.0":"2017-09-20T14:53:29.033Z","1.4.1":"2017-09-26T15:01:32.421Z","1.4.2":"2017-09-26T15:30:39.904Z","1.4.3":"2017-09-26T17:18:04.681Z","1.4.4":"2017-09-27T15:11:53.043Z","1.4.5":"2017-10-06T13:39:03.417Z","1.5.0":"2017-10-06T13:58:53.685Z"},"repository":{"type":"git","url":"https://github.com/deltaepsilon/quiver-functions.git"},"author":{"name":"Chris Esplin","email":"chris@quiver.is"},"license":"MIT","readmeFilename":"README.md"}