{"_id":"vuexfire","_rev":"52-b7037986c78792587201e740053f2faa","name":"vuexfire","description":"Firestore binding for Vuex","dist-tags":{"latest":"3.2.5","old":"1.0.0","next":"3.2.0-alpha.0"},"versions":{"0.0.1":{"name":"vuexfire","version":"0.0.1","description":"Opinionated firebase binding for vuex","main":"index.js","scripts":{"lint":"eslint --ext=js,html src tests examples karma.conf.js","test":"npm run lint && karma start karma.conf.js --single-run","dev":"webpack src/index.js dist/vuexfire.js --watch","dev:test":"karma start karma.conf.js","build-dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd","build-prod":"webpack src/index.js dist/vuexfire.min.js --output-library=VuexFire --output-library-target=umd -p","build":"npm run build-dev && npm run build-prod","preversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"chai":"^3.5.0","eslint":"^2.13.1","eslint-config-standard":"^5.3.1","eslint-plugin-html":"^1.5.1","eslint-plugin-promise":"^1.3.2","eslint-plugin-standard":"^1.3.2","firebase":"^3.1.0","istanbul-instrumenter-loader":"^0.2.0","karma":"^1.1.0","karma-coverage":"^1.0.0","karma-mocha":"^1.1.1","karma-phantomjs-launcher":"^1.0.1","karma-sinon-chai":"^1.2.0","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^1.7.0","lolex":"^1.5.0","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.7","sinon":"^1.17.4","sinon-chai":"^2.8.0","vue":"^1.0.26","vuex":"^0.8.2","webpack":"^1.13.1"},"gitHead":"4e47630b54e74ef6d904b2302fe1d12f8b2a8591","_id":"vuexfire@0.0.1","_shasum":"fce9048869a7db3a0eb0cc28cc1fe1437247a47b","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.2.2","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"fce9048869a7db3a0eb0cc28cc1fe1437247a47b","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-0.0.1.tgz","integrity":"sha512-v+qg9pT4nWFrpXbjHouUfp75MbkysXOG+c772t90NhpljYQDtW4aGEMPx0jGWXt1UuEFdX+QBjfzIbmd3vNLVg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAJNEW4wSemyVTQ9SA+z79T9TUDPATH4vQCvKvHVuRgoAiAYBzzjI/IHbbFaGK+dOHU64aDdF3G3uobvxUIOVKMAlQ=="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vuexfire-0.0.1.tgz_1468187232095_0.35049832495860755"},"directories":{}},"0.1.0":{"name":"vuexfire","version":"0.1.0","description":"Opinionated firebase binding for vuex","main":"index.js","scripts":{"lint":"eslint --ext=js,html src tests examples karma.conf.js","test":"npm run lint && karma start karma.conf.js --single-run","dev":"webpack src/index.js dist/vuexfire.js --watch","dev:test":"karma start karma.conf.js","build-dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd","build-prod":"webpack src/index.js dist/vuexfire.min.js --output-library=VuexFire --output-library-target=umd -p","build":"npm run build-dev && npm run build-prod","preversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"chai":"^3.5.0","eslint":"^3.2.0","eslint-config-standard":"^5.3.1","eslint-plugin-html":"^1.5.1","eslint-plugin-promise":"^2.0.0","eslint-plugin-standard":"^2.0.0","firebase":"^3.1.0","istanbul-instrumenter-loader":"^0.2.0","karma":"^1.1.0","karma-coverage":"^1.0.0","karma-mocha":"^1.1.1","karma-phantomjs-launcher":"^1.0.1","karma-sinon-chai":"^1.2.0","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^1.7.0","lolex":"^1.5.0","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.7","sinon":"^1.17.4","sinon-chai":"^2.8.0","vue":"^1.0.26","vuex":"^1.0.0-rc.2","webpack":"^1.13.1"},"gitHead":"51c83b387f48888f02e207151dba5113b269d0a0","_id":"vuexfire@0.1.0","_shasum":"05a031959a6e2c0a0228404e2225e28dcb0cb26c","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"05a031959a6e2c0a0228404e2225e28dcb0cb26c","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-0.1.0.tgz","integrity":"sha512-FynZQeHt9/pKEG7rLhew7qESd+Ijp+m15oR1E9889NsccEjj1ehGJrZsRR8L5N88s1Y7uOK8lWglDfAGmRW9gA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEurd1HlSSudcJTtsUtAJtPcE8H+hCPUpc3JX5PRikBIAiBummGXzaqBWr+YzBBWuou44Yg+03ai8GC6+Y5kSGspuw=="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vuexfire-0.1.0.tgz_1469989802225_0.7924426342360675"},"directories":{}},"0.1.1":{"name":"vuexfire","version":"0.1.1","description":"Opinionated firebase binding for vuex","main":"index.js","scripts":{"lint":"eslint --ext=js,html src tests examples karma.conf.js","test":"npm run lint && karma start karma.conf.js --single-run","dev":"webpack src/index.js dist/vuexfire.js --watch","dev:test":"karma start karma.conf.js","build-dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd","build-prod":"webpack src/index.js dist/vuexfire.min.js --output-library=VuexFire --output-library-target=umd -p","build":"npm run build-dev && npm run build-prod","preversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"chai":"^3.5.0","eslint":"^3.2.0","eslint-config-standard":"^5.3.1","eslint-plugin-html":"^1.5.1","eslint-plugin-promise":"^2.0.0","eslint-plugin-standard":"^2.0.0","firebase":"^3.1.0","istanbul-instrumenter-loader":"^0.2.0","karma":"^1.1.0","karma-coverage":"^1.0.0","karma-mocha":"^1.1.1","karma-phantomjs-launcher":"^1.0.1","karma-sinon-chai":"^1.2.0","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^1.7.0","lolex":"^1.5.0","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.7","sinon":"^1.17.4","sinon-chai":"^2.8.0","vue":"^1.0.26","vuex":"^1.0.0-rc.2","webpack":"^1.13.1"},"gitHead":"bd2fe48a14cbcd5157525ca733edda53ff7bb946","_id":"vuexfire@0.1.1","_shasum":"c51ed0160fdf4a4fc285528bf46b4b609763ff3e","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"c51ed0160fdf4a4fc285528bf46b4b609763ff3e","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-0.1.1.tgz","integrity":"sha512-v4Egzy7eE40S4iNVMqUYxpxFI3oLu4Hjpb3jpaRBCbY/dHYK3AXTwFZiYkcY84zOEupae9CoFnq9J6hDM0qyrQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDi8OCayndw23yIK5XNZhlLFCg8tPdqLGpIwD76ibTltwIhAL1dNsI/BIdof3dASctnRoNzT+gCo0NsPsqQ4+2VW3tK"}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vuexfire-0.1.1.tgz_1469989893149_0.11776783131062984"},"directories":{}},"0.2.0":{"name":"vuexfire","version":"0.2.0","description":"Opinionated firebase binding for vuex","main":"index.js","scripts":{"lint":"eslint --ext=js,html src tests examples karma.conf.js","test":"npm run lint && karma start karma.conf.js --single-run","dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd --watch","dev:test":"karma start karma.conf.js","build-dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd","build-prod":"webpack src/index.js dist/vuexfire.min.js --output-library=VuexFire --output-library-target=umd -p","build":"npm run build-dev && npm run build-prod","preversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"chai":"^3.5.0","eslint":"^3.3.1","eslint-config-standard":"^6.0.0-beta.3","eslint-plugin-html":"^1.5.2","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","firebase":"^3.3.0","istanbul-instrumenter-loader":"^0.2.0","karma":"^1.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.1.1","karma-phantomjs-launcher":"^1.0.1","karma-sinon-chai":"^1.2.3","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^1.8.0","lolex":"^1.5.1","mocha":"^3.0.2","phantomjs-prebuilt":"^2.1.12","promise-polyfill":"^6.0.1","sinon":"^1.17.5","sinon-chai":"^2.8.0","vue":"^1.0.26","vuex":"^2.0.0-rc.5","webpack":"^1.13.2"},"gitHead":"54d2c476db497efc0ed88f2a40ee20e769583e3d","_id":"vuexfire@0.2.0","_shasum":"55c77fd4c02940c853fc4c20a4043cea0089c2a0","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"55c77fd4c02940c853fc4c20a4043cea0089c2a0","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-0.2.0.tgz","integrity":"sha512-BY/f6+w2am4L8XjNATeoCV7vVWPWJbHLGh3vyB2dnKaVhcAzHnOzmO5o6iPZA2gSugiFnkDGUQ0ewEf/U1qKnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB237LS2eRonZX50LqeN3CsYy5OStN6YhH3F7jnjv8z4AiARBoBjAYH2CY4N02eu1o5TghLCMlq9UGj2+GVe0lf+sw=="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/vuexfire-0.2.0.tgz_1471803719290_0.21623557852581143"},"directories":{}},"0.2.1":{"name":"vuexfire","version":"0.2.1","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.js","scripts":{"lint":"eslint --ext=js,html src tests examples karma.conf.js","test":"npm run lint && karma start karma.conf.js --single-run","dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd --watch","dev:test":"karma start karma.conf.js","build-dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd","build-prod":"webpack src/index.js dist/vuexfire.min.js --output-library=VuexFire --output-library-target=umd -p","build":"npm run build-dev && npm run build-prod","preversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"chai":"^3.5.0","eslint":"^3.3.1","eslint-config-standard":"^6.0.0-beta.3","eslint-plugin-html":"^1.5.2","eslint-plugin-promise":"^2.0.1","eslint-plugin-standard":"^2.0.0","firebase":"^3.3.0","istanbul-instrumenter-loader":"^0.2.0","karma":"^1.2.0","karma-coverage":"^1.1.1","karma-mocha":"^1.1.1","karma-phantomjs-launcher":"^1.0.1","karma-sinon-chai":"^1.2.3","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^1.8.0","lolex":"^1.5.1","mocha":"^3.0.2","phantomjs-prebuilt":"^2.1.12","promise-polyfill":"^6.0.1","sinon":"^1.17.5","sinon-chai":"^2.8.0","vue":"^1.0.26","vuex":"^2.0.0-rc.5","webpack":"^1.13.2"},"gitHead":"686b43ada08d67de75af6417d609c85d85ea2afa","_id":"vuexfire@0.2.1","_shasum":"3dc1449ec2fe3860b31d33b6b8027b516fe58ba9","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.5","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"3dc1449ec2fe3860b31d33b6b8027b516fe58ba9","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-0.2.1.tgz","integrity":"sha512-dIXuoyIsKpq0QXBmsbPVZFpQ4sqW4LfLohmo7GSTvhr/7dgW+acVdvvLD2Dr0T0yb2gZSXjw7VC4FCL0ynlt6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHqXrD/B4zwS38uvbT4zAE+WmuTnFOcDBBdzxYZV4G1SAiEAx/z6rNE0uyRZZCumNpvP0SFA5FTk32dq4+3B7Vabweo="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/vuexfire-0.2.1.tgz_1471866914164_0.7515771200414747"},"directories":{}},"0.3.0":{"name":"vuexfire","version":"0.3.0","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.js","scripts":{"lint":"eslint --ext=js,html src tests examples karma.conf.js","test":"npm run lint && karma start karma.conf.js --single-run","dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd --watch","dev:test":"karma start karma.conf.js","build-dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd","build-prod":"webpack src/index.js dist/vuexfire.min.js --output-library=VuexFire --output-library-target=umd -p","build":"npm run build-dev && npm run build-prod","preversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"chai":"^3.5.0","eslint":"^3.10.0","eslint-config-standard":"^6.2.1","eslint-plugin-html":"^1.6.0","eslint-plugin-promise":"^3.3.2","eslint-plugin-standard":"^2.0.1","firebase":"^3.6.0","istanbul-instrumenter-loader":"^1.0.0","karma":"^1.3.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-phantomjs-launcher":"^1.0.2","karma-sinon-chai":"^1.2.4","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^1.8.0","lolex":"^1.5.2","mocha":"^3.1.2","phantomjs-prebuilt":"^2.1.13","promise-polyfill":"^6.0.2","sinon":"^1.17.6","sinon-chai":"^2.8.0","vue":"^2.0.5","vuex":"^2.0.0","webpack":"^1.13.3"},"gitHead":"3d8a806a727b0a03a676b32822c20929569402d0","_id":"vuexfire@0.3.0","_shasum":"50fdf41d5b6c898fb202b2d7e4443cc467d28367","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"50fdf41d5b6c898fb202b2d7e4443cc467d28367","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-0.3.0.tgz","integrity":"sha512-52kSk4edu5KWFigX9WqBRr9niKDAcVO2jr81nJhMxLKrEo0ffxU/p4yVjntPii6hKLi4XVY/BxcEh11TYCIzbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC00OUd6HtDybVbCR585Uu3+bK92R2LkE0fwya2Y+7VcwIgZ0Hx2y65ncLKnDA7ZRAuH/Az8Y2zdyZZWXzRHvJsfjg="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vuexfire-0.3.0.tgz_1479390070530_0.7118490233551711"},"directories":{}},"0.4.0":{"name":"vuexfire","version":"0.4.0","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.js","scripts":{"lint":"eslint --ext=js,html src tests examples karma.conf.js","test":"npm run lint && karma start karma.conf.js --single-run","dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd --watch","dev:test":"karma start karma.conf.js","build-dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd","build-prod":"webpack src/index.js dist/vuexfire.min.js --output-library=VuexFire --output-library-target=umd -p","build":"npm run build-dev && npm run build-prod","preversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"chai":"^3.5.0","eslint":"^3.13.1","eslint-config-standard":"^6.2.1","eslint-plugin-html":"^2.0.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","firebase":"^3.6.5","istanbul-instrumenter-loader":"^1.2.0","karma":"^1.3.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-phantomjs-launcher":"^1.0.2","karma-sinon-chai":"^1.2.4","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^2.0.1","lolex":"^1.5.2","mocha":"^3.2.0","phantomjs-prebuilt":"^2.1.14","promise-polyfill":"^6.0.2","sinon":"^1.17.7","sinon-chai":"^2.8.0","vue":"^2.1.8","vuex":"^2.1.1","webpack":"^1.14.0"},"gitHead":"bc2708e4bc222798ecd66e0d296ee28b544fb2db","_id":"vuexfire@0.4.0","_shasum":"67b4bf3f34c8f6913261155e5385431460d3864d","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.1","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"67b4bf3f34c8f6913261155e5385431460d3864d","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-0.4.0.tgz","integrity":"sha512-ngqJCChpjz4FaweBnprmpGDflOkLUYiLcdIV99+KgHs1cHL7LJI0SY6osGfADVRAItW85u3ABKfusuhVWlzExQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAvdsrURGxHFJRwrPbDT3AD0exs/wGyN0ITZ8IaUFRJ0AiBA0CxMYWnRCpMh0Ikn6OMomcpgiRPhTd6M2qYEKYbW7w=="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/vuexfire-0.4.0.tgz_1486137058591_0.4796964523848146"},"directories":{}},"2.0.0":{"name":"vuexfire","version":"2.0.0","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.js","files":["dist","src"],"scripts":{"lint":"eslint --color --ext=js,html src test examples","test":"yon run lint && yon run test:coverage && yon run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc yon run test:unit","dev:test":"yon run test:unit -- --watch","prebuild":"rimraf dist","build":"node build/build.js","preversion":"yon run build","watch":"npm-watch"},"watch":{"build":"src/**/*.js","lint":{"extensions":"js,html","patterns":["{src,test}/**/*.js","examples/**/*.html"],"quiet":true}},"ava":{"modules":false,"require":["babel-register"],"source":["**/*.js","!dist/**/*"]},"nyc":{"reporter":["lcov","text-summary"]},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"ava":"^0.18.2","babel-preset-es2015":"^6.24.0","babel-preset-stage-2":"^6.22.0","codecov":"^2.1.0","eslint":"^3.19.0","eslint-config-standard":"^10.0.0","eslint-plugin-ava":"^4.2.0","eslint-plugin-html":"^2.0.1","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^2.2.0","firebase":"^3.7.5","firebase-mock":"^1.0.3","mkdirp":"^0.5.1","npm-watch":"^0.1.8","nyc":"^10.2.0","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-buble":"^0.15.0","uglify-js":"^2.8.21","vue":"^2.2.6","vuex":"^2.2.1","yarn-or-npm":"^2.0.3"},"gitHead":"2a4d36246a5f56bb38e5a5631be47a01ac73ac92","_id":"vuexfire@2.0.0","_shasum":"ccbb27075eb987907032108ff4e5e49ba80ba255","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.1","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"ccbb27075eb987907032108ff4e5e49ba80ba255","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-2.0.0.tgz","integrity":"sha512-C2WyvEsiTRGtuLTr+lDvefYwwvCBYkRa7uOZPm3LHJY9hYfMXrWp3/ynZedZd5vmPytpHT5w3DUNGy28cyrxlg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICBz8wm+RSYZYU3I2iJwyhenznkmdxLMYmZm06lO6IfjAiBqWlfB+2Jh0Kc8AMbayWS1e+4w2SGR3nSFzgKx1BDmmQ=="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/vuexfire-2.0.0.tgz_1491398467280_0.49115470447577536"},"directories":{}},"1.0.0":{"name":"vuexfire","version":"1.0.0","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.js","scripts":{"lint":"eslint --ext=js,html src tests examples karma.conf.js","test":"npm run lint && karma start karma.conf.js --single-run","dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd --watch","dev:test":"karma start karma.conf.js","build-dev":"webpack src/index.js dist/vuexfire.js --output-library=VuexFire --output-library-target=umd","build-prod":"webpack src/index.js dist/vuexfire.min.js --output-library=VuexFire --output-library-target=umd -p","build":"npm run build-dev && npm run build-prod","preversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"chai":"^3.5.0","eslint":"^3.13.1","eslint-config-standard":"^6.2.1","eslint-plugin-html":"^1.7.0","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","firebase":"^3.6.5","istanbul-instrumenter-loader":"^1.2.0","karma":"^1.3.0","karma-coverage":"^1.1.1","karma-mocha":"^1.3.0","karma-phantomjs-launcher":"^1.0.2","karma-sinon-chai":"^1.2.4","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.26","karma-webpack":"^2.0.1","lolex":"^1.5.2","mocha":"^3.2.0","phantomjs-prebuilt":"^2.1.14","promise-polyfill":"^6.0.2","sinon":"^1.17.7","sinon-chai":"^2.8.0","vue":"^2.1.8","vuex":"^2.1.1","webpack":"^1.14.0"},"gitHead":"971b04a00eeb14bdb769cd92a603f977fc9535c4","_id":"vuexfire@1.0.0","_shasum":"59256c779afd6a272748c939f4c1b9d46d3b9473","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.1","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"59256c779afd6a272748c939f4c1b9d46d3b9473","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-1.0.0.tgz","integrity":"sha512-OwRIs2vvzVfvFqHWiqAEjS0u5HvLNGDIzdmCDQLpv3iVU6PLTiN9CpXT4bD6vDN7V3LWB7w/FUO6yhTdxIUexA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC6BPGfOscmSqSOYVYhcZMdb9QAhhVBqDtOARITv8wcfAiEA53qZyInr+vuzIXiiwXE1itJYN2PHpFxs93m0Oe+sFq0="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vuexfire-1.0.0.tgz_1491399182502_0.3495726054534316"},"directories":{}},"2.1.0":{"name":"vuexfire","version":"2.1.0","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.js","files":["dist","src"],"scripts":{"lint":"eslint --color --ext=js,html src test examples","test":"yon run lint && yon run test:coverage && yon run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc yon run test:unit","dev:test":"yon run test:unit -- --watch","prebuild":"rimraf dist","build":"node build/build.js","preversion":"yon run build","watch":"npm-watch"},"watch":{"build":"src/**/*.js","lint":{"extensions":"js,html","patterns":["{src,test}/**/*.js","examples/**/*.html"],"quiet":true}},"ava":{"modules":false,"require":["babel-register"],"source":["**/*.js","!dist/**/*"]},"nyc":{"reporter":["lcov","text-summary"]},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"ava":"^0.19.1","babel-preset-es2015":"^6.24.0","babel-preset-stage-2":"^6.22.0","codecov":"^2.1.0","eslint":"^3.19.0","eslint-config-standard":"^10.1.0","eslint-plugin-ava":"^4.2.0","eslint-plugin-html":"^2.0.1","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.0","firebase":"^3.7.5","firebase-mock":"^1.0.3","mkdirp":"^0.5.1","npm-watch":"^0.1.8","nyc":"^10.2.0","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-buble":"^0.15.0","uglify-js":"^2.8.21","vue":"^2.2.6","vuex":"^2.2.1","yarn-or-npm":"^2.0.3"},"gitHead":"19257a87c30acb1774af91730747ffd482872500","_id":"vuexfire@2.1.0","_shasum":"5242b97b61d2d7eb95abcf5931ad6c6c8a60316d","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.1","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"5242b97b61d2d7eb95abcf5931ad6c6c8a60316d","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-2.1.0.tgz","integrity":"sha512-OsuGtDsnz6av+BvWpKM7NOyELdqDaNUjXDdFDzi1fP29aZw4hWez4IApkBzOxKNvizpdFoDT0RpsgK9qK7O4fA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAEXZS094ZblUp0lQW4JJJ5vm6vPFvbaPEAFufX8Io/PAiEAk/E2kYCiaWsKDo5eYSKp/ni8gS0nzsU5CH6LK4QgB+o="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/vuexfire-2.1.0.tgz_1491916532566_0.4392649815417826"},"directories":{}},"2.1.1":{"name":"vuexfire","version":"2.1.1","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.js","files":["dist","src"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"yon run lint && yon run test:coverage && yon run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc yon run test:unit","dev:test":"yon run test:unit -- --watch","prebuild":"rimraf dist","build":"node build/build.js","preversion":"yon run build","watch":"npm-watch"},"watch":{"build":"src/**/*.js","lint":{"extensions":"js,html","patterns":["{src,test}/**/*.js","examples/**/*.html"],"quiet":true}},"ava":{"modules":false,"require":["babel-register"],"source":["**/*.js","!dist/**/*"]},"nyc":{"reporter":["lcov","text-summary"]},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"ava":"^0.19.1","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","codecov":"^2.2.0","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-ava":"^4.2.0","eslint-plugin-html":"^2.0.3","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","firebase":"^3.9.0","firebase-mock":"^1.0.7","mkdirp":"^0.5.1","npm-watch":"^0.1.9","nyc":"^10.3.2","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-buble":"^0.15.0","uglify-js":"^3.0.3","vue":"^2.3.3","vuex":"^2.3.1","yarn-or-npm":"^2.0.4"},"gitHead":"16b91b90c996cae9a6c515bbdd40706ee5285785","_id":"vuexfire@2.1.1","_shasum":"4399e6d6a6e1025a071c3276fae2e3be75c068b0","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.9.0","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"4399e6d6a6e1025a071c3276fae2e3be75c068b0","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-2.1.1.tgz","integrity":"sha512-b+y38ch1O87xsk4H6rctXtB+c7fanw7gYDLS4/Vy2JO8t6YBwp8pLwB6KpuzHeCLMZy63k4M09Xxd87gwrTRAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICgrSQGtI6DrAdeFloKGmAfZfj227m23CGC0taX8Tso4AiADTKBERSMWx9ccSC34ZFl1j6AejKC7DlV81pO4ZmAkJA=="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/vuexfire-2.1.1.tgz_1494439040576_0.9444185281172395"},"directories":{}},"2.1.2":{"name":"vuexfire","version":"2.1.2","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.js","files":["dist","src"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"yon run lint && yon run test:coverage && yon run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc yon run test:unit","dev:test":"yon run test:unit -- --watch","prebuild":"rimraf dist","build":"node build/build.js","preversion":"yon run build","watch":"npm-watch"},"watch":{"build":"src/**/*.js","lint":{"extensions":"js,html","patterns":["{src,test}/**/*.js","examples/**/*.html"],"quiet":true}},"ava":{"modules":false,"require":["babel-register"],"source":["**/*.js","!dist/**/*"]},"nyc":{"reporter":["lcov","text-summary"]},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || 3.x.x"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"ava":"^0.19.1","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","codecov":"^2.2.0","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-ava":"^4.2.0","eslint-plugin-html":"^2.0.3","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","firebase":"^3.9.0","firebase-mock":"^1.0.7","mkdirp":"^0.5.1","npm-watch":"^0.1.9","nyc":"^10.3.2","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-buble":"^0.15.0","uglify-js":"^3.0.3","vue":"^2.3.3","vuex":"^2.3.1","yarn-or-npm":"^2.0.4"},"gitHead":"b8f0e9942f2f4405e942d8cfff77a9dfa40c4981","_id":"vuexfire@2.1.2","_shasum":"d434cbf67700b6985624e0400aadda46e8f079ef","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.9.0","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"d434cbf67700b6985624e0400aadda46e8f079ef","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-2.1.2.tgz","integrity":"sha512-6pqnZNiwnw8QasatsMKejOvxLy6SmKZw0FUpKxq1lAZTByGxD7l/r2YG7HEUDhh6JGCP0PNZjxm9qdxK7N95fw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwS1K0atZaOjATbWkGHhuBa1NoV5/kh+yvN921PoXufAIhAPWQMBAOx1lfeFDutEETPFuMyozoQwG+D9nUqj5ptj1W"}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/vuexfire-2.1.2.tgz_1494795352926_0.5671530291438103"},"directories":{}},"2.1.3":{"name":"vuexfire","version":"2.1.3","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.js","files":["dist","src"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"yon run lint && yon run test:coverage && yon run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc yon run test:unit","dev:test":"yon run test:unit -- --watch","prebuild":"rimraf dist","build":"node build/build.js","preversion":"yon run build","watch":"npm-watch"},"watch":{"build":"src/**/*.js","lint":{"extensions":"js,html","patterns":["{src,test}/**/*.js","examples/**/*.html"],"quiet":true}},"ava":{"modules":false,"require":["babel-register"],"source":["**/*.js","!dist/**/*"]},"nyc":{"reporter":["lcov","text-summary"]},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || >= 3.0.0"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"ava":"^0.19.1","babel-preset-env":"^1.5.1","codecov":"^2.2.0","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-ava":"^4.2.0","eslint-plugin-html":"^2.0.3","eslint-plugin-import":"^2.3.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","firebase":"^4.0.0","firebase-mock":"^1.0.7","mkdirp":"^0.5.1","npm-watch":"^0.1.9","nyc":"^10.3.2","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-buble":"^0.15.0","uglify-js":"^3.0.11","vue":"^2.3.3","vuex":"^2.3.1","yarn-or-npm":"^2.0.4"},"gitHead":"cd4c84d4ef39e06f5c032fb9cd300b4e1c75c9b7","_id":"vuexfire@2.1.3","_shasum":"e93778153d6f58251e2cedf9aa8707e77733647b","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"shasum":"e93778153d6f58251e2cedf9aa8707e77733647b","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-2.1.3.tgz","integrity":"sha512-2V0bggnCw/KLyWGuylS1W2gp8hzMRdvWBSy9R2T4EuShY0Apd3GsjjtRfc5ltpjZvfI051ZJJtYnX3yCaNlzoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/jyH96kfReH56S2c0rZNyOqETrfL+cxg9BvKRs8uFqAIgah1b7ri5qmmqGyQrwZO5gOCRU2L6owCC4bfhjO3OnZc="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire-2.1.3.tgz_1495783745650_0.3763357566203922"},"directories":{}},"2.2.0":{"name":"vuexfire","version":"2.2.0","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.js","files":["dist","src"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"yon run lint && yon run test:coverage && yon run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc yon run test:unit","dev:test":"yon run test:unit -- --watch","prebuild":"rimraf dist","build":"node build/build.js","preversion":"yon run build","watch":"npm-watch"},"watch":{"build":"src/**/*.js","lint":{"extensions":"js,html","patterns":["{src,test}/**/*.js","examples/**/*.html"],"quiet":true}},"ava":{"modules":false,"require":["babel-register"],"source":["**/*.js","!dist/**/*"]},"nyc":{"reporter":["lcov","text-summary"]},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || >= 3.0.0"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"ava":"^0.21.0","babel-preset-env":"^1.6.0","codecov":"^2.2.0","eslint":"^4.3.0","eslint-config-standard":"^10.2.1","eslint-plugin-ava":"^4.2.1","eslint-plugin-html":"^3.1.1","eslint-plugin-import":"^2.7.0","eslint-plugin-node":"^5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","firebase":"^4.1.3","firebase-mock":"^1.1.4","mkdirp":"^0.5.1","npm-watch":"^0.2.0","nyc":"^11.0.3","rimraf":"^2.6.1","rollup":"^0.45.2","rollup-plugin-buble":"^0.15.0","uglify-js":"^3.0.25","vue":"^2.4.2","vuex":"^2.3.1","yarn-or-npm":"^2.0.4"},"gitHead":"d42d1ec063734ee2e5e6ea650b0546b0a543c6c8","_id":"vuexfire@2.2.0","_npmVersion":"5.3.0","_nodeVersion":"8.1.4","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-ZXK3YjgDJI7qrweptQDLeMxrLpDkuFWc8bYS+HpaMNyXKgdzVpzOP1cwCwUNwEApWZOpBUJItdhXgsCe+AvG+g==","shasum":"98fb78450e81dda6716006b3155d5381607efaef","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-2.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEr5s1yOsOWa4Xn+tM4Nrs0VFGKpi5TtA024TnZeYZOGAiEA/YcvCv1/xVT7eD4sv9DLbzJZwwFYYFmdajDuUI+NlXo="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire-2.2.0.tgz_1500759807636_0.5113131741527468"},"directories":{}},"2.3.0":{"name":"vuexfire","version":"2.3.0","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.js","files":["dist","src"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"yon run lint && yon run test:coverage && yon run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc yon run test:unit","dev:test":"yon run test:unit -- --watch","prebuild":"rimraf dist","build":"node build/build.js","preversion":"yon run build","watch":"npm-watch"},"watch":{"build":"src/**/*.js","lint":{"extensions":"js,html","patterns":["{src,test}/**/*.js","examples/**/*.html"],"quiet":true}},"ava":{"modules":false,"require":["babel-register"],"source":["**/*.js","!dist/**/*"]},"nyc":{"reporter":["lcov","text-summary"]},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || >= 3.0.0"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"ava":"^0.22.0","babel-preset-env":"^1.6.0","codecov":"^2.3.0","eslint":"^4.6.0","eslint-config-standard":"^10.2.1","eslint-plugin-ava":"^4.2.2","eslint-plugin-html":"^3.2.1","eslint-plugin-import":"^2.7.0","eslint-plugin-node":"^5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","firebase":"^4.3.0","firebase-mock":"^1.1.5","mkdirp":"^0.5.1","npm-watch":"^0.2.0","nyc":"^11.1.0","rimraf":"^2.6.1","rollup":"^0.49.2","rollup-plugin-buble":"^0.15.0","uglify-js":"^3.0.28","vue":"^2.4.2","vuex":"^2.4.0","yarn-or-npm":"^2.0.4"},"gitHead":"00147a341f4e7077e1371a69746e8a754163f900","_id":"vuexfire@2.3.0","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-GJfXzvOmN0crBQBZv3jhljNN4DAYsCTS1QiWJORIaeb3anoNtliqrJ70mnb6y+Dj4PrHOiU59u8CDBwb6ITW5A==","shasum":"d0c472e084f1c263478a42b8f4e789d3d3c5f079","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-2.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdItXTQAQ/AnCI7dAmDWpY5a0xiJ1ZcCNXnV5D31uk7AIhAKVHhNKevYpo5Q2l3DgnjEAmLlEAD0m34ItSCMoSyRgZ"}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire-2.3.0.tgz_1504450331242_0.5378973730839789"},"directories":{}},"3.0.0-alpha.0":{"name":"vuexfire","version":"3.0.0-alpha.0","description":"Firestore binding for Vuex","main":"dist/vuexfire.cjs.js","module":"dist/vuexfire.es.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.js","files":["src","dist","LICENSE","README.md"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"yon run lint && yon run test:coverage && yon run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc yon run test:unit","dev:test":"yon run test:unit -- --watch","prebuild":"rimraf dist","prepublishOnly":"npm run build","build":"rollit","release":"release-it pre --preReleaseId=alpha --npm.tag=next --github.preRelease","watch":"npm-watch"},"watch":{"build":"src/**/*.js","lint":{"extensions":"js,html","patterns":["{src,test}/**/*.js","examples/**/*.html"],"quiet":true}},"ava":{"modules":false,"require":["babel-register"],"source":["**/*.js","!dist/**/*"]},"nyc":{"reporter":["lcov","text-summary"]},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"ava":"^0.24.0","babel-preset-env":"^1.6.0","codecov":"^3.0.0","eslint":"^4.6.0","eslint-config-posva":"^1.3.0","eslint-plugin-ava":"^4.2.2","firebase":"^4.3.0","firebase-mock":"^1.1.5","mkdirp":"^0.5.1","npm-watch":"^0.3.0","nyc":"^11.1.0","rimraf":"^2.6.1","rollup":"^0.53.0","rollup-plugin-buble":"^0.18.0","uglify-js":"^3.0.28","vue":"^2.4.2","vuex":"^3.0.0","yarn-or-npm":"^2.0.4"},"gitHead":"c8e79bd5dcad3c217f31cb0671119dc6091a02b3","_id":"vuexfire@3.0.0-alpha.0","_npmVersion":"5.6.0","_nodeVersion":"8.6.0","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-0X8tpi2jwdWU7gZQ5Pi6Yt5PYivM3tNtiabOzLPdEDPBM9J5FQUS666Y95pSbzR0huTpThbCcAhOcv9X6q+KFw==","shasum":"0dbde51226b211bc84b424e6356c7b297b69805b","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEILAmYfnpQ0GAaUbuWm0ao0xexpf4msFl9GOENXEHErAiAr6sOYqTlsI0mqBcydV8rgeHOqC+WFa+HTSFUHtoWrSg=="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire-3.0.0-alpha.0.tgz_1515623986670_0.12166039692237973"},"directories":{}},"3.0.0-alpha.1":{"name":"vuexfire","version":"3.0.0-alpha.1","description":"Firestore binding for Vuex","main":"dist/vuexfire.cjs.js","module":"dist/vuexfire.es.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.js","files":["src","dist","LICENSE","README.md"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"npm run lint && npm run test:coverage && npm run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","prebuild":"rimraf dist","prepublishOnly":"npm run build","build":"rollit","release":"release-it pre --preReleaseId=alpha --npm.tag=next --github.preRelease"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"babel-preset-env":"^1.6.0","codecov":"^3.0.0","eslint":"^4.6.0","eslint-config-posva":"^1.3.0","rimraf":"^2.6.2","vue":"^2.4.2","vuex":"^3.0.0"},"readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind it easily too\n  unbindFirebaseRef('todos')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.ref('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [Benvie/WeakMap](https://github.com/Benvie/WeakMap)\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap)\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out the examples by opening the html files in your browser, or check [this online Demo](https://jsfiddle.net/posva/6w3ks04x/)\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref[, options])\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n#### options:\n\n```js\n{\n  cancelCallback: Function, // Cancel callback passed to Firebase when listening for events\n  readyCallback: Function, // Callback called once the data has been loaded. Useful for SSR\n  errorCallback: Function, // Callback called when there is an error loading the data. Useful for SSR\n  wait: Boolean, // (Arrays only) Should Vuexfire wait for the whole array to be populated. Defaults to true\n}\n```\n\n`wait` can be set to true every time. It's useful to do pagination and SSR.\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","readmeFilename":"README.md","gitHead":"e1b03a788d51c650bac2d22bec1436a14dcebc86","_id":"vuexfire@3.0.0-alpha.1","_npmVersion":"5.6.0","_nodeVersion":"8.6.0","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-cIyiq0qbUAQyLMvjYeODu1Ek7iX+btW3qhZwe34Kt0NnvwO6k+KYuLZ19qcdiz9l7aVU4eXDzFa/RpuE4Cj9KA==","shasum":"0703179f195f9b6143f15ed7b10db9acffc0d375","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.1.tgz","fileCount":11,"unpackedSize":61380,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtSTUglZ2+6mJ1RS5yJp2LYYph7iFb/7MLu+V33p3A8wIhANJoJa/0zrJplwuRULBFkT6k4i2lz+MaN/KqQyr+bV7v"}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.1_1519593696184_0.23014988607743403"},"_hasShrinkwrap":false},"3.0.0-alpha.2":{"name":"vuexfire","version":"3.0.0-alpha.2","description":"Firestore binding for Vuex","main":"dist/vuexfire.cjs.js","module":"dist/vuexfire.es.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.es.js","files":["src","dist","LICENSE","README.md"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"npm run lint && npm run test:coverage && npm run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","prebuild":"rimraf dist","prepublishOnly":"npm run build","build":"rollit","release":"release-it pre --preReleaseId=alpha --npm.tag=next --github.preRelease"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"babel-preset-env":"^1.6.0","codecov":"^3.0.0","eslint":"^4.6.0","eslint-config-posva":"^1.3.0","rimraf":"^2.6.2","vue":"^2.4.2","vuex":"^3.0.0"},"readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind it easily too\n  unbindFirebaseRef('todos')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [Benvie/WeakMap](https://github.com/Benvie/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","readmeFilename":"README.md","gitHead":"d13ec0005ac170b731e7881ff9092099941ae23e","_id":"vuexfire@3.0.0-alpha.2","_npmVersion":"5.8.0","_nodeVersion":"8.9.4","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-3dlVD/Tf+gSLA7R87hLcPlq58MAaqWMlgdGCCAMurS2Og4vKJWXynL8CEdSy2yn4NJczCH4wyEsVe693DXrbRw==","shasum":"a6a73969f1866f35a604fd5a4675c9d3d97d8654","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.2.tgz","fileCount":11,"unpackedSize":61693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa042/CRA9TVsSAnZWagAArkwP/2WELnFyd7SBa6TkxSrO\nXGChHmEa5AbwA48zY+V6bdosInv48Aca6bOuIaSEbNJ0VbKLmiNhlZLB/+Sc\nciEByMcQiSBimsN/IWWcC4Znujca2JWiQs7VD4tr8eZSOs8VpfRI1OqeVbB/\nNsA8DsKVYHJpAODwgAKO8anHOjmZkhG0SR00P08M6e+sakYrYeuOjs17J8fw\n3gH2/+7INoEwMFiCUhi1AMpEA7EAeydPbyW5A+BpHSCLhxR9IGw2VkqSHZ+D\nAVWe6/yYeTaYHRTGP6GaImtBI7umAaDFwYKrzeBtTa6UgcfHsM2tQ6dQJPxG\nV9/uYHCooaXC85i/g8QuvHpQCU1hPCJt6KjmeKL/El2iBDUnXuJtqvCULfPi\nNfG8RYamf/92QaIs0q5JzHRP88BVbfiiBydXKNOQCCRQTstDcOCmKo+0dXAJ\n9zXIPVEkyExuvwpdrjhaVLoEVDro/NMYgHesSl9XoAxbohh54aKgz/sG1dAK\nuWOqxv5pTC0y4vrPMwA9T7QudzMW6ocOBAvZm+CCLfn2a6Fc5NhYLj54k9je\n0z2JK/vqlVHa+g95kDTP6gqrIHuMKAmRBYfzWgFicFRfAJl8ddhgoi2rgCDr\ncMFeF9tNqFtolBQQWvChcvOV5fJ0FBK+jNOPwglIPMfRNkvTf+xvDRqKud2Z\nlS2J\r\n=pmoX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGt2EGlfB+8MXYxj9Emc9NYuqySfzIzU6ET7ckHOHB/wIgYOP92t3/GidZy+zN/j+jsEi5JZ4nmMkutif90auRhzE="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.2_1523813822137_0.8228662995720277"},"_hasShrinkwrap":false},"3.0.0-alpha.3":{"name":"vuexfire","version":"3.0.0-alpha.3","description":"Firestore binding for Vuex","main":"dist/vuexfire.cjs.js","module":"dist/vuexfire.es.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.es.js","files":["src","dist","LICENSE","README.md"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"npm run lint && npm run test:coverage && npm run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","prebuild":"rimraf dist","prepublishOnly":"npm run build","build":"rollit","release":"release-it pre --preReleaseId=alpha --npm.tag=next --github.preRelease"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"babel-preset-env":"^1.6.0","codecov":"^3.0.0","eslint":"^4.6.0","eslint-config-posva":"^1.3.0","rimraf":"^2.6.2","vue":"^2.4.2","vuex":"^3.0.0"},"readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind it easily too\n  unbindFirebaseRef('todos')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [Benvie/WeakMap](https://github.com/Benvie/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","readmeFilename":"README.md","gitHead":"289398d827ac9ec1a14d462205e2ca3a755ee93a","_id":"vuexfire@3.0.0-alpha.3","_npmVersion":"5.8.0","_nodeVersion":"8.9.4","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-bVNcy4MsYIA1+I5ETBfJWreEzqGqmUksROIF6m2tF75DGro0xOSLmUy/e8sdrd0D9wpyIU4rE0fJ5FjHs8u7DA==","shasum":"7b8993c6860f1327df71de494a49fe40002a2cb3","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.3.tgz","fileCount":11,"unpackedSize":61786,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa1L0fCRA9TVsSAnZWagAA+t8QAI49HyGKWc1tvDRXBPFC\nxGJJJMShmxXPpMJVQMk0sp2akQauAVQ3qZt4jWaN2PtMrEj4yM5P6hog2uaf\nl8Mc6/Xo9N5ml3W90VxotkCXYm5hSpRT+ToipUxuoKY1mD3DDmttCG65AN8l\nt/At1Oh4zShrnvjU8WzpRDiVPuzLobuOiPe2zaiDOw9xZt95XTYOFV827cDo\nvAs1gOxm+vYLdMChUHx//p/kP/CAjhMnybS5ByyyvXQYjHUr0ipzu06fALPA\no0NtvfD/A3YLYwRwcF7EfkHaDyxFvQv6zEb4m+clmGrLIzXAAKa0g32wf3w/\n6fouGU5b8toQSIM37cYG2G/MUNdtr+eVPgeIpy6+8lqHv5Ao1VpLpogdCa75\nqTyffCWLyhEDmEPder2mw6rT0suv9B3WiNeBwsD1bdJALis469a9u+FfuIji\nWFYJPN5On9eC5Dk90pFJwLOXw4LVUpS8EQTLQVDH6ZlX/P76fW5g9KfYfHGs\nPEVAUmeoIKoMV5Gkkszbmvg9Fa7Md5p7c31FGhwPgpJ1l6qEido2Nnk022Ri\nPlvSbR6+3f0+nEAw9CP8p8kbberwN3T4AimEJvEIzL1dgWEXrC5ZXjSaGnM/\n4dnIF8dDftqC/OaIdAIMR7yZEXJY/IGNY/uhIl4yXsxEFMpzsqEctNmOsrML\nPKm8\r\n=YmPV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxzppCWgD79tkc2tbMGyeknAwOhFdFT3UW6T/OWi5f3gIhALeDI2DFP4mHiqcA9FCubPoJGO55/kjgKDgRs6PeeYoD"}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.3_1523891487248_0.9495351021754757"},"_hasShrinkwrap":false},"3.0.0-alpha.4":{"name":"vuexfire","version":"3.0.0-alpha.4","description":"Firestore binding for Vuex","main":"dist/vuexfire.cjs.js","module":"dist/vuexfire.es.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.es.js","files":["src","dist","LICENSE","README.md"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"npm run lint && npm run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","prebuild":"rimraf dist","prepublishOnly":"npm run build","build":"rollit","release":"release-it pre --preReleaseId=alpha --npm.tag=next --github.preRelease"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"babel-preset-env":"^1.6.1","codecov":"^3.0.1","eslint":"^4.19.1","eslint-config-posva":"^1.3.3","rimraf":"^2.6.2","vue":"^2.5.16","vuex":"^3.0.1"},"readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind it easily too\n  unbindFirebaseRef('todos')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [Benvie/WeakMap](https://github.com/Benvie/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","readmeFilename":"README.md","gitHead":"dce9d0abd65641f12a5e7704c32d9374f67cf67a","_id":"vuexfire@3.0.0-alpha.4","_npmVersion":"6.0.0","_nodeVersion":"8.9.4","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-h3uy52vcanJE0NnWfkk3TzNxRfHsi9rCy395wSAhvEnTSg7xUMZTnnXvXeDWaT/lRXAvSr7p9EFBoIjLNbeZFg==","shasum":"e7b0712062805bd66ebc93767ecc51007e710556","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.4.tgz","fileCount":11,"unpackedSize":62297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5fpHCRA9TVsSAnZWagAADHMP/0vzAUeTa3EhfD2waaQ3\nsfnXrx8Q8iDtVzb3Y2WKHBqJMbw6aqLXP3D6AVQp/uE1BbZWlhlirzZOe9Gu\nTu6McyOcGf3PqcZ4+AyI+1V9Od121/N6gCM1msx7n9nqg0/xcdqjRVXeSTov\n9uyPsvU5jz/0VZlRvTkOsDLfKsgy4mvP7cjluiCpqlWJBgODr36h9LQA3v+M\nNU4jaigNje4C1FbsonKPKfe6H2TwyyWZInlqnVj1g9dJLmojTEiU280+eq1k\nBdP5gjNCpoCKLi277n0DTDX9Rk+ge3qJF/hIe4DjBRJH+W3CgTMAXlUj6p08\nrXmkIQwL6qDexKcHU3GqTLw53Ch4nf6OpQR0FK5sZRYAYHyagXZb7QxocsLd\nlTdUIGrTZEgbYjd/t0aFi0ouT49vpqNpZFJxcj2q8Nfxki1QFRTPAP7SiAZb\nOXaVs4O+4m3vnh5fgWDnkRZeA5HFzErG/HkSqErVYCygJDWBVi4xroGWKsxE\nKJYBRx74kSjLzND2I9IHQcBCr8NTFWUoUvUVC5SSGHVgoo8BkQTiXMEtxy1j\nyYolCuYq0NoWWL89K4MZsVprrwbaGqKJGvY3TaWb/bpcM0rv49UKOFBnHalb\n0sEL+UON00IPjR+UeWIxakkDzpu6IP63jr53XH1kmcg2sxnbel5g1+phDhVP\nkncb\r\n=yyM1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG+5Yljx2qqDHwXg/eMs7j7elE7DPDEd+HfxwCuWilhOAiEAmTzEAX5M6Jv3y/hbeD2y9wEKytO/cKkrY8+U0aEtesY="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.4_1525021254580_0.23117656904793926"},"_hasShrinkwrap":false},"3.0.0-alpha.5":{"name":"vuexfire","version":"3.0.0-alpha.5","description":"Firestore binding for Vuex","main":"dist/vuexfire.cjs.js","module":"dist/vuexfire.es.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.es.js","files":["src","dist","LICENSE","README.md"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"npm run lint && npm run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","prebuild":"rimraf dist","prepublishOnly":"npm run build","build":"rollit","release":"release-it pre --preReleaseId=alpha --npm.tag=next --github.preRelease"},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"babel-preset-env":"^1.6.1","codecov":"^3.0.1","eslint":"^4.19.1","eslint-config-posva":"^1.3.3","rimraf":"^2.6.2","vue":"^2.5.16","vuex":"^3.0.1"},"readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind it easily too\n  unbindFirebaseRef('todos')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [Benvie/WeakMap](https://github.com/Benvie/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","readmeFilename":"README.md","gitHead":"3bae08ad875874d7e90a330ff86a06cb7524bfa4","_id":"vuexfire@3.0.0-alpha.5","_npmVersion":"6.0.1","_nodeVersion":"8.9.4","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-/b4KimHS6SdbgOOheZzU8ZNs9d+awH1GavfuqAvMgQU1jylYbrfUby6oU28UHzsNsgU/Qziwq7HPNG12O/a4tA==","shasum":"a0870b178962a4b50af312bec62aadbddd72cf19","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.5.tgz","fileCount":11,"unpackedSize":62602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9x6rCRA9TVsSAnZWagAAs90QAIPX7qefQSwr8TlnJ6+o\nr70pL5JkwCFtTtxUACdwT8vx0emNB13exSeXRtE8ow6L9XdHpGjKID4cNBiu\nhOOFBQ1IUmaNzcF542186xa7oZFi/NjuqjM9t72XcPCEsyOZdKl+OWVTQA0p\n84qgzgsTeE84O89QT0pP9ZWKosg8652AsNijpgo2aEXeFYP/YTOInMb9yIvw\n4Hp9Epct52kskMWZ2iJS/1kO2VL+4Kwu5L3svafvDFH7AoNxLUQDwBvwk9SO\n4p5CZ5AiQzvCCVjyhvr0gFMeSh977N3MJmFBkHXLOAxN7fFK4uD7Asme2NqG\nYwrtkeNELFZBLMtP07mW4w+ZeUPtCVxkQJoOMvbIh4SNpKk1WtzGtCmR5TNC\nIO7pSHd4ie+WuLSPet5PlM72EgbHCf9M19Ywmku5AZoAR2XRg/kJSEGMzIP+\ntllQNKAIGACyEvlw1XrzY+E5ouim02gqaTTU08WX9L0JK+BrlMDf8aVBjmqC\nnuZ+zWqs2jpdudmeeTwT7mtQC3/4bMHsEO2iEdBDLX4AOxFKbV/+cXjs0Hig\nQ1CXd+AE7io2D4d6bWggG3UurCNNcdglaUUGWbmUGJrWwlZA1nV658sssuzL\nWt3OXA2fv7xPpJEBDWAFeWtXjDBJqLoVyMBhTmaV7Ex0iNblYRbFtTJ9FJM8\nw6OM\r\n=H3Qt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxFGgp2pUbkID9IH5cJIahV3+t4I2HE3USFp7egwkzGQIgH2LGtTgt08nKgk0imrit8ovhRn0bm5pu/4e9wOSDNi8="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.5_1526144682766_0.840386450929445"},"_hasShrinkwrap":false},"3.0.0-alpha.6":{"name":"vuexfire","version":"3.0.0-alpha.6","description":"Firestore binding for Vuex","main":"dist/vuexfire.cjs.js","module":"dist/vuexfire.es.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.es.js","sideEffects":false,"files":["src","dist","LICENSE"],"scripts":{"lint":"eslint --color --ext=js,html src test examples","test":"npm run lint && npm run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","prepublishOnly":"npm run build","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'","release":"release-it pre --preReleaseId=alpha --npm.tag=next --github.preRelease"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.0","@posva/vuefire-test-helpers":"^1.0.1","babel-preset-env":"^1.7.0","codecov":"^3.0.1","eslint":"^5.3.0","eslint-plugin-vue-libs":"^3.0.0","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.0.1"},"gitHead":"e3e2df3624572cec86ed861f2472df4d143f2265","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018 Eduardo San Martin Morote\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":"vuexfire@3.0.0-alpha.6","dist":{"shasum":"278a45496dc1c4cda3b7b76d50c6698b56c39d79","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.6.tgz","integrity":"sha512-9jBQUl2XJ980bGzvsmPqlHajqpKV9KMYKQRbU/GmQ5NE6GRDhjxYzlBbmlXFTSIc0n7255VgqWKuNm9PWY+YPw==","fileCount":10,"unpackedSize":62451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbduLACRA9TVsSAnZWagAAaHAP/jSMhMWCRZV+AhS/OLBF\nffeD6x9CmqyKLstAY0ZHFnVDIBLcQYH4zVx96FN8QDDa6Wgx9uT9InUIp8Lc\nn8uHrYx/+dF7px3MDYNHAkKb3c+ZcvwSJgTUZG6yr5CU6/Csjk/n3HGobA4p\nkUN98KrTMD8Nex2RtpoR3sEEQR+zCF+pdcyIXGcBmSJ1TUc3sYhFTKW5J5kU\ny+bwGaVUVjyvz+BcNS1uB2r2YUTVwP8TZsdok7ocWaOBg9B8jx5nzO16oQau\nP71JRv0gjHEfbWsZbp6+tjGzmWrabCSTSg/j6GSzWjKmksPjojsQcf86lBef\nMyMsiyxFiGCYH6ifo1DQGF1cVLf0rHG3hRArkypWBgw0Tbo36AsmIKWgS4v6\nXjqZdwzX+AA0+VjSFAjR0SfIY1e6PZObnD60pLYBSeP/U8J59IdGohXlk5Sv\nG8U84ltX8KbIxbPyh1kMal5wLB0aIp7fheu6rNA0pRvg+F/E0pJ/rWbHrWBe\nmdZv8/TjQWAiFLJffSUmH9i+Kss/w9/2pEWErCN8nfIAguPonOafiuEU4xyX\n1V5pgSlyWQBO2diYvaU+tmnExtGyVE5kcdNSol5od/hWhG2Msz7QmLa6zUOu\nUaZZhLFquG/zowtN3TpK5aoDrYD5bpq+ZucSKPH8aRbMafME3wTRmsXZaSnK\n10l0\r\n=L2ya\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIERLueCBp4SgDorc0fCmLF8oq+dUaH8GiVOaK7dYphpJAiEAmT4o2UZ0X4AxH+u1bi9RR1cEKuiPnJAl9O9QATgDfbE="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.6_1534517951561_0.9740718216770896"},"_hasShrinkwrap":false},"2.3.1":{"name":"vuexfire","version":"2.3.1","description":"Opinionated firebase binding for vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.js","files":["dist","src"],"scripts":{"lint":"eslint --color --ext=js,html src test examples build","test":"yon run lint && yon run test:coverage && yon run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc yon run test:unit","dev:test":"yon run test:unit -- --watch","prebuild":"rimraf dist","build":"node build/build.js","preversion":"yon run build","watch":"npm-watch"},"watch":{"build":"src/**/*.js","lint":{"extensions":"js,html","patterns":["{src,test}/**/*.js","examples/**/*.html"],"quiet":true}},"ava":{"modules":false,"require":["babel-register"],"source":["**/*.js","!dist/**/*"]},"nyc":{"reporter":["lcov","text-summary"]},"repository":{"type":"git","url":"git+https://github.com/posva/vuexfire.git"},"keywords":["vuex","fire","vue","firebase","redux","store","bind","opinionated"],"peerDependencies":{"firebase":"^2.4.1 || >= 3.0.0"},"author":{"name":"Eduardo San Martin Morote","email":"posva13@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/posva/vuexfire/issues"},"homepage":"https://github.com/posva/vuexfire#readme","devDependencies":{"ava":"^0.24.0","babel-preset-env":"^1.6.0","codecov":"^3.0.0","eslint":"^4.6.0","eslint-config-posva":"^1.3.0","eslint-plugin-ava":"^4.2.2","firebase":"^4.3.0","firebase-mock":"^1.1.5","mkdirp":"^0.5.1","npm-watch":"^0.3.0","nyc":"^11.1.0","rimraf":"^2.6.1","rollup":"^0.58.0","rollup-plugin-buble":"^0.19.1","uglify-js":"^3.0.28","vue":"^2.4.2","vuex":"^3.0.0","yarn-or-npm":"^2.0.4"},"types":"src/index.d.ts","gitHead":"c1f872d637cc9b92eebf3b394d56cc3dfea42d3a","_id":"vuexfire@2.3.1","_npmVersion":"6.4.0","_nodeVersion":"10.5.0","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-DLlpCew+uDIhHpVKGHbpgOUBSJT6loK2EZmKWiVvz/m0hzw8hNPFLnx/MZwtitfX5zVaq59hD8b72/YA03oSsA==","shasum":"9a3bd6cab06183f48dd864c401073688898643c2","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-2.3.1.tgz","fileCount":16,"unpackedSize":70770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbduNeCRA9TVsSAnZWagAATpkP/18GIb4B9JX4LM9B8aEo\nNsskuTes7Adc/XfGwmCFx2DJPjepuAqMrWFIZ4CY58qTCC9H+XwJZH4EON/Z\nHiuDsUAxVp5CZFYWxOi/RBmXikvbaIG+4rSBU9aUVZ8NA/0pHjkzOVQfHNzS\njXtyyXNHdZQpwlrf4Hs234Q67GQIA4bUlcxDxAuBI+ASpv1P76qBbSQTGFDr\n/IRxjO5nKPur5px5ejGuGed4z9JT/AhvITTOKYdntBn0ue8s2/DAnSz10NZI\n1o8opIRSgAFfQl4mJuK7fqg41Qe2tZaoY7lXze/Gt+6sfOsvtWxRUg2NsYEz\ngLDJC+Bg03iG9StTIRBKb/D33Jn10+epBObg5eCRKDqzogD6yjS4I2oJu2uH\nnH90BLApL0niyzjGfjuk/QOx4/t1EzRtcBIxfkK8a2l7npAtSgrz0OUiuBjJ\n2sGNQwQhsinGMKdmxlt2/YfjVgFZUvu507O2oioPgfvBY7r5cWBf1djffXGb\noLNqGWbx7IOGAR1JW0h/xn6PxdVBeAOdnX0CRguy/uIsZF/kbaHGvjimOif/\nh/ZcI+ESdgTdDsRcH8HhDqj94zhEsxWPzyNC7JYU0TuTItE006LIOiHFMkcr\nD6WdvcB3BmTgaQnKsRBpfgtAAPdFMqpXAlZjye8ZXrxKP+6aHB59hu5ci826\nQs37\r\n=hCjV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4YurmFSyMefbogk1pHXtJuhlJuwHogfMzog8qmwBz3AiEAkPKVe0d6jLFAgAtYXN/EALgtRo1olH0DzPGUx0wSUic="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_2.3.1_1534518109627_0.8755342687777341"},"_hasShrinkwrap":false},"3.0.0-alpha.7":{"name":"vuexfire","version":"3.0.0-alpha.7","description":"Firestore binding for Vuex","main":"dist/vuexfire.cjs.js","module":"dist/vuexfire.es.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.es.js","sideEffects":false,"files":["src","dist","LICENSE"],"scripts":{"lint":"eslint --color --ext=js,html src test examples","test":"npm run lint && npm run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","prepublishOnly":"npm run build","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'","release":"release-it pre --preReleaseId=alpha --npm.tag=next --github.preRelease"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.1","@posva/vuefire-test-helpers":"^1.0.2","babel-preset-env":"^1.7.0","codecov":"^3.0.1","eslint":"^5.3.0","eslint-plugin-vue-libs":"^3.0.0","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.0.2"},"gitHead":"d1b4f306b355e72d21ff64fa81f61d7b1ab96d46","readmeFilename":"README.md","readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind any ref easily\n  unbindFirebaseRef('user')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [Benvie/WeakMap](https://github.com/Benvie/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018 Eduardo San Martin Morote\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":"vuexfire@3.0.0-alpha.7","dist":{"shasum":"f3e28c681e4c15f839ed206ad024f43a4117e35a","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.7.tgz","integrity":"sha512-VUnGh0DcJbwE2e11SnkmJTruNMTQMowv88xLtr4TjqF2mssRNM2587u3dDid84snOkT9qNcBPJT/UZZhR1CQKg==","fileCount":10,"unpackedSize":62451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbduSPCRA9TVsSAnZWagAABd4P/jn+MWY1/gz+LgwnMOKX\n7EiKDhJVjALkEUODx/uSmFdK4PxAlZelimfrbc9VC0zQhk9lrgJvgf0vv5zH\nArz8IGEueXSBFCCst+GOOHheM14U3Ccwrt6IQMRYu5nYKiSjX/PR088s+WLg\nGbNB8RRLDSkkRKQ5sFQIXVcNhsWs1+cgCGIfRb9ofW9dbq5c7bfef1Kezg6A\nsgOOPI870g0rd7oge9/XOCpRdEHz19Lco5OswXQfDFyPNfgk84xb8D+IluF6\nC7D/iY2BSrCb7SJFr9NWpeggEKEcini/xH+dI2RJu9jZyC3/F0LFlNPrYA1o\nWl3wVitF1H9k1Bdu82sFDlOzXAAAU2m1WxO885g/Wgx4DmCvd6ie8hfEDE1N\nuIKrur1JSp/HY1nfpDJ6oHmBlV1BO9yFit2cClNe0aUnZd4N6AFrpU7Veia2\nOp8cxQX+pdSrjOxv8lYhTY1l3vV+eUfSprvA8Jhgq3t9mYk7Dx3aKNxZStJw\niALRdyZpzhKHpEU8+PRtdafSHf5mks1599SumTRCuM6rqixjlf8tTJkdBMqH\nsF5FR67G/J5kHHHAQ5rgJ6Ee4vImPPIQypb6IJXXMUdNMpA0JE2619NAPsRV\n8OfsoaoqoRt1akT69KzbA9PcInh+SbVvJknM0l2kZFiexZ23DcKfKFAEON5P\nTqgv\r\n=X/Jp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBvCKMCsWcAdU/3hxU1oLZapRwt5lS0it/Op67aXv+spAiEAizU5HxjEq7q3uZUwOEFbnEp7G9LTTqfpaVa76Q/BjGw="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.7_1534518415023_0.2505168861004248"},"_hasShrinkwrap":false},"3.0.0-alpha.8":{"name":"vuexfire","version":"3.0.0-alpha.8","description":"Firestore binding for Vuex","main":"dist/vuexfire.cjs.js","module":"dist/vuexfire.es.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.es.js","sideEffects":false,"files":["src","dist","LICENSE"],"scripts":{"lint":"eslint --color --ext=js,html src test examples","test":"npm run lint && npm run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","postversion":"npm run build","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.1","@posva/vuefire-test-helpers":"^1.0.2","babel-preset-env":"^1.7.0","codecov":"^3.0.1","eslint":"^5.3.0","eslint-plugin-vue-libs":"^3.0.0","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.0.2"},"gitHead":"be4bd8fc3d061725eec42995009b8b28a330186b","readmeFilename":"README.md","readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind any ref easily\n  unbindFirebaseRef('user')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [Benvie/WeakMap](https://github.com/Benvie/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018 Eduardo San Martin Morote\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":"vuexfire@3.0.0-alpha.8","dist":{"shasum":"5393a56dd3128385a3b143c2cdae0295d8e4731d","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.8.tgz","integrity":"sha512-xEJ2O+OVIUMbBBFLQ9HUeRqR0ooqOoAdi0dzh0KxCa4jtFLYpRDbWe3Lr4wzWxD/hgc0drt1yQshtkQD1DZlfA==","fileCount":10,"unpackedSize":62359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdxAoCRA9TVsSAnZWagAAGU4P/RkUkB5VijaS6Q9c/TI8\n0eVXbGkzygTobW0HrshXmvSkN3tGzWeKiUpsOK9WE9egcMKD8zNvGSXR1mn2\n0urm9nr65IFF7lf2xny/8UyplDmgD5Oz+UkOs+ZwDrpLUHWHj4esi2PiUnEG\nMWTW0XvKcbsbBC6WWH9SYyA8FPeenn0fDWLZ1vSva0yaj6VEtNkYUDTAGXhr\n9kipeAqafCJ7nxZVA2b0Y+G3+mxhUPOpn5eu3eJeTtFgfLHuH8z/gOWzONVN\nNkUClTOgtTj05LGtC3MO5y1Mbwd5Bvdw9Bz8Dr8RTzHX8Ql7H4FexPhHiKKJ\n3E6Tn48U1QX2X/C4twekOb9bqgcp1ekOAuSJGzCDxZr9XPRVfptXYn4RQ8bh\n+p5BBjGh4ZhoSbdyLgRAnNPY+Yk2KdMZhyZ7ck9GYEmUWL3AZ6ILQmZOQUme\n3TGT7us3fSV2UImKRe26+dJXK0rn/1Y8TY5z8rYic1qLqWilfE++MPh5QkCr\nvDjvLA12okFM/eHtxswdAZlV8w7cFCjCNNWgz/n0HWZVpjTL1eoqZLt0YshP\nm5KDQdSEc5SHDu0syzydgPJ8nNK8zRzPzVNz3pRjFEQsgKdSMX7uAfi6RX3O\nxmzxyOE8lvV66tLhC/+2LN1LHYMC/5V0dL+ASA7uZZC+k5UrCuzb/4n5swwb\n6eSp\r\n=456p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDy9qjtvqU+XUEzBH0UpHaO5cE3HDPp6bhKdMrdxn4eyQIgEhnXJmjAvJGqkdMo07vElpcinQ4PzWBc6X2cQKNrQGY="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.8_1534529575671_0.8713422450874657"},"_hasShrinkwrap":false},"3.0.0-alpha.9":{"name":"vuexfire","version":"3.0.0-alpha.9","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","sideEffects":false,"files":["src","dist","LICENSE"],"scripts":{"lint":"eslint --color --ext=js,html src test examples","test":"npm run lint && npm run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","postversion":"npm run build","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.1","@posva/vuefire-test-helpers":"^1.0.2","babel-preset-env":"^1.7.0","codecov":"^3.0.1","eslint":"^5.3.0","eslint-plugin-vue-libs":"^3.0.0","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.0.2"},"gitHead":"8a41868b80924d8a5667a1d7222e1a94d7d99482","readmeFilename":"README.md","readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind any ref easily\n  unbindFirebaseRef('user')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [Benvie/WeakMap](https://github.com/Benvie/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018 Eduardo San Martin Morote\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":"vuexfire@3.0.0-alpha.9","dist":{"shasum":"3ca5652aacad6c7f3b8431fd7f3a0180563de857","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.9.tgz","integrity":"sha512-0bBIXXy/xdlksQbOARSa6CY+nNIxYJtIQvjNoyuVZtcJ2FjFjANSg4fV7pC9fodTZyJMu1dud4cJhmSzln0fSA==","fileCount":10,"unpackedSize":62364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfFOZCRA9TVsSAnZWagAAaNYP/2J+3WTmBmKvVSRIWA8l\nEwpWhC1+yk+KZ5Q215nTwjjuBGK0Y9P/QcKs4i4g1F9NODpjDbi/rq9zK7b8\nUmjqtYYUlLVYtqXWkaQMN9cs6bZdmcGGawSo0AGmz303jgDRf43VQKrS2+QL\nx9iNNNI/jmthq74EpRd1X3mzvSzVm3IbIQLcThWntuBY3gkhL1KjfiG9P4bk\nSWa8jRVOm/K3h+/Ea6b1K95ufv6dpdKdtlgLStgn+ybZIQKd/PyO3MlFGQ2p\nASGQZ3VttcwZ5+S+Vvajxm8yORAAyHlnayvCvBlY+neJXhwLqUsTBqFf5J7z\nG4dNljKU271VU49P1a8e+Yo5cuEMQeAhai2b3sNzESNnaM3w0bU5/bFu+MyF\noYeSvwjgsSl7tW8kKVxYKZNTYQ0EHdKSx2a7HQ7oQvRvfLJj7f32OLExxwUk\nyOxZ63/vuEVO+QncfSEXlDzdjyX/m4TIj7kIdBG6Or4qHfr/dn5a6BS6qHUC\n9XvrL08fLLcw/UVXIu3gQ/mzdX+4O+yo26XoH+p98gcNFYszMTNr58zNqEy7\nOjFqAXIWPDr2Vrl4gnjft3xRH45vdrFidyONFuddmQl5Nc8DJAaBLLK7ucju\nZdytIF9AZVgOu5yB0wYQkSN+3RMT04zirpY5y/g89xu36/MaKOmvi9xAfvpq\ng+lL\r\n=uy6U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLZPsyCMgt2ckSjpDGxV6sT6hQjYGSd4oagHIC8SgdywIgUrKPojfw/TCGlej7a9alcgOBd9xRzvdLU4PfgqEJyRY="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.9_1534874521182_0.2858298029188435"},"_hasShrinkwrap":false},"3.0.0-alpha.10":{"name":"vuexfire","version":"3.0.0-alpha.10","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","test":"npm run lint && npm run build","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","postversion":"npm run build","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.1","@posva/vuefire-test-helpers":"^1.0.2","babel-preset-env":"^1.7.0","codecov":"^3.0.1","eslint":"^5.3.0","eslint-plugin-vue-libs":"^3.0.0","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.0.2"},"gitHead":"02eb07bd2240a26e52face6f7cfd4945a0886349","readmeFilename":"README.md","readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind any ref easily\n  unbindFirebaseRef('user')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018 Eduardo San Martin Morote\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":"vuexfire@3.0.0-alpha.10","dist":{"shasum":"755281aabc24168d1dbe502541af56136afd81de","integrity":"sha512-M/4SBfB4HX0q6Y6K9SdONbdxlhp0HNAsX2EMbiyunBuMfDAaQpOTsgwN5jhTNI6KD23d6/bYW75+7MzNKCSjxQ==","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.10.tgz","fileCount":10,"unpackedSize":62375,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8zLBCRA9TVsSAnZWagAAmcEQAIWZ3Rk1TeOywsyb7HGT\ndSKq5zI9MC6dbUuqw3gOeU4qYU7v7ACC2ietAuKLkvESCcwqUuDbvGBy+NaY\n+ZOBY3b00GKmtJnoKkdPDsUpt5zSWzljbcrvfdxubeKWjmuDYIOtwGUWq4QI\ntp/UgDhpt+F0GpuUrx+YHEuTO9m/CBHwoxxiVEB8ElUFdiuPQYPKLd0dSGBs\n7V2WFRxaC07MBN2N0h6bIGUvBvFz4SFGNbxxc3kJOT24/7BMw+HfjAUpTmmH\n1FxmsMtjvooBJ4280heqt+i5fwt3A4Xx4SUfPNEMvPoC7TZctYiqT0fqc+CM\nQC5xNEQT3wdmQblOZ9bH2NzBRZqREHXGHxBTGoKf4Y5aeGBDvblpgHnLSSls\nIpPuarwuzrxkFjYUF5dbWfBEcoiRqPZzKaKBsZ0ugNIZAtDdi/xrMwCS8q2F\nQpt2uefpQkFxY/sA1ZmLcgV4BRORd8KFczHP6ohoQ7ozGvLrcjVJnrL/l+vQ\nykE3fz6en2Tp7u9x1I1mgt1F7aIORqPUxXbdZmFczsWOhUQZnMbnnnRBz9z9\nvWPqxxBnKyQNMAJbLIYd54KLScnfeXpyALHKS4fv53LDhYbVAykVJ+etVLKv\nZvogvwfeoBRXBV5VUffPHKy4Law+QfmgbQAswfvrIuy+cdOMkin+PqlMiHWB\n1NdQ\r\n=5wM2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZ6Vd5fIrEwHGwnaOLT2V5vibufPOQ0jkqzB23Ilsq9QIgPFkq7yXaLtqF3gR9OB+Aa3/U7hy/gt1hE9dxtMObzxE="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.10_1542664897384_0.38074092590091"},"_hasShrinkwrap":false},"3.0.0-alpha.11":{"name":"vuexfire","version":"3.0.0-alpha.11","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"types/index.d.ts","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","pretest":"npm run lint","test":"npm run build && npm run types","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","types":"tsc -p ./types/test/tsconfig.json","postversion":"npm run build","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.2","@posva/vuefire-test-helpers":"^1.0.2","babel-preset-env":"^1.7.0","codecov":"^3.1.0","eslint":"^5.9.0","eslint-plugin-vue-libs":"^3.0.0","typescript":"^3.2.1","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.0.3"},"gitHead":"91e733c8023e21a262429e08ca8ad8b1d055edc2","readmeFilename":"README.md","readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind any ref easily\n  unbindFirebaseRef('user')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018 Eduardo San Martin Morote\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":"vuexfire@3.0.0-alpha.11","dist":{"shasum":"8091b401386aba6edd24be11fc2ce20abd962a9a","integrity":"sha512-ffg6eBvL3WnMXAHrMONfOI5/siOJkBdRJE6aB4ovMOoJtMo10eJPM+siGoadcJVqqWsIF8q/yt+TrftGntIsSQ==","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.11.tgz","fileCount":10,"unpackedSize":62501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCR2ICRA9TVsSAnZWagAAFC4P/j84/xSRI2tXyG+MFa+e\nqkqUat31IDnyDAF3jb6ApHqBrhGMgUwdeKIedp+BHYJsDgYFyHhEQRInaxcQ\nz6NgVNmukEXTLY5ulqeueBcvTDra9vgdJmhs5O0HYalJi2+QDJyCkPM8WNZr\n65i6fPElSaMGRd5iuuXbSVbIi7q238uy+kW0TzY+jpU0VH4CrduMXkZIRrlJ\nn6f+D46tHk8rLm2inGkKKFdxAJ61+VzBYRxilrnrgJwhtucSz0OU8FFAOyTO\n4YpPDaAM6HvO7PwNyZQAFXnt+bwkUHYo48EFTwFtdt4rOEjKNOLZJI0jgS7x\nYWGB52Bg5tdJdrwTV5Xbgwb+IK/xStggntA8hCxNnPK0CurPK9Bu9AevK8hb\nWgPVOCPi9G3sAPm3ifTXdzafJNIwdfpQTHwAeZ/Art0oyDzXrB3c+TNkBwQP\nuTGVD1tQeS25pxpnctBGp9xgpOo8GtbxPRTAlrTGfop3TE3W5eP1dfFNI8k2\nBB1fVy4ng8NURs0mitXpca1g5dqAZMmVbPjkyWiqKVNg3JStfG+zXFb1w4/p\nx9piLtKWw4rG6CVnLhQ6++qQyD4/2yHsomVQpm0YHeoaJP8IpHPMFAEmtryC\nVP/9CKwnZkWwp550dWFdye9Mh3Ykv3rP82/eHBdelrJQIjlifL+wIOUPEby1\nUMA9\r\n=3XBq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFuG8m5AC9TwngOUpx6HhbUXhdV3k8id2+gPvOqnZKnBAiAFGCRQTfh7rJhwJYcI6mFg8bylY1agjSOOdlk+fnOY8g=="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.11_1544101255503_0.48813443093286835"},"_hasShrinkwrap":false},"3.0.0-alpha.12":{"name":"vuexfire","version":"3.0.0-alpha.12","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"types/index.d.ts","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","pretest":"npm run lint","test":"npm run build && npm run types","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","types":"tsc -p ./types/test/tsconfig.json","postversion":"npm run build","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.2","@posva/vuefire-test-helpers":"^1.0.2","babel-preset-env":"^1.7.0","codecov":"^3.1.0","eslint":"^5.9.0","eslint-plugin-vue-libs":"^3.0.0","typescript":"^3.2.1","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.0.3"},"gitHead":"21732a0a1612d143b358dc40d0aa7a0212d94b8d","readmeFilename":"README.md","readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind any ref easily\n  unbindFirebaseRef('user')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018 Eduardo San Martin Morote\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":"vuexfire@3.0.0-alpha.12","dist":{"shasum":"90a26082691ac147f15701f8e6bce705fa76e898","integrity":"sha512-uvKdv8zih/bmt9SWTg05LxWledXfOLjeB+wOsWwYqvpH5s0HpeMrrLM35hLR8DoZkefdhu4IXRlh4tLsK2SYrw==","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.12.tgz","fileCount":11,"unpackedSize":63110,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCZvpCRA9TVsSAnZWagAAaBUP/jmkVLqVmB2JCp/40OPN\nZYdLx6jw5pbZufXjBFgoc2WeId0tJJdbIIL2bDmtNS79XoJ4l2BBzty5dawl\nKrwl9BQLibVhczzuL3vY1+FGpiKY5MTrlnSybuCO2kAR8kljXfK2WVUJYHgc\nxkQZu+vXVW3tnVXowBSM4Fxn4KfrCjZC5K7Di4ha6VmlxPgXYGW3L8r81gLc\ntvzurU58D7WAyk6+wWTQS71/tYcwzLa36gGe0zTuRXpSbNlKLIkfv/Ug1mLL\naOFn+XdlzPJva9Fcdk3I6DvGYmw5YQY7Q7udWgcSY1dj1Fxt9Mh31s7lXPSe\ngRDzdDscIqlmmdknXDd3y+uPOY6ZUGPn8rg5SMg2inkUT5p0AR4Q3A39WgUE\nItpGg3V3dI07CJQAF9mYnzmgy5sNbrGKgcUwow48zzWlrE0lzlEsrj7rDpHb\nFWTiyJhMdLsOnaj2XswhEftb8n5U32nCitQySpCiNzw/mFJb8NxnEqOFx76p\nJw/Vv07x1e4Az9Bv+T5ZyhdXdNINRh0zRJrzkQf/EmFETg4yMxOj5P7b0Yqm\ncXv55REnrZMOajewZI7tkkxhUfOSY4o+YgiVatp+44+8AyknHXKRseSMLrPV\ns31SOog1AGLSGPzTsbWLWZKEdcxH7qi3WQdssSNdrlhfAh6Wpvq4rVxqDfWZ\nD3xV\r\n=VtZy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3lesaLgvaoeQqVuvIS54ML9S2i9ZWx2o4PIMatGYM7QIgC8inPfph8qfgXjGma0y/Y6zUasjuJhm+e7ESY/3WFRk="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.12_1544133608437_0.5421201323249667"},"_hasShrinkwrap":false},"3.0.0-alpha.13":{"name":"vuexfire","version":"3.0.0-alpha.13","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"types/index.d.ts","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","pretest":"npm run lint","test":"npm run build && npm run types","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","types":"tsc -p ./types/test/tsconfig.json","postversion":"npm run build","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.2","@posva/vuefire-test-helpers":"^1.0.2","babel-preset-env":"^1.7.0","codecov":"^3.1.0","eslint":"^5.9.0","eslint-plugin-vue-libs":"^3.0.0","typescript":"^3.2.1","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.0.3"},"gitHead":"65d30a1f6004d111c5765781d22ddc7ff1792a3c","readmeFilename":"README.md","readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind any ref easily\n  unbindFirebaseRef('user')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018 Eduardo San Martin Morote\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":"vuexfire@3.0.0-alpha.13","dist":{"shasum":"7b20253df0e023bc51dd1133d56ce9d96bbe9478","integrity":"sha512-JXSoDWB+xhhPd3fZdok5KQjYY2p6utk7Zd3rnLKthijFpwZNQeC/Y/lzYLfmDKXVJLESrmE39n3jsCejfrRxqg==","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.13.tgz","fileCount":11,"unpackedSize":63097,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCuMzCRA9TVsSAnZWagAAKLIP/iphiiAxggW8NiG6J280\nR2DL1irU0CSegQex4xisxDjjInfzsiEp8RNdVBpdeitf1hPyaAyPfwFLErO5\n6phqYJtp4yRB32eVrNKa1TnUGRyAh5wNdAubysZ4L7IrMU516Lz82L+zSoLN\nUghjtQAhTsXU4UelD4gIiffXxLAO9m9V2cCVtxkN6rYmGHtqAH+2xM1sS0zU\n+wvNpqrbFgnskoNdfLT/speScLi4LmyJkb6oBKRgS5znXox+n2QM2VM5T//Q\n5X2uIfbSWt9XuiudPRk1g/k4ebp19GcPStEktbOFts1Bl9eIOCfJpGKmQmqC\nnZTkqsk4bPH+tIGrY+SMQyNZUsTvwRZ3sa3OK91tf20jcKN8XvNcDDC2442o\n+wyQR3Eo5HXrseuhTvYTgvDLj9+v9g3gMrt75D4f9y41VkRNWW4s54qxaYix\nF1QwCeBsRQWEc42R0eu14vNsiedj2AAdJlM0zwb+rJ/xqNMzV4/RNPKfV5s4\niAP8vqT8NmUY/l2GNRlBzmEw74XWLi0Abivr8bry402IbzSxVAhbUvr2rETk\nQlx93kO8XOmPiwtaLRAHhOCB796/GmxBOKdXBe9+C7gaTR26HVF4mcJS+rNK\nXPnmJWoen5mmi6EpYMF9nJBzPlrJWfVTbCn/N865gL59+RHcCx6Al8Vg1Xr/\nYRnl\r\n=AjaL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfOBRL8UpxhJPkVFPKa57YgE8BuV/J9izYiNfc3d2F1gIgSuKcyUwAkwkHRBbTgf1g5liu0n+AUAZQOmjAD7TWBUA="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.13_1544217394386_0.5068298714545012"},"_hasShrinkwrap":false},"3.0.0-alpha.14":{"name":"vuexfire","version":"3.0.0-alpha.14","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"types/index.d.ts","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","pretest":"npm run lint","test":"npm run build && npm run types","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","dev":"npm-watch","test:unit":"ava","test:coverage":"nyc npm run test:unit","dev:test":"npm run test:unit -- --watch","types":"tsc -p ./types/test/tsconfig.json","postversion":"npm run build","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.2","@posva/vuefire-test-helpers":"^1.0.2","babel-preset-env":"^1.7.0","codecov":"^3.1.0","eslint":"^5.9.0","eslint-plugin-vue-libs":"^3.0.0","typescript":"^3.2.1","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.0.3"},"gitHead":"4d9e35500575630de9e367d0ec93118e19cacacc","readmeFilename":"README.md","readme":"# VuexFire [![Build Status](https://img.shields.io/circleci/project/posva/vuexfire/master.svg)](https://circleci.com/gh/posva/vuexfire) [![npm package](https://img.shields.io/npm/v/vuexfire.svg)](https://www.npmjs.com/package/vuexfire) [![coverage](https://img.shields.io/codecov/c/github/posva/vuexfire/master.svg)](https://codecov.io/github/posva/vuexfire) ![size](http://img.badgesize.io/posva/vuexfire/master/dist/vuexfire.min.js.svg?compression=gzip)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n``` html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n``` bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n``` js\nimport { firebaseMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...firebaseMutations\n  }\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null // Will be bound as an object\n      },\n    }\n  }\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirebaseRef` and `unbindFirebaseRef`:\n\n```js\nimport { firebaseAction } from 'vuexfire'\n\nconst setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {\n  // this will unbind any previously bound ref to 'todos'\n  bindFirebaseRef('todos', ref)\n  // you can unbind any ref easily\n  unbindFirebaseRef('user')\n})\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created () {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  }\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firebaseAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### firebaseMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirebaseRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirebaseRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirebaseRef('todos', ref).then(() => {\n  commit('setTodosLoaded', true)\n}).catch((err) => {\n  console.log(err)\n})\n```\n\n### unbindFirebaseRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirebaseRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/posva/vuexfire/badge.svg?style=beer-square)](https://beerpay.io/posva/vuexfire)  [![Beerpay](https://beerpay.io/posva/vuexfire/make-wish.svg?style=flat-square)](https://beerpay.io/posva/vuexfire?focus=wish)\n","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018 Eduardo San Martin Morote\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":"vuexfire@3.0.0-alpha.14","dist":{"shasum":"8fbbb963b5cccdd0f46cebf087b180a9112969a3","integrity":"sha512-8g10+Corxgcjd+9tMGT2R2YYdDtgGeHOc5DDtqvoBEyxIe/Yz3c0L8DwCSqjV+Ed3MjID/rgGP3r9xDYGrrHcg==","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.14.tgz","fileCount":11,"unpackedSize":63107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEqZ5CRA9TVsSAnZWagAAHoIP/jd5Aax96tdkyW8bCh5G\nQjcqZNC5bOA+kCyc4gv0Snvl/5vYtWJhHEhS/hVyJDAywddCdKbeasdCYjqz\nK3WI6HrU87KWCpxfy0LzfP1UtNEE9FPxshQcISiPsPchDW6OAjJVwT2Wtfs2\nBxGtVsWdDNGLT8Vpj84DrQwCLqPUuFO8WQi2wxZGvv0CzEMDJuQM+q0CAH7C\nnNPYy4qHhtVxetcrAsasZCEM4luNOFqVFfHODb6f65x30WwPWvuRQtLSls7y\niDLCLc//t0SgFbh39Shp7ZNVeuSOXDgaNdXPYBjDam4kvEtLOfJ4ccuhhZ09\nnImWUsuezJNX6iPKNETGzCA3b2h6PkuxhNVoVHCvn6h6FC2yY1rdFUloAk3F\n91y+iOPIuZP2llcJ2uRQDgdjmdlgb4Z+kU2W5wLVCi4GtRwhzDuQB0sYViVp\nmzh5DwvmHJC6fyYxBjGy9ljh2TQuGODW8xtGZNuG6CSTj1Xc4Z0vsB/RfwF2\nVubrb2yxHQjiRSbrRXost/GwsO06nWgSwA5YbPOZ1YqBldXvR+uqOZM76mwA\nffxjg7aUsAMVRUga/EAg5JnhelN9TVpnUduNXNGii0E8k9iHqmH9IpBX5mAj\nPPCqrIDQrQolUqjJIR8ayNaNCrtbIDoidx6qo3PPEh+i5uf3WTmUm2M/uXdr\nO5UD\r\n=dVVp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD//ifEIEGES8ZEjAv+BhUpvHGQBIIUSj6ZggWAKkXO9QIgVs1gW6ZkVy2pVVhqKk0gOPhrJU+HKMplk9MWAmuoX9o="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.14_1544726136520_0.9361007377642132"},"_hasShrinkwrap":false},"3.0.0-alpha.15":{"name":"vuexfire","version":"3.0.0-alpha.15","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"types/index.d.ts","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","pretest":"npm run lint","test":"npm run build && npm run types && npm run test:unit","test:unit":"jest","dev":"npm run test:unit -- --watchAll","types":"tsc -p ./types/test/tsconfig.json","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'","postversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.2","@posva/vuefire-test-helpers":"^1.0.3","babel-preset-env":"^1.7.0","codecov":"^3.1.0","eslint":"^5.9.0","eslint-plugin-vue-libs":"^3.0.0","jest":"^23.6.0","typescript":"^3.2.1","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.1.0"},"jest":{"collectCoverage":true,"collectCoverageFrom":["<rootDir>/src/**/*.js"]},"gitHead":"9699b0993f67e91d759bab925ea89611dbb05839","readme":"# Vuexfire [![Build Status](https://badgen.net/circleci/github/vuejs/vuefire)](https://circleci.com/gh/vuejs/vuefire) [![npm package](https://badgen.net/npm/v/vuexfire/next)](https://www.npmjs.com/package/vuexfire) [![coverage](https://badgen.net/codecov/c/github/vuejs/vuefire)](https://codecov.io/github/vuejs/vuefire)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n```html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n```bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n```js\nimport { vuexfireMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null, // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...vuexfireMutations,\n  },\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null, // Will be bound as an object\n      },\n    },\n  },\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirestoreRef` and `unbindFirestoreRef`:\n\n```js\nimport { firestoreAction } from 'vuexfire'\n\nconst setTodosRef = firestoreAction(\n  ({ bindFirestoreRef, unbindFirestoreRef }, { ref }) => {\n    // this will unbind any previously bound ref to 'todos'\n    bindFirestoreRef('todos', ref)\n    // you can unbind any ref easily\n    unbindFirestoreRef('user')\n  }\n)\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created() {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  },\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firestoreAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### vuexfireMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirestoreRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirestoreRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirestoreRef('todos', ref)\n  .then(() => {\n    commit('setTodosLoaded', true)\n  })\n  .catch(err => {\n    console.log(err)\n  })\n```\n\n### unbindFirestoreRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirestoreRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","readmeFilename":"README.md","_id":"vuexfire@3.0.0-alpha.15","_nodeVersion":"10.5.0","_npmVersion":"lerna/3.13.1/node@v10.5.0+x64 (darwin)","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-x0hvDEsyVMjZJUB6aBtSjP4gObSZ6Z69UIMqZg6sdi5/7g5ENPhV1Ftj0JEzRxTen/Oo3DKP55UDRqvzLXg0EQ==","shasum":"3e9c2df4079253d99d0212f177c9638caedab2f1","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.15.tgz","fileCount":12,"unpackedSize":82210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclTMYCRA9TVsSAnZWagAAHAIP/2eieleX4R4a0qaWQ3Ez\nZ2uhn1dyePrQCrqEcYcmkKH923W4WdLy6IA+JtWzkZpTJoaqKnYsqDivzuNB\n0sJSYwb0HxjXXlNa5beXSNd9CTwQ8SKvs2mjYq07t0Iyy0yP06U8jB2ONZJW\nJYenKHLPZkKc4D2h+NJ07BI5FSzO3GO+PhFHWZmDXIYxMYB8teYtBMsS74qA\n8oCWew5IgWLCTO5NWPvwUZ3DUsu6/9l40ORWxjUIRNMRt0HGUbLJeJCAPtCC\nSjjSkfQivQzkvDTqj6OdOzY+ylcKL8dTmfXSfX+f8c/u0abKVnboTpoZ/5vr\np0v224UAnP/oYarwosyyecEO4TNRP0/HdSivw3A/zCRQ5C3SFjJcyPBvFKjR\neiTLXBF8oVOb6maV9PIQ1QX51LdIwkKZZki27HqUOCpWAfohVqbUv6irgD02\n8Gq01/jEzcQn8d22gWCJSl/BO2xYgihXb3JCbT40fLVrrDcHMnt9XdrmNIYB\ntpwpMIbrhRWSCg1etAwKPE6E11gkAZXjJ55z3LbYWg7jZk54yhcUZ9oxWE/0\n5bw2wpBcVrwKamz8XKxPvSfYSL8GKYch01z9lnqJFNvz6ojTyieSvkYuuR9A\n7Hwrh/C5/dFbGifXXhtVTPCR/9buOwoxfbwYK7et53UkJ7QLEUiQTYmSR+7u\nInSS\r\n=niXZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDH7nW0LXmIVj0waeMECd6FW0JoIyD1t765A3uJs8q4lgIhAPu6Gn5WLY182VIeOZkfl3DqmdI6R0nDxvr/KPdNiz3s"}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.15_1553281815333_0.6538217373782427"},"_hasShrinkwrap":false},"3.0.0-alpha.16":{"name":"vuexfire","version":"3.0.0-alpha.16","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"types/index.d.ts","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","pretest":"npm run lint","test":"npm run build && npm run types && npm run test:unit","test:unit":"jest","dev":"npm run test:unit -- --watchAll","types":"tsc -p ./types/test/tsconfig.json","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'","postversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind","opinionated"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-bundler":"^1.1.3","@posva/vuefire-test-helpers":"^1.0.4","babel-preset-env":"^1.7.0","codecov":"^3.1.0","eslint":"^5.9.0","eslint-plugin-vue-libs":"^3.0.0","jest":"^23.6.0","typescript":"^3.2.1","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.1.1"},"jest":{"collectCoverage":true,"collectCoverageFrom":["<rootDir>/src/**/*.js"]},"gitHead":"3d1b26acecd5897bd24eaa55a96341527ae5b8f2","readme":"# Vuexfire [![Build Status](https://badgen.net/circleci/github/vuejs/vuefire)](https://circleci.com/gh/vuejs/vuefire) [![npm package](https://badgen.net/npm/v/vuexfire/next)](https://www.npmjs.com/package/vuexfire) [![coverage](https://badgen.net/codecov/c/github/vuejs/vuefire)](https://codecov.io/github/vuejs/vuefire)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n```html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n```bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n```js\nimport { vuexfireMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null, // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...vuexfireMutations,\n  },\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null, // Will be bound as an object\n      },\n    },\n  },\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirestoreRef` and `unbindFirestoreRef`:\n\n```js\nimport { firestoreAction } from 'vuexfire'\n\nconst setTodosRef = firestoreAction(\n  ({ bindFirestoreRef, unbindFirestoreRef }, { ref }) => {\n    // this will unbind any previously bound ref to 'todos'\n    bindFirestoreRef('todos', ref)\n    // you can unbind any ref easily\n    unbindFirestoreRef('user')\n  }\n)\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created() {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  },\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firestoreAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### vuexfireMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirestoreRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirestoreRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirestoreRef('todos', ref)\n  .then(() => {\n    commit('setTodosLoaded', true)\n  })\n  .catch(err => {\n    console.log(err)\n  })\n```\n\n### unbindFirestoreRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirestoreRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","readmeFilename":"README.md","_id":"vuexfire@3.0.0-alpha.16","_nodeVersion":"10.5.0","_npmVersion":"lerna/3.13.1/node@v10.5.0+x64 (darwin)","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-S3eE/FMyhBZaH6HG3h0wLsq+YTAmK5dS20P9OVXiAmrhX6xW4atfrL7UFxWJ/KTGz7/JIFuHxZPvJqWASJW6UA==","shasum":"e12c165d074e619b508b569288bdf130a862e198","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.16.tgz","fileCount":12,"unpackedSize":82325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrMRYCRA9TVsSAnZWagAA1ZcP/0AwnSjAoF6m8ICcVrTT\nxNYbf3nqn+x9zGClxcL69k/ztGKJU9v2LJr6aKjTZW0Vp72N4b5wS/7KKd7Z\nMAvv8PrZ0kLeN7GtkYJ0x6WvYT9Q5DiYi2v5iw2+jC8XQfaWiheO7b28TSD9\nfalZ60DyWT6V18X18SHfqo11BtU6mJpAQszB7csXQqBjrukIs3jX51ts2rdq\nnMBdKPX7nN/MxMpPS171h2iW9l9NeBIxvxzzALy8Gm+yVdjY+4gufhfTol9i\nd365VGyWjeEtXCjlLpMgsRh54l3WCpfIV0eX9SB3U+Md2h8d0Xg0ngJPeTsW\n1c65vfCRRdi6iY8CWxOknvTmKG7eutQdoK5Plh7tDEJEdYz/H0dUqzvEz0WT\ntMdzyfvNy2YT6CZ2rbiAFvebGe+kKBMM7qU5mYzAEgqQcH78x/T1/Nd7uqQk\n5ibtey+2M2MGsWWArnKBe/hTQ7wfr0QkGQRsvXrFFX1j7+ADZyjapZX8Zb3t\n4uNg4nZ9BbzQsvstW10youOXKKNq6zPtOPTkcmob8/G0x16GZdZcxtcKa65w\n8O3/mwVeHwlGJdRRlI6RSFcgjhHKJRJ538d3V9dEQ79j8nRX90RvVw5NatM7\neVIDo7UXznexj3cR/4aq6yLDfHfkR+i55vFOxuuJIRqZf5GxQNkOdWQ3DGb7\nBJRQ\r\n=AGJq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBrAZ6lsT+Or0bKLFdqd5VuQevmyktALCFllIEj05rbjAiAcg9lCxkptBpeYhuHdvduvx6W1gbdtmp9Qg8t1n/NAdg=="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.16_1554826327133_0.008228350984962551"},"_hasShrinkwrap":false},"3.0.0-alpha.17":{"name":"vuexfire","version":"3.0.0-alpha.17","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"types/index.d.ts","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","pretest":"npm run lint","test":"npm run build && npm run types && npm run test:unit","test:unit":"jest","dev":"npm run test:unit -- --watchAll","types":"tsc -p ./types/test/tsconfig.json","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'","postversion":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@babel/core":"^7.0.0-0","@babel/preset-env":"^7.4.4","@posva/vuefire-bundler":"^1.1.3","@posva/vuefire-test-helpers":"^1.0.4","@types/jest":"^24.0.12","codecov":"^3.1.0","eslint":"^5.9.0","eslint-plugin-vue-libs":"^3.0.0","firebase":"^5.11.1","jest":"^24.7.1","typescript":"^3.4.5","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^1.1.2"},"gitHead":"ed1ee4682cc45f26b27e3e0ef8bfc9a4b3e51205","readme":"# Vuexfire [![Build Status](https://badgen.net/circleci/github/vuejs/vuefire)](https://circleci.com/gh/vuejs/vuefire) [![npm package](https://badgen.net/npm/v/vuexfire/next)](https://www.npmjs.com/package/vuexfire) [![coverage](https://badgen.net/codecov/c/github/vuejs/vuefire)](https://codecov.io/github/vuejs/vuefire)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n```html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n```bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n```js\nimport { vuexfireMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null, // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...vuexfireMutations,\n  },\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null, // Will be bound as an object\n      },\n    },\n  },\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirestoreRef` and `unbindFirestoreRef`:\n\n```js\nimport { firestoreAction } from 'vuexfire'\n\nconst setTodosRef = firestoreAction(\n  ({ bindFirestoreRef, unbindFirestoreRef }, { ref }) => {\n    // this will unbind any previously bound ref to 'todos'\n    bindFirestoreRef('todos', ref)\n    // you can unbind any ref easily\n    unbindFirestoreRef('user')\n  }\n)\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created() {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  },\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firestoreAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### vuexfireMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirestoreRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirestoreRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirestoreRef('todos', ref)\n  .then(() => {\n    commit('setTodosLoaded', true)\n  })\n  .catch(err => {\n    console.log(err)\n  })\n```\n\n### unbindFirestoreRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirestoreRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","readmeFilename":"README.md","_id":"vuexfire@3.0.0-alpha.17","_nodeVersion":"10.15.3","_npmVersion":"lerna/3.13.4/node@v10.15.3+x64 (darwin)","dist":{"integrity":"sha512-HMAe4re3GtIauzceMrGeV53bWzD9a9FTR6UoIvrdi9E7z1fZy4UR/Ehy+JEOI+q0TzZ6PtLsCep1KnT8lt6/yg==","shasum":"1317bae201b0f3379d31d68783f81bf652abaf16","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.17.tgz","fileCount":12,"unpackedSize":82475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1GmGCRA9TVsSAnZWagAA9+QP+wf+0iahuMUNFA+wex7g\nUSCXg2FfjLtF2j4lxvormAlopNUmYEggqoR5sN0PGZHi956tr1OkKrrMLeuK\n8EmcuM37rLOnNTI4Mn0G5ZzKfBFx2RK1NBIT7U+v2j5P8Ngg7bR5A7E1QiH2\nHlOxbctTBwQvtqpk/OU3EfmF+qOk+kiivdpUIIDoedIrbKj6ZgnBJz3CQnez\nvx4UB05dOUmG5s9TVx6BRpeweUT6ILCCs10WHUWVmg8YkcyI22krR8AwS0eL\nCFKuaRHm7ynXDWSlERB4RgPAlS9xAJhSLiR97gb1YE8n1j/O/VVSa4CvqXDL\nKTXx4FMOCaMjzCbeAKXUl6yxEt7gjLsVDiE/Gw8nTcECp6vIhB3FWIbADiOf\nNOpFE/ISfv5KqtC819kiM1xlRPcIHiMMsCn4Cb8AdmtuwO/kfdK3G2XWHJV4\nNW/GA7/lPjUFo+GxksnblT4pIHzlGxaTJjwNu6bNLeScE+pgtFE5lMtjJM/m\np09ZNvjhuwOkvh65EU+NEzOEs7s7vRKRiku30YIhj3CW0frevJjxXdk+bYqU\nqeJM815iCrfTab7mPvvBxrBadPFZiRK/vXadR0EnKD+ixGGXX/mP5uR2Sp0f\ndQq6XyMl5AoKP6wz2LDCrYQ9lM6GRGu455uyLQZ8WkuFwNImHP1Ay9mE2D2N\n8Raz\r\n=phGn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFMqLzu+T+7ZDRv3S4AXPNy+d0HkFDJdCO1EOgv8mZpAIhAMShvEOqFZHP0+AYLZyVtPuqJrS61cwlbiLdeSkd8z2z"}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.17_1557424517199_0.45926543074717663"},"_hasShrinkwrap":false},"3.0.0-alpha.18":{"name":"vuexfire","version":"3.0.0-alpha.18","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"types/index.d.ts","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","pretest":"yarn run lint","test":"yarn run build && yarn run types && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit -- --watchAll","types":"tsc -p ./types/test/tsconfig.json","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@babel/core":"^7.0.0-0","@babel/preset-env":"^7.4.4","@posva/vuefire-bundler":"^1.1.3","@posva/vuefire-test-helpers":"^1.1.0","@types/jest":"^24.0.12","codecov":"^3.1.0","eslint":"^5.9.0","eslint-plugin-vue-libs":"^3.0.0","firebase":"^5.11.1","jest":"^24.7.1","typescript":"^3.4.5","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^2.0.0"},"gitHead":"694123cacbc447f1e7d62a07d284e019d38f76da","readme":"# Vuexfire [![Build Status](https://badgen.net/circleci/github/vuejs/vuefire)](https://circleci.com/gh/vuejs/vuefire) [![npm package](https://badgen.net/npm/v/vuexfire/next)](https://www.npmjs.com/package/vuexfire) [![coverage](https://badgen.net/codecov/c/github/vuejs/vuefire)](https://codecov.io/github/vuejs/vuefire)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\nSupports only Vue 2, Vuex 2 and Firebase JavaScript SDK 2/3/4.\nIf you need an older version check the `v1` branch: `npm i -D vuexfire@v1`\n\n## Installation\n\n1. Using a CDN:\n\n```html\n<script src=\"https://unpkg.com/vuexfire@next\"></script>\n```\n\n2. In module environments, e.g CommonJS:\n\n```bash\nnpm install vue firebase vuexfire@next --save\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n```js\nimport { vuexfireMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null, // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...vuexfireMutations,\n  },\n})\n```\n\nIt works with modules as well, but **you don't need to add the mutations there**:\n\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null, // Will be bound as an object\n      },\n    },\n  },\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirestoreRef` and `unbindFirestoreRef`:\n\n```js\nimport { firestoreAction } from 'vuexfire'\n\nconst setTodosRef = firestoreAction(\n  ({ bindFirestoreRef, unbindFirestoreRef }, { ref }) => {\n    // this will unbind any previously bound ref to 'todos'\n    bindFirestoreRef('todos', ref)\n    // you can unbind any ref easily\n    unbindFirestoreRef('user')\n  }\n)\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created() {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  },\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firestoreAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## Examples\n\nYou can check out a complete example in the `/examples` directory.\n\n## API\n\n### vuexfireMutations\n\nThis object contains VuexFire internal mutations. They are all prefixed by\n`vuexfire/`. This object must be added in the root Store mutations object.\n\n### bindFirestoreRef(key, ref)\n\n_Only available inside of an enhanced action_\n\nBinds a firebase reference to a property in the state. If there was already\nanother reference bound to the same property, it unbinds it first.\n\n```js\nbindFirestoreRef('todos', ref)\n```\n\nReturns a promise which will resolve when the data is ready, or throw an error if something goes wrong:\n\n```js\nbindFirestoreRef('todos', ref)\n  .then(() => {\n    commit('setTodosLoaded', true)\n  })\n  .catch(err => {\n    console.log(err)\n  })\n```\n\n### unbindFirestoreRef(key)\n\n_Only available inside of an enhanced action_\n\nUnbinds a bound firebase reference to a given property in the state.\n\n```js\nunbindFirestoreRef('todos')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","readmeFilename":"README.md","_id":"vuexfire@3.0.0-alpha.18","_nodeVersion":"10.15.3","_npmVersion":"lerna/3.13.4/node@v10.15.3+x64 (darwin)","dist":{"integrity":"sha512-F8tO+aY2dDclgh2uufxcbGNGZET4BaBItNTHZR5gJXk/a0Lfdmics2EjFizzcJskBJ7mxSG2ixrqcd3kdovzYg==","shasum":"5e8db6ec562b9a56de8dca2c78f089fa14884ceb","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0-alpha.18.tgz","fileCount":12,"unpackedSize":87121,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1VV1CRA9TVsSAnZWagAALHgP/1FG9DdXeRA6yZcpWUfz\n/TpRq4b4GtnkF1lmImHpZ5nUX1TMgJBTO67fC/IfE0coiISBjoF5eumPdSBB\nypi+rYhK/Q5m9hPO+yr11/RuhsNdHJeRWhyVnJ26bz1fLygZLM9hqMhZpD9i\ng3OYedrB0OAP8j6yn1apdMbEOEyoXhU8zt0mvDyOLUAMZXcfRS7Mgv6TG4zz\nwhHuQPMx+9OoLChNFvAQwaZTgz2n34H7MhIDyidNA0q/d4vaKuZCoRJBiH+H\nP/MjETtpZdp9Zc/egEU3EqnwlBDBXiGCUjlVAeK6bScm5vpEAfp2T3BSmXRe\nN4A9ieHFT1j3M+m7PGW5u6qs8FQSGrAyzZ5njG6LGcrrceVNS0Ne/C2tNSg7\nqkavYMLc5sUrFxMzHzZRH54MdOGSlMaLAg+WEeoPyZDg0PDXn/QfoXXIKF+6\nOVuidyx0IFYALBA3kGPBD8gBwMn0b0A5mZ+tXztoa6bk1FYTf/R+2X6SJxPf\nSWZvB47iMe4x7A3Zt6i+wDVqQxTi8p4xeORv7imi5LvEjqGeygE5nhmu+36O\nOiILJKfyujmSuM1a2zMDpXuWdWonmHq2U1nahC6Fxmn6pfeqzcoLXbDdfbKq\nsvR7QlWCn815eRU3tQvcCLS3MQHk7eI/ZJ6dGKZQt5quTVP1WpBxANGVOWMe\nfcQp\r\n=kHCd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYkV40LL0DMRT3/Re49Hf70NYPMwAtr8ZW2yrBuDwAMAIhAIZ/wZ6b7ygf8ve9W9UGXeCnX5yiZqc2WJYCij7DkWBk"}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0-alpha.18_1557484916946_0.6961865844281236"},"_hasShrinkwrap":false},"3.0.0":{"name":"vuexfire","version":"3.0.0","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"types/index.d.ts","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","pretest":"yarn run lint","test":"yarn run build && yarn run types && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit -- --watchAll","types":"tsc -p ./types/test/tsconfig.json","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@babel/core":"^7.0.0-0","@babel/preset-env":"^7.4.4","@posva/vuefire-bundler":"^1.1.3","@posva/vuefire-test-helpers":"^1.1.0","@types/jest":"^24.0.12","codecov":"^3.1.0","eslint":"^5.9.0","eslint-plugin-vue-libs":"^3.0.0","firebase":"^5.11.1","jest":"^24.7.1","typescript":"^3.4.5","vuex":"^3.0.1"},"dependencies":{"@posva/vuefire-core":"^2.0.0"},"gitHead":"3026c6e8a19722c39a918f2b4ca2a737760c961f","_id":"vuexfire@3.0.0","_nodeVersion":"10.5.0","_npmVersion":"lerna/3.13.3/node@v10.5.0+x64 (darwin)","dist":{"integrity":"sha512-/IqR3wLA0P9Ga5yLfjbHCdEygzYMn33UfHiayhUXv7aI0GTKpYC0yFRMKgdmRWl7EjUre7SbLCVcfRxGpkBkVQ==","shasum":"42dd6c6232af9029c0f8c60808eb3538f8b2da1a","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.0.tgz","fileCount":12,"unpackedSize":85910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc6UnSCRA9TVsSAnZWagAA02cP/iVF+Q0NtFQdQElhAYHI\nBcgBn8e8kbhQqmuwVD2KAMssc12l0Yj7kQgYwH+jMjcwyYmEbSbTRihr/JU3\nEbTy30aCxMoQZo6MSUIle41EjxNsN04Xh+BkH/fI3hS6rWp84GZnUICfhEH4\nNXvGvwHZDJn+Sgglzt6qlugnpohoTqfg4qScYSv8IeypL7vKE9OpHkZUvhP2\nrxkytSGs+h0eQ4Z9SHdldM9qoT4PR4La2a+V6+x7xAuWkAPEJNbI0Jxkt2Kn\nukZh/QhemZedEAi2DKf0+4Kb4dmyDlvYQr5sBXdG13AyJqJqBqFM4xhOOkmm\nBY3cHjDqpRKlosbkKbGpBQVbbsqfjDswte/ucKdOokoK85bVaMUpRtg0werg\nHN4hN6xUHAj46LxUWUOIr/pF0bbgX8mJ5J1UQAUc4jhw+mehpP81ecmZ6xwf\nLqc2LgXoh9+8oL7IYtWgPstr3vTZeQnGRYxa5WJmPYNuYHAvFID9K4bLBAEc\nWB+fzOuFF03hYdzLX7MsxUhfbET86B5bFEpd/9Pkx2gdXm+Zz6l0Fd3fQa0c\nJUvnmfszHH/cFBQ7Z0revYIlcdrbKe8hG+VyC0yWNKgXjYNF23dEjTmzOzJx\nZTSB321y6K2WR6a9w99CBnAhNMknSwhb7nLSYm7Peud0gu/vXHtQYDficpHb\nRmea\r\n=e2wD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCy4EJyPV6f9MGO/fbuuZWojnfbg3u9NSHABvxle114JwIhAPpGamQdUHK6X9B4cLdnhUSC1uK0GH5ve8goX3VbGDf9"}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.0_1558792657251_0.39741502049735256"},"_hasShrinkwrap":false},"3.0.1":{"name":"vuexfire","version":"3.0.1","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"types/index.d.ts","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,html src test examples","pretest":"yarn run lint","test":"yarn run build && yarn run types && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","types":"tsc -p ./types/test/tsconfig.json","build":"node --eval 'require(\"@posva/vuefire-bundler\")(\"Vuexfire\")'","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">= 4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@babel/core":"^7.4.5","@babel/preset-env":"^7.4.5","@posva/vuefire-bundler":"^1.1.4","@posva/vuefire-test-helpers":"^1.1.0","@types/jest":"^24.0.15","codecov":"^3.5.0","eslint":"^5.9.0","eslint-plugin-vue-libs":"^3.0.0","firebase":"^5.11.1","jest":"^24.8.0","typescript":"^3.5.2","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.0.1"},"gitHead":"e4c8ac5bf2c6254cf7fe1998d43ceab69572703d","_id":"vuexfire@3.0.1","_nodeVersion":"10.15.3","_npmVersion":"lerna/3.15.0/node@v10.15.3+x64 (darwin)","dist":{"integrity":"sha512-kGb7yBXMMKC5OqNHy9mxtJa+iIJ3oIxfCkRCoLY53v+vVwLDEmCmqVHHTj2tyjZgilhD1BaX8gqnfhlSfczPxQ==","shasum":"3ff02850df4f6b95b44165572ceae47ed362cd16","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.0.1.tgz","fileCount":12,"unpackedSize":86714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdHlo9CRA9TVsSAnZWagAACZEP/R/gP6DlH8CHrN1Nj4Rb\nSMJ5Cmg3+CeEBr7kg+w/p+Fen5FYN5JHLruOsZ308baWyvomEVwHBowEYZGy\nRNYdGwFS+AiPLySH8DdUXOtADJVd3vd3dCYeoXxp14PTYrbYoL8+qvuPJ14U\nuwQ7iAbRKfiwx3cSlxyW8CamrkKwGOBFCSYDxP/AmEefE900a25tQxyhb9AJ\n8NqbHIG5DPYFuvXeQkZA8WNSY4HkJS+FG8tO/pZPxgjvs3hH9x5339yp3e3N\nrDPg2DHOB1PPcNe5TGwHv0FYWeq/TtdS5Zf1bUXrqHidaexsT4hndAVJVFti\nRwHKNeFRHnBLJbXLRkRHSwBdvV/xOK7hSOGV6u0xRYVOTURDQgWTkzrAz5cw\nQHVHbJfR9+igG6/tabnz9OHOf9y41AjR0h088z3cxGch/vQ5YoIarmlbJpkB\n+ukrg20EReri29KLuiIVMkoSekq2rlfTPzTWRa6g1uO0imo88PJasiL1+tft\nT/khxgU1zFax92j6IYhOPzWHC8FVFLDeYx3xjt659QCSw+4m2zJ+PrQrUa4r\nsw/9NkfaPLDuqkTYsq2QmeK029CSfgZJ8yCdyNyE2UbxMgH14qOG6Dhm3bZI\nx1wslZQ1YTHlNrGvt1qhsHcR5LYbJdNg6OtMDU18O1R8u0j2jUuT/xmQoG7b\nj+wB\r\n=8it8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICbLL8Rbyqfg0KSPj3ZIYig/WDcqqsdiMtwvut4zxMjgAiEA+kQmkji1f5nI4PztnBdUW39LOjy7E7ZKKW/6Xv07QOg="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.0.1_1562270268573_0.2659095242877323"},"_hasShrinkwrap":false},"3.1.0":{"name":"vuexfire","version":"3.1.0","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"dist/packages/vuexfire/src","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,ts src __tests__","pretest":"yarn run lint","test":"yarn run build && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","build":"rollup -c ../../rollup.config.js","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">=4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-test-helpers":"^1.2.0","@types/jest":"^24.0.15","firebase":"^6.3.0","jest":"^24.8.0","ts-jest":"^24.0.2","typescript":"^3.5.2","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.1.0"},"gitHead":"d72085b8d357b2b54644da3bb3b8bcd813a05617","_id":"vuexfire@3.1.0","_nodeVersion":"10.15.3","_npmVersion":"lerna/3.15.0/node@v10.15.3+x64 (darwin)","dist":{"integrity":"sha512-ecgKaf4rQy9sWunZKYYPa3mP1lEFzRXhd4LnEnv+MQxYakQ+Z/08KqdyQK6n5qfXt4T4IJKzm3lpwOiz89HbjA==","shasum":"f248e22e8805c6558ce329be2eff96ff729d8ee0","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.1.0.tgz","fileCount":20,"unpackedSize":96345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLPbtCRA9TVsSAnZWagAAbsMP/3jksbucU+qtH1LMMZ5Y\nSVFhCSZRqznTgcNqwBdwT09ZvaR9/vDur3mEnPSQ/VVDR5uJNXDZdZ24ojJv\nRtDY7hYYJyWWnaAk1WqpmEvLDinJllouZketmpmlENVuOwrRoi4ytcnT57dY\n93OmFaegbCxzTY3nl8Z5fpcrYOk4zdeFXiPOhxTSoY86Mw4ozkWRh4PiflsW\n2w1F44yrS3S5LhgxlExOgFXG0ElxOgcbXlyRB/qRmOrzbFXz0fqUSQVSVNE2\ngCQbMw2K1BCJo3L1nx/oufrBhrUyKT6G1lxiPLw5ihMVtkWT6H/PAPvWjkS+\nKj8TDxAFnzjVVcqbz4il09e2gg+In9cxaIBZuLl4Pjq/z5Lus0sfwd96c5kM\nIWQN3o/EFyoOmYvnesXoyCSmovREFRjDP7DrFDz3ifkdLuXKIojCm59v5W+/\nwunWzg2b073JDmsn/hwaRGZwdQZBAeqG8n/9RrQSvsLytMx7abIglSmDSmBK\no6tnHY8LkKbLSTnVAqWpui1A+pJ45hvXSg8tor9nV29BAD6RbMOXQDdoL3bB\nwDxUrRtMdL0qcwOmMHBuR8zS/jEre+5elbHNJAERDIqW6yP4qbJcvusJJx5e\ntf3uDlaRCLvV0rw2nprrCGrJmuairYYa+/geQFSv7LA5uwXaePTpk4MD/OwI\nQT1t\r\n=89vk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyDJG/kRNfGZ5C87h+PCf+vPso7/1opKxD9WbBsdXxLAIgPlZmqIzHL66dqIjweys3z9SFEPVh9zKScj//nVD+8dU="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.1.0_1563227884486_0.8988001901211506"},"_hasShrinkwrap":false},"3.1.1":{"name":"vuexfire","version":"3.1.1","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"dist/packages/vuexfire/src","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,ts src __tests__","pretest":"yarn run lint","test":"yarn run build && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","build":"rollup -c ../../rollup.config.js","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">=4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-test-helpers":"^1.2.0","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.1.1"},"gitHead":"560f576add733cafcc1838fbdb1292512d4bcbe9","_id":"vuexfire@3.1.1","_nodeVersion":"10.16.1","_npmVersion":"lerna/3.16.4/node@v10.16.1+x64 (darwin)","dist":{"integrity":"sha512-5eX+FsZyhZBSQAiCaplGaGFfIz1sRpYfs8SHwGUDJ+XEpsFTnT0zbhSbbGcuqtrEkMfMeX1Vs8fcnv6AMkj+gQ==","shasum":"42687a1b092107041a0c9da90f0892b4a6efa6e4","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.1.1.tgz","fileCount":21,"unpackedSize":104686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdSFmYCRA9TVsSAnZWagAAZTEP/RaQNpChfcVAJeQ6UH3X\njmwbb3r5Vct01aDCYQ/u4VaSsWu2hijmJfUrCGWXTT9zDdipn13DY4ABc0wJ\ntIAn2bAW6gu+1XdRHT1FuJc3fd+N4truezOq2+9Hx+ShOJ8Un7izdxXNFTPz\ncOs7FPBIz5OBgb0msS0+2iKw58zqdg8q/1HzRTSvUTFfNuydQfAYg+bEz+ir\njPAVwyvk/RkjZIIPJ/esT6EtbE7pWKoBEabA1M9xcyJ7TY48Tiw+8TtpxNsp\nXZ9xehVduwd1fk1z9SGLNrRxsDhxX2dWraMFMnaV8I7iADiT6R2YBOOYsBff\nEag45eUtqmguUO4BqFzMdIyIAF0/kgchSTf4ajtx19JscwKzzt3iPCSYyrsY\nC90TEMd1CrurWJ1JUjRIM7Kg/RScCCt0u4lpY+JfvUmoKHJGgaQg9DwsNqnr\nOZYK5fAMRYHr5dHc1duFIbnG0dVvknsGNm2/ejcEN1/aNCA8ip2lfK8ruc7l\nnDHYqn0D3WuA9bz6FzWfqHIXR3uIWhJ/U5KyEUnhORGgzXhB1WvL+78Rldx1\nfhHoEDa19oEVrXOjHdhibVCcSUL+edgccaPCRk9u6lCGwgPU5BxMRLW5lOZt\nmpBsgBFl9zpcmKxjESilSok6IMPvfxgrgCQoyobr7nzYpM1ZPbwRuFUw+PnT\nuBD4\r\n=0RHD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBzFX9dOi4X3tIG7+tnnQ7sSo4mkpipU+MOVkujSsLEAIgK20jJ3TCaumbVGOcMLs36XUi5tTlyL57HlbQGo8Z9CQ="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.1.1_1565022615751_0.05015104513686186"},"_hasShrinkwrap":false},"3.1.2":{"name":"vuexfire","version":"3.1.2","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"dist/packages/vuexfire/src","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,ts src __tests__","pretest":"yarn run lint","test":"yarn run build && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","build":"rollup -c ../../rollup.config.js","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">=4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-test-helpers":"^1.2.0","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.1.2"},"gitHead":"65c76271270646edb300a34081ec5cb7f6a3db13","_id":"vuexfire@3.1.2","_nodeVersion":"10.16.1","_npmVersion":"lerna/3.16.4/node@v10.16.1+x64 (darwin)","dist":{"integrity":"sha512-eqvBoDLTW4IJrutShVKADlkCkGbg/kXUKMTuUUYAaVV5JmuRGLnGX41ra1nfOc8Li48beXFDJN3ExEDT/daNlQ==","shasum":"733dc23257e49499d4d1e89f249d9d2f8d0c7395","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.1.2.tgz","fileCount":21,"unpackedSize":104784,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdSUEXCRA9TVsSAnZWagAADHIQAIhHvTjwAHSBCLu9uHgC\nOS2rN4FxvGDOCU6phiKoe6KRAk0HnGyaqlMABosAjXOVUvVYULMmyf/D1xMl\njncZBi7R3BRevw6LTxjx4/5orkYaspnH/uXg/jilC60lnvr8gvQw6BhtDVu8\nQxuc6Qm4KizBGsEjdN5kDzYpfEK3Ynz+Iahe5biJpqAghkVJOsYevmYuctxw\nnlp4/7oXzJ29pYQX4WCe6fM2cAgl6RJiGey/R5e28gD7yMS8ayQVKRi+JvZ/\n/dGT++u+BgwRKuPwbAL9TCNa3isu1VbrSFKrAbFwnvsVTZehfKp4A3Ptn+XR\nDuGN4tUsmFmhzZWIFuCqOvnpAmkBvxJmGvotUdxh+cH5RSMwOL10TBGCR2Jx\ncy35RZOpTsZj/Vmm50/rnNPhA63CRBQt5euT9iR4cd2tR6xud09OfMWhm63u\nlD8zcY8/2vu8HN4NqXMj4d00VKD/c//tAFp1VPXOp38/zIOepfMta1aaiQTD\nm+iLwlKGJ5fE3ayQizR2zM0CvsV8ebduYptL4qeDzt+oZF2dZdauE0zWA5gr\npOd5aIuu0L8SzOdA5WyPHWQkKOPsj3j03IGiZxc7FqkGP7G50uzrptGpnQVs\ny5Jdx3qQY/C/BBsZeUX5u5kLfiorYr4vDbci0iW8dBGtFNhU2pdf+X4ctV6I\nd84Z\r\n=SuqC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQvDU+fge3IsV+tyZvoaIP+R7M9k5dYPWElVtA1zf1NAIhAMCwftBObI3Kxa+XWqdj0Vx+jGtYJ/jb5lNWikZ4F34S"}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.1.2_1565081878836_0.2743916771524879"},"_hasShrinkwrap":false},"3.2.0-alpha.0":{"name":"vuexfire","version":"3.2.0-alpha.0","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"dist/packages/vuexfire/src","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,ts src __tests__","pretest":"yarn run lint","test":"yarn run build && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","build":"rollup -c ../../rollup.config.js","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">=4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-test-helpers":"^1.3.0-alpha.0","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.2.0-alpha.0"},"gitHead":"cd6d0f6a471187b4d34215212a575c90386c611f","readme":"# Vuexfire [![Build Status](https://badgen.net/circleci/github/vuejs/vuefire)](https://circleci.com/gh/vuejs/vuefire) [![npm package](https://badgen.net/npm/v/vuexfire)](https://www.npmjs.com/package/vuexfire) [![coverage](https://badgen.net/codecov/c/github/vuejs/vuefire)](https://codecov.io/github/vuejs/vuefire)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\n[Documentation](https://vuefire.vuejs.org/vuexfire)\n\n## Installation\n\n```bash\nyarn add firebase vuexfire\n# or\nnpm install firebase vuexfire\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n```js\nimport { vuexfireMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null, // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...vuexfireMutations,\n  },\n})\n```\n\nIt works with modules as well, but **you should not add the mutations there**:\n\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null, // Will be bound as an object\n      },\n    },\n  },\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirestoreRef` and `unbindFirestoreRef`:\n\n```js\nimport { firestoreAction } from 'vuexfire'\n\nconst setTodosRef = firestoreAction(\n  ({ bindFirestoreRef, unbindFirestoreRef }, { ref }) => {\n    // this will unbind any previously bound ref to 'todos'\n    bindFirestoreRef('todos', ref)\n    // you can unbind any ref easily\n    unbindFirestoreRef('user')\n  }\n)\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created() {\n    this.$store.dispatch('setTodosRef', db.collection('todos'))\n  },\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firestoreAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","readmeFilename":"README.md","_id":"vuexfire@3.2.0-alpha.0","_nodeVersion":"10.16.1","_npmVersion":"lerna/3.16.4/node@v10.16.1+x64 (darwin)","dist":{"integrity":"sha512-iau1lkAu8KygHGADzxgaAuhFFE2njumxv/WJ/e2Rc3yDGYRGH8qX/OizlzPXriw+7i380MEvJ6WQdVsXl9oIVQ==","shasum":"a9c2187a7accbdb2ad140efb225a2789f596384b","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.2.0-alpha.0.tgz","fileCount":21,"unpackedSize":108235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZ+e7CRA9TVsSAnZWagAARWoP/RqZGq8NHFjdmGmsmWbH\nq8r7nsjqPrmyyW8H8EA2UjDe7rwsgMT4D0HX5Ponx3GsgIeL0GI7DX3Aosuy\neGIyCWUFyIK94YG2MYox2kVuN6hQMLhCa0XzH7yTpMQNKMRmWpEU+gaNeHNL\nWYpcUXOY31jYNZjfsy6W/qKpl3VS/TnWuiViHOevBTt4kKDTQiZeEB5CDyCm\n2JcXmvqQV3rUYHe8GawboQPq6ZFp9VOaIb7f9kEXgQ+vnkL2xZdys4YPh/Hc\nvUZWwX4b0ExMIzV6eFF6HLkenL/we6/xOCpv5+3txfdYKYGzrYLvBod0Ius6\n+oVThiLnTVQupk97WMmkqAbIplPC0xFHwcZWJlrDxZ4HeVrAF4fyN/zolkc7\nJHVdhlCfKg4w6YnLSjPxHjYAWEe13eC1Hd/2AmEwytVl+rYwX8JJubUfhcQ4\nIuPEQcskWXfvHpvWQM1jYhdNtSWsDLUPvo+g2LNnBU90qY3IP8kfviB9MfIJ\ndYyy/EaYLm4k/rX3cvMcRQ+eYXKqBfDmPyjvXskacS936uAbNG8iwSuMpnOx\nT2kiJQmI6IvmbC8JXiValnL0iVnkNcx4EX+zfalWu6qhaK0+QcGo6kxd0apX\nqC1YIty7rhSUIUfY5HjmuYC57o1+qjnkLdhVNgTKFzDyfRThuzRRi6WyQ/w9\ngkva\r\n=wZ2U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFJTLhSkc4vIAT359kACqlBPLjdvImE+NxSEIfA2Sps0AiEAk+DKmiKfmhKccx6nFtuQMflaZ2YubxhHVBIJs++HUiY="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.2.0-alpha.0_1567090618303_0.8071127634493793"},"_hasShrinkwrap":false},"3.2.0":{"name":"vuexfire","version":"3.2.0","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"dist/packages/vuexfire/src","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,ts src __tests__","pretest":"yarn run lint","test":"yarn run build && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","build":"rollup -c ../../rollup.config.js","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">=4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-test-helpers":"^1.2.1","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.2.0"},"gitHead":"b2c96be385b539f58db24d108d844d250beff4b3","_id":"vuexfire@3.2.0","_nodeVersion":"10.16.1","_npmVersion":"lerna/3.17.0/node@v10.16.1+x64 (darwin)","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-eLrQFazM5nGtaFla37dTJrHNbdrr35dwImepM+uquh5YVJuYpRYkcoJO1mDi+adqYh0RJUReNVlb5SOX/VDB4w==","shasum":"a168cf4c132e15ab5db9abcdf577011f1408a66e","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.2.0.tgz","fileCount":21,"unpackedSize":108227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnuESCRA9TVsSAnZWagAA/60P/jl+3qkk7jEv5Uc84X7x\n6TOxqdzNh6MxqukauZZnJc59J++2xFKcddgEoB4cHIQx7ZXV0Eg3uG8jHrF5\nskmybRJZidPKashe+OGtpb9yxBVsAVzNo/UqIvaEko3Ub7udbeugnbz8IYBS\nbwGZnAf0CaK6otPp0Mo2p+//qvcyFrkVDZWpmJ8xRw/BGp/J9/BgQWJtOP1r\n0aN/hQQ98tqy00lRaK6Uk2/RrVQvjMFtaPW2fZkbq4Agkx/YmRUc4OAgAQRE\nTTJTRIU4vKx3nrZCG3YML4SQD921yQ8Q2XLC1+8bKju8gIQCI9+/IeJ9IU75\n78pe154c82Tz+z8/WwG9apyj4PwhlpGPD8VUsyKD7AySZqwvv3UTgpmWKfvG\nNASwmBgf/MI1rA38uU7NPX97mUT4lbiMn4II1GfM5tfmV89Zr0whJ5BSt1BC\nX45gvhKAMCt9ebCUFzxuaRvJ9LQSwXpoeT71qJ7Mzp48te4EX8nuYgy20LeA\nm5k+gdEdqdF5jR7an4WDn8R9lWiG8rpgcJ9Djx1Vp99iIOgEN3Z8HuQHMmMY\n8/LHywXNV+ZoaB7Bf0ANsvVRdEJtWm0jE4eD6u1IOcHnXGiww/nNgmyfITbV\ngWZmrjAshrMV9BaYbaOQId/GMK/P8kGt6mRNiPtYavefL9E5J3/24W4cV7QH\nEUmJ\r\n=QHrg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLPRVv8WFE93I2mzoGu4FyMo+rPAfrKNhidADA9fgBlgIgcCxHYm2lXpsUaBrlZoVXGS5PcrQYmosrA4VQ2AbO2Bg="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.2.0_1570693394339_0.3522246165957368"},"_hasShrinkwrap":false},"3.2.1":{"name":"vuexfire","version":"3.2.1","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"dist/packages/vuexfire/src","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,ts src __tests__","pretest":"yarn run lint","test":"yarn run build && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","build":"rollup -c ../../rollup.config.js","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">=4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-test-helpers":"^1.2.2","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.3.0"},"gitHead":"e2542ff9c118a82b87fd193927835e9f40ddae81","_id":"vuexfire@3.2.1","_nodeVersion":"10.16.1","_npmVersion":"lerna/3.20.1/node@v10.16.1+x64 (darwin)","dist":{"integrity":"sha512-I81b4qFA/Ut5uI9vbyD7Ecz1CbvcRaAq/b1l7qbeuOVqvTg4WaRJ7dTynHIm4voE3D7GfO6HMnox7Tw71ad3EA==","shasum":"24037b3c2b18a79e7783197f8a7f003f46b33a7b","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.2.1.tgz","fileCount":21,"unpackedSize":108754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeCwGwCRA9TVsSAnZWagAAJWMQAJE1588EfPg2UMCLs4OT\nhAv64J0kJIzjuepPRslE+xubLsGUyzQuuGzIWTeQyRgra3e4ER3rnBBxt9Rn\nUhcRHV40Y2I5ldU3UjTPQUtAEKxYcs/qPm6DD2G9r+nlDODkfQmoieOPAt3H\nLUqsdiahm7jRMFkFyJKeQQbtlwwNe8P/uTM/kdxZI0jIYOk79bTJoLjEfz7x\n41bdTXaQMXHqRgXrHzD8/2FFLs9Vi8mIKpE/z/H23Dix8CAvn87cFC8oHfrW\neBRVjPemUbx/y/AFY7wxoufZOatOAZqy3UbCAKWF3OBOJqzYMvFWQYkHsGbH\n7dcnuOWu7UYU3zrOyORhCpu2qUwMEYoBFFeunWFwIs5xAlFsU0AJHVkCIv6m\nLmkdDdZ181Jpy92+ZxBwEsmwbU5hcESECnXhCIso2BNmLaSCTeWurOtbsQac\np1KDdPcqIgQWBMwRXQosaUBaTRUrmpa4R3UBdZ79aINhq1cFYLN/5Jq1+a9h\nCiZqs8pMe6SEuFJw1cNJxNKrIlvGt7MoVfoaWnJLmjQffHvQA4t0yiTt2WDf\nL++KfMEdfxRXbIhc2WitqcrCYiXoxKltEl451Gi7+uG/eqjDtu2AkrJW0R37\nOwHvnDjYIJ6aUeSV1XGULuNHLZGLTQn6cXAIMukEmiT0dZkZ4ipxO20BFHdu\njVFa\r\n=xTqT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrwUo8Rga/iFFok1PC/cEm6OMmVf0aXvHG0K6jV5ahkgIgUbvGg89/UpuleeBm/3PN8qFqzL0DLqryxkVz+5N4dAc="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmUser":{"name":"posva","email":"posva13@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.2.1_1577779632337_0.41899350923410816"},"_hasShrinkwrap":false},"3.2.2":{"name":"vuexfire","version":"3.2.2","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"dist/packages/vuexfire/src","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,ts src __tests__","pretest":"yarn run lint","test":"yarn run build && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","build":"rollup -c ../../rollup.config.js","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">=4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-test-helpers":"^1.2.2","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.3.1"},"gitHead":"c36a7ba845990674afbbb6c245c57f3aa01bf4aa","_id":"vuexfire@3.2.2","_nodeVersion":"10.16.0","_npmVersion":"lerna/3.20.2/node@v10.16.0+x64 (darwin)","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-b0HVmvjPY2cq7okYDaG3W7gi+uYXG3GdvujX37iVy4MyOOmztYLPFtFClMAyxu+Iqm/Hesf2CQcFW2+ytMu3MA==","shasum":"3cda3266331f79aa7128de5316de515621b67f09","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.2.2.tgz","fileCount":21,"unpackedSize":109666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecUzeCRA9TVsSAnZWagAAemMP/3jVQCgVMcTstp7AeLVN\n9LuFQOfwb2mfD9VNhj3Rm12PGdPhhroA3uKhFcn3TcCkl55qfPNDkizUWY2P\nbaZzGK7A71f1HKXF3sonWTfDXDhNUKQGnduqmlW5ZO1q7WuUHUHNAg0h54qP\nlfl3VQ1fDh/PRxBgMY5n31fLsJMPA78d05YgLsIMdTei5OPY+HZZlIejqNTQ\nKequDkdaglzdNPofDvZHtZZok7zICl/KcEKwNHp7OPc6sZ75lScQ+03w9Pj3\nVAQdnym8jvqnsdojm7oFfLk1JtnSGoGeOMNjECXzZCVwvY1jcywTRkPCYvD6\n6IoHB5uSDVdXyiiDEVGkEdreyvXdIWvOXRbqLDCDDsPKDZ2MFnIdJPUtJwW7\nGkgrLU07m/qxfVUZ8WAMsiwWiq7kPPWOOga72AUZmuTiCu/h9tutrevaka3y\nzD6SzxJny6FrYRfnpQKppWhYXSrK7RsYv5gcbb+Nr2DUxFpY8EbmNQj67Ev4\nZgAS9EJc8fCH91u9XeIwaIKXRfRnajmmU2hApLndYWCuPuM/THefH1jyWt4S\niEV8OUfVCqOoGbyViL/l3YjUptgE2AGEhA9dqpsIDf6k5AnZWl0/HNpVRGJv\nZjvTlT1QKkaVxqoyMxf/S2OHfmzwMVo3Bxsn9VQ0kOeZCGKq4TA0rK6TJagx\npBaI\r\n=/+WK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAQvDH1f+7/1G1yG/ky9sCEFwBVKHsrsaVtzPtUjyv3bAiEA7/kvFgz0zX1j/yI+TiXCV+9odS3NXueJUzI4u7U4ZTI="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.2.2_1584483549592_0.22544377457560905"},"_hasShrinkwrap":false},"3.2.3":{"name":"vuexfire","version":"3.2.3","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"dist/packages/vuexfire/src","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,ts src __tests__","pretest":"yarn run lint","test":"yarn run build && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","build":"rollup -c ../../rollup.config.js","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">=4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-test-helpers":"^1.2.2","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.3.2"},"gitHead":"ab3194d7782a3028b496bbcfa5ee45edb632c154","_id":"vuexfire@3.2.3","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-9pHQUBGdP6EsKjzDtkmXgNdk8Ep+j5Ve279VpNEnWG7Gl6G41J2JqnFDGEskJ6Pfn+emJWXajAp9ny5y0qKqeg==","shasum":"96c8ccac3a9962d351c36548211dc65424f6d389","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.2.3.tgz","fileCount":21,"unpackedSize":109840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfA5NOCRA9TVsSAnZWagAAT+8QAJLo87yL5tMMnsVKXQkE\n9Oo1PsBbxmGO4NPxiSgf8wRFNpcqwHZdN0fQ07R8VUkJ6gUoQhKb084PAgte\nzxeA1vKWlOxJxKCY5ZxLpU4ORayzCrd1OnyVaLRPFqpCZ5QOFFHb3jgjdlEB\nI7LQsChndmZDXXnsMdbgCJCsFHfJe11VhS1U1CrVfTHVIXuSY9W4v5+ArSIW\nTQvW7XmYO84826PZmu5Qg6as9AjXXFsac03ebJm6ySsVBoTonOYtXZ7Nr5Aj\n8hCreJhIQoO/nYJjaS7Vz4i7j3xY4YWKNI/jDEC2BQrghUAbuGBOv+212/Sb\nF/+sYo/+sdKifOERjHgIOV086rMthNCpS1fqyM33k8mjRBqKJciD6FgfI0Ri\nvL+TokdKgxETnRiy+LrIB5HvGayo1weUy7jQe6YuPAaj4hmJmGAoqGdFbj1M\n30Tq7y8zRwrgSIVRa0PFtEUfM2+ovmMqEQ/igVZuEdvpdnCNHZC3mPVzdE5F\nDpmNpbGJeSSI4MGDz4f8pnOwtX2mV3xx+Coixa0i21cLjjA2xQLPq5AxcNwb\n4508bAcPwnrnPgy5fFNsZE3+B+EHQYIoT1JOgTONcbnfZdaHEha3hBlh++az\nR4JEI+F1lSXOMCk8l0VkLNgHkplT/bk9uvoXJB1yCBoQktrSrqUN9kA6KMGD\nKM4p\r\n=KDQF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAhZq+Q8UVL6mqKss2aWyeiEAZr8HaVg2QVDS5CM3h/eAiEA61N4d0GK+Crt51YdBdhAcf2TavyGZInN8rgmuixulAM="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.2.3_1594069837868_0.23106445758955307"},"_hasShrinkwrap":false},"3.2.4":{"name":"vuexfire","version":"3.2.4","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"dist/packages/vuexfire/src","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,ts src __tests__","pretest":"yarn run lint","test":"yarn run build && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","build":"rollup -c ../../rollup.config.js","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">=4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-test-helpers":"^1.2.2","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.3.3"},"gitHead":"4d504da28daaf7b3f8b9ec17f84007c54d8fee1c","_id":"vuexfire@3.2.4","_nodeVersion":"12.18.0","_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (darwin)","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-h72fK2VRppNtrn8aAKmc3ayIvEa6AElKfI/oa9Cn01JJv7xD+EFAufo+luyASZdBc+8OxxZ53oMTz1QnZCLt3g==","shasum":"3754380f65f83a087d7547e7d350e987f7294db3","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.2.4.tgz","fileCount":21,"unpackedSize":110938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJB3oCRA9TVsSAnZWagAA7XMP/0x09ntqadmnmOg2DEEe\n2uNjNqShbgfKlX4U0MeLgaPxiK8Txiv2JJQygAc7DGQlWWvn9UGT6ndtvJqp\nriwpu49Lx/F5Z0CbGMLsZLGUO2whtatFzSSsUhlsZq14yqz1t7IT7472QgJ5\nQRew78Qq/lwjjbdJWKLi69o1WYTn2dkYmJrfu6P55vCHAe0reRo6T1JKTskc\n85lBCyAWM8NN9X4Udn2sAdhaTnupbWX42XEjHMUxtkNQXSmAfGvtnBMvpXZz\nU0jE+7O6fLNC4cX8o0tjVIH1VqJOZgmjRJxn50l66xZpscOU47OeVCmK0hhU\nDY02pnNHVkIv4e4EyMBcfouorJff5PXZI4c8SMXQtNXOF7daojczmE9zI3pQ\nPNxNY2vPX3lCIENFOXkDeVYU0gMOFNQZtbAsmq8fUyeA2ibRyB42Xc2cuOhD\nHB0DhUrGrIxEf0KgxkjWRz1REModzUy4ihF0vgQphZVbumthG6CE7WCk6qHv\n2sJmywLmrThrqHlNW8adCugClR/sz18cLHueyrEt+86vsjzM8D6g3k48WS2V\nKBM/tgKyIkp5XeEZHgx75dh3d/Ds5xibb2ycklh1UYRDziWO2vyy2IDHmfNP\nzWJ0a0wlYxtGrhmHnL8Ce9BmDVPj6bUb6lBOsokclnYkpqCSfYqOMmX8at4c\ndO0z\r\n=jKDp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyM7DkqVUN90MnFw/80ZZsb/eazAFqPdD7sP/rtXxUIwIgF61J3RMPgtgWis5BBatZ239CGH+kiZGzg4JoJkFFZFA="}]},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.2.4_1596202472326_0.6807182061667443"},"_hasShrinkwrap":false},"3.2.5":{"name":"vuexfire","version":"3.2.5","description":"Firestore binding for Vuex","main":"dist/vuexfire.common.js","module":"dist/vuexfire.esm.js","unpkg":"dist/vuexfire.js","browser":"dist/vuexfire.esm.js","types":"dist/packages/vuexfire/src","sideEffects":false,"scripts":{"lint":"eslint --color --ext=js,ts src __tests__","pretest":"yarn run lint","test":"yarn run build && yarn run test:unit","test:unit":"jest","dev":"yarn run test:unit --watchAll","build":"rollup -c ../../rollup.config.js","postversion":"yarn run build"},"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"peerDependencies":{"firebase":">=4.0.0"},"author":{"name":"Eduardo San Martin Morote"},"license":"MIT","bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"homepage":"https://github.com/vuejs/vuefire#readme","devDependencies":{"@posva/vuefire-test-helpers":"^1.2.3","vuex":"^3.1.1"},"dependencies":{"@posva/vuefire-core":"^2.3.4"},"gitHead":"c879553a566ef82be71a3746ad92d6984a32491f","_id":"vuexfire@3.2.5","_nodeVersion":"12.18.0","_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (darwin)","_npmUser":{"name":"posva","email":"posva13@gmail.com"},"dist":{"integrity":"sha512-fztRzKljqTjNmNexAzKkk7b9h/xrNu3e2hI05VZAT6/hRljRUJavxO5ATXZCXG4rQE3kNHODpMJG6BiR2T8u0g==","shasum":"d176b655d6a103b5bcee19bdeeb8b3ec6eeff48b","tarball":"https://registry.npmjs.org/vuexfire/-/vuexfire-3.2.5.tgz","fileCount":21,"unpackedSize":111709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzkj0CRA9TVsSAnZWagAA1DIP/jwKKbTyAYnqxZ94KK/O\nUihkVIrBL05bGKoIRPzGSrSXuSofLvZQSU5TIxJkMajRnjPIgavRmv+n92V3\nag61e7GdnNUVXW1rDhEwXK/OJicoEmJVKsHSGPiwtkJbBwVct72bvgjHsK/5\nUV43e++ovt1JxCiPctg8LkZloa1P6ZB85ySGoQG0nbMiAedGHzJcgYC4wk49\n/if3KmY8B05fCWLPqoQHnhG6dWp8ydeXUwu5di7qICWZnMrfbFvwxwgsSqqe\n4D61+vWgskMx9p2ColDu1IdfNMwZxvsgGOosSnFy39ycRjnwqgWi60vWeZmJ\nq5aZjxew2HFqGLYEniSyDGH2VAQtty0Ew+1OWqRLfI9b52frKFMjCC0YGaQ7\n1rcSRxlPEsrbSm/0fMlu+ZVlHUcpeyKdBqxAECsl9mqXuRNA59FuCbYefkAc\n0/nIgQuf4b/i5EfTzVeh8v1+PSpTxGhCUsoKtW2YxUzcKT0tWP+4mpyo/6fA\ngXHTDLqxMwBmcVSahb+X3P7kWCk8InurB8rcX4skx0nF7vH35GeSe26w5Zsg\nEALoiZ/O8Sm9FPff7ivMfKbd36HT/ck+lCzT2M7fAuiifIy+Ye6vcUPfDVe4\nob/pWUAfkalH7fslG0whQ2tW2iHUH0b7kRjgq7TAAlJ1uch7q/9CxmYqRd3B\nCTk3\r\n=WXl0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGsO24B+2t24TfUIM05qemPuoRC/yJwj7lwa2/jO8VRjAiB8dMd6fRdXPNBi6O3C1hQTfphhNsdJIMnrGbB03RiHCg=="}]},"directories":{},"maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuexfire_3.2.5_1607354611597_0.4196957844780229"},"_hasShrinkwrap":false}},"readme":"# Vuexfire [![Build Status](https://badgen.net/circleci/github/vuejs/vuefire)](https://circleci.com/gh/vuejs/vuefire) [![npm package](https://badgen.net/npm/v/vuexfire)](https://www.npmjs.com/package/vuexfire) [![coverage](https://badgen.net/codecov/c/github/vuejs/vuefire)](https://codecov.io/github/vuejs/vuefire)\n\n> SSR ready Firebase binding for [Vuex](https://github.com/vuejs/vuex)\n\n[Documentation](https://vuefire.vuejs.org/vuexfire)\n\n## Installation\n\n```bash\nyarn add firebase vuexfire\n# or\nnpm install firebase vuexfire\n```\n\n## Usage\n\nAdd the mutations to your root Store and make sure to define the property you\nwant to bind in the state first:\n\n```js\nimport { vuexfireMutations } from 'vuexfire'\nconst store = new Vuex.Store({\n  state: {\n    todos: [], // Will be bound as an array\n    user: null, // Will be bound as an object\n  },\n  mutations: {\n    // your mutations\n    ...vuexfireMutations,\n  },\n})\n```\n\nIt works with modules as well, but **you should not add the mutations there**:\n\n```js\nconst store = new Vuex.Store({\n  modules: {\n    todos: {\n      state: {\n        todos: [], // Will be bound as an array\n        user: null, // Will be bound as an object\n      },\n    },\n  },\n})\n```\n\nIn order to use VuexFire, you have to enhance actions. This action enhancer\ntakes the actual action and enhances it with two additional parameters in the\ncontext, `bindFirestoreRef` and `unbindFirestoreRef`:\n\n```js\nimport { firestoreAction } from 'vuexfire'\n\nconst setTodosRef = firestoreAction(\n  ({ bindFirestoreRef, unbindFirestoreRef }, { ref }) => {\n    // this will unbind any previously bound ref to 'todos'\n    bindFirestoreRef('todos', ref)\n    // you can unbind any ref easily\n    unbindFirestoreRef('user')\n  }\n)\n```\n\nAccess it as a usual piece of the state:\n\n```js\nconst Component = {\n  template: '<div>{{ todos }}</div>',\n  computed: Vuex.mapState(['todos']),\n  created() {\n    this.$store.dispatch('setTodosRef', { ref: db.collection('todos') })\n  },\n}\n```\n\n## Browser support\n\nVuexFire requires basic `WeakMap` support, which means that if you need to\nsupport any of these browsers:\n\n- IE < 11\n- Safari < 7.1\n- Android < 5.0\n\nYou'll have to include a polyfill. You can\nuse [atlassian/WeakMap](https://github.com/atlassian/WeakMap).\n\nYou can find more information about `WeakMap`\nsupport [here](http://kangax.github.io/compat-table/es6/#test-WeakMap).\n\n## How does it work?\n\nVuexFire uses multiple global mutations prefixed by `vuexfire/` to call the\nactual mutations to modify objects and arrays. It listens for updates to your\nfirebase database and commits mutations to sync your state. Thanks to the action\nenhancer `firestoreAction`, it gets access to the local `state` and `commit` so\nit works with modules too :+1:\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","maintainers":[{"name":"posva","email":"posva13@gmail.com"}],"time":{"modified":"2022-06-28T21:04:52.295Z","created":"2016-07-10T21:47:14.683Z","0.0.1":"2016-07-10T21:47:14.683Z","0.1.0":"2016-07-31T18:30:04.363Z","0.1.1":"2016-07-31T18:31:34.873Z","0.2.0":"2016-08-21T18:22:00.684Z","0.2.1":"2016-08-22T11:55:15.821Z","0.3.0":"2016-11-17T13:41:12.542Z","0.4.0":"2017-02-03T15:50:59.234Z","2.0.0":"2017-04-05T13:21:08.261Z","1.0.0":"2017-04-05T13:33:04.432Z","2.1.0":"2017-04-11T13:15:33.178Z","2.1.1":"2017-05-10T17:57:22.089Z","2.1.2":"2017-05-14T20:55:54.270Z","2.1.3":"2017-05-26T07:29:06.664Z","2.2.0":"2017-07-22T21:43:28.549Z","2.3.0":"2017-09-03T14:52:12.166Z","3.0.0-alpha.0":"2018-01-10T22:39:47.568Z","3.0.0-alpha.1":"2018-02-25T21:21:36.305Z","3.0.0-alpha.2":"2018-04-15T17:37:02.220Z","3.0.0-alpha.3":"2018-04-16T15:11:27.572Z","3.0.0-alpha.4":"2018-04-29T17:00:54.654Z","3.0.0-alpha.5":"2018-05-12T17:04:42.974Z","3.0.0-alpha.6":"2018-08-17T14:59:11.621Z","2.3.1":"2018-08-17T15:01:49.738Z","3.0.0-alpha.7":"2018-08-17T15:06:55.127Z","3.0.0-alpha.8":"2018-08-17T18:12:55.785Z","3.0.0-alpha.9":"2018-08-21T18:02:01.277Z","3.0.0-alpha.10":"2018-11-19T22:01:37.460Z","3.0.0-alpha.11":"2018-12-06T13:00:55.650Z","3.0.0-alpha.12":"2018-12-06T22:00:08.622Z","3.0.0-alpha.13":"2018-12-07T21:16:34.586Z","3.0.0-alpha.14":"2018-12-13T18:35:36.719Z","3.0.0-alpha.15":"2019-03-22T19:10:15.575Z","3.0.0-alpha.16":"2019-04-09T16:12:07.270Z","3.0.0-alpha.17":"2019-05-09T17:55:17.735Z","3.0.0-alpha.18":"2019-05-10T10:41:57.073Z","3.0.0":"2019-05-25T13:57:37.402Z","3.0.1":"2019-07-04T19:57:48.726Z","3.1.0":"2019-07-15T21:58:04.587Z","3.1.1":"2019-08-05T16:30:15.910Z","3.1.2":"2019-08-06T08:57:59.046Z","3.2.0-alpha.0":"2019-08-29T14:56:58.442Z","3.2.0":"2019-10-10T07:43:14.447Z","3.2.1":"2019-12-31T08:07:12.518Z","3.2.2":"2020-03-17T22:19:09.733Z","3.2.3":"2020-07-06T21:10:38.117Z","3.2.4":"2020-07-31T13:34:32.472Z","3.2.5":"2020-12-07T15:23:31.743Z"},"homepage":"https://github.com/vuejs/vuefire#readme","keywords":["vuex","fire","vue","realtime","database","google","firebase","redux","firestore","store","bind"],"repository":{"type":"git","url":"git+https://github.com/vuejs/vuefire.git"},"author":{"name":"Eduardo San Martin Morote"},"bugs":{"url":"https://github.com/vuejs/vuefire/issues"},"license":"MIT","readmeFilename":"README.md","users":{"adrienhobbs":true,"paulkolesnyk":true}}