@cinder-studio/quick-firestore
TypeScript icon, indicating that this package has built-in type declarations

1.6.0 • Public • Published

QuickFirestore

This is a pre-protection release the documentation is not yet complete. If you would like to contribute please contact us on github.

Background

Google's firestore library is super slow at warming up fresh instances. Up to 5 seconds. As documented here: https://github.com/ryanhornberger/firebase-functions-cold-start-bug .

We needed to be faster. This library takes advantage of Google's Firestore Rest API and requires no additional warmup time.

Implementation

MIT Licensed, Typescript, Minimal Dependencies (Axios is the largest), Builds to es6, Jest for unit testing.

How to deploy a new version

Call one of the following - [major/minor/patch]

npm version patch npm version minor npm version major

Basic Usage

const QuickFs = new QuickFirestore({
    firestore: {
        projectName:'mockProjectYx',
        jwt: {
            clientEmail:'',
            privateKeyId:'',
            privateKey:'',
        }
    }
})

const result = await QuickFs.query(
    QuickQuery
    .collection('mockCollectionUwe')
    .select( 'email', 'name' )
    .limit(2)
    .prepare()
)

It is broken into 3 libraries of value:

QuickQuery

Build queries that can be communicated to the firebase REST api.

Documentation incomplete.

QuickFirestore

Communicate with Firestore over Rest API's with a little defensive protection.

Documentation incomplete.

FirestoreOverRest

Communicate with Firestore over Rest API's with no protection at all.

Documentation incomplete.

Dependents (1)

Package Sidebar

Install

npm i @cinder-studio/quick-firestore

Weekly Downloads

6

Version

1.6.0

License

MIT

Unpacked Size

80.6 kB

Total Files

31

Last publish

Collaborators

  • ryanhornberger
  • cinder-studio-a
  • kylecinder