Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 6b1b0ca

Browse files
Drop isSupported injection, bump rxfire (#3588)
* Bump rxfire dep * Drop isSupported inject in favor of PLATFORM_ID test * Analytics is technically isPlatformBrowser rather than !isPlatformServer, prolly no diff
1 parent e18d8da commit 6b1b0ca

22 files changed

+59
-186
lines changed

‎package-lock.json‎

Lines changed: 6 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
"jsonc-parser": "^3.0.0",
6666
"open": "^7.0.3 || ^8.0.0",
6767
"ora": "^5.3.0",
68-
"rxfire": "^6.0.5",
68+
"rxfire": "^6.1.0",
6969
"rxjs": "~7.8.0",
7070
"semver": "^7.1.3",
7171
"triple-beam": "^1.3.0",

‎src/analytics/analytics.module.ts‎

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
1+
import { isPlatformBrowser } from '@angular/common';
12
import {
2-
APP_INITIALIZER,
33
EnvironmentProviders,
44
InjectionToken,
55
Injector,
66
NgModule,
77
NgZone,
88
Optional,
9+
PLATFORM_ID,
910
makeEnvironmentProviders,
1011
} from '@angular/core';
1112
import { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';
1213
import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
1314
import { Analytics as FirebaseAnalytics } from 'firebase/analytics';
1415
import { registerVersion } from 'firebase/app';
1516
import { ANALYTICS_PROVIDER_NAME, Analytics, AnalyticsInstances } from './analytics';
16-
import { isAnalyticsSupportedFactory } from './is-analytics-supported-factory';
1717
import { ScreenTrackingService } from './screen-tracking.service';
1818
import { UserTrackingService } from './user-tracking.service';
1919

2020
export const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken<Analytics[]>('angularfire2.analytics-instances');
2121

22-
export function defaultAnalyticsInstanceFactory(provided: FirebaseAnalytics[]|undefined, defaultApp: FirebaseApp) {
23-
if (!isAnalyticsSupportedFactory.sync()) { return null; }
22+
export function defaultAnalyticsInstanceFactory(provided: FirebaseAnalytics[]|undefined, defaultApp: FirebaseApp,platformId: object) {
23+
if (!isPlatformBrowser(platformId)) { return null; }
2424
const defaultAnalytics = ɵgetDefaultInstanceOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME, provided, defaultApp);
2525
return defaultAnalytics && new Analytics(defaultAnalytics);
2626
}
2727

2828
export function analyticsInstanceFactory(fn: (injector: Injector) => FirebaseAnalytics) {
29-
return (zone: NgZone, injector: Injector) => {
30-
if (!isAnalyticsSupportedFactory.sync()) { return null; }
29+
return (zone: NgZone, injector: Injector,platformId: object) => {
30+
if (!isPlatformBrowser(platformId)) { return null; }
3131
const analytics = zone.runOutsideAngular(() => fn(injector));
3232
return new Analytics(analytics);
3333
};
@@ -46,18 +46,14 @@ const DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {
4646
deps: [
4747
[new Optional(), PROVIDED_ANALYTICS_INSTANCES ],
4848
FirebaseApp,
49+
PLATFORM_ID,
4950
]
5051
};
5152

5253
@NgModule({
5354
providers: [
5455
DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
55-
ANALYTICS_INSTANCES_PROVIDER,
56-
{
57-
provide: APP_INITIALIZER,
58-
useValue: isAnalyticsSupportedFactory.async,
59-
multi: true,
60-
}
56+
ANALYTICS_INSTANCES_PROVIDER
6157
]
6258
})
6359
export class AnalyticsModule {
@@ -75,18 +71,14 @@ export function provideAnalytics(fn: (injector: Injector) => FirebaseAnalytics,
7571
return makeEnvironmentProviders([
7672
DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
7773
ANALYTICS_INSTANCES_PROVIDER,
78-
{
79-
provide: APP_INITIALIZER,
80-
useValue: isAnalyticsSupportedFactory.async,
81-
multi: true,
82-
},
8374
{
8475
provide: PROVIDED_ANALYTICS_INSTANCES,
8576
useFactory: analyticsInstanceFactory(fn),
8677
multi: true,
8778
deps: [
8879
NgZone,
8980
Injector,
81+
PLATFORM_ID,
9082
ɵAngularFireSchedulers,
9183
FirebaseApps,
9284
...deps,

‎src/analytics/analytics.spec.ts‎

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { TestBed } from '@angular/core/testing';
2-
import { Analytics, getAnalytics, isSupported,provideAnalytics } from '@angular/fire/analytics';
2+
import { Analytics, getAnalytics, provideAnalytics } from '@angular/fire/analytics';
33
import { FirebaseApp, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
44
import { COMMON_CONFIG_TOO } from '../test-config';
55
import { rando } from '../utils';
@@ -10,14 +10,6 @@ describe('Analytics', () => {
1010
let providedAnalytics: Analytics;
1111
let appName: string;
1212

13-
beforeAll(done => {
14-
// The APP_INITIALIZER that is making isSupported() sync for DI may not
15-
// be done evaulating by the time we inject from the TestBed. We can
16-
// ensure correct behavior by waiting for the (global) isSuppported() promise
17-
// to resolve.
18-
isSupported().then(() => done());
19-
});
20-
2113
describe('single injection', () => {
2214

2315
beforeEach(() => {

‎src/analytics/firebase.ts‎

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/analytics/is-analytics-supported-factory.ts‎

Lines changed: 0 additions & 19 deletions
This file was deleted.

‎src/analytics/overrides.ts‎

Lines changed: 0 additions & 4 deletions
This file was deleted.

‎src/auth/auth.spec.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ describe('Auth', () => {
1919
provideFirebaseApp(() => initializeApp(COMMON_CONFIG, appName)),
2020
provideAuth(() => {
2121
providedAuth = getAuth(getApp(appName));
22-
connectAuthEmulator(providedAuth, `http://localhost:${authEmulatorPort}`);
22+
connectAuthEmulator(providedAuth, `http://localhost:${authEmulatorPort}`,{disableWarnings: true});
2323
return providedAuth;
2424
}),
2525
],

‎src/compat/analytics/user-tracking.service.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { isPlatformServer } from '@angular/common';
1+
import { isPlatformBrowser } from '@angular/common';
22
import { Inject, Injectable, NgZone, OnDestroy, PLATFORM_ID } from '@angular/core';
33
import { VERSION } from '@angular/fire';
44
import { AngularFireAuth } from '@angular/fire/compat/auth';
@@ -21,7 +21,7 @@ export class UserTrackingService implements OnDestroy {
2121
zone: NgZone,
2222
) {
2323
firebase.registerVersion('angularfire', VERSION.full, 'compat-user-tracking');
24-
if (!isPlatformServer(platformId)) {
24+
if (isPlatformBrowser(platformId)) {
2525
let resolveInitialized;
2626
this.initialized = zone.runOutsideAngular(() => new Promise(resolve => resolveInitialized = resolve));
2727
this.disposables = [

‎src/messaging/firebase.ts‎

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /