Awesome
<!-- markdownlint-disable MD010 --> <!-- markdownlint-disable MD033 --> <!-- markdownlint-disable MD041 --> <div align="center"> <img src="https://raw.githubusercontent.com/tylim88/Firelord/main/img/ozai.png" width="200px"/> <h1>Firelord 烈火君</h1> </div> <div align="center"> <a href="https://www.npmjs.com/package/firelord" target="_blank"> <img src="https://img.shields.io/npm/v/firelord" alt="Created by tylim88" /> </a> <a href="https://github.com/tylim88/firelord/blob/main/LICENSE" target="_blank" > <img src="https://img.shields.io/github/license/tylim88/firelord" alt="License" /> </a> <a href="https://firelordjs.com/minified_size" target="_blank"> <img src="https://img.shields.io/badge/gzipped-2.5KB-brightgreen" alt="package size" /> </a> <a href="https://github.com/tylim88/Firelord/actions" target="_blank"> <img src="https://github.com/tylim88/Firelord/workflows/Main/badge.svg" alt="github action" /> </a> <a href="https://codecov.io/gh/tylim88/Firelord" target="_blank"> <img src="https://codecov.io/gh/tylim88/Firelord/branch/main/graph/badge.svg" alt="code coverage" /> </a> <a href="https://github.com/tylim88/Firelord/issues" target="_blank"> <img alt="GitHub issues" src="https://img.shields.io/github/issues-raw/tylim88/firelord" ></img> </a> <a href="https://snyk.io/test/github/tylim88/FirelordJS" target="_blank"> <img src="https://snyk.io/test/github/tylim88/FirelordJS/badge.svg" alt="vulnerabilities" /> </a> </div> <br/> <div align="center"> <i>High Precision Firestore Admin Typescript Wrapper, Providing Unparalleled Type Safety and Dev Experience</i> </div> <br/> <div align="center"> <i>Modular, Minuscule, Intuitive, Unopinionated, Craftsmanship, Ultimate, Peaceful, Deep</i> </div> <br/> <div align="center"> <i>Of The VFQAT      ||      By The VFQAT      ||       For The VFQAT</i> </div> <br /> <div align="center"> <i>Be The Master Of Your Fire, Be Firelord</i> </div> <br> <div align="center"> <i>Beyond Typing</i> </div> <br> <div align="center"> <a href="https://firelordjs.com" target="_blank" style="color:blue"><strong>Doc</strong></a> </div> <br/>Support emulator
Notice
Because 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)
Why Do You Need This? What Problems Firelord Solves?
Read here at FirelordJS.
About
This wrapper wrap around admin Firestore V8 interface(There is no official V9 admin version) and turn it into type safe V9 interface.
The API is basically same as the web version, both web and admin version basically sharing the same documentation.
It does not become modular like the web version, but this is ok because we don't care about package size in back end.
The 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.
Due to a lot of small differences, it is unrealistic to squeeze both platforms under the same library unless we give up some functionalities.
What is next?
Add support for Firestore function triggers.
Have Questions?
Note: FirelordJS and Firelord share the same discussion space.
Contributing
Read here
Related Projects
- FirelordJS - Typescript wrapper for Firestore Web
- FireSword - Filter Firestore and RTDB Unknown Keys.
- FireCall - Helper Function to write easier and safer Firebase onCall function.
- FireSageJS - Typescript wrapper for Realtime Database