You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(core): Adding global caches to survive/warn on HMR, cleanup, etc. (#2661)
* Adding global instance caches to the modules, so they don't freak out when HMR is enabled (#2655). This takes on `globalThis` as a needed polyfill for many environments.
* If injected settings for modules are changed after they are initialized you will receive a warning and the prior instance will be returned (ignoring the changes), this is especially important for HMR. If HMR is detected there will be an additional warning suggesting they do a full reload to see the changes.
* Added a polyfill table and notes about why we version like we do
* Adding more convoluted stuff to my sample app to flex AngularFire
* Internal cleanup on AngularFireAnalytics
* AngularFireAnalytics will now wait for UserTrackingService to detect the user before sending the screen_view event, if UserTrackingService has been provided
* Adding a warning if the Auth Emulator is detected in conjunction with AngularFirestore and AngularFireDatabase as they will invalidate the emulated auth token before the dynamic import of `firebase/auth` is completed (#2656)
* Warn if we absorbed an error keeping Firestore persistence from enabling
* Logging sign_up and login events in UserTrackingService
* Adding credential observer to AngularFireAuth
Copy file name to clipboardExpand all lines: README.md
+16
Original file line number
Diff line number
Diff line change
@@ -41,6 +41,10 @@ export class MyApp {
41
41
42
42
## Compatibility
43
43
44
+
### Angular and Firebase versions
45
+
46
+
AngularFire doesn't follow Angular's versioning as Firebase also has breaking changes throughout the year. Instead we try to maintain compatability with both Firebase and Angular majors for as long as possible, only breaking when we need to support a new major of one or the other. We've been forunate that the APIs we rely on have been fairly stable, but we understand this can lead to some confusion so we've created the following table for advice.
47
+
44
48
| Angular | Firebase | AngularFire |
45
49
| --------|----------|--------------|
46
50
| 11 | 7,8 |@next|
@@ -53,6 +57,18 @@ export class MyApp {
53
57
54
58
<sub>Version combinations not documented here __may__ work but are untested and you will see NPM peer warnings.</sub>
55
59
60
+
### Polyfills
61
+
62
+
Neither AngularFire or Firebase ship with polyfills & we tend to use modern ES features in our development. To have compatability across as wide-range of environments we suggest the following polyfills be added to your application:
63
+
64
+
| API | Environments | Suggested Polyfill | License |
| Various ES5+ features | IE 11<br>Safari < 10<br>Node < 6.5 |[`core-js/stable`](https://github.com/zloirock/core-js#readme)| MIT |
67
+
|`globalThis`|[most](https://caniuse.com/mdn-javascript_builtins_globalthis)|[`globalThis`](https://github.com/es-shims/globalThis#readme)| MIT |
0 commit comments