{"_id":"@benyap/backfire","_rev":"11-e483b1cd75b57a4d45919fd915cee1cc","name":"@benyap/backfire","dist-tags":{"latest":"0.1.0"},"versions":{"0.0.3":{"name":"@benyap/backfire","version":"0.0.3","description":"Ultimate control over backing up and restoring your Firestore data","repository":{"type":"git","url":"git+ssh://git@github.com/benyap/backfire.git"},"author":{"name":"Ben Yap","email":"contact@benyap.com"},"license":"MIT","module":"lib/main.js","types":"lib/main.d.ts","bin":{"backfire":"lib/main.js"},"directories":{"lib":"lib"},"scripts":{"setup":"yarn setup:install && yarn setup:husky","setup:install":"yarn install","setup:husky":"husky install","clean":"rm -rf ./lib/*","format":"prettier --write \"./src/**/*.ts\"","prebuild":"yarn clean && yarn format","build":"tsc","start":"node lib/main.js","dev":"ts-node src/main.ts","test":"jest","test:coverage":"jest --coverage","test:watch":"jest --watch --interactive","release-rc":"standard-version --prerelease rc","release":"standard-version"},"dependencies":{"ansi-colors":"4.1.1","commander":"8.1.0","cosmiconfig":"7.0.0","dotenv":"10.0.0","firebase-admin":"9.11.0","regex-parser":"2.2.11","replace-in-file":"6.2.0"},"devDependencies":{"@commitlint/cli":"13.1.0","@commitlint/config-conventional":"13.1.0","@types/node":"16.4.7","husky":"7.0.1","prettier":"2.3.2","standard-version":"9.3.1","ts-node":"10.1.0","typescript":"4.3.5"},"gitHead":"9f74abc32f800f1cfc6410c4c416fdd1cd936179","bugs":{"url":"https://github.com/benyap/backfire/issues"},"homepage":"https://github.com/benyap/backfire#readme","_id":"@benyap/backfire@0.0.3","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-TU+7crQO7DX1hRKt7S7nXEPCre02PGNgSafUkkalW0GqoQ2kR5sD4X+WdNRW2JXNa5Xq0ws7a94H1e/sb+X92g==","shasum":"b1e271407023eb164068148d297436e2b2d6bb6c","tarball":"https://registry.npmjs.org/@benyap/backfire/-/backfire-0.0.3.tgz","fileCount":164,"unpackedSize":180168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBNnMCRA9TVsSAnZWagAARGAP/iIUrPB7H1DOY+PNxt+Z\n17wLAKy+IL+YXkjNstAF6r586d4C+YctTyQcdRoPhGO0nFwEpddOlKUIFHuW\nDQsy9KT9qUmdNIA2GJe+kq8S35rnJ2ACFFrx2vBxgknSuO3ooxjTQUdx7soi\ny2856ILnz3L4Y2rL5k1Xd3n+jSaxxVJJVuUPir8IPEBcD4st2PBp+hOEf5vD\nmsrAq0e9SH/rRXcI+7nKaykG60P0KS+4aMHGAD4p6GE0E6tcEG1Ta1FxqYxj\nHeUUP9kB1hR0LeEfIduH4YrWvvNajnhvwqqUNmYjs3eamyZQh62afE0oypjF\nxoKI7J10NCpF8rwwiSPrI7sybWaIdYQ8PVG7bbIGCycbrU8R07f/rtyGD5H5\nmPYeRjxGVS2ujptGUmxAFJdWi8yrZfZCSTKL4oFxu91g14MPSKdD8cplWYW2\n22g3RYqVSHcE6Y5GQYbPlQYli0wBw1qwUqyhun1I7+X/oRGEv3Fu4DeqPr+A\nUCrr47p+6xr7o5JoJypX6BD+ybsAu3leDBk449SGWzsbRUR19AYX4oGJeu0e\nqEajz6RwGCf9aGUkk7ktKIrve4TMEAFlg+yOadQPeDa3rSzU4MJ2oqKzzqJv\nH5PmkoJqRbq/0+/nUKcu3FNycAECBsjBg5HjNXJUcpuWCUeRJSgBb5lD564p\n4Fw7\r\n=VYFN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCG0gXt4D4evcrcJnwhRQkhJaeQPdmB8OhQlu1mfw989AIgVzpPGZe7KD5HnE9HCMSCpGg4q/ya4H/+/AZ5fEXm6q4="}]},"_npmUser":{"name":"bwyap","email":"contact@benyap.com"},"maintainers":[{"name":"bwyap","email":"contact@benyap.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backfire_0.0.3_1627707852178_0.5112436853907436"},"_hasShrinkwrap":false,"deprecated":"WARNING: This package has been renamed to firestore-backfire. Install firestore-backfire instead."},"0.0.5":{"name":"@benyap/backfire","version":"0.0.5","description":"Ultimate control over backing up and restoring your Firestore data","repository":{"type":"git","url":"git+ssh://git@github.com/benyap/backfire.git"},"author":{"name":"Ben Yap","email":"contact@benyap.com"},"license":"MIT","main":"dist/main.js","module":"lib/main.js","types":"lib/main.d.ts","keywords":["firebase","firestore","import","export","backup","restore"],"bin":{"backfire":"dist/main.js"},"directories":{"lib":"lib"},"bugs":{"url":"https://github.com/benyap/backfire/issues"},"homepage":"https://github.com/benyap/backfire","scripts":{"setup":"yarn setup:install && yarn setup:husky","setup:install":"yarn install","setup:husky":"husky install","clean":"rm -rf ./lib/* ./dist/*","format":"prettier --write \"./src/**/*.ts\"","prebuild":"yarn clean && yarn format","build":"yarn build:esm && yarn build:cjs","build:esm":"tsc -p ./tsconfig.esm.json","build:cjs":"tsc -p ./tsconfig.cjs.json","dev":"ts-node src/main.ts","start":"node dist/main.js","test":"jest","test:coverage":"jest --coverage","test:watch":"jest --watch --interactive","release-rc":"standard-version --prerelease rc","release":"standard-version"},"dependencies":{"ansi-colors":"4.1.1","commander":"8.1.0","cosmiconfig":"7.0.0","dotenv":"10.0.0","firebase-admin":"9.11.0","regex-parser":"2.2.11","replace-in-file":"6.2.0"},"devDependencies":{"@commitlint/cli":"13.1.0","@commitlint/config-conventional":"13.1.0","@types/node":"16.4.7","husky":"7.0.1","prettier":"2.3.2","standard-version":"9.3.1","ts-node":"10.1.0","typescript":"4.3.5"},"gitHead":"8d42e8f6a86fed3f59788caa579ae5b89061c9d8","_id":"@benyap/backfire@0.0.5","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-1FcRvbzv5YfDSeM1GYft+dI1gyR8Lq+jcr0ePbl0t/S92+9K2pI198lRg3T2oQ7ly32v6Yxajirkjl6DQ5A0Ow==","shasum":"fc5166860361ba455cc657a2a3cedd35d3788a51","tarball":"https://registry.npmjs.org/@benyap/backfire/-/backfire-0.0.5.tgz","fileCount":324,"unpackedSize":279916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBOAvCRA9TVsSAnZWagAAk6gQAJef7nytlNgLtzhM7veL\nPKh6BievNvjqbofrlNSzV0rLCuf2ieg4RlHjNEoGKL+AzPGs/TndZ4NQf0Y3\nIjUzqLyHX1X6f2BsTpT2wROj9exzzdBXyObXIf2f1PhG/Ol4xWEiwKZpxRjf\nfjAylzRJfIvo2q8Otd1lSJjtckhiJH2VT9/heVcBUBJxqwNY1kZR9uF+8r6e\nnEUDl49qUeCskEv+dLcGXzZsGBWTMj6vOatC6VPXRZc9oDoDNhE9Nb7s4Tth\ne7y4bIIbq2z0OEVG4qwUTUgYvYuvOmO8fsFWBmpN6BvSfxWoE8V9foU2yEq1\nhFCTRKsqrLLb/AzTV3pKEomdNF5tBgiO9QHk8Xt0EzB9g9ATH0njviFtYDGd\nGkMK163ByaaBpsxYBykc/rztJ1y0/pDHw8fFFx9ErGqrJDRaw2eeRgDMxnC5\naTj+m7fmE0xihbxCj3yybRFplhbHq4Fuaf2oLi7RB4HIsLJWphH28WaiwxOU\nR6GMoPupvcRlg/ZVcv8/JKCox5hxGbbrtmFTtpnhhb825odpRMEwpqgBGspD\ntEabdB0+j5yAwtU1H+E2f+BWRgZ1bDOt41zCGwHMKvd+xF+xqyU1ypCuF+gn\nvQm8T+vRLFzt+QuRAtGebx3rbZuQyZR2V/8Xr5AwtJo+qAEO5wbeLRiw2zTd\n3BWQ\r\n=CcCS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE3y8w4C8ePiquc691zkxvcjB54yGrBXh6O8Ex7xz/x8AiAy2v2zy6beMPcTJDNwtT0u7GBycfEcYD9pp66nYRLGOQ=="}]},"_npmUser":{"name":"bwyap","email":"contact@benyap.com"},"maintainers":[{"name":"bwyap","email":"contact@benyap.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backfire_0.0.5_1627709487067_0.5254783942495522"},"_hasShrinkwrap":false,"deprecated":"WARNING: This package has been renamed to firestore-backfire. Install firestore-backfire instead."},"0.0.6":{"name":"@benyap/backfire","version":"0.0.6","description":"Ultimate control over backing up and restoring your Firestore data","repository":{"type":"git","url":"git+ssh://git@github.com/benyap/backfire.git"},"author":{"name":"Ben Yap","email":"contact@benyap.com"},"license":"MIT","main":"dist/main.js","module":"lib/index.js","types":"lib/index.d.ts","keywords":["firebase","firestore","import","export","backup","restore"],"bin":{"backfire":"dist/main.js"},"directories":{"lib":"lib"},"bugs":{"url":"https://github.com/benyap/backfire/issues"},"homepage":"https://github.com/benyap/backfire","scripts":{"setup":"yarn setup:install && yarn setup:husky","setup:install":"yarn install","setup:husky":"husky install","clean":"rm -rf ./lib/* ./dist/*","format":"prettier --write \"./src/**/*.ts\"","prebuild":"yarn clean && yarn format","build":"yarn build:esm && yarn build:cjs","build:esm":"tsc -p ./tsconfig.esm.json","build:cjs":"tsc -p ./tsconfig.cjs.json","dev":"ts-node src/main.ts","start":"node dist/main.js","test":"jest","test:coverage":"jest --coverage","test:watch":"jest --watch --interactive","release-rc":"standard-version --prerelease rc","release":"standard-version"},"dependencies":{"ansi-colors":"4.1.1","app-root-path":"3.0.0","commander":"8.1.0","cosmiconfig":"7.0.0","dotenv":"10.0.0","firebase-admin":"9.11.0","regex-parser":"2.2.11","replace-in-file":"6.2.0"},"devDependencies":{"@commitlint/cli":"13.1.0","@commitlint/config-conventional":"13.1.0","@types/app-root-path":"1.2.4","@types/node":"16.4.8","husky":"7.0.1","prettier":"2.3.2","standard-version":"9.3.1","ts-node":"10.1.0","typescript":"4.3.5"},"gitHead":"0c19dff224a9b3b737cc9c1dd1ae707158d6dd7b","_id":"@benyap/backfire@0.0.6","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-O7JMijEgcjau7zCyvLmreC4RG0Q3cqnqH8fMHq0PEm4v6GaUsNHthJZB/jLC/I/NhYaCY6YVDIVWRYujrDUCog==","shasum":"3b15738772f78aadc8d6e1472c7ad5d9159b8889","tarball":"https://registry.npmjs.org/@benyap/backfire/-/backfire-0.0.6.tgz","fileCount":330,"unpackedSize":308309,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBOiYCRA9TVsSAnZWagAAo7kP/j5bENDHoSq1Ljah9jBO\n+Lix0WeGNoTCKbM90V1JlMOVQZmYDnwlO3hmpineX3uFztTaF7oLASPooKqr\n5vkbgY81ZfheuJmBpAAs+6Pxz0vm+Fys/CSl/fDFCRW8apJ2n4WKP5xIQrBR\nkn/YnskZIL2pKJNibcT6lH9fE3kT7D9iq7VC6FL6z2hbxcEVIEYADaT9JjxL\nfYfeTCtSIYCsbX1m5AWDrV+PcvcskeR7Nc48ma12licSp6nE5fO3yzHrrP/U\nP4aSBVX6pAoHgnnuWoV9SL8xUco3CXyBp6G2yjT3hK2CYmxIpMk8a040tLsu\ntpedBKzVpYNJWyUqatKZLpaUqKQkSAcCumPkCPHik3q7UXi2iQNSohLBEiTy\nYyt24Jy9+773Q+28A6jCC44GH4SOlnowRF5MwxsmCdS4FGw6dTujjyWCDytC\n/xTplGHqgj5cqUELiqaA53sRrKa5nu0Ep9oYwdGnaJTqWLYRKPpFThQGkTHv\n4mUWxrFzjLr+JuE3rAsx5i+9UolW4txFJ8Z6w0fofJhHQvnyI5yAbbjEK0Ro\nQIx12XiVJw+TKWkOsE48nRm5pcMK5S8yyl69RAM6At0E4p+07pG4vbBvwQiC\nAzPrQEFOQ8q7nmhPu4hnFpE84ZL8CduVpTV+7SQK8cvuOqTGFQhDQylBXDO2\n9oqq\r\n=H/kp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAcjnQf/Pwn4dr8JIfaXM6TMlRtLYSj/W2XBye3vkSCkAiBGaGnspj37opWwVv34uaUNKgTB5yRxa/9jJNZfLqGznQ=="}]},"_npmUser":{"name":"bwyap","email":"contact@benyap.com"},"maintainers":[{"name":"bwyap","email":"contact@benyap.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backfire_0.0.6_1627711640820_0.38691760668655717"},"_hasShrinkwrap":false,"deprecated":"WARNING: This package has been renamed to firestore-backfire. Install firestore-backfire instead."},"0.0.7":{"name":"@benyap/backfire","version":"0.0.7","description":"Ultimate control over backing up and restoring your Firestore data","repository":{"type":"git","url":"git+ssh://git@github.com/benyap/backfire.git"},"author":{"name":"Ben Yap","email":"contact@benyap.com"},"license":"MIT","main":"dist/main.js","module":"lib/index.js","types":"lib/index.d.ts","keywords":["firebase","firestore","import","export","backup","restore"],"bin":{"backfire":"dist/main.js"},"directories":{"lib":"lib"},"bugs":{"url":"https://github.com/benyap/backfire/issues"},"homepage":"https://github.com/benyap/backfire","scripts":{"setup":"yarn setup:install && yarn setup:husky","setup:install":"yarn install","setup:husky":"husky install","clean":"rm -rf ./lib/* ./dist/*","format":"prettier --write \"./src/**/*.ts\"","prebuild":"yarn clean && yarn format","build":"yarn build:esm && yarn build:cjs","build:esm":"tsc -p ./tsconfig.esm.json","build:cjs":"tsc -p ./tsconfig.cjs.json","dev":"ts-node src/main.ts","start":"node dist/main.js","test":"jest","test:coverage":"jest --coverage","test:watch":"jest --watch --interactive","release-rc":"standard-version --prerelease rc","release":"standard-version"},"dependencies":{"ansi-colors":"4.1.1","app-root-path":"3.0.0","commander":"8.1.0","cosmiconfig":"7.0.0","dotenv":"10.0.0","firebase-admin":"9.11.0","regex-parser":"2.2.11","replace-in-file":"6.2.0"},"devDependencies":{"@commitlint/cli":"13.1.0","@commitlint/config-conventional":"13.1.0","@types/app-root-path":"1.2.4","@types/node":"16.4.8","husky":"7.0.1","prettier":"2.3.2","standard-version":"9.3.1","ts-node":"10.1.0","typescript":"4.3.5"},"gitHead":"0953b933cbf9e55e1db60089c47001e93af1d5dc","_id":"@benyap/backfire@0.0.7","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-N7+dKxk/4KUVO52z2vROLmkl7Q7Gj3kvnwWUif5O2rDIbf0DVQx2uxBNduDCHAzACxhTJvWfyh9KPNz3o26ybA==","shasum":"6ec6dd7be07bc9cd854410aa7934c1451a6620c8","tarball":"https://registry.npmjs.org/@benyap/backfire/-/backfire-0.0.7.tgz","fileCount":330,"unpackedSize":307131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBO4fCRA9TVsSAnZWagAAO3sP/1VkwmvcPw6RsViFeTXr\nOOmNdSVmqR8/owyJahNaYOSowSDsmqEW7TWSDLcGuJo4WnE1xEZ3Ha5kYt6k\nKtTt6RyQrAH8IYnsrMT5r7SAMTnwvgXmJPDS9xOSO20Ha76tf0n7krudI95Q\nfug2OL3TqE8KYLW0KOlHY/N9nJZi0Qo8V6nS7OlgEenwSsBXYoba6R3m9I+l\n9staQaa3nemzA0i1ivu4FxU3z6/PpOgggn+AKVopSE1kTLpfS3WOyJofxrAs\nzn2Zc2dki06zmqtYn0NT55ysOT2lGZUq9vTICQictR5JGSbKJ78YdwZQFYng\niqlih2GJBDru90lwpxktcpp0h9z4xDN9kHb2/QDUFBK8SCsFs9HPhmVUQF48\n4o5/RdX3nmMeVy9PjVZo6j/EfvXikYZwh3/ec2WqBMNRBL7Gotdc0UZvVQBd\nw+FyZ8nTFw61YoCoahoKRLmquDMa4z4kxqvETdyPP/aYBmUPXItFqPNPwGQD\n1su+XNTH23uauBb4/BEdJ4tr+mkx7WnYNg3zYmVDzkQnzjmsi02V3um3n0lu\naVk3wcKrObGRTBZZEdnQa2OuYv6T1+7XZDM3vcSdpEByCZd4sk1K8/abLQZC\nTr3jizNUMTp1eFUIR13IeuBXNJigYIQlqUukWN9d8UxDhr+fNeDZQ16XhyrT\nsDea\r\n=sfFF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsUhEeAEONUNk2LQJX5jmE+lgwevth8WBbGd3TRpCxfwIgSIc+vQ5y8NCPDIEhBsY9sa98UyqJlhj2UIsBSjNVK78="}]},"_npmUser":{"name":"bwyap","email":"contact@benyap.com"},"maintainers":[{"name":"bwyap","email":"contact@benyap.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backfire_0.0.7_1627713055367_0.008479495573655571"},"_hasShrinkwrap":false,"deprecated":"WARNING: This package has been renamed to firestore-backfire. Install firestore-backfire instead."},"0.0.8":{"name":"@benyap/backfire","version":"0.0.8","description":"Ultimate control over backing up and restoring your Firestore data","repository":{"type":"git","url":"git+ssh://git@github.com/benyap/backfire.git"},"author":{"name":"Ben Yap","email":"contact@benyap.com"},"license":"MIT","main":"dist/main.js","module":"lib/index.js","types":"lib/index.d.ts","keywords":["firebase","firestore","import","export","backup","restore"],"bin":{"backfire":"dist/main.js"},"directories":{"lib":"lib"},"bugs":{"url":"https://github.com/benyap/backfire/issues"},"homepage":"https://github.com/benyap/backfire","scripts":{"setup":"yarn setup:install && yarn setup:husky","setup:install":"yarn install","setup:husky":"husky install","clean":"rm -rf ./lib/* ./dist/*","format":"prettier --write \"./src/**/*.ts\"","build":"yarn clean && yarn build:esm && yarn build:cjs","build:esm":"tsc -p ./tsconfig.esm.json","build:cjs":"tsc -p ./tsconfig.cjs.json","dev":"ts-node src/main.ts","start":"node dist/main.js","test":"jest","test:coverage":"jest --coverage","test:watch":"jest --watch --interactive","release-rc":"standard-version --prerelease rc","release":"standard-version"},"dependencies":{"ansi-colors":"4.1.1","app-root-path":"3.0.0","commander":"8.1.0","cosmiconfig":"7.0.0","dotenv":"10.0.0","firebase-admin":"9.11.0","regex-parser":"2.2.11","replace-in-file":"6.2.0"},"devDependencies":{"@commitlint/cli":"13.1.0","@commitlint/config-conventional":"13.1.0","@types/app-root-path":"1.2.4","@types/node":"16.4.8","husky":"7.0.1","prettier":"2.3.2","standard-version":"9.3.1","ts-node":"10.1.0","typescript":"4.3.5"},"gitHead":"3bf9cbde9aa9667bbc1cc5e10b59119f6fe34aa5","_id":"@benyap/backfire@0.0.8","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-5cNWrmlPrmawQ5ZkDgcl6BAlLfTLYaB1NBW682KxwlTK8o3AdNLgJhMIQpAlBUbAs2b94aZiW+9o9XIyahl8pg==","shasum":"12f2285937f678c8d3cdbeb5d4a55a4000891856","tarball":"https://registry.npmjs.org/@benyap/backfire/-/backfire-0.0.8.tgz","fileCount":330,"unpackedSize":307856,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBO9/CRA9TVsSAnZWagAAe/QP/0m8j78v9FRjd+ilnIJn\nkqpbaAynJSYiqyCTcNcO6sisHwsc7sgxtDE4z3T/hLSgHYGJ4WbMWFlk+b6U\nQ2rQxh/rcg2lJPlAQPMdFUKlGVbjOQ748M3nCMRRSqTDsSvgjKaHX1+WcVfd\nhdXiqF6arTb46kCWmqK61pR7Y+wk1lzRiSI7mCerMpYDA/octb6C2vWH2R7R\nQn+R7SHaFYVEyOIcCYkqmMiVCye+v76qLIKxVkGniivWFFYF4miyrozdOUt2\nl147lrtjqPO+YEiaxZlT56euuKNdyfG9g2FuHIM4AAHzTQeCEBG7czXlbtGu\nTmPsokLzOKf21bvkEXxsUXqtdfRT/yw6tMHn6297TWAkXxknMdGS2MgwIgM0\n7TDAuOHFiOYPHkmpGhlFKcNgu39etuhNsjqtRLaBQhkcbiHSrzZkivflSJ7m\neIYUfumK3LEE+0Q/1fRa6iMgAG8bfBcaOTnC73FtGzbkQtMlb/j1WCPV6Pbn\ngZBE4PMU5/yYIE6KOrIRxgNoFoNP0LN1bHNpRD960vvlVyW94pebfQe3SMAw\njM8YvT/6MKRHbYODqq2bqb5L6w+l/rXICH9QU1YhuobBYmF/1d+0bZjyAOPo\n/Of2U8Im6deKzHUrJ1nIyyB+ST5pcfWN1pEy1oSs+Klku0/2ngV5Ir6+aeG9\nwhh/\r\n=FmCV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD07tbYYk9kY9emSeAo56ZyQpFXjHJ659ia3YpHOcGvkwIgL5zjLt8Dz6Qx9fDU6jzSno9iNGxHZU2DaXFs9imPsvI="}]},"_npmUser":{"name":"bwyap","email":"contact@benyap.com"},"maintainers":[{"name":"bwyap","email":"contact@benyap.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backfire_0.0.8_1627713407824_0.17282529248019807"},"_hasShrinkwrap":false,"deprecated":"WARNING: This package has been renamed to firestore-backfire. Install firestore-backfire instead."},"0.0.9":{"name":"@benyap/backfire","version":"0.0.9","description":"Ultimate control over backing up and restoring your Firestore data","repository":{"type":"git","url":"git+ssh://git@github.com/benyap/backfire.git"},"author":{"name":"Ben Yap","email":"contact@benyap.com"},"license":"MIT","main":"dist/main.js","module":"lib/index.js","types":"lib/index.d.ts","keywords":["firebase","firestore","import","export","backup","restore"],"bin":{"backfire":"dist/main.js"},"directories":{"lib":"lib"},"bugs":{"url":"https://github.com/benyap/backfire/issues"},"homepage":"https://github.com/benyap/backfire","scripts":{"setup":"yarn setup:install && yarn setup:husky","setup:install":"yarn install","setup:husky":"husky install","clean":"rm -rf ./lib/* ./dist/*","format":"prettier --write \"./src/**/*.ts\"","build":"yarn clean && yarn build:esm && yarn build:cjs","build:esm":"tsc -p ./tsconfig.esm.json","build:cjs":"tsc -p ./tsconfig.cjs.json","dev":"ts-node src/main.ts","start":"node dist/main.js","test":"jest","test:coverage":"jest --coverage","test:watch":"jest --watch --interactive","release-rc":"standard-version --prerelease rc","release":"standard-version"},"dependencies":{"ansi-colors":"4.1.1","app-root-path":"3.0.0","commander":"8.1.0","cosmiconfig":"7.0.0","dotenv":"10.0.0","firebase-admin":"9.11.0","regex-parser":"2.2.11","replace-in-file":"6.2.0"},"devDependencies":{"@commitlint/cli":"13.1.0","@commitlint/config-conventional":"13.1.0","@types/app-root-path":"1.2.4","@types/node":"16.4.8","husky":"7.0.1","prettier":"2.3.2","standard-version":"9.3.1","ts-node":"10.1.0","typescript":"4.3.5"},"gitHead":"7aa60953a7ed45c15c1626c08e7810cd973361a9","_id":"@benyap/backfire@0.0.9","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-vKoy545bYZNzBwn/RXNj+NfY1x0+W5dBjOMF3NSmV1kc2nveWkINhx7VqnFa5Dsil8lP+H6x7yrFkeqcDevG1g==","shasum":"cb2f3aba0726aacb8e130d7d1a0d82b5a679989b","tarball":"https://registry.npmjs.org/@benyap/backfire/-/backfire-0.0.9.tgz","fileCount":330,"unpackedSize":314378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCfPFCRA9TVsSAnZWagAAsYEQAJsprT8AeS+eUkRw8cvV\nIDR9wQNX6ppdkzRE0L8K1F+/QDfz5WRDolSTxI90mWa88aABbiF9zQ2Hpu6D\nLFE89+8OdPyRDr5mzEXU37tdaJnFlzpPNABJn1bF4e75DpE3B4Gu06xf1hR6\nTWKFInvU3QtSVbTv9S34YE0zaKoRr56L4efNFcqJ5DBg7aRUUIZIngJgvJPZ\njR+qeoDe4GIRwN6gKdNBdL+ayAz0ufz1WxDgrXFG2/YIstRm/xU4tYEl2exR\nWh0AcpcK9K3aytoePbs5jJnOHO3FpPm81yIPDgQqoHYsHpX/Ebb4dFv4Vw8h\nAVsyEOct0eT2okAJMzcIZUznIdl20lhO9eltUovDqDMLH5bmHnYm10eGsf9a\nDhQ+kNvBwT3Zv53Mj1G2ZEEjxuRhdy/NLTtNiCreTcL9BFHvf2SItykPIL40\nSxa36uyLs/nbCH74I45BXlyqvxUXypVndj/e05w766RqV7vjyWL5FeVh1+8W\nMcCOBNqMACmIZkPHh2z16Au3pWZjG3Ut7eTcA/qVIh88Mms5yHh52Fu8dKKX\nGCo5FhNnCJe+s6DRR1EDHenGFtUMqv4UR+HVwO4cSBbtfTc1nOD+11GHummW\nLrDVePotymLDKTjh5hrZcWw+H1kqXG321smfVlkTkdxQwveAtGgM5L+Z9oQM\nEZ9Q\r\n=Iua0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBU1+nh7UYs4rv1ViNPQAeprSV9808XIc+Xn1dBTg7nhAiEAndFMkh3hyH7Mo4gAGRizLkO3CG8Ld6deGSi74kKg8mU="}]},"_npmUser":{"name":"bwyap","email":"contact@benyap.com"},"maintainers":[{"name":"bwyap","email":"contact@benyap.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backfire_0.0.9_1628042181465_0.9427142848122494"},"_hasShrinkwrap":false,"deprecated":"WARNING: This package has been renamed to firestore-backfire. Install firestore-backfire instead."},"0.0.10":{"name":"@benyap/backfire","version":"0.0.10","description":"Ultimate control over backing up and restoring your Firestore data","repository":{"type":"git","url":"git+ssh://git@github.com/benyap/backfire.git"},"author":{"name":"Ben Yap","email":"contact@benyap.com"},"license":"MIT","main":"dist/main.js","module":"lib/index.js","types":"lib/index.d.ts","keywords":["firebase","firestore","import","export","backup","restore"],"bin":{"backfire":"dist/main.js"},"directories":{"lib":"lib"},"bugs":{"url":"https://github.com/benyap/backfire/issues"},"homepage":"https://github.com/benyap/backfire","scripts":{"setup":"yarn setup:install && yarn setup:husky","setup:install":"yarn install","setup:husky":"husky install","clean":"rm -rf ./lib/* ./dist/*","format":"prettier --write \"./src/**/*.ts\"","build":"yarn clean && yarn build:esm && yarn build:cjs","build:esm":"tsc -p ./tsconfig.esm.json","build:cjs":"tsc -p ./tsconfig.cjs.json","dev":"ts-node src/main.ts","start":"node dist/main.js","test":"jest","test:coverage":"jest --coverage","test:watch":"jest --watch --interactive","release-rc":"standard-version --prerelease rc","release":"standard-version"},"dependencies":{"ansi-colors":"4.1.1","app-root-path":"3.0.0","commander":"8.1.0","cosmiconfig":"7.0.0","dotenv":"10.0.0","firebase-admin":"9.11.0","regex-parser":"2.2.11","replace-in-file":"6.2.0"},"devDependencies":{"@commitlint/cli":"13.1.0","@commitlint/config-conventional":"13.1.0","@types/app-root-path":"1.2.4","@types/node":"16.4.8","husky":"7.0.1","prettier":"2.3.2","standard-version":"9.3.1","ts-node":"10.1.0","typescript":"4.3.5"},"gitHead":"603273277cc9baced0809eb953f0a600c6481137","_id":"@benyap/backfire@0.0.10","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-+k3+24vsHbV7fP9SmvHzbqJNadg5ew618EGjGogvMqfSKWiwvFd7dZeU8NVEKjkIO28lP2nWCB4efcejqvnSIw==","shasum":"e516d0508c441b16a4f1346b2c2fb97d2442c585","tarball":"https://registry.npmjs.org/@benyap/backfire/-/backfire-0.0.10.tgz","fileCount":330,"unpackedSize":314915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhChQiCRA9TVsSAnZWagAA8wkP/0eAPW0C+up6KRzlOlsx\niNSF2KaSZ7G49CD9DoLXqDIuH0AnKhqs/XePAdpVIHM8HpZBnv5vLC9UF2L2\nTgcJfmyY8Vv0iirHj71Kyt4qvZ7xYi3/8gfyZld7k68GEXtlMsOxELrU4BIw\nM/xFeIA0vpHdRECZ2n/Qoj4Uegde2H0Z9PQiFKUSMFoQi0vocCoC/7h8CF+0\nyVLw+9zh6HiU7udEXst0stWsdHi2SvYOGXIc56VELyw9OerAkI2ScE1OXKkl\ndx4MuJ3Ru1hc98QuO/usk1oD0I/TjSgT8W4txNP09VbIBPf9u7K5oz03T1H1\n3h9S/ap0s9xuJeZMJiefljdxs6NiVZkaxglVxaIoS+0lhr+DIankkAlw2som\n9zudHtXMjMY/THYlHBCN+LteH4KExvx6o4uqyZ59HYjPfdrrjTK39C57KtHa\nuGBZX/jrb5Z5yOGQrOgTbKVxinblaMjA84+USvIz7voBbmJhDjR2iXVd0ofA\nMHeo2Z94/B0ES2WQE5Qw7YB9jsES+a1pclXtIIVKk6+h6bWSGil7jU5B3Xxx\n64Se8KQy6UswB1my5aYrgVgEo1i+8up6OXJNTgZEJg/RJmV8uQAO7IgKE5/L\nqxqHdXpu/iQ2YsRK2p4IIaGSELZ94F6gGwLMh8kFsvVxyluq2ToWW57T1uI5\nhjR+\r\n=2E9Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIErXMAkb6KJDbbCzDYaHjVvJP9OPjHstOdL4diGnQyAoAiA9qQdlGZxnwOiIT9qlvRJIuBimYs4ryNrvNSVrTX7QFw=="}]},"_npmUser":{"name":"bwyap","email":"contact@benyap.com"},"maintainers":[{"name":"bwyap","email":"contact@benyap.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backfire_0.0.10_1628050466069_0.03955077057510059"},"_hasShrinkwrap":false,"deprecated":"WARNING: This package has been renamed to firestore-backfire. Install firestore-backfire instead."},"0.0.11":{"name":"@benyap/backfire","version":"0.0.11","description":"Ultimate control over backing up and restoring your Firestore data","repository":{"type":"git","url":"git+ssh://git@github.com/benyap/backfire.git"},"author":{"name":"Ben Yap","email":"contact@benyap.com"},"license":"MIT","main":"dist/main.js","module":"lib/index.js","types":"lib/index.d.ts","keywords":["firebase","firestore","import","export","backup","restore"],"bin":{"backfire":"dist/main.js"},"directories":{"lib":"lib"},"bugs":{"url":"https://github.com/benyap/backfire/issues"},"homepage":"https://github.com/benyap/backfire","scripts":{"setup":"yarn setup:install && yarn setup:husky","setup:install":"yarn install","setup:husky":"husky install","clean":"rm -rf ./lib/* ./dist/*","format":"prettier --write \"./src/**/*.ts\"","build":"yarn clean && yarn build:esm && yarn build:cjs","build:esm":"tsc -p ./tsconfig.esm.json","build:cjs":"tsc -p ./tsconfig.cjs.json","dev":"ts-node src/main.ts","start":"node dist/main.js","test":"jest","test:coverage":"jest --coverage","test:watch":"jest --watch --interactive","release-rc":"standard-version --prerelease rc","release":"standard-version"},"dependencies":{"ansi-colors":"4.1.1","app-root-path":"3.0.0","commander":"8.1.0","cosmiconfig":"7.0.0","dotenv":"10.0.0","firebase-admin":"9.11.0","regex-parser":"2.2.11","replace-in-file":"6.2.0"},"devDependencies":{"@commitlint/cli":"13.1.0","@commitlint/config-conventional":"13.1.0","@types/app-root-path":"1.2.4","@types/node":"16.4.8","husky":"7.0.1","prettier":"2.3.2","standard-version":"9.3.1","ts-node":"10.1.0","typescript":"4.3.5"},"peerDependencies":{"@google-cloud/storage":"5.12.0"},"peerDependenciesMeta":{"@google-cloud/storage":{"optional":true}},"gitHead":"d306802c4eb6b08141a3234d8373b5aacad153e0","_id":"@benyap/backfire@0.0.11","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-jNgVOU5/tkVKslv3aNMhd1CaiowzxI/7Zqq0czLxWXl1gmm6SjO/WI9UG6m/gzxxv9hRmNbICkmsAHxodhY0GQ==","shasum":"e7c1ee6c641c316f76b418b1a5a4be6170974fbd","tarball":"https://registry.npmjs.org/@benyap/backfire/-/backfire-0.0.11.tgz","fileCount":342,"unpackedSize":380206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhElNoCRA9TVsSAnZWagAAkx8P/jgCPKnaBtEsAh2MeDTV\nrr6CbtJRLuDPhO7a+xFg8XrryVyWwleA1mUdyWPyUdeNd+zJ/OxZQqjqGK0D\n1H3KQ7kOR3ofrS/FKiQ0JHtETcfZwOxGQ9uoHgAciUt7xnTnL36EbRX/WlZp\n9SC7XDHE9jmtSFAlyBrKLwSv2GR++bySrafSs74njQlZMWFwkyrxRuFS5C8N\nE5T2uBRsWJRx7zWe1elfXCfSJc1xMPQ2WZRm9oLFYO0sPq91dbxEiFxmF81d\nE7bjh3q8sIlDQwtnPdHF/XatfcytoyaLqv5zQgKsNQOKwMwggBJ7kdBl2GVH\nZOmtnk6hKgmesYNXcZo7RbV8qPbEIyX2VqKtRX7sRWzMlSL4hwLSRboCgv9Z\nhCX3I2mkk9v6BSLWvZYjtuZYPb6VPd49Iq5ro0B3i7f+OtIy7Nd20PcuZbXV\n/xqsnl4Ea2PhItGrEmNlCcySwO2x6IW7YW6bodAw9rlIXV/eInEijAIN9+Lm\nMYMY9QxS3NBzfeUWv8gTsz3x0OppW9JuuAviaFuEF6slog/EKChf67815N/R\nLRAL9RrDRQ5g0rCvq1u1Uzge6B0B/qota/jdQLK6X09zk3xJap18Z4FmP7AR\nH6yiJFd2sLVMLOmGazaj/Uwg0xxsGaoxXHtLeGiRBn2pnnshNJpL5naXCsBN\nbsqV\r\n=QSpl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDi1PoOqe0d/LTYvi4tVuh/Rf7GsFGkMORBnicVmhlWRwIgJlKdCleXY+mmsOHzcBf0r6/j4wCCplPydAph4BCY8tI="}]},"_npmUser":{"name":"bwyap","email":"contact@benyap.com"},"maintainers":[{"name":"bwyap","email":"contact@benyap.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backfire_0.0.11_1628590952447_0.2173285972978054"},"_hasShrinkwrap":false,"deprecated":"WARNING: This package has been renamed to firestore-backfire. Install firestore-backfire instead."},"0.1.0":{"name":"@benyap/backfire","version":"0.1.0","description":"Ultimate control over backing up and restoring your Firestore data","repository":{"type":"git","url":"git+ssh://git@github.com/benyap/backfire.git"},"author":{"name":"Ben Yap","email":"contact@benyap.com"},"license":"MIT","main":"cjs/index.js","module":"esm/index.js","types":"esm/index.d.ts","keywords":["firebase","firestore","import","export","backup","restore"],"bin":{"backfire":"cjs/main.js"},"directories":{"lib":"lib"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/benyap/backfire/issues"},"homepage":"https://github.com/benyap/backfire","scripts":{"setup":"yarn setup:install && yarn setup:husky","setup:install":"yarn install","setup:husky":"husky install","clean":"rm -rf ./cjs/* ./esm/*","format":"prettier --write './src/**/*.ts'","build":"yarn clean && yarn build:esm && yarn build:cjs","build:esm":"tsc -p ./tsconfig.esm.json","build:cjs":"tsc -p ./tsconfig.cjs.json","dev":"ts-node src/main.ts","start":"node dist/main.js","emulators":"firebase emulators:start --project demo","test":"jest","test:coverage":"jest --coverage","test:watch":"jest --watch --interactive","release":"release-it"},"dependencies":{"ansi-colors":"4.1.1","app-root-path":"3.0.0","commander":"8.3.0","cosmiconfig":"7.0.1","dotenv":"10.0.0","firebase-admin":"10.0.0","regex-parser":"2.2.11","replace-in-file":"6.3.2"},"devDependencies":{"@commitlint/cli":"15.0.0","@commitlint/config-conventional":"15.0.0","@release-it/bumper":"3.0.1","@release-it/conventional-changelog":"3.3.0","@types/app-root-path":"1.2.4","@types/node":"16.11.13","firebase-tools":"9.23.1","husky":"7.0.4","prettier":"2.5.1","release-it":"14.11.8","ts-node":"10.4.0","typescript":"4.5.4"},"peerDependencies":{"@google-cloud/storage":"5.12.0"},"peerDependenciesMeta":{"@google-cloud/storage":{"optional":true}},"resolutions":{"conventional-commits-parser":"3.2.3"},"gitHead":"75905e284fa7e9339e230baefc176719fbf3e86d","_id":"@benyap/backfire@0.1.0","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-jewGKhHPYOthEa6BkTeSkr5Wrc8uHvCJgfpNcG9UBGM2vzxfDdpMYl1NX9+PVyS1qEfe2uTn1uitZZrHhsao8g==","shasum":"2a674d32f76344538e604c97da23b9e97015ae59","tarball":"https://registry.npmjs.org/@benyap/backfire/-/backfire-0.1.0.tgz","fileCount":342,"unpackedSize":383813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuZXpCRA9TVsSAnZWagAAtI4P/0P8HBHBeoBneV5KYz1n\nyqUbGMBaC9mKHOu/zuTULbstGcqa3fupbF+hCD+Tj3XWLQ8O4EPW8dPq0AeT\n88lF2zUIFX3HMHclA33Z+1efd7LXV0U7pzsWBvbw0W88YgXiNPRLLnqATtjG\nN5O9NDHYGiws4Ocoz8Nffc3O4/e0OntjrEfWqJ39cJdPCaWK1jGUf9r2tpUF\nV1vDEAVtg3rUHsePwayjcCB3JtO2l8ItZ51zAI4AghOiWQ/4VWbA0wJisIGi\nbGpkoqIZ6YSYcjbMSD9rLsepmYGZq0LLMRHZcSX+yj6H0nr1t5qWkvFmWOnu\n9kqIcVEecazwym3lkz3/VK/uY1kdrYqeJ5uh4D1MpoxO+EgMNZq7KR2MczbF\neY+z1gR2Vq4/hMaTSSchKNt6Z2gBpyDHYnPD+UrCyoodNXtT77Wm7JR+/J3g\nMXFax/4gyBMIldMCoqapYd4trj8Qo9Xb9gis6fCiCpetYCEDy35GL1Yc3tuS\nuxH95JykQraPKO4L9ZXwPDWnb4uIYVUBztXSi/nbjM1NrxnsKwzyE379qa0A\nUJ8EXYqPkV0q0eGCJA9i/TF1T2HENwGoFE3HSCx/ADz+NRXgdN+7mcZJG8ok\nyw8/gRkLh7TCkzCiD8TbQ7ijVYx+JhoYP6PIVHGceJSgndCq4dBBvBsl3frk\nHBbp\r\n=52RN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBkhF8LHoQUBRy5AYF9zHD9XqHqTElbs+yqjUCTimf8aAiAj3GtjM2TR9E+xYRwJfdCU1xgOsZs6ENzvonj3qqnLvg=="}]},"_npmUser":{"name":"bwyap","email":"contact@benyap.com"},"maintainers":[{"name":"bwyap","email":"contact@benyap.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backfire_0.1.0_1639552489516_0.4866729197176807"},"_hasShrinkwrap":false,"deprecated":"WARNING: This package has been renamed to firestore-backfire. Install firestore-backfire instead."}},"time":{"created":"2021-07-31T05:04:12.126Z","0.0.3":"2021-07-31T05:04:12.296Z","modified":"2023-02-09T12:50:28.038Z","0.0.5":"2021-07-31T05:31:27.283Z","0.0.6":"2021-07-31T06:07:20.931Z","0.0.7":"2021-07-31T06:30:55.518Z","0.0.8":"2021-07-31T06:36:47.993Z","0.0.9":"2021-08-04T01:56:21.666Z","0.0.10":"2021-08-04T04:14:26.245Z","0.0.11":"2021-08-10T10:22:32.651Z","0.1.0":"2021-12-15T07:14:49.706Z"},"maintainers":[{"email":"contact@benyap.com","name":"bwyap"},{"email":"contact@benyap.coM","name":"benyap"}],"description":"Ultimate control over backing up and restoring your Firestore data","homepage":"https://github.com/benyap/backfire","repository":{"type":"git","url":"git+ssh://git@github.com/benyap/backfire.git"},"author":{"name":"Ben Yap","email":"contact@benyap.com"},"bugs":{"url":"https://github.com/benyap/backfire/issues"},"license":"MIT","readme":"# 🔥 BackFire ‎️‍\n\n[![npm version](https://img.shields.io/npm/v/@benyap/backfire)](https://npmjs.com/package/@benyap/backfire)\n[![License](https://img.shields.io/github/license/benyap/backfire)](LICENSE)\n\nUltimate control over backing up and restoring your Firestore data! Use BackFire to\nimport and export data from Firestore, including the Local Firestore Emulator.\n\n**Key features**\n\n- Control which collections are imported/exported\n- Control which documents are imported/exported based on path\n- Control the depth of subcollections to import/export\n- Import/export data from local files\n- Import/export data from Google Cloud Storage\n- (WIP) Import/export data from S3\n\n#### ⚠️ Project is a WIP\n\nThis project is still under development. It has an unstable API and may contain bugs.\nNot recommended for production use yet.\n\n## Installation\n\nInstall this program using `yarn` or `npm`.\n\n```bash\n# Using yarn\nyarn add @benyap/backfire\n\n# Using npm\nnpm install @benyap/backfire\n```\n\n### Optional peer dependencies\n\nIf you plan to import/export data from Google Cloud Storage, you must also install\n`@google-cloud/storage`:\n\n```bash\n# Using yarn\nyarn add @google-cloud/storage\n\n# Using npm\nnpm install @google-cloud/storage\n```\n\n## CLI Usage\n\nAll commands are accessed through `backfire` on the CLI. Options can be provided\neither as command line arguments or via a [configuration file](#configuration-file).\n\n```\nUsage: backfire [options] [command]\n\nUltimate control over backing up and restoring your Firestore data\n\nOptions:\n  -V, --version            output the version number\n  --verbose                output verbose logs\n  -h, --help               display help for command\n\nCommands:\n  export [options] <path>  Export data from Firestore to the given path\n  import [options] <path>  Import data to Firestore from the given path\n  help [command]           display help for command\n```\n\n### Export command\n\nThe `export` command will export data from a Firestore instance. The `path` argument\nmust be provided, and this should be a path to one of:\n\n- a local directory where the exported data will be created (e.g. `./data-folder`)\n- a path to a GCS bucket where the exported data will be saved (e.g.\n  `gs://my-gcs-bucket`)\n\n_All other command options are listed in the_\n_[shared commands options](#shared-command-options) section._\n\n**Command reference**\n\n```\nUsage: backfire export [options] <path>\n\nExport data from Firestore to the given path\n\nOptions:\n  -P, --project <project>         the Firebase project id\n  -K, --keyfile <path>            path to Firebase service account credentials JSON file\n  -E, --emulator <host>           use the local Firestore emulator\n  --collections [collections...]  name of the root collections to export (all collections exported if not specified)\n  --patterns [regex...]           regex patterns that a document path must match to be exported\n  --depth <number>                subcollection depth to export (default: 100)\n  --concurrency <number>          number of concurrent processes allowed (default: 10)\n  --json                          outputs data in JSON array format (only applies when exporting to local files)\n  --gcs-project <project>         the Google Cloud project id (required if using GCS)\n  --gcs-keyfile <path>            path to Google Cloud service account credentials JSON file (required if using GCS)\n  -h, --help                      display help for command\n```\n\n### Import command\n\nThe `import` command will import data to a Firestore instance. The `path` argument\nmust be provided, and this should be a path to one of:\n\n- a local directory where the data should be imported from (e.g. `./data-folder`)\n- a path to a GCS bucket where data should be imported from (e.g.\n  `gs://my-gcs-bucket`)\n\nThe data should be in the `.snapshot` [format](#the-snapshot-data-format) (or the\nJSON version of it).\n\n_All other command options are listed in the_\n_[shared commands options](#shared-command-options) section._\n\n**Command reference**\n\n```\nUsage: backfire import [options] <path>\n\nImport data to Firestore from the given path\n\nOptions:\n  -P, --project <project>         the Firebase project id\n  -K, --keyfile <path>            path to Firebase service account credentials JSON file\n  -E, --emulator <host>           use the local Firestore emulator\n  --collections [collections...]  name of the root collections to import (all collections imported if not specified)\n  --patterns [regex...]           regex patterns that a document path must match to be imported\n  --depth <number>                subcollection depth to import (default: 100)\n  --concurrency <number>          number of concurrent processes allowed (default: 10)\n  --json                          import data from JSON array format (only applies when importing from local files)\n  --gcs-project <project>         the Google Cloud project id (required if using GCS)\n  --gcs-keyfile <path>            path to Google Cloud service account credentials JSON file (required if using GCS)\n  -h, --help                      display help for command\n```\n\n### Shared command options\n\nThe following options are shared between the `import` and `export` commands.\n\n#### `-P, --project <project>`\n\nThe Firebase project to import/export data from.\n\n#### `-K, --keyfile <path>`\n\nThe path to service account credentials for connecting to Firestore.\n\nFor example, to connect to `my-project` using the service account credentials file\n`service-account.json` in the current directory:\n\n```bash\nbackfire export my-folder -P my-project -K service-account.json\n```\n\n#### `-E, --emulator <host>`\n\nProvide the emulator host to connect to using the `--emulator` option.\n\nFor example, to connect to the emulator at `http://localhost:8080`:\n\n```bash\nbackfire export my-folder -P my-project -E localhost:8080\n```\n\nThe `-E, --emulator` option takes precendence over the `-K, --keyfile` option. This\nmeans that if both options are provided, the emulator will be used.\n\n#### `--collections [collections...]`\n\nYou can specify which root collections to import/export by using the `--collections`\noption. Provide a list of space-separated collection names. If not specified, all\navailable collections will be imported/exported.\n\n```\nbackfire export my-folder -P my-project -K service-account.json --collections users settings\n```\n\nThe above command will export data from the `users` and `settings` collection,\nincluding all subcollections.\n\n#### `--patterns [regex...]`\n\nYou can provide a list of patterns in the form of regular expressions to filter which\ndocuments to import/export. If more than one pattern is provided, a document must\nmatch at least one pattern to be imported/exported. If you are providing more than\none pattern, they should be space-separated. You may need to wrap your patterns in\nquotes if they include special characters, such as an asterisk (\\*).\n\nRegular expressions are parsed by\n[regex-parser](https://www.npmjs.com/package/regex-parser).\n\n```\nbackfire export my-folder -P my-project -K service-account.json --patterns '^logs\\/[^/]*F$' '^settings'\n```\n\nThe above command will only export documents from the `logs` collection with a\ndocument id that ends with \"F\", in addition to any documents and documents from\nsubcollections from within the `settings` collection.\n\n#### `--depth <number>`\n\nLimit the subcollection depth to import/export. A document in a root collection has a\ndepth of 0. Subcollections from a document in a root collection has a depth of 1, and\nso on. If not provided, all subcollections are imported/exported.\n\n```\nbackfire export my-folder -P my-project -K service-account.json --depth 1\n```\n\nThe above command will only export documents from any root collections and documents\nup to one subcollection deep.\n\n#### `--concurrency <number>`\n\nControl the number of sub processes that will be used to read/write data from\nFirestore. If not provided, the maximum concurrency of 10 will be used.\n\n```\nbackfire export my-folder -P my-project -K service-account.json --concurrency 4\n```\n\nThe above command will run the export task using 4 sub processes.\n\n#### `--json`\n\nThe `--json` option can be specified when importing/exporting from **local files**.\nThis option indicates to the program to read/parse data in JSON format rather than\ndefault `.snapshot` format. See [this section](#the-snapshot-data-format) for more\ninformation about the `.snpahsot` format.\n\n**Caveat**: Using the JSON format is provided for specific use cases where you want\nto import/export a relatively small amount of data (e.g. a few documents which define\nsome settings for your app) which you want to be easily read and edited by a human.\nIt's not recommended to use this format for exporting your entire database,\nespecially if there are a lot of documents. Reason: I haven't figured out a good way\nto parse JSON data from a stream, so right now it will just consume the entire file\nbefore it parses all of it, then imports the data to Firestore. This may be improved\nas a future enhancement once I figure out how solve this problem.\n\n#### `--gcs-project <project>`\n\nIf you are importing or exporting data to a Google Cloud Storage bucket, you must\nspecify the Google Cloud project the bucket belongs to.\n\n#### `--gcs-keyfile <path>`\n\nIf you are importing or exporting data to a Google Cloud Storage bucket, you must\nspecify a path to the service account credentials to use in order to read/write data\nfrom the bucket.\n\n### Configuration file\n\nInstead of providing options on the command line, they can also be provided through a\nconfiguration file. The configuration file can be any of the following JSON or YAML\nformats:\n\n- .backfirerc.json\n- .backfirerc.yaml\n- .backfirerc.js\n- backfire.config.js\n\nSample YAML config:\n\n```yaml\nproject: my-firebase-project\nkeyfile: ./service-account.json\nemulator: localhost:8080\ncollections:\n  - logs\n  - settings\npatterns:\n  - ^logs\\/[^/]*F$\n  - ^settings\ndepth: 100\nconcurrency: 10\njson: true\ngcsProject: my-gcp-project\ngcsKeyfile: ./service-account.json\n```\n\nSample JSON config:\n\n```json\n{\n  \"project\": \"my-firebase-project\",\n  \"keyfile\": \"./service-account.json\",\n  \"emulator\": \"localhost:8080\",\n  \"collections\": [\"logs\", \"settings\"],\n  \"patterns\": [\"^logs\\\\/[^/]*F$\", \"^settings\"],\n  \"depth\": 100,\n  \"concurrency\": 10,\n  \"json\": true,\n  \"verbose\": true,\n  \"gcsProject\": \"my-gcp-project\",\n  \"gcsKeyfile\": \"./service-account.json\"\n}\n```\n\n## The `.snapshot` data format\n\nThe `.snapshot` format used to save exported documents from Firestore was designed to\nsupport the following requirements:\n\n- It should be inspectable by a human (text rather than binary)\n- It should be relatively easy to parse and unparse (JSON was the obvious choice)\n- It should be able to be parsed while the data is being streamed in\n- It should be able to be streamed to the same file by multiple processes\n\nThe resulting format is a text file which contains a stringfied JSON object per line.\nThe JSON object follows this interface:\n\n```typescript\ninterface SerializedFirestoreDocument {\n  /**\n   * The full document path.\n   */\n  path: string;\n\n  /**\n   * The data in the document, converted to JSON.\n   */\n  data: any;\n\n  /**\n   * Paths to any Firestore Timestamp fields in `data`\n   * which need to be deserialized.\n   */\n  timestamps?: string[];\n\n  /**\n   * Paths to any Firestore GeoPoint fields in `data`\n   * which need to be deserialized.\n   */\n  geopoints?: string[];\n\n  /**\n   * Paths to any Firestore Document Reference fields\n   * in `data` which need to be deserialized.\n   */\n  references?: string[];\n}\n```\n\nWhen saving data in true JSON format (using the `--json` option), the data is written\nobject by object, then cleaned up at the end to ensure that the objects are a valid\nJSON array.\n\n## Road map\n\n- [x] Import/export data from local files\n- [x] Import/export data from local files as JSON\n- [x] Import/export data to Google Cloud Storage\n- [ ] Import/export data from AWS S3\n- [ ] Write tests... haha\n- [ ] Add documentation site (GitHub pages?)\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md)\n\n## License\n\nSee [LICENSE](LICENSE)\n","readmeFilename":"README.md","keywords":["firebase","firestore","import","export","backup","restore"]}