Health metrics for Firebase JavaScript SDKs

Binary size

How is binary size measured?

The measurement of binary size for the Firebase JavaScript SDK is based on the concept of a "bundle". A "bundle" is a group of functions that must be imported from different SDKs to achieve a certain user journey, such as:

  • Reading a Cloud Firestore document (Read data once), which requires:
    • initializeApp from the firebase SDK
    • getFirestore, doc, and getDoc from the firestore SDK
  • Uploading bytes to a Cloud Storage bucket (uploadBytes), which requires:
    • initializeApp from the firebase SDK
    • getStorage, ref, and uploadBytes from the storage SDK

For more details about how bundle sizes are measured, refer to the "size analysis" README.md in the Firebase JavaScript SDK GitHub repository.

To learn which functions are included in each "bundle", review the .json file for your library of interest in the bundle-definitions directory.

Measurements

To understand the size delta across versions, refer to the Firebase JavaScript release notes. You can also open a GitHub issue in the Firebase JavaScript SDK GitHub repository to ask for help or more information.

Size for legacy SDKs

Providing the binary size measurement for each version of the legacy Firebase JavaScript SDKs (v8 and earlier) is not supported.

Firebase encourages all users to start with or migrate to the modular API (v9 and later). For more details about how to migrate, refer to our modular upgrade guide.