{"id":20534303,"url":"https://github.com/invertase/tanstack-query-firebase","last_synced_at":"2025-05-15T20:03:02.027Z","repository":{"id":40576782,"uuid":"405121095","full_name":"invertase/tanstack-query-firebase","owner":"invertase","description":"TanStack Query hooks for managing asynchronous operations with Firebase.","archived":false,"fork":false,"pushed_at":"2025-05-13T11:20:12.000Z","size":1153,"stargazers_count":425,"open_issues_count":67,"forks_count":73,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-15T18:55:08.199Z","etag":null,"topics":["analytics","firebase","react","react-hooks","react-query","reactjs","tanstack-query"],"latest_commit_sha":null,"homepage":"https://invertase.docs.page/tanstack-query-firebase","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/invertase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-10T15:09:07.000Z","updated_at":"2025-05-12T14:17:23.000Z","dependencies_parsed_at":"2023-12-22T04:39:41.436Z","dependency_job_id":"9782c3b1-e8bb-4f50-ab61-e9ac87a2475f","html_url":"https://github.com/invertase/tanstack-query-firebase","commit_stats":{"total_commits":343,"total_committers":10,"mean_commits":34.3,"dds":0.5335276967930029,"last_synced_commit":"7b6f06ef59f05b3157e8312746163d3cfb36ecbb"},"previous_names":["invertase/tanstack-query-firebase","invertase/react-query-firebase"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertase%2Ftanstack-query-firebase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertase%2Ftanstack-query-firebase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertase%2Ftanstack-query-firebase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertase%2Ftanstack-query-firebase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/invertase","download_url":"https://codeload.github.com/invertase/tanstack-query-firebase/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414493,"owners_count":22067271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","firebase","react","react-hooks","react-query","reactjs","tanstack-query"],"created_at":"2024-11-16T00:26:09.564Z","updated_at":"2025-05-15T20:03:00.430Z","avatar_url":"https://github.com/invertase.png","language":"TypeScript","funding_links":[],"categories":["TanStack Libraries"],"sub_categories":["TanStack Query"],"readme":"\u003ch1 align=\"center\"\u003eTanStack Query Firebase\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cspan\u003eA set of \u003ca href=\"https://tanstack.com/query/latest\"\u003eTanStack Query\u003c/a\u003e hooks integrating with \u003ca href=\"https://firebase.google.com/\"\u003eFirebase\u003c/a\u003e.\u003c/span\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cspan\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e \u0026bull;\n  \u003ca href=\"https://invertase.docs.page/tanstack-query-firebase\"\u003e Documentation\u003c/a\u003e \u0026bull;\n  \u003ca href=\"/LICENSE.md\"\u003eLicense\u003c/a\u003e\u003c/span\u003e\n\u003c/p\u003e\n\u003cbr /\u003e\n\nTanStack Query Firebase provides a set of hooks for handling asynchronous tasks with Firebase in your applications.\n\n\u003e Looking for React Query Firebase? Check out the [old branch](https://github.com/invertase/tanstack-query-firebase/tree/react-query-firebase).\n\n## Why use this library?\n\nWhen managing Firebase’s asynchronous API calls within your application, state synchronization can become cumbersome in most applications. You will commonly find yourself handling loading states, error states, and data synchronization manually. \n\nThis library provides a hands-off approach to these problems, by leveraging the popular [TanStack Query](https://tanstack.com/query/latest) project. Out of the box, you get:\n\n- **Automatic Caching**: Avoid redundant Firebase calls with built-in caching.\n- **Out-of-the-box Synchronization**: TanStack Query keeps your UI in sync with the Firebase backend effortlessly.\n- **Background Updates**: Fetch and sync data seamlessly in the background without interrupting the user experience.\n- **Error Handling \u0026 Retries**: Get automatic retries on failed Firebase calls, with robust error handling baked in.\n- **Dev Tools for Debugging**: Leverage the React Query Devtools to gain insights into your data-fetching logic and Firebase interactions.\n\nBy combining Firebase with TanStack Query, you can make your app more resilient, performant, and scalable, all while writing less code.\n\n## Installation\n\nThis project expects you have `firebase` installed as a peer dependency. If you haven't done so already, install `firebase`:\n\n```bash\nnpm i --save firebase\n```\n\nNext, install specific packages for your framework of choice:\n\n### React\n\n```\nnpm i --save @tanstack/react-query @tanstack-query-firebase/react\n```\n\nSee the [Documentation](https://invertase.docs.page/tanstack-query-firebase/react) for more information on how to use the library.\n\n## Status\n\nThe status of the following Firebase services and frameworks are as follows:\n\n- ✅ Ready for use\n- 🟠 Work in progress\n- () Not yet started\n\n| Module         | React  | Vue   | Solid | Angular | Svelte |\n|----------------|:------:|:-----:|:-----:|:-------:|:------:|\n| analytics      |        |       |       |         |        |\n| app-check      |        |       |       |         |        |\n| auth           | 🟠     |       |       |         |        |\n| database       |        |       |       |         |        |\n| data-connect   | ✅     |       |       | ✅      |        |\n| firestore      | 🟠     |       |       |         |        |\n| firestore/lite |        |       |       |         |        |\n| functions      |        |       |       |         |        |\n| installations  |        |       |       |         |        |\n| messaging      |        |       |       |         |        |\n| performance    |        |       |       |         |        |\n| remote-config  |        |       |       |         |        |\n| vertexai       |        |       |       |         |        |\n\n## License\n\n- See [LICENSE](/LICENSE)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://invertase.io/?utm_source=readme\u0026utm_medium=footer\u0026utm_campaign=docs.page\"\u003e\n    \u003cimg width=\"75px\" src=\"https://static.invertase.io/assets/invertase/invertase-rounded-avatar.png\"\u003e\n  \u003c/a\u003e\n  \u003cp align=\"center\"\u003e\n    Built and maintained by \u003ca href=\"https://invertase.io/?utm_source=readme\u0026utm_medium=footer\u0026utm_campaign=docs.page\"\u003eInvertase\u003c/a\u003e.\n  \u003c/p\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finvertase%2Ftanstack-query-firebase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finvertase%2Ftanstack-query-firebase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finvertase%2Ftanstack-query-firebase/lists"}