{"_id":"figolia","_rev":"31-908e76bc0da408e215032b4aeb4dc363","name":"figolia","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","dist-tags":{"latest":"0.4.6"},"versions":{"0.1.0":{"name":"figolia","version":"0.1.0","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"test":"babel-node node_modules/.bin/babel-istanbul cover _mocha","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"48e70e294707c749bdc3cf2c4a8853e9ca39ed3c","_id":"figolia@0.1.0","_shasum":"61004d7aedb81cc35787f252d821284fdbfb8444","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"61004d7aedb81cc35787f252d821284fdbfb8444","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.1.0.tgz","integrity":"sha512-vZQ8V5RaK8/jAM5ZnXd2IKy+B5A4QhxsqvuqdAWwJrHakgj8sse8JhgCJiwF0vxKp2On6k2KD4N7b7TYYFqHIg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAJ/eQy5Sw6xpvgi7EOSnlMeH8eqxMegX8vq28rTr+NzAiAikGhVISyaoXOJGxONtO7uciWT3gDlzsnZOA1EuMHnfQ=="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}]},"0.1.1":{"name":"figolia","version":"0.1.1","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"d0cbf1a91fb1375640158a7bcf59b27236ceb7c7","_id":"figolia@0.1.1","_shasum":"fe871da2dbf05698cb797c11de30c621d9ad30cb","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"fe871da2dbf05698cb797c11de30c621d9ad30cb","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.1.1.tgz","integrity":"sha512-Mc6yKilIk44MeF5voa1WZCODsfn5rlixQx5jbbKprcVSxpKJnb9zKWQjBnuUzl/lPMC3h+Mq/f171czjIlrPIg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0yik2j5jHB90ZoTSNmiHIHkdj7OXFIFl9OAO3/ZQSPQIhAPopJ2UJoXt0v0iWM/IqR16BLhZxxscRbgXacxUmJnHl"}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}]},"0.1.2":{"name":"figolia","version":"0.1.2","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"63ace8957a383ebeef8d6a5d25413c86068ee560","_id":"figolia@0.1.2","_shasum":"ebfe0f3cb042cfdcc32d0d3ba51e42d6f09d556d","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"ebfe0f3cb042cfdcc32d0d3ba51e42d6f09d556d","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.1.2.tgz","integrity":"sha512-baGWnfNoVlhU48ZdZUO6c1nnVD9OBzCRjkUGMIQUJGspfIPtd4FHyTAIx0sxIHAuBTZtD8BBC3zStf8euHlk0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQVcdd3NCi8svUOPVh+ryxCPhW+HEJoeiWK4mkAiMW9QIhANEGg5F+3oN2hhkGkyYHW2cGoI2En6uLzZxdcGn0W0eL"}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}]},"0.1.3":{"name":"figolia","version":"0.1.3","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"26ce74bb6b4da1f283ef851e5d41483e24ecd4ea","_id":"figolia@0.1.3","_shasum":"723275397069f67221364464c8e1c9e08617bc7f","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"723275397069f67221364464c8e1c9e08617bc7f","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.1.3.tgz","integrity":"sha512-EYGxQcFqRdhxPXS2cjY/CquIuH5Bm9Xompk4VcT5ZE7blKd3BHfu1oGbpxcn9Xc5NfVDYYTwjz9J/+k41+mBVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkdnAAZgqcMMswaIqmgSjIvNN6InpVl3oNBcAmpF46jwIhAM8gPIZDZCS44rZ6wQorRq8/O84MPFNYGJGlJyVi/EAb"}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}]},"0.1.4":{"name":"figolia","version":"0.1.4","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"26ce74bb6b4da1f283ef851e5d41483e24ecd4ea","_id":"figolia@0.1.4","_shasum":"5de2a06ce6f985b19df04b24b91c3eeb3740ef2d","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"5de2a06ce6f985b19df04b24b91c3eeb3740ef2d","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.1.4.tgz","integrity":"sha512-/rjVywpXndvsfDPXXGg9PYZEyjpQnjQ4at8xI6pMNKV9zkB/xTHlGBrKO/6grfF3t3dcFBMcP8cKiubPkqk3Lw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEOFSWB5/XwWgI1c6zIGeuIu2TJ3ds0ArxVPc6IslvhyAiBYu5Atp+g7ZGCAHRqp/Dve3W2itE0hDv6gEFJu3x7p7w=="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}]},"0.1.5":{"name":"figolia","version":"0.1.5","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"26ce74bb6b4da1f283ef851e5d41483e24ecd4ea","_id":"figolia@0.1.5","_shasum":"70662f9c25e860c3ef10f609c5a32b714b2da540","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"70662f9c25e860c3ef10f609c5a32b714b2da540","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.1.5.tgz","integrity":"sha512-uH+fOwo7s7uFi/0G4ACUYNfpTHvULhT5kGDzwnbUrw17dsZ+pakR/H3rHdQxWlR4RVapS42zCJGqiNcxFLX3dQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRqm0Zki2I7me8D3ZfVrW1pvjeiWNEPuE9EuCgLyTPFAIhAPN6jSmsXmA1P5/FndRw2eDYIzZI/ar/aRe/Pg9nf6QN"}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}]},"0.2.0":{"name":"figolia","version":"0.2.0","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"305d3d746546a5cb05fc4c333d35994427ed5ec1","_id":"figolia@0.2.0","_shasum":"e99fa66dd6a6eafe175ea7591ec7a91417b85352","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"e99fa66dd6a6eafe175ea7591ec7a91417b85352","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.2.0.tgz","integrity":"sha512-RKXEAcaa/yPi0m5cdAhCU/qz5FJPnoc1kznux0Mt3PEfokcttizgPq9j/Sbx3Ub/nRABwd2vyWTsMUzDj93a1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtLEsxoGUulVBfhmukdImWxJW1cpd2BpNq9PWCfH9gCwIhAMa2Ba5kAkEvdD5Eh85NoNlwz2lZIqA6V5b+LHq3h5Bf"}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}]},"0.2.1":{"name":"figolia","version":"0.2.1","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"78fae985e982ec3c9cf62ad5e9b1cdea4f1a2e6c","_id":"figolia@0.2.1","_shasum":"bdd7d0da3f2995532708a61df2b76ce8fab3790d","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"bdd7d0da3f2995532708a61df2b76ce8fab3790d","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.2.1.tgz","integrity":"sha512-w8caTfrXmu661daI0/HWUrcxQxMi3VSBoDKNmyjXIDJUUTb9fOt6oKmy+Xe7+l8k27383wd/6GwkCtZqRsPn5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4cbg7T7nZZgEZEkNIJDwdXfW0ORwuV5FzWJl22HLThgIhAKveJXgX7Uk+n5v8fpcDJf21MENaU3/VdmzTolILjdwl"}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}]},"0.2.2":{"name":"figolia","version":"0.2.2","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"78fae985e982ec3c9cf62ad5e9b1cdea4f1a2e6c","_id":"figolia@0.2.2","_shasum":"b45b71936edff1824768953eae8c078c8f63cdcf","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"b45b71936edff1824768953eae8c078c8f63cdcf","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.2.2.tgz","integrity":"sha512-7gA8oZ001N+abt1zbODHrzQ7aV6pXrETgBnBbDVz/2HbPPmsFDmZT1iFgAe8d8Fe+As6ISwuWE9VQRVtzi6cyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0e2OMLSCsLW2muyW9RzrIZjnmRSOq5eB5ltNURSIzBQIgOw3PLujovx7A/F4xAQcAE2XB3ZlpTw2/wLlrWHxz8UA="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}]},"0.2.3":{"name":"figolia","version":"0.2.3","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"d335e520ed0683ee7a35593507a71f67f99bf4f9","_id":"figolia@0.2.3","_shasum":"691ee6a571d521b5e216aa7ff529d7ebefbe2e0c","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"691ee6a571d521b5e216aa7ff529d7ebefbe2e0c","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.2.3.tgz","integrity":"sha512-mgP1VYIKCbGz+Dy9mzfvaXehrZ814qkfE+6fIpdeV9euPCcQrRfjehGR22PZfHRo/tGSx2UJXKkx2ncgH5bJbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTMV2sUIF7g3/an6i8S1gem0ijfLWqhLM1wEf6SFbIFAiEA4QkMEK6dvOWEFLE9YuyVfohgfP6dEKLfDbP0TUvbjNQ="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/figolia-0.2.3.tgz_1454352737380_0.5246384921483696"}},"0.2.4":{"name":"figolia","version":"0.2.4","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"914989f23e0a064e7936660026a86eb5cb094fa0","_id":"figolia@0.2.4","_shasum":"0d8e71d7d32a82139ba113583403502398cca003","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"0d8e71d7d32a82139ba113583403502398cca003","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.2.4.tgz","integrity":"sha512-je6Qx9ByUwGwxNuz8CUpktARAJYb8ifVFdsObySXc4fiLM0jW8V7/zHYuAGB7Zp4YWSBjLx9F+1ImZorfTCRDw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4k79jL5AYWCMOAqrdbtat/dvQC83lqiVG3uxpYUxPCAIgW0Rg6dNEpl8wS+OWsGGg035brnd+W8n3OEHFqWv62bQ="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/figolia-0.2.4.tgz_1454353331925_0.6894049220718443"}},"0.2.5":{"name":"figolia","version":"0.2.5","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"b38e10918897489100f8c12489419d63a00bd0bb","_id":"figolia@0.2.5","_shasum":"88d53b841a2336129b8a4c5a5733abd585b4b770","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"88d53b841a2336129b8a4c5a5733abd585b4b770","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.2.5.tgz","integrity":"sha512-QRzWPL5ZimBSadJYpuBvaztmszpLW6SG5ZThDCx4cTUyXgHLzHE1vRP6wXOJzsiaQl1xExVQfSY10L4h86GGFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEo0erH7pMdqRv6gZUEDQHI40AcXCnNyxl3qN1ZR/mYnAiBy2ukKSLuFYZE18FtSTVV0nUEXDn6iHolm0GtP0njCpA=="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/figolia-0.2.5.tgz_1454510513569_0.41239487077109516"}},"0.2.6":{"name":"figolia","version":"0.2.6","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"b38e10918897489100f8c12489419d63a00bd0bb","_id":"figolia@0.2.6","_shasum":"99d25e89551e121c57da875da7be511b761cc1ac","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"99d25e89551e121c57da875da7be511b761cc1ac","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.2.6.tgz","integrity":"sha512-I5nADMSup074Ehzu4AkFHNWbaAuypytJkP3lXq4O+uWGsx7sbmSY8gppjCLN5Erzs5v4p0m8AsA+wZG41NeeyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwoYe6nVlQVldlNeRKKqiVEdL0VOHkFwz4JpPD65YueAiAyg6r0yd8DVKPQm1QXm3OgcGI2gSX992VijI8VnNoENA=="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/figolia-0.2.6.tgz_1454608718136_0.650839272653684"}},"0.2.7":{"name":"figolia","version":"0.2.7","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"e1343d84ccf59e8f01d4e5146ed7127717996a62","_id":"figolia@0.2.7","_shasum":"5dd263635428bf1696ef60535d0b7505c5921a30","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"5dd263635428bf1696ef60535d0b7505c5921a30","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.2.7.tgz","integrity":"sha512-SGnvFgyUwweynoHiQBYOMygcamKfuyKaM3GZ7jUOZV+8exKMW7fGFGJ/m+ri+l184NQs8suix4GuhqkCNBKxXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHc5h65qhANcMZGeoQzwYsl7fRA/7GypKQWUS3Nc/VnfAiBtKk7V6cSmK3/n8Af1uszic6c51J74ZcPm4RvhHmqlVg=="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/figolia-0.2.7.tgz_1454610455388_0.23295433004386723"}},"0.2.8":{"name":"figolia","version":"0.2.8","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.0.0","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"f0b2c1bfe1ba94cd38e1a1627166439e68ca448c","_id":"figolia@0.2.8","_shasum":"d3da910b92adbbe99f7d74208bdc118a45d91cc4","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"d3da910b92adbbe99f7d74208bdc118a45d91cc4","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.2.8.tgz","integrity":"sha512-tqqRxJHMuK8RMBY+kjvt4RX7Ff9x5opMCiuFzJCyAsYUvO0aeZaCPGOvCiwE5mkjxDGWhHZAj6WE4+TO/nSNpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4vdldpZ2hQBz3pjgcBwFGdsUzHTXp2RrfmuT4Zfsv5gIhAPjqRLCq5ATeasIBQ1v8N8jWcDCiHwiDGrshKY7upEBG"}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/figolia-0.2.8.tgz_1454610816143_0.48876794846728444"}},"0.3.0":{"name":"figolia","version":"0.3.0","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"6dc0991010fa30282338f1b62f3c5ed1ef32e6b3","_id":"figolia@0.3.0","_shasum":"c3a5681c8070becceebe092788cb65fbe9082b70","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"c3a5681c8070becceebe092788cb65fbe9082b70","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.3.0.tgz","integrity":"sha512-5B2AXcl132M8lIINyCV7qGnV9QYWataqk5eyquIWn1RIVFpCwjBW70kHLGugFl1gi9OVIjywAyPHEzUO9DocQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBrMt6hm+s7d0WLsFwhUa6MNEVR9tGHAVTUt0UPuTZGCAiEA8eBAskXiwFeFssz0YdbiL+lAz5gaqPZUkBjvCyY7bf4="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/figolia-0.3.0.tgz_1454686955106_0.010872330982238054"}},"0.3.1":{"name":"figolia","version":"0.3.1","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.6.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"9546dc969632067e9e7ea500c2fca9332d17a086","_id":"figolia@0.3.1","_shasum":"07411c156820ba4b37ef1b893005fec0648f1dfa","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"07411c156820ba4b37ef1b893005fec0648f1dfa","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.3.1.tgz","integrity":"sha512-SroMGmoCGMRR/xZCeAsp6RwpM4TsYYzpa+tvLw4eYGs0VL+14CH6BGZBUkg//Pu3ISGNQIMtZ5oh1ValoISuGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyIoxokgMsdff1NoOMx6dYk2jus6ZACZUMWk8lOH2nMAiEA2UrWmJHJZt0/6L019VBYggtHFDfRwQY04rzdosAnHZk="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/figolia-0.3.1.tgz_1454689572438_0.7691895465832204"}},"0.3.2":{"name":"figolia","version":"0.3.2","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.7.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"bda2897b9f59840ad98835b9baba50fc668d80b1","_id":"figolia@0.3.2","_shasum":"5faea8be88147f249557caeb0f4ff3284678f0f2","_from":".","_npmVersion":"3.8.1","_nodeVersion":"5.6.0","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"5faea8be88147f249557caeb0f4ff3284678f0f2","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.3.2.tgz","integrity":"sha512-HxxPdIQHf0NhHEObgLZ2nZ21LmT8mAwoTQ7ajvVExpDheGkGnOsoL+HUeuj+0GD2LjFqRybn7IC/wSV8qJcbxQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC89oJuGIAtCLvn/vsPZE+rsekQX0RKz0mI+X4BOkf/JgIgOwafRoTxlTjfYMTWvfjUN5D2GDlo4MR0xMegrHaB/Uc="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/figolia-0.3.2.tgz_1460319125525_0.7186835485044867"}},"0.3.3":{"name":"figolia","version":"0.3.3","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.7.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"e4be99a6842c6d2f46b467b89bf3501824c490b8","_id":"figolia@0.3.3","_shasum":"3ef8e361f346195c860b845a1a23874e21b2614a","_from":".","_npmVersion":"3.8.1","_nodeVersion":"5.6.0","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"3ef8e361f346195c860b845a1a23874e21b2614a","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.3.3.tgz","integrity":"sha512-Z346JZ1DWtxwd7kGrAmMmD5gO4ywLGcN1H/lqxRWfpinl/3W5slincc1GFp7DXZNcGw8Y4te5nvPkd/QWWnmRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcFvSMtnbJaEUv/V7bthNJqnd8/CJUEYlZ600yhaK2dQIgMTKe5owNAU3gEg1DmvWqrbEtgBcNl3HSOR0mvkDp0n4="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/figolia-0.3.3.tgz_1460474604081_0.00607654033228755"}},"0.3.4":{"name":"figolia","version":"0.3.4","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.7.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"b6348440c1a59f500fb50869fa04ef7d9481a9b7","_id":"figolia@0.3.4","_shasum":"a92d4d63ad514cf6683cfc682426181e2c958609","_from":".","_npmVersion":"3.8.1","_nodeVersion":"5.6.0","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"a92d4d63ad514cf6683cfc682426181e2c958609","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.3.4.tgz","integrity":"sha512-qUDhafLMcwr1JUixboy5Q7QZuv4y4C8eS/rfKytcZx/SPO5Vvm4GNVGKzzzBXi0dQ8OXWhno9A7efXzR3c3a+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0tiovtDk9xq73c+2rcja2Z/aqSaSsCazFecOAPO6aUwIgeWNz66Ea7V3lY0B5WC8bOOY48QFe2HQROn9ocUdVVeY="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/figolia-0.3.4.tgz_1460477425726_0.8560738703235984"}},"0.3.5":{"name":"figolia","version":"0.3.5","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es6-module-loader":"^0.17.10","firebase":"^2.3.2","firebase-token-generator":"^2.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.7.0","chai":"^3.4.1","coveralls":"^2.11.6","mocha":"^2.3.4"},"gitHead":"5861779c9100b849b86822cfadf3808a76cd4ecd","_id":"figolia@0.3.5","_shasum":"22a30535fec7308970ff68e70954715fdba8dd97","_from":".","_npmVersion":"3.8.1","_nodeVersion":"5.6.0","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"shasum":"22a30535fec7308970ff68e70954715fdba8dd97","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.3.5.tgz","integrity":"sha512-Fr1sHTBI0TRDLn0wqa1y5EH2d/0jvjdoxZ2e7sxU3k16oCTq3Wbsf2MbrLXWNsrcNMZ+9Z5pVOCdYFnJa7ZSug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCl6eH5edZvtblh+LwXz8mMkfAlZbx1fJhixCZWcEdasQIgCUh2EVKBaFcR0goNRYlEZ7/R1yXlYyBOs/xwnk2QFJI="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/figolia-0.3.5.tgz_1460495489810_0.18928182660602033"}},"0.4.1":{"name":"figolia","version":"0.4.1","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es-module-loader":"^2.2.3","firebase-admin":"^5.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.12.2","chai":"^4.0.2","coveralls":"^2.11.6","mocha":"^3.4.2"},"gitHead":"a7b0bba920512cd6c9e90e57c27487e8f4e8c688","_id":"figolia@0.4.1","_npmVersion":"5.0.3","_nodeVersion":"6.10.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"integrity":"sha512-0gEf3wiPKvtvQKtiuMDwR8iMArOCLduc4wTkCppguJxqjrcAjfxFxC4fNcZAuUOJGvtCXR/6J30WAye+fbdlQA==","shasum":"007794a7516e0518367e6efac6e0cd9a50933408","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.4.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGG9pVWtNrenSJCViTXnDRkVgnqZXePrXB2v9kE69jPAIhALuq5Ru4WqSwDvcG72f34vgYPYw33Ng6XnUJK2wi06Dl"}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/figolia-0.4.1.tgz_1497295223628_0.9676052534487098"}},"0.4.2":{"name":"figolia","version":"0.4.2","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es-module-loader":"^2.2.3","firebase-admin":"^5.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.12.2","chai":"^4.0.2","coveralls":"^2.11.6","mocha":"^3.4.2"},"gitHead":"1555e164d1112f9620249ac919fa662624883906","_id":"figolia@0.4.2","_npmVersion":"5.0.3","_nodeVersion":"6.10.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"integrity":"sha512-05qkcpgBFl/gAg6NGWSO2AyYB4og31XaxI/xq1QwmLVr6kPob4nhseTKPh8D2J1Wbhp7Vc7yqXVgkChXECXTiQ==","shasum":"09b272ba0469c467266cf0f2a4b6cf4c00f725d7","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.4.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIETl+rys9YcEjRuw635vVoS40vYISqiENCqJU9WojeqnAiAZlD1Uw+taGd8r4+KWUzUgV1BWrU8R7a74HiDr2boKaQ=="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/figolia-0.4.2.tgz_1497347507613_0.20287509146146476"}},"0.4.3":{"name":"figolia","version":"0.4.3","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es-module-loader":"^2.2.3","firebase-admin":"^5.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.12.2","chai":"^4.0.2","coveralls":"^2.11.6","mocha":"^3.4.2"},"gitHead":"c8304d9e012ff05d6a62717b76070c6d6f066a3b","_id":"figolia@0.4.3","_npmVersion":"5.0.3","_nodeVersion":"6.10.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"integrity":"sha512-ZLD5kUxoekEUJFti5lbEREFqTX9O2ZRQJdqV9hIsiA+I3lKus1xEPWq40/bIdGeE3mNwkNAF1hCYBetr1p12eg==","shasum":"ef800c2ae175a6a39858fc0e61f7336472b22d6f","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.4.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh1nreJottJ53vGG4hfbXeW4w7JmMael+Lfz/CtdpGwAIhAIXVeuFr4GIuSJmBLe2ZYD/Gnhw6eT78ChI2TfhpXhID"}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/figolia-0.4.3.tgz_1497348335997_0.3301849258132279"}},"0.4.4":{"name":"figolia","version":"0.4.4","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es-module-loader":"^2.2.3","firebase-admin":"^5.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.12.2","chai":"^4.0.2","coveralls":"^2.11.6","mocha":"^3.4.2"},"gitHead":"e7a98c9f4010495a99629df79bdae2961d776875","_id":"figolia@0.4.4","_npmVersion":"5.0.3","_nodeVersion":"6.10.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"integrity":"sha512-GZ/UUWr+07X3E1umyK4Z2yJBGu3hIeqaUc61BYI1vc6bz5ap/Ay6H/k+i5ljAFepcvEB8XuSt8P9VgiLL4xU4A==","shasum":"2334d2e364fe0ac66e7355f2920909765dcf9ab5","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.4.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDmynpNnRAZFAur1ZBstX+KGSXNTJ5LdyLEoWwBdtKY/AiEA4AkgCdZIJnQI1QBVs7Vqy8FXcrxFUmqxGDWyqr0SFKE="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/figolia-0.4.4.tgz_1497348406807_0.3351018154062331"}},"0.4.5":{"name":"figolia","version":"0.4.5","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es-module-loader":"^2.2.3","firebase-admin":"^5.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.12.2","chai":"^4.0.2","coveralls":"^2.11.6","mocha":"^3.4.2"},"gitHead":"218d2bf8136631eb362666de8ead9cbcc783c2d9","_id":"figolia@0.4.5","_npmVersion":"5.0.3","_nodeVersion":"6.10.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"integrity":"sha512-ysE51uz0dsG+G31+gh8D0DaakYPQmVxQiXTVv9Akg7fPV97UuYOVCac/e+RKbJqUb2eNmPJY8dssROCH+4fxMQ==","shasum":"b2efa725b552cefd38e61740c16ace263fc2a0fe","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.4.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHbBGeO3Mj8swqEQ/A7EgQKbbpDfPsYlfRVmPdaWzEUpAiEAnCJEZcpTon/fksy8hWKjwECVDYVOEgCr1+jCrMz61iM="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/figolia-0.4.5.tgz_1497351245152_0.7463985227514058"}},"0.4.6":{"name":"figolia","version":"0.4.6","description":"⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!","author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"license":"MIT","homepage":"https://github.com/webstylestory/figolia#readme","preferGlobal":true,"bin":{"figolia":"./bin/figolia"},"main":"./src/main.js","scripts":{"start":"./bin/figolia","test":"babel-node node_modules/.bin/babel-istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"keywords":["node","nodejs","firebase","algolia","search","indexing"],"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"engines":{"node":">=0.4.0"},"dependencies":{"algoliasearch":"^3.10.2","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","babel-register":"^6.4.3","bluebird":"^3.1.2","commander":"^2.9.0","debug":"^2.2.0","es-module-loader":"^2.2.3","firebase-admin":"^5.0.0","lodash":"^4.2.1","path":"^0.12.7","prettyjson":"^1.1.3"},"devDependencies":{"babel-cli":"^6.4.5","babel-istanbul":"^0.12.2","chai":"^4.0.2","coveralls":"^2.11.6","mocha":"^3.4.2"},"gitHead":"27c8683a65c23d4d25a4f116a3011b40783596a6","_id":"figolia@0.4.6","_npmVersion":"5.0.3","_nodeVersion":"6.10.1","_npmUser":{"name":"pandaiolo","email":"aurelien@webstylestory.com"},"dist":{"integrity":"sha512-unBTVfbbiY42fw+RaDuaH1wPuO++/DZjyHbxLHHZkDmy4A+M9ogOZZOjn0e+XQ5S9/CZGYfZBWZ2iBayAaUV5Q==","shasum":"40ced552e3ae58a65a7cad23b9b888be62d9269c","tarball":"https://registry.npmjs.org/figolia/-/figolia-0.4.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbmEDeoSCv9+2Czu/xfMjrexhJ7ZPrqRkG07hNBz5ulAIgD4Z3Quj9R8Y+UcmYW/bpYlsEtbdm2W7DIt88tQ1TBdU="}]},"maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/figolia-0.4.6.tgz_1497351722043_0.37305361311882734"}}},"readme":"[![Version npm](https://img.shields.io/npm/v/figolia.svg?style=flat-square)](https://www.npmjs.com/package/figolia) [![Build Status](https://img.shields.io/travis/webstylestory/figolia.svg?style=flat-square)](https://travis-ci.org/webstylestory/figolia) [![Coverage Status](https://img.shields.io/coveralls/webstylestory/figolia.svg?style=flat-square)](https://coveralls.io/github/webstylestory/figolia) [![Code climate](https://img.shields.io/codeclimate/github/kabisaict/flow.svg?style=flat-square)](https://codeclimate.com/github/webstylestory/figolia) [![Dependency Status](https://img.shields.io/david/webstylestory/figolia.svg?style=flat-square)](https://david-dm.org/webstylestory/figolia) [![Made by french tech badge](https://img.shields.io/badge/made%20by-french%20%E2%9D%A4%20tech-orange.svg?style=flat-square)](http://webstylestory.com)\n\n\n# Figolia\n\n\n⚡️  Keep your Algolia search indexes in sync with your Firebase datasets!\n\nWhen using [Firebase](http://firebase.com) as a web or mobile backend, [Algolia](http://algolia.com) search-as-a-service is a really nice addition, considering the poor search and querying capabilities of Firebase. Figolia is the perfect companion to make their synchronization happen in no time.\n\n*(Codebase inspired by Scott Smith's work in this [blog post](http://scottksmith.com/blog/2014/12/09/algolia-real-time-search-with-firebase/))*\n\n**2017 note: as of this year, Google released Firebase Functions, that you can use as triggers to update Algolia indices from your Firebase database. The functions are still in Beta and might get a bit pricey to use if you have a lot of mutations in your indexed search data. I am still using `figolia` for the moment (in production) and keep maintaining this package.**\n\n\n## Features\n\n\n  * Sync multiple Firebase references\n  * All CRUD Firebase operations reflected in Algolia \n  * Restarts from last indexing timestamp the next time it's launched\n  * Throttle indexing to limit Algolia API calls\n  * Make middle-of-word (*infix*) search possible\n\n\n---\n\n\n  * [Install](#install)\n  * [Usage](#usage)\n  * [Configuration](#configuration)\n      * [Firebase configuration](#firebase-configuration)\n      * [Partial word matching (*infix*) search](#partial-word-matching-infix-search)\n      * [Reindexing, incremental indexing](#reindexing-incremental-indexing)\n  * [Release Notes](#release-notes)\n  * [Known Issues](#known-issues)\n  * [Developers](#developers)\n      * [Logging & Debugging](#logging--debugging)\n      * [testing](#testing)\n      * [contribute](#contribute)\n  * [License](#license)\n\n\n## Install\n\n\n    $ [sudo] npm install -g figolia\n\nOr, clone the github repository :\n\n    $ git clone https://github.com/webstylestory/figolia.git\n    $ cd figolia\n    $ npm install\n\n\n## Usage\n\n    $ figolia --help\n\n      Usage: figolia [options]\n\n      Options:\n\n        -h, --help                    output usage information\n        -V, --version                 output the version number\n        -c, --config [path]           Specify configuration (default ~/.figolia.conf.js)\n        -l, --live-index              Keep server running to live index Firebase operations (otherwise exit after indexing)\n        -r, --reset                   Force index reset (clear & full reindex)\n        -t, --timestamp-field [name]  Object field name containing last modification timestamp (default 'updatedAt')\n        -d, --throttle-delay [n]      Minimum throttle delay between Algolia API calls (in seconds, default 10)\n                                      Note: between each throttle delay, a maximum of\n                                      { 3 * number of datasets } API calls can be made (add, update & delete)\n\n*Note: if downloaded from github, try using `npm link` first, or, `./bin/figolia`*\n\n**Important:** for the moment, there is no way to run the server without a config file, at least to provide the schema you wish to index. See the [configuration](#configuration).\n\n\n## Configuration\n\n\nCopy the `defaults.conf.js` and modify it according to your needs, before running the server. \n(type `figolia --help` to see the default configuration file location)\n\n\n    var CONFIG = {\n        // Firebase credentials\n        firebase: {\n            // Firebase project name, as seen in your web config:\n            // `databaseUrl: 'https://<XXXXX>.firebaseio.com'`\n            instance: '<XXXXX>',\n            // The bellow file can be downloaded from the Firebase Console in the \n            // last tabs of the settings of your project. NEVER SHARE THAT FILE.\n            // Note: you can also import `path` and use `__dirname` to refer to this file directory\n            // eg. serviceAccountFile: path.join(__dirname, 'serviceAccountFile.json'),\n            serviceAccountFile: '/path/to/serviceAccountFile.json',\n            // Where to store server metadata\n            path: 'algolia',\n            // Firebase token will be generated with this uid (to write above path)\n            uid: 'algolia'\n        },\n        // Algolia credentials\n        algolia: {\n            // Algolia application ID\n            applicationId: '<XXXXX>',\n            // *Admin* API Key\n            apiKey: '<XXXXX>'\n        },\n        // Fully reindex all datasets (ERASE PREVIOUS INDEX DATA)\n        reset: false,\n        // Stay running and live-index all firebase operations.\n        liveIndex: false,\n        // Minimum throttle delay between Algolia API calls (in seconds)\n        // Note: between each throttle delay, a maximum of\n        // [3 * dataset number] calls can be made (add, update & delete)\n        throttleDelay: 10,\n        // Optional, this field will be checked against last\n        // run date to see if reindexing is necessary.\n        // Field type must be UNIX timestamp (example Javascript Date.now()).\n        // WARNING: Without this field being corectly configured,\n        // everything is re-indexed at each rerun.\n        timestampField: 'updatedAt',\n        // Firebase datasets to index in Algolia (examples)\n        schema: {\n            todoLists: {\n                // Firebase path\n                path: 'app/todo',\n                // Algolia index (must exist already)\n                index: 'dev_todo_lists',\n                // Optional, name of ID field (otherwise,\n                // the Firebase object key will be used)\n                key: 'id',\n                // Optional, dataset-specific update time field\n                // (default is use global setting above)\n                timestampField: 'createdAt',\n                // Optional, list of fields to index\n                // (otherwise, every field will be indexed)\n                includeFields: [\n                    'name',\n                    'updatedAt'\n                ],\n                // Optional, list of fields to exclude from index\n                // Note: if both are specified, `excludeFields` \n                // is applied *after* `includeFields`\n                // Nested properties can be accessed using dot notation\n                excludeFields: [\n                    'passwdHash',\n                    'nested.property'\n                ],\n                // Optional, list of fields for which you need N-Gram tokens\n                // ex. \"username: 'hermione'\", will also create an additional\n                // field \"usernameNGrams: ['ermione', 'rmione', 'mione', 'ione']\"\n                // for each word (down to 4 chars), making *infix* search possible \n                // in addition to default prefix search available in Algolia out of the box\n                // letting users search with keyword \"mione\"\n                // Note: this can be storage-consumming for long fields, use with \n                //       caution ! (preferably on fields with enforced size)\n                // Nested properties can be accessed using dot notation\n                ngrams: ['username', 'profile.fullName']\n            },\n            todoItems: {\n                // Second example dataset to index, minimal config\n                path: 'app/todoItems',\n                index: 'dev_todo_items'\n            }\n        }\n    };\n\n#### Update from v0.3.x to v0.4.x\n\n`firebase` package is now deprecated on the server, hence the update to use `firebase-admin`. You have to update your figolia configuration to remove the `firebase.secret` entry, and replace it with a `firebase.serviceAccountFile` pointing to your firebase key json file. It can be downloaded from the Firebase Console in the last tabs of the settings of your project. NEVER SHARE THAT FILE.\n\nBasic steps (for a globval install):\n\n  1. `npm i -g figolia@^0.4.x`\n  2. Download the service account json file from your Firebase console\n  3. In your figolia configuration file, replace `secret` by `serviceAccountFile` which value is the path to the file you just downloaded\n  4. If you store the service account file in a project with versioned source code, do not commit it (for example by adding a line in you `.gitignore` file)\n  5. Restart your `figolia` services, and you're done!\n  6. Report any issues ;-)\n\n### Firebase configuration\n\n\nIn order for `figolia` to work properly, it must store \nthe last known indexing date in firebase. You can specify the path where you\nwant this information stored in the config ([see above](#configuration)). \nDefault is to use the path named `figolia` at the root of your Firebase reference.\n\n\n### Partial word matching (*infix* search)\n\n\n[Out of the box, Algolia only suports *prefix* search by design.](https://www.algolia.com/doc/faq/toubleshooting/how-can-i-make-queries-within-the-middle-of-a-word) However, this can be mitigated by generating *N-Grams* of the words\nup to 4 characters (otherwise relevance falls too much). Figolia does this for you!\n\nExample: activating the `ngrams` on `username` field will generate, for the \nvalue `hermione`, the following tokens: `['ermione', 'rmione', 'mione', 'ione']`. \n\nAs a consequence, users can find Hermione with 'mione' keyword, which would sadly \nreturn no results otherwise. \n\n\n### Reindexing, incremental indexing\n\n\nThis daemon supports a simple mode where every indexed object in Algolia is dropped at runtime, \nand then re-indexed from the current Firebase connection. **Any previously indexed data will be lost.**\n\nThis is not reccomended, as it can lead to many useless operations, and bandwith waste.\n\nI really suggest to specify `path` and `uid` in `firebase` config field, and give\nwrite access to that uid in the Firebase Rules. Also mandatory, the last update \ntime of each items must be set in the schema definition (for example, \nin a `updatedAt` field). \n\nThis is in your app, if you did not implement such feature \nto track the last update time of each of your objects, you'll have to do so \nbefore using this tool efficiently. You can also chose to leave this field\nunchanged for certain minor operations that does not need reindexation.\n\nTo allow `algolia` user to write in your Firebase `algolia` path, \nadd the following in your Firebase instance security rules:\n\n    // Let figolia daemon keep track of what is in sync\n    \"algolia\": {                              \n        \".read\": \"auth.uid == 'algolia'\",\n        \".write\": \"auth.uid == 'algolia'\",\n    }\n    // Optional, to avoid Firebase warnings when running the tests\n    \"tests\": {\n      \"testData\": {\n        \".indexOn\": \"updatedAt\"\n      }\n    }\n\n### Production setup\n\nFor production setup, I strongly encourage the use of a good process manager \nlike [PM2](https://github.com/Unitech/pm2) or [foreverjs](https://github.com/foreverjs/forever).\n\nTo make them work with figolia, which is developped with ES2015 and deployed without pre-compilation, \nyou need to specify the full path of the executable :\n\n    $ which figolia\n    /usr/local/bin/figolia\n    $ pm2 start /usr/local/bin/figolia\n\n## Release notes\n\n * 0.4.6 - Display version when starting\n * 0.4.5 - Small fixes and compliance with third party tools like TravisCI\n * 0.4.0 - Update deps, firebase to firebase-admin, auth by secret to serviceAccount file\n * 0.3.5 - Optimize ngrams storage by grouping multiple fields and deduplicating \n * 0.3.4 - throw is key does not exists. excludedFields can be nested prop\n * 0.3.3 - Object key can be nested prop: `'prop.id`'\n * 0.3.2 - NGrams can be nested prop: `'prop.nested'`\n * 0.3.1 - Fix - do not clear index when relaunching\n * 0.3.0 - Add NGrams generation for middle-of-word (*infix*) search\n * 0.2.8 - Change default timestamp field name to 'updatedAt', bug fixes\n * 0.2.4 - Fix babel ignore option and config loading\n * 0.2.0 - Add throttle option to limit API calls\n * 0.1.5 - Add ignore/only in babel-register options as .babelrc switches ignored\n * 0.1.1 - Fix commandline issue with missing npm package\n * 0.1.0 - Initial release\n\n\n## Known issues\n\n\n  * [#15](#15) When figolia server stops running, your Firebase can continue to\n    change. Next time you run figolia, it will pickup the changes (well, if you \n    have the `timestampField` option correctly set up), however, it will not see \n    if items have been deleted. **Workaround is to fully reindex the datasets.** \n    The fix (TODO) will be to list all object ID and remove the extraneous ones.\n\n\n## Developers\n\n\n### Logging & debugging\n\n\nBy default, basic info is output in the console. Should you need more debug information, you can use the following command line:\n\n    DEBUG=figolia* figolia\n\n...or go full throttle including Babel, Algolia and Firebase debug info :\n\n    DEBUG=* figolia\n\n\n### Testing\n\n\nBecause Firebase and Algolia accounts are needed for this app, you have to provide\nall the necessary credentials as environment variables while running `npm test`:\n\n    FIREBASE_INSTANCE=CHANGE_ME FIREBASE_ACCOUNT=CHANGE_ME ALGOLIA_APP_ID=CHANGE_ME \\\n    ALGOLIA_API_KEY=CHANGE_ME DEBUG=quiet npm test\n\nNote 1: The tests are pretty slow sometimes, because they wait for all Algolia write\nand indexing operations to finish in order to validate the results. You can speed \nup your testing of a specific file by appending its name to the command line:\n\n    FIREBASE_INSTANCE=CHANGE_ME FIREBASE_ACCOUNT=CHANGE_ME ALGOLIA_APP_ID=CHANGE_ME \\\n    ALGOLIA_API_KEY=CHANGE_ME DEBUG=quiet npm test ./test/testfile.spec.js\n\n*Note 2: although the server can work with a read-only access to Firebase, the tests\ncannot, because they have to write fixture data, hence the need for a full Firebase\nconfiguration, including `serviceAccountFile` and `uid` ([see configuration](#firebase-configuration))*\n\n\n### Contribute\n\n\nPRs are more than welcome! Your PR should not break current usage\nand pass all tests. Even better if you write the tests for the added code, and \neven better if the new features are documented in this README ;-) \n\nI will have a look at anything you will have the time to propose.\n\n\n## License\n\n\nMIT © 2016 Aurélien Chivot <aurelien@webstylestory.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","maintainers":[{"name":"pandaiolo","email":"aurelien@webstylestory.com"}],"time":{"modified":"2022-06-18T00:32:34.004Z","created":"2016-01-31T19:26:49.235Z","0.1.0":"2016-01-31T19:26:49.235Z","0.1.1":"2016-01-31T19:39:32.222Z","0.1.2":"2016-01-31T21:15:25.729Z","0.1.3":"2016-01-31T21:48:49.793Z","0.1.4":"2016-01-31T22:04:39.956Z","0.1.5":"2016-01-31T22:51:38.283Z","0.2.0":"2016-02-01T16:55:08.464Z","0.2.1":"2016-02-01T18:00:38.552Z","0.2.2":"2016-02-01T18:06:53.918Z","0.2.3":"2016-02-01T18:52:19.927Z","0.2.4":"2016-02-01T19:02:14.470Z","0.2.5":"2016-02-03T14:41:58.710Z","0.2.6":"2016-02-04T17:58:41.050Z","0.2.7":"2016-02-04T18:27:38.147Z","0.2.8":"2016-02-04T18:33:39.239Z","0.3.0":"2016-02-05T15:42:37.619Z","0.3.1":"2016-02-05T16:26:14.781Z","0.3.2":"2016-04-10T20:12:06.561Z","0.3.3":"2016-04-12T15:23:25.674Z","0.3.4":"2016-04-12T16:10:28.183Z","0.3.5":"2016-04-12T21:11:31.480Z","0.4.1":"2017-06-12T19:20:24.738Z","0.4.2":"2017-06-13T09:51:48.633Z","0.4.3":"2017-06-13T10:05:37.280Z","0.4.4":"2017-06-13T10:06:47.907Z","0.4.5":"2017-06-13T10:54:06.162Z","0.4.6":"2017-06-13T11:02:03.351Z"},"homepage":"https://github.com/webstylestory/figolia#readme","keywords":["node","nodejs","firebase","algolia","search","indexing"],"repository":{"type":"git","url":"git+https://github.com/webstylestory/figolia.git"},"author":{"name":"Aurélien Chivot","email":"aurelien@webstylestory.com"},"bugs":{"url":"https://github.com/webstylestory/figolia/issues"},"license":"MIT","readmeFilename":"README.md","users":{"nmrshll":true}}