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
* Updating peer dependencies
* `ng add @angular/fire` now will overwrite firebase config, if present
* `ng add @angular/fire` now adds `@firebase/firestore` to the server schematic `externalDependencies` if present
* `ng deploy --preview` is now interactive and functions on non-SSR
* `ng deploy` will respect the `bundleDependencies` and `externalDependencies` server schematic options
* `ng deploy` now defaults to 1GB of ram on Cloud Functions
* Fixed various issues with functions deploy
* Simplified `AngularPerformanceMonitoring`
Copy file name to clipboardExpand all lines: README.md
+1-7
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,9 @@
2
2
The official [Angular](https://angular.io/) library for [Firebase](https://firebase.google.com/).
3
3
4
4
```bash
5
-
ng add @angular/fire@next
5
+
ng add @angular/fire
6
6
```
7
7
8
-
---
9
-
10
-
> **WARNING**: Master branch is the work in progress for version 6 of AngularFire. [You can find version 5 here](https://github.com/angular/angularfire/tree/v5), if you're looking for documentation or to contribute to stable. [Learn more about the road toward version 6 here](https://github.com/angular/angularfire/issues/2267).
11
-
12
-
---
13
-
14
8
## What is AngularFire?
15
9
16
10
-**Observable based** - Use the power of RxJS, Angular, and Firebase.
@@ -16,6 +16,9 @@ import { environment } from '../environments/environment';
16
16
AngularFirePerformanceModule,
17
17
...
18
18
],
19
+
providers: [
20
+
PerformanceMonitoringService
21
+
],
19
22
declarations: [ AppComponent ],
20
23
bootstrap: [ AppComponent ]
21
24
})
@@ -30,7 +33,7 @@ The page load trace breaks down into the following default metrics:
30
33
*[domContentLoadedEventEnd traces](https://firebase.google.com/docs/perf-mon/automatic-web#domContentLoaded) — measure the time between when the user navigates to a page and when the initial HTML document is completely loaded and parsed
31
34
*[loadEventEnd traces](https://firebase.google.com/docs/perf-mon/automatic-web#loadEventEnd) — measure the time between when the user navigates to the page and when the current document's load event completes
32
35
*[first input delay traces](https://firebase.google.com/docs/perf-mon/automatic-web#input-delay) — measure the time between when the user interacts with a page and when the browser is able to respond to that input
33
-
***Angular specific traces** - measure the time needed for `ApplicationRef.isStable` to be true, an important metric to track if you're concerned about solving Zone.js issues for proper functionality of NGSW and Server Side Rendering
36
+
***Angular specific traces** - `PerformanceMonitoringService` will measure the time needed for `ApplicationRef.isStable` to be true, an important metric to track if you're concerned about solving Zone.js issues for proper functionality of NGSW and Server Side Rendering
34
37
35
38
### Measuring First Input Delay
36
39
@@ -44,24 +47,43 @@ Then add `import 'first-input-delay';` to your `src/polyfills.ts`.
44
47
45
48
## Manual traces
46
49
47
-
You can inject `AngularFirePerformance` to perform manual traces on Observables.
50
+
You can inject `AngularFirePerformance` to perform manual traces.
AngularFire provides a number of RXJS operaters which wrap the User Timing API. These are picked up by performance monitoring tools such as Chrome Inspector and Firebase Performance Monitoring.
// measure the amount of time between the Observable being subscribed to and first emission (or completion)
58
-
this.afp.trace('getArticles'),
80
+
trace('getArticles'),
59
81
map(articles=>...)
60
82
);
61
83
}
62
84
```
63
85
64
-
### `trace(name: string, options?: TraceOptions)`
86
+
### `trace(name: string)`
65
87
66
88
The most basic operator, `trace` will measure the amount of time it takes for your observable to either complete or emit its first value. Beyond the basic trace there are several other operators:
67
89
@@ -70,7 +92,7 @@ The most basic operator, `trace` will measure the amount of time it takes for yo
70
92
traceUntil(
71
93
name: string,
72
94
test: (T) => Boolean,
73
-
options?: TraceOptions & { orComplete?: true }
95
+
options?: { orComplete?: true }
74
96
)
75
97
</pre>
76
98
</h3>
@@ -84,7 +106,7 @@ If the `orComplete` option is passed it will complete the trace when the observa
84
106
traceWhile(
85
107
name: string,
86
108
test: (T) => Boolean,
87
-
options?: TraceOptions & { orComplete?: true }
109
+
options?: { orComplete?: true }
88
110
)
89
111
</pre>
90
112
</h3>
@@ -93,83 +115,16 @@ Starting with an emission that passes the provided test, trace until an emission
93
115
94
116
If the `orComplete` option is passed it will complete any existing trace when the observable completes.
By default, `AngularFirePerformanceModule` traces your Angular application's time to `ApplicationRef.isStable`. `isStable` is an important metric to track if you're concerned about proper functionality of NGSW and Server Side Rendering. If you want to opt-out of the tracing of this metric use the `AUTOMATICALLY_TRACE_CORE_NG_METRICS` injection token:
Copy file name to clipboardExpand all lines: docs/version-6-upgrade.md
+3-6
Original file line number
Diff line number
Diff line change
@@ -2,18 +2,15 @@
2
2
3
3
Intended to be run with Angular 9; version 6 of AngularFire drops support for Angular version 8 and below, older versions of typescript, Firebase, drops `firebase-node`, `database-deprecated`, and more.
4
4
5
-
> **WARNING**: Version 6 is still a Release Candidate and subject to change, [please monitor the changelog for up-to-date information on what we've been up to](../CHANGELOG.md).
6
-
7
-
We're aiming to release 6.0 with an upgrade schematic to automate most of the required changes, however as of RC.1 that script is not yet available.
8
-
9
5
## Breaking changes:
10
6
11
7
* Support for Angular versions less than 9 has been dropped
12
-
* Support for Firebase JS SDK versions less than 7.8 has been dropped
13
-
* Support for `firebase-tools` less than 7.12 has been dropped
8
+
* Support for Firebase JS SDK versions less than 7.13.1 has been dropped
9
+
* Support for `firebase-tools` less than 8.0 has been dropped
14
10
* The `angularfire2` NPM library will no longer be updated
15
11
* Dropped `@angular/fire/firebase-node` and `@angular/fire/database-depreciated`
16
12
* We make use of Proxy in more modules, you'll need to polyfill if you want to support IE 11
17
13
* We've standardized our DI Token naming conventions across all modules
18
14
*`AngularFireAuth` has dropped the `auth` property and instead Promise Proxies the underlying Firebase `auth.Auth` instance; allowing your development experience to more closely mirror the JS SDK. Similar changes have been made to `AngularFireFunctions`, `AngularFireMessaging`, and `AngularFirePerformance`.
19
15
*`AngularFireAuthGuard` and `canActivate` have dropped support for raw pipes, this was never working correctly in AOT
16
+
*`AngularFirePerformance` has been simplified, the RXJS pipes are now exported as pure-functions outside the class. Automatic tracking of `isStable` timing has now been moved into `PerformanceMonitoringService` and we've dropped the `AUTOMATICALLY_TRACE_CORE_NG_METRICS` DI token.
0 commit comments