Set `FirebaseError` name to be calling constructors name
We currently set the error name to be FirebaseError and make it readonly. This means that whenever subclasses of FirebaseError call super(), the name will be locked at FirebaseError. This results in those errors from subclasses looking like:
[StorageError [FirebaseError]: Firebase Storage: An unknown error occurred, please check the error payload for server response. (storage/unknown)] {
code: 'storage/unknown',
customData: { serverResponse: '' },
status_: 404,
_baseMessage: 'Firebase Storage: An unknown error occurred, please check the error payload for server response. (storage/unknown)'
}
Subclasses should provide their own name property, so we should instead set the error name to be the name of the calling constructor. So if we do throw new StorageError, name will be StorageError. This makes errors look like this instead:
[StorageError: Firebase Storage: An unknown error occurred, please check the error payload for server response. (storage/unknown)] {
code: 'storage/unknown',
customData: { serverResponse: '' },
status_: 404,
_baseMessage: 'Firebase Storage: An unknown error occurred, please check the error payload for server response. (storage/unknown)'
}
This change will apply to all SDKs that have subclasses of FirebaseError (VertexAI, Storage, Functions, Auth).
🦋 Changeset detected
Latest commit: ac0098011f7b3b1930835d70c2defac0fb5f305a
The changes in this PR will be included in the next version bump.
This PR includes changesets to release 29 packages
| Name | Type |
|---|---|
| @firebase/util | Patch |
| @firebase/analytics-compat | Patch |
| @firebase/analytics | Patch |
| @firebase/app-check-compat | Patch |
| @firebase/app-check | Patch |
| @firebase/app-compat | Patch |
| @firebase/app | Patch |
| @firebase/auth-compat | Patch |
| @firebase/auth | Patch |
| @firebase/component | Patch |
| @firebase/database-compat | Patch |
| @firebase/database-types | Patch |
| @firebase/database | Patch |
| firebase | Patch |
| @firebase/firestore-compat | Patch |
| @firebase/firestore | Patch |
| @firebase/functions-compat | Patch |
| @firebase/functions | Patch |
| @firebase/installations-compat | Patch |
| @firebase/installations | Patch |
| @firebase/messaging-compat | Patch |
| @firebase/messaging | Patch |
| @firebase/performance-compat | Patch |
| @firebase/performance | Patch |
| @firebase/remote-config-compat | Patch |
| @firebase/remote-config | Patch |
| @firebase/storage-compat | Patch |
| @firebase/storage | Patch |
| @firebase/vertexai | Patch |
Not sure what this means? Click here to learn what changesets are.
Click here if you're a maintainer who wants to add another changeset to this PR
Size Report 1
Affected Products
@firebase/appType Base (98bbf53) Merge (0621740) Diff browser 18.3 kB 18.4 kB +67 B (+0.4%) main 19.2 kB 19.3 kB +67 B (+0.3%) module 18.3 kB 18.4 kB +67 B (+0.4%) @firebase/data-connectType Base (98bbf53) Merge (0621740) Diff browser ? 19.8 kB ? (?) main ? 21.5 kB ? (?) module ? 19.8 kB ? (?) @firebase/messagingType Base (98bbf53) Merge (0621740) Diff browser 21.3 kB 21.3 kB -84 B (-0.4%) main 21.8 kB 21.7 kB -84 B (-0.4%) module 21.3 kB 21.3 kB -84 B (-0.4%) @firebase/messaging-swType Base (98bbf53) Merge (0621740) Diff main 24.2 kB 24.1 kB -59 B (-0.2%) module 23.6 kB 23.5 kB -59 B (-0.3%) @firebase/performanceType Base (98bbf53) Merge (0621740) Diff main 29.5 kB 29.5 kB +3 B (+0.0%) @firebase/utilType Base (98bbf53) Merge (0621740) Diff browser 23.4 kB 23.3 kB -22 B (-0.1%) main 29.2 kB 29.2 kB -22 B (-0.1%) module 23.4 kB 23.3 kB -22 B (-0.1%) bundle46 size changes
Type Base (98bbf53) Merge (0621740) Diff analytics (logEvent) 44.5 kB 44.6 kB +53 B (+0.1%) app-check (CustomProvider) 37.4 kB 37.5 kB +53 B (+0.1%) app-check (ReCaptchaEnterpriseProvider) 39.9 kB 40.0 kB +51 B (+0.1%) app-check (ReCaptchaV3Provider) 39.9 kB 39.9 kB +51 B (+0.1%) auth (Anonymous) 76.2 kB 76.2 kB +52 B (+0.1%) auth (EmailAndPassword) 84.5 kB 84.5 kB +52 B (+0.1%) auth (GoogleFBTwitterGitHubPopup) 103 kB 103 kB +53 B (+0.1%) auth (GooglePopup) 100 kB 100 kB +52 B (+0.1%) auth (GoogleRedirect) 100 kB 100 kB +52 B (+0.1%) auth (Phone) 86.9 kB 86.9 kB +52 B (+0.1%) database (Append to a list of data) 149 kB 149 kB +53 B (+0.0%) database (Filtering data) 148 kB 148 kB +53 B (+0.0%) database (Listen for child events) 164 kB 164 kB +53 B (+0.0%) database (Listen for value events + Detach listeners) 164 kB 164 kB +53 B (+0.0%) database (Listen for value events) 164 kB 164 kB +53 B (+0.0%) database (Read data once) 164 kB 164 kB +53 B (+0.0%) database (Save data as transactions) 166 kB 166 kB +53 B (+0.0%) database (Sort data) 150 kB 150 kB +53 B (+0.0%) database (Write data) 148 kB 148 kB +53 B (+0.0%) firestore (CSI Auto Indexing Disable and Delete) 272 kB 272 kB +53 B (+0.0%) firestore (CSI Auto Indexing Enable) 272 kB 272 kB +53 B (+0.0%) firestore (Persistence) 303 kB 303 kB +53 B (+0.0%) firestore (Query Cursors) 249 kB 249 kB +51 B (+0.0%) firestore (Query) 246 kB 246 kB +51 B (+0.0%) firestore (Read data once) 234 kB 234 kB +51 B (+0.0%) firestore (Read Write w Persistence) 328 kB 328 kB +51 B (+0.0%) firestore (Realtime updates) 236 kB 236 kB +51 B (+0.0%) firestore (Transaction) 214 kB 214 kB +51 B (+0.0%) firestore (Write data) 213 kB 213 kB +51 B (+0.0%) firestore-lite (Query Cursors) 91.4 kB 91.4 kB +53 B (+0.1%) firestore-lite (Query) 87.5 kB 87.5 kB +53 B (+0.1%) firestore-lite (Read data once) 63.0 kB 63.0 kB +53 B (+0.1%) firestore-lite (Transaction) 88.2 kB 88.3 kB +53 B (+0.1%) firestore-lite (Write data) 72.6 kB 72.6 kB +53 B (+0.1%) functions (call) 31.9 kB 32.0 kB +46 B (+0.1%) messaging (send + receive) 46.9 kB 46.9 kB -22 B (-0.0%) performance (trace) 51.7 kB 51.8 kB +51 B (+0.1%) remote-config (getAndFetch) 46.3 kB 46.3 kB +53 B (+0.1%) storage (getBytes) 42.1 kB 42.1 kB +53 B (+0.1%) storage (getDownloadURL) 44.1 kB 44.2 kB +53 B (+0.1%) storage (getMetadata) 43.6 kB 43.6 kB +53 B (+0.1%) storage (list + listAll) 43.0 kB 43.1 kB +53 B (+0.1%) storage (updateMetadata) 43.8 kB 43.9 kB +53 B (+0.1%) storage (uploadBytes) 48.7 kB 48.8 kB +53 B (+0.1%) storage (uploadBytesResumable) 58.7 kB 58.7 kB +53 B (+0.1%) storage (uploadString) 48.9 kB 49.0 kB +53 B (+0.1%) firebase30 size changes
Type Base (98bbf53) Merge (0621740) Diff firebase-analytics-compat.js 26.5 kB 26.5 kB +6 B (+0.0%) firebase-analytics.js 29.7 kB 29.8 kB +34 B (+0.1%) firebase-app-check-compat.js 23.4 kB 23.4 kB +6 B (+0.0%) firebase-app-check.js 25.0 kB 25.0 kB +6 B (+0.0%) firebase-app-compat.js 31.7 kB 31.8 kB +51 B (+0.2%) firebase-app.js 103 kB 103 kB +342 B (+0.3%) firebase-auth-compat.js 139 kB 139 kB +6 B (+0.0%) firebase-auth-cordova.js 134 kB 134 kB +6 B (+0.0%) firebase-auth-web-extension.js 117 kB 117 kB +6 B (+0.0%) firebase-auth.js 151 kB 151 kB +6 B (+0.0%) firebase-compat.js 791 kB 791 kB -92 B (-0.0%) firebase-data-connect.js ? 16.5 kB ? (?) firebase-firestore-compat.js 346 kB 346 kB +6 B (+0.0%) firebase-firestore-lite.js 119 kB 119 kB +6 B (+0.0%) firebase-firestore.js 440 kB 440 kB +6 B (+0.0%) firebase-functions-compat.js 8.17 kB 8.18 kB +6 B (+0.1%) firebase-functions.js 11.9 kB 11.9 kB +6 B (+0.1%) firebase-installations-compat.js 13.3 kB 13.3 kB +6 B (+0.0%) firebase-installations.js 15.1 kB 15.2 kB +34 B (+0.2%) firebase-messaging-compat.js 38.4 kB 38.3 kB -137 B (-0.4%) firebase-messaging-sw.js 30.2 kB 30.1 kB -37 B (-0.1%) firebase-messaging.js 28.7 kB 28.7 kB -62 B (-0.2%) firebase-performance-compat.js 30.8 kB 30.8 kB +6 B (+0.0%) firebase-performance-standalone-compat.js 93.6 kB 94.3 kB +717 B (+0.8%) firebase-performance.js 35.0 kB 35.1 kB +34 B (+0.1%) firebase-remote-config-compat.js 27.3 kB 27.3 kB +6 B (+0.0%) firebase-remote-config.js 29.6 kB 29.6 kB +34 B (+0.1%) firebase-storage-compat.js 40.3 kB 40.3 kB +6 B (+0.0%) firebase-storage.js 46.2 kB 46.2 kB +6 B (+0.0%) firebase-vertexai.js 22.0 kB 22.0 kB +6 B (+0.0%)
Test Logs