{"id":16058017,"url":"https://github.com/tylim88/firelord","last_synced_at":"2025-07-19T11:34:01.265Z","repository":{"id":45555866,"uuid":"417300445","full_name":"tylim88/Firelord","owner":"tylim88","description":"🔥 Write V9 like Firestore Admin code with extreme type safety.","archived":false,"fork":false,"pushed_at":"2024-11-15T02:48:56.000Z","size":3122,"stargazers_count":39,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-19T18:11:31.633Z","etag":null,"topics":["firebase","firestore","scalable","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tylim88.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},"funding":{"github":["tylim88"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2021-10-14T22:32:44.000Z","updated_at":"2025-02-22T15:05:44.000Z","dependencies_parsed_at":"2023-10-14T15:21:40.028Z","dependency_job_id":"2f7ab393-379d-4e40-8f5f-f1da8c40f50f","html_url":"https://github.com/tylim88/Firelord","commit_stats":{"total_commits":353,"total_committers":4,"mean_commits":88.25,"dds":"0.028328611898016942","last_synced_commit":"26d47ac036e2f1c72eb4b330be9bb59d55a70bbc"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/tylim88/Firelord","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylim88%2FFirelord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylim88%2FFirelord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylim88%2FFirelord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylim88%2FFirelord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tylim88","download_url":"https://codeload.github.com/tylim88/Firelord/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylim88%2FFirelord/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265926963,"owners_count":23850886,"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":["firebase","firestore","scalable","typescript"],"created_at":"2024-10-09T03:05:55.672Z","updated_at":"2025-07-19T11:34:01.243Z","avatar_url":"https://github.com/tylim88.png","language":"TypeScript","funding_links":["https://github.com/sponsors/tylim88"],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable MD010 --\u003e\n\u003c!-- markdownlint-disable MD033 --\u003e\n\u003c!-- markdownlint-disable MD041 --\u003e\n\n\u003cdiv align=\"center\"\u003e\n\t\t\u003cimg src=\"https://raw.githubusercontent.com/tylim88/Firelord/main/img/ozai.png\" width=\"200px\"/\u003e\n\t\t\u003ch1\u003eFirelord 烈火君\u003c/h1\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\t\t\u003ca href=\"https://www.npmjs.com/package/firelord\" target=\"_blank\"\u003e\n\t\t\t\t\u003cimg\n\t\t\t\t\tsrc=\"https://img.shields.io/npm/v/firelord\"\n\t\t\t\t\talt=\"Created by tylim88\"\n\t\t\t\t/\u003e\n\t\t\t\u003c/a\u003e\n\t\t\t\u0026nbsp;\n\t\t\t\u003ca\n\t\t\t\thref=\"https://github.com/tylim88/firelord/blob/main/LICENSE\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\u003e\n\t\t\t\t\u003cimg\n\t\t\t\t\tsrc=\"https://img.shields.io/github/license/tylim88/firelord\"\n\t\t\t\t\talt=\"License\"\n\t\t\t\t/\u003e\n\t\t\t\u003c/a\u003e\n\t\t\t\u0026nbsp;\n\t\t\t\u003ca href=\"https://firelordjs.com/minified_size\" target=\"_blank\"\u003e\n\t\t\t\t\u003cimg\n\t\t\t\t\tsrc=\"https://img.shields.io/badge/gzipped-2.5KB-brightgreen\"\n\t\t\t\t\talt=\"package size\"\n\t\t\t\t/\u003e\n\t\t\t\u003c/a\u003e\n\t\t\t\u0026nbsp;\n\t\t\t\u003ca href=\"https://github.com/tylim88/Firelord/actions\" target=\"_blank\"\u003e\n\t\t\t\t\u003cimg\n\t\t\t\t\tsrc=\"https://github.com/tylim88/Firelord/workflows/Main/badge.svg\"\n\t\t\t\t\talt=\"github action\"\n\t\t\t\t/\u003e\n\t\t\t\u003c/a\u003e\n\t\t\t\u0026nbsp;\n\t\t\t\u003ca href=\"https://codecov.io/gh/tylim88/Firelord\" target=\"_blank\"\u003e\n\t\t\t\t\u003cimg\n\t\t\t\t\tsrc=\"https://codecov.io/gh/tylim88/Firelord/branch/main/graph/badge.svg\"\n\t\t\t\t\talt=\"code coverage\"\n\t\t\t\t/\u003e\n\t\t\t\u003c/a\u003e\n\t\t\t\u0026nbsp;\n\t\t\t\u003ca href=\"https://github.com/tylim88/Firelord/issues\" target=\"_blank\"\u003e\n\t\t\t\t\u003cimg\n\t\t\t\t\talt=\"GitHub issues\"\n\t\t\t\t\tsrc=\"https://img.shields.io/github/issues-raw/tylim88/firelord\"\n\t\t\t\t\u003e\u003c/img\u003e\n\t\t\t\u003c/a\u003e\n\t\t\t\u0026nbsp;\n\t\t\t\u003ca href=\"https://snyk.io/test/github/tylim88/FirelordJS\" target=\"_blank\"\u003e\n\t\t\t\t\u003cimg\n\t\t\t\t\tsrc=\"https://snyk.io/test/github/tylim88/FirelordJS/badge.svg\"\n\t\t\t\t\talt=\"vulnerabilities\"\n\t\t\t\t/\u003e\n\t\t\t\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n\t\t\u003ci\u003eHigh Precision Firestore Admin Typescript Wrapper, Providing Unparalleled Type Safety and Dev Experience\u003c/i\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n\t\t\u003ci\u003eModular, Minuscule, Intuitive, Unopinionated, Craftsmanship, Ultimate, Peaceful, Deep\u003c/i\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n\t\u003ci\u003eOf The VFQAT \u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;||\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; By The VFQAT \u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;|| \u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; For The VFQAT\u003c/i\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n\t\u003ci\u003eBe The Master Of Your Fire, Be Firelord\u003c/i\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n\t\u003ci\u003eBeyond Typing\u003c/i\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://firelordjs.com\" target=\"_blank\" style=\"color:blue\"\u003e\u003cstrong\u003eDoc\u003c/strong\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\nSupport [emulator](https://firelordjs.com/firelord/tests)\n\n# Notice\n\nBecause the official admin SDK is lagging behind the official web SDK, Which mean `or()` and `and()` clause are not available for admin. (update: they are available now, will add them in the future)\n\n## Why Do You Need This? What Problems Firelord Solves?\n\nRead here at [FirelordJS](https://github.com/tylim88/FirelordJS#readme).\n\n## About\n\nThis wrapper wrap around admin Firestore V8 interface(There is no official V9 admin version) and turn it into type safe V9 interface.\n\nThe API is basically same as the web version, both web and admin version basically sharing the same documentation.\n\nIt does not become modular like the web version, but this is ok because we don't care about package size in back end.\n\nThe ultimate goal is to unify the knowledge of back end and front end, so we don't need to learn both V9 and V8 and most importantly: absolute type safe.\n\nDue to a lot of small differences, it is unrealistic to squeeze both platforms under the same library unless we give up some functionalities.\n\n## What is next?\n\nAdd support for Firestore function triggers.  \n\n## Have Questions?\n\n[Just Ask](https://github.com/tylim88/FirelordJS/discussions)\n\nNote: FirelordJS and Firelord share the same discussion space.\n\n[release note](https://github.com/tylim88/Firelord/releases)\n\n## Contributing\n\nRead [here](https://firelordjs.com/miscellaneous/contributing)\n\n## Related Projects\n\n1. [FirelordJS](https://github.com/tylim88/FirelordJS) - Typescript wrapper for Firestore Web\n2. [FireSword](https://github.com/tylim88/firesword) - Filter Firestore and RTDB Unknown Keys.\n3. [FireCall](https://github.com/tylim88/FireCall) - Helper Function to write easier and safer Firebase onCall function.\n4. [FireSageJS](https://github.com/tylim88/FireSageJS) - Typescript wrapper for Realtime Database\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftylim88%2Ffirelord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftylim88%2Ffirelord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftylim88%2Ffirelord/lists"}