Skip to content

Commit eed5802

Browse files
committed
chore(): lean only on firebase types and compatibility with 5.0.4
1 parent a42a84f commit eed5802

20 files changed

+420
-449
lines changed

docs/auth/getting-started.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ the Firebase docs for more information on what methods are available.](https://f
1111
```ts
1212
import { Component } from '@angular/core';
1313
import { AngularFireAuth } from 'angularfire2/auth';
14-
import { auth } from 'firebase/app';
14+
import { auth } from 'firebase';
1515

1616
@Component({
1717
selector: 'app-root',

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
"@angular/core": "^6.0.0",
3535
"@angular/platform-browser": "^6.0.0",
3636
"@angular/platform-browser-dynamic": "^6.0.0",
37-
"firebase": "^5.0.3",
3837
"bufferutil": "^3.0.3",
38+
"firebase": "^5.0.3",
3939
"rxjs": "^6.0.0",
4040
"utf-8-validate": "^4.0.0",
4141
"ws": "^3.3.2",

src/auth/auth.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { User } from 'firebase/app';
1+
import { User } from 'firebase';
22
import { ReflectiveInjector, Provider } from '@angular/core';
33
import { Observable, Subject } from 'rxjs'
44
import { TestBed, inject } from '@angular/core/testing';

src/auth/auth.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Observable, of, from } from 'rxjs';
33
import { switchMap } from 'rxjs/operators';
44
import { FirebaseAppConfig, FirebaseOptions } from 'angularfire2';
55

6-
import { User, auth } from 'firebase/app';
6+
import { User, auth } from 'firebase';
77

88
import { FirebaseAuth, FirebaseOptionsToken, FirebaseNameOrConfigToken, _firebaseAppFactory, FirebaseZoneScheduler } from 'angularfire2';
99

src/core/angularfire2.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { FirebaseApp, AngularFireModule } from 'angularfire2';
55
import { Subscription } from 'rxjs';
66
import { COMMON_CONFIG } from './test-config';
77
import { BrowserModule } from '@angular/platform-browser';
8-
import { database } from 'firebase/app';
8+
import { database } from 'firebase';
99

1010
describe('angularfire', () => {
1111
let subscription:Subscription;

src/core/firebase.app.module.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { InjectionToken, NgZone, NgModule, Optional } from '@angular/core';
2-
import { app, auth, apps, database, firestore, functions, initializeApp, messaging, storage } from 'firebase/app';
2+
import { app, auth, database, firestore, functions, messaging, storage } from 'firebase';
3+
import * as firebase from 'firebase/app';
34

45
// Public types don't expose FirebaseOptions or FirebaseAppConfig
56
export type FirebaseOptions = {[key:string]: any};
@@ -34,9 +35,9 @@ export function _firebaseAppFactory(options: FirebaseOptions, nameOrConfig?: str
3435
const name = typeof nameOrConfig === 'string' && nameOrConfig || '[DEFAULT]';
3536
const config = typeof nameOrConfig === 'object' && nameOrConfig || {};
3637
config.name = config.name || name;
37-
const existingApp = apps.filter(app => app && app.name === config.name)[0];
38+
const existingApp = firebase.apps.filter(app => app && app.name === config.name)[0];
3839
// We support FirebaseConfig, initializeApp's public type only accepts string; need to cast as any
39-
return (existingApp || (initializeApp as any)(options, config)) as FirebaseApp;
40+
return (existingApp || firebase.initializeApp(options, <any>config)) as FirebaseApp;
4041
}
4142

4243
const FirebaseAppProvider = {

src/database-deprecated/firebase_list_factory.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ function firebaseListObservable(ref: Reference | DatabaseQuery, {preserveSnapsho
127127
snap.forEach((child: any) => {
128128
lastLoadedKey = child.key;
129129
});
130-
if (array.find((child: any) => toKey(child) === lastLoadedKey)) {
130+
if ((<any>array).find((child: any) => toKey(child) === lastLoadedKey)) {
131131
hasLoaded = true;
132132
obs.next(array);
133133
}
@@ -177,7 +177,7 @@ function firebaseListObservable(ref: Reference | DatabaseQuery, {preserveSnapsho
177177
// The Firebase SDK requires the reference, event name, and callback to
178178
// properly unsubscribe, otherwise it can affect other subscriptions.
179179
handles.forEach(item => {
180-
ref.off(item.event, item.handle);
180+
ref.off(item.event as any, item.handle);
181181
});
182182
};
183183

src/database-deprecated/firebase_object_observable.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Observable, Operator, Subscriber, Subscription } from 'rxjs';
22
import { Reference } from './interfaces';
3-
import { database } from 'firebase/app';
3+
import { database } from 'firebase';
44

55
export class FirebaseObjectObservable<T> extends Observable<T> {
66
constructor(subscribe?: <R>(subscriber: Subscriber<R>) => Subscription | Function | void, public $ref?:Reference) {

src/database-deprecated/interfaces.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Observable } from 'rxjs';
2-
import { database } from 'firebase/app';
2+
import { database } from 'firebase';
33

44
export type Reference = database.Reference;
55
export type DataSnapshot = database.DataSnapshot;

src/database/interfaces.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Observable } from 'rxjs';
2-
import { database } from 'firebase/app';
2+
import { database } from 'firebase';
33

44
export type FirebaseOperation = string | database.Reference | database.DataSnapshot;
55

src/database/list/changes.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Reference } from 'firebase/database-types';
1+
import { database } from 'firebase';
22
import { FirebaseApp, AngularFireModule } from 'angularfire2';
33
import { AngularFireDatabase, AngularFireDatabaseModule, listChanges } from 'angularfire2/database';
44
import { TestBed, inject } from '@angular/core/testing';
@@ -12,7 +12,7 @@ const FIREBASE_APP_NAME = rando();
1212
describe('listChanges', () => {
1313
let app: FirebaseApp;
1414
let db: AngularFireDatabase;
15-
let ref: (path: string) => Reference;
15+
let ref: (path: string) => database.Reference;
1616
let batch = {};
1717
const items = [{ name: 'zero' }, { name: 'one' }, { name: 'two' }].map((item, i) => ( { key: i.toString(), ...item } ));
1818
Object.keys(items).forEach(function (key, i) {

src/database/list/remove.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { DatabaseReference, DataSnapshot, FirebaseOperation, DatabaseSnapshot } from '../interfaces';
22
import { checkOperationCases } from '../utils';
3-
import { createDataOperationMethod } from './data-operation';
4-
import { database } from 'firebase/app';
3+
import { database } from 'firebase';
54

65
// TODO(davideast): Find out why TS thinks this returns firebase.Primise
76
// instead of Promise.

src/database/list/snapshot-changes.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Reference } from 'firebase/database-types';
1+
import { database } from 'firebase';
22
import { FirebaseApp, AngularFireModule } from 'angularfire2';
33
import { AngularFireDatabase, AngularFireDatabaseModule, snapshotChanges, ChildEvent } from 'angularfire2/database';
44
import { TestBed, inject } from '@angular/core/testing';
@@ -13,7 +13,7 @@ const FIREBASE_APP_NAME = rando();
1313
describe('snapshotChanges', () => {
1414
let app: FirebaseApp;
1515
let db: AngularFireDatabase;
16-
let createRef: (path: string) => Reference;
16+
let createRef: (path: string) => database.Reference;
1717
let batch = {};
1818
const items = [{ name: 'zero' }, { name: 'one' }, { name: 'two' }].map((item, i) => ( { key: i.toString(), ...item } ));
1919
Object.keys(items).forEach(function (key, i) {

src/database/list/state-changes.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Reference } from 'firebase/database-types';
1+
import { database } from 'firebase';
22
import { FirebaseApp, AngularFireModule } from 'angularfire2';
33
import { AngularFireDatabase, AngularFireDatabaseModule, stateChanges, ChildEvent } from 'angularfire2/database';
44
import { TestBed, inject } from '@angular/core/testing';
@@ -12,7 +12,7 @@ const FIREBASE_APP_NAME = rando();
1212
describe('stateChanges', () => {
1313
let app: FirebaseApp;
1414
let db: AngularFireDatabase;
15-
let createRef: (path: string) => Reference;
15+
let createRef: (path: string) => database.Reference;
1616
let batch = {};
1717
const items = [{ name: 'zero' }, { name: 'one' }, { name: 'two' }].map((item, i) => ( { key: i.toString(), ...item } ));
1818
Object.keys(items).forEach(function (key, i) {

src/firestore/firestore.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { InjectionToken, NgZone, PLATFORM_ID, Injectable, Inject, Optional } from '@angular/core';
22

3-
import { Observable, Subscriber, of, from } from 'rxjs';
4-
import { map, catchError } from 'rxjs/operators';
5-
import { firestore } from 'firebase/app';
3+
import { Observable, of, from } from 'rxjs';
4+
import { catchError } from 'rxjs/operators';
5+
import { firestore } from 'firebase';
66

77
import { Settings, CollectionReference, DocumentReference, QueryFn, AssociatedReference } from './interfaces';
88
import { AngularFirestoreDocument } from './document/document';

src/firestore/interfaces.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Subscriber } from 'rxjs';
2-
import { firestore } from 'firebase/app';
2+
import { firestore } from 'firebase';
33

44
export type Settings = firestore.Settings;
55
export type CollectionReference = firestore.CollectionReference;

src/firestore/utils.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { FirebaseFirestore, CollectionReference } from 'firebase/firestore-types';
1+
import { firestore } from 'firebase';
22
import { AngularFirestoreCollection } from './collection/collection';
33

44
export interface Stock {
@@ -10,7 +10,7 @@ export const FAKE_STOCK_DATA = { name: 'FAKE', price: 1 };
1010

1111
export const randomName = (firestore): string => firestore.collection('a').doc().id;
1212

13-
export const createRandomStocks = async (firestore: FirebaseFirestore, collectionRef: CollectionReference, numberOfItems) => {
13+
export const createRandomStocks = async (firestore: firestore.Firestore, collectionRef: firestore.CollectionReference, numberOfItems) => {
1414
// Create a batch to update everything at once
1515
const batch = firestore.batch();
1616
// Store the random names to delete them later

src/storage/interfaces.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { storage } from 'firebase/app';
1+
import { storage } from 'firebase';
22

33
export type UploadTask = storage.UploadTask;
44
export type UploadTaskSnapshot = storage.UploadTaskSnapshot;

src/storage/observable/fromTask.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Observable } from 'rxjs';
22
import { UploadTask, UploadTaskSnapshot } from '../interfaces';
3-
import { storage } from 'firebase/app';
3+
import { storage } from 'firebase';
44

55
export function fromTask(task: UploadTask) {
66
return new Observable<UploadTaskSnapshot>(subscriber => {

0 commit comments

Comments
 (0)