Skip to content

Commit f9e7ef9

Browse files
committed
Merge branch 'master' into fei-next-ref
2 parents 5f508af + e3c55b2 commit f9e7ef9

File tree

122 files changed

+4096
-3558
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+4096
-3558
lines changed

.changeset/clean-meals-double.md

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

.changeset/eight-bananas-nail.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/firestore': patch
3+
---
4+
5+
Fixes a bug where local cache inconsistencies were unnecessarily being resolved.

.changeset/fluffy-carrots-jam.md

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

.changeset/hip-turtles-travel.md

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

.changeset/honest-rats-deny.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/firestore": patch
3+
---
4+
5+
Fix the path to the react native build for the Firestore memory build

.changeset/serious-poems-wave.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/rules-unit-testing': minor
3+
---
4+
5+
Add port configuration and discovery methods to rules-unit-testing.

.changeset/silent-cars-burn.md

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

common/api-review/auth-exp.api.md

Lines changed: 114 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,57 @@
44
55
```ts
66

7+
import { ActionCodeInfo } from '@firebase/auth-types-exp';
8+
import { ActionCodeOperation } from '@firebase/auth-types-exp';
9+
import { ActionCodeSettings } from '@firebase/auth-types-exp';
10+
import { AdditionalUserInfo } from '@firebase/auth-types-exp';
11+
import { ApplicationVerifier } from '@firebase/auth-types-exp';
712
import { Auth } from '@firebase/auth-types-exp';
13+
import { AuthError } from '@firebase/auth-types-exp';
14+
import { AuthErrorMap } from '@firebase/auth-types-exp';
15+
import { AuthProvider } from '@firebase/auth-types-exp';
16+
import { AuthSettings } from '@firebase/auth-types-exp';
817
import { CompleteFn } from '@firebase/util';
18+
import { Config } from '@firebase/auth-types-exp';
19+
import { ConfirmationResult } from '@firebase/auth-types-exp';
920
import { ErrorFactory } from '@firebase/util';
1021
import { ErrorFn } from '@firebase/util';
1122
import * as externs from '@firebase/auth-types-exp';
23+
import { FactorId } from '@firebase/auth-types-exp';
1224
import { FirebaseApp } from '@firebase/app-types-exp';
1325
import { FirebaseError } from '@firebase/util';
26+
import { IdTokenResult } from '@firebase/auth-types-exp';
27+
import { MultiFactorAssertion } from '@firebase/auth-types-exp';
28+
import { MultiFactorError } from '@firebase/auth-types-exp';
29+
import { MultiFactorInfo } from '@firebase/auth-types-exp';
30+
import { MultiFactorResolver } from '@firebase/auth-types-exp';
31+
import { MultiFactorSession } from '@firebase/auth-types-exp';
32+
import { MultiFactorUser } from '@firebase/auth-types-exp';
1433
import { NextFn } from '@firebase/util';
34+
import { OperationType } from '@firebase/auth-types-exp';
35+
import { ParsedToken } from '@firebase/auth-types-exp';
36+
import { Persistence } from '@firebase/auth-types-exp';
37+
import { PhoneInfoOptions } from '@firebase/auth-types-exp';
38+
import { PhoneMultiFactorAssertion } from '@firebase/auth-types-exp';
39+
import { PhoneMultiFactorEnrollInfoOptions } from '@firebase/auth-types-exp';
40+
import { PhoneMultiFactorSignInInfoOptions } from '@firebase/auth-types-exp';
41+
import { PhoneSingleFactorInfoOptions } from '@firebase/auth-types-exp';
42+
import { PopupRedirectResolver } from '@firebase/auth-types-exp';
1543
import { ProviderId } from '@firebase/auth-types-exp';
44+
import { ReactNativeAsyncStorage } from '@firebase/auth-types-exp';
45+
import { SignInMethod } from '@firebase/auth-types-exp';
1646
import { Unsubscribe } from '@firebase/util';
47+
import { User } from '@firebase/auth-types-exp';
1748
import { UserCredential } from '@firebase/auth-types-exp';
49+
import { UserInfo } from '@firebase/auth-types-exp';
50+
import { UserMetadata } from '@firebase/auth-types-exp';
51+
import { UserProfile } from '@firebase/auth-types-exp';
52+
53+
export { ActionCodeInfo }
54+
55+
export { ActionCodeOperation }
56+
57+
export { ActionCodeSettings }
1858

1959
// @public (undocumented)
2060
export class ActionCodeURL implements externs.ActionCodeURL {
@@ -36,9 +76,15 @@ export class ActionCodeURL implements externs.ActionCodeURL {
3676
readonly tenantId: string | null;
3777
}
3878

79+
export { AdditionalUserInfo }
80+
81+
export { ApplicationVerifier }
82+
3983
// @public
4084
export function applyActionCode(auth: externs.Auth, oobCode: string): Promise<void>;
4185

86+
export { Auth }
87+
4288
// @public (undocumented)
4389
export class AuthCredential {
4490
// @internal
@@ -62,6 +108,14 @@ export class AuthCredential {
62108
toJSON(): object;
63109
}
64110

111+
export { AuthError }
112+
113+
export { AuthErrorMap }
114+
115+
export { AuthProvider }
116+
117+
export { AuthSettings }
118+
65119
// @public
66120
export const browserLocalPersistence: externs.Persistence;
67121

@@ -74,6 +128,10 @@ export const browserSessionPersistence: externs.Persistence;
74128
// @public
75129
export function checkActionCode(auth: externs.Auth, oobCode: string): Promise<externs.ActionCodeInfo>;
76130

131+
export { Config }
132+
133+
export { ConfirmationResult }
134+
77135
// @public
78136
export function confirmPasswordReset(auth: externs.Auth, oobCode: string, newPassword: string): Promise<void>;
79137

@@ -139,6 +197,8 @@ export class FacebookAuthProvider extends OAuthProvider {
139197
static readonly PROVIDER_ID = externs.ProviderId.FACEBOOK;
140198
}
141199

200+
export { FactorId }
201+
142202
// @public
143203
export function fetchSignInMethodsForEmail(auth: externs.Auth, email: string): Promise<string[]>;
144204

@@ -180,6 +240,8 @@ export class GoogleAuthProvider extends OAuthProvider {
180240
static readonly PROVIDER_ID = externs.ProviderId.GOOGLE;
181241
}
182242

243+
export { IdTokenResult }
244+
183245
// @public
184246
export const indexedDBLocalPersistence: externs.Persistence;
185247

@@ -209,6 +271,18 @@ export function linkWithRedirect(user: externs.User, provider: externs.AuthProvi
209271
// @public
210272
export function multiFactor(user: externs.User): externs.MultiFactorUser;
211273

274+
export { MultiFactorAssertion }
275+
276+
export { MultiFactorError }
277+
278+
export { MultiFactorInfo }
279+
280+
export { MultiFactorResolver }
281+
282+
export { MultiFactorSession }
283+
284+
export { MultiFactorUser }
285+
212286
// @public (undocumented)
213287
export class OAuthCredential extends AuthCredential implements externs.OAuthCredential {
214288
// (undocumented)
@@ -267,9 +341,15 @@ export function onAuthStateChanged(auth: externs.Auth, nextOrObserver: externs.N
267341
// @public
268342
export function onIdTokenChanged(auth: externs.Auth, nextOrObserver: externs.NextOrObserver<externs.User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
269343

344+
export { OperationType }
345+
270346
// @public (undocumented)
271347
export function parseActionCodeURL(link: string): externs.ActionCodeURL | null;
272348

349+
export { ParsedToken }
350+
351+
export { Persistence }
352+
273353
// @public (undocumented)
274354
export class PhoneAuthCredential extends AuthCredential implements externs.PhoneAuthCredential {
275355
// (undocumented)
@@ -309,15 +389,31 @@ export class PhoneAuthProvider implements externs.PhoneAuthProvider {
309389
verifyPhoneNumber(phoneOptions: externs.PhoneInfoOptions | string, applicationVerifier: externs.ApplicationVerifier): Promise<string>;
310390
}
311391

392+
export { PhoneInfoOptions }
393+
394+
export { PhoneMultiFactorAssertion }
395+
396+
export { PhoneMultiFactorEnrollInfoOptions }
397+
312398
// @public (undocumented)
313399
export class PhoneMultiFactorGenerator implements externs.PhoneMultiFactorGenerator {
314400
// (undocumented)
315401
static assertion(credential: externs.PhoneAuthCredential): externs.PhoneMultiFactorAssertion;
316402
}
317403

404+
export { PhoneMultiFactorSignInInfoOptions }
405+
406+
export { PhoneSingleFactorInfoOptions }
407+
408+
export { PopupRedirectResolver }
409+
318410
// @public
319411
export const prodErrorMap: externs.AuthErrorMap;
320412

413+
export { ProviderId }
414+
415+
export { ReactNativeAsyncStorage }
416+
321417
// @public
322418
export function reauthenticateWithCredential(user: externs.User, credential: externs.AuthCredential): Promise<externs.UserCredential>;
323419

@@ -333,7 +429,7 @@ export function reauthenticateWithRedirect(user: externs.User, provider: externs
333429
// Warning: (ae-forgotten-export) The symbol "ApplicationVerifier" needs to be exported by the entry point index.d.ts
334430
//
335431
// @public (undocumented)
336-
export class RecaptchaVerifier implements externs.RecaptchaVerifier, ApplicationVerifier {
432+
export class RecaptchaVerifier implements externs.RecaptchaVerifier, ApplicationVerifier_2 {
337433
// Warning: (ae-forgotten-export) The symbol "Parameters" needs to be exported by the entry point index.d.ts
338434
constructor(containerOrId: HTMLElement | string, parameters: Parameters_2, authExtern: externs.Auth);
339435
// (undocumented)
@@ -370,6 +466,8 @@ export function setPersistence(auth: externs.Auth, persistence: externs.Persiste
370466
// @public
371467
export function signInAnonymously(auth: externs.Auth): Promise<externs.UserCredential>;
372468

469+
export { SignInMethod }
470+
373471
// @public
374472
export function signInWithCredential(auth: externs.Auth, credential: externs.AuthCredential): Promise<externs.UserCredential>;
375473

@@ -426,9 +524,24 @@ export function updatePhoneNumber(user: externs.User, credential: externs.PhoneA
426524
// @public
427525
export function updateProfile(user: externs.User, { displayName, photoURL: photoUrl }: Profile): Promise<void>;
428526

527+
// @public
528+
export function useAuthEmulator(auth: externs.Auth, url: string, options?: {
529+
disableWarnings: boolean;
530+
}): void;
531+
429532
// @public
430533
export function useDeviceLanguage(auth: externs.Auth): void;
431534

535+
export { User }
536+
537+
export { UserCredential }
538+
539+
export { UserInfo }
540+
541+
export { UserMetadata }
542+
543+
export { UserProfile }
544+
432545
// @public
433546
export function verifyBeforeUpdateEmail(user: externs.User, newEmail: string, actionCodeSettings?: externs.ActionCodeSettings | null): Promise<void>;
434547

common/api-review/firestore-exp.api.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,8 +278,33 @@ export function limit(limit: number): QueryConstraint;
278278
// @public
279279
export function limitToLast(limit: number): QueryConstraint;
280280

281+
// @public
282+
export function loadBundle(firestore: FirebaseFirestore, bundleData: ReadableStream<Uint8Array> | ArrayBuffer | string): LoadBundleTask;
283+
284+
// @public
285+
export class LoadBundleTask implements PromiseLike<LoadBundleTaskProgress> {
286+
catch<R>(onRejected: (a: Error) => R | PromiseLike<R>): Promise<R | LoadBundleTaskProgress>;
287+
_completeWith(progress: LoadBundleTaskProgress): void;
288+
_failWith(error: FirestoreError): void;
289+
onProgress(next?: (progress: LoadBundleTaskProgress) => unknown, error?: (err: Error) => unknown, complete?: () => void): void;
290+
then<T, R>(onFulfilled?: (a: LoadBundleTaskProgress) => T | PromiseLike<T>, onRejected?: (a: Error) => R | PromiseLike<R>): Promise<T | R>;
291+
_updateProgress(progress: LoadBundleTaskProgress): void;
292+
}
293+
294+
// @public
295+
export interface LoadBundleTaskProgress {
296+
bytesLoaded: number;
297+
documentsLoaded: number;
298+
taskState: TaskState;
299+
totalBytes: number;
300+
totalDocuments: number;
301+
}
302+
281303
export { LogLevel }
282304

305+
// @public
306+
export function namedQuery(firestore: FirebaseFirestore, name: string): Promise<Query | null>;
307+
283308
// @public
284309
export function onSnapshot<T>(reference: DocumentReference<T>, observer: {
285310
next?: (snapshot: DocumentSnapshot<T>) => void;
@@ -463,6 +488,9 @@ export function startAt(snapshot: DocumentSnapshot_2<unknown>): QueryConstraint;
463488
// @public
464489
export function startAt(...fieldValues: unknown[]): QueryConstraint;
465490

491+
// @public
492+
export type TaskState = 'Error' | 'Running' | 'Success';
493+
466494
// @public
467495
export function terminate(firestore: FirebaseFirestore): Promise<void>;
468496

common/api-review/storage.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export function getDownloadURL(ref: StorageReference): Promise<string>;
3333
export function getMetadata(ref: StorageReference): Promise<FullMetadata>;
3434

3535
// @public
36-
export function getStorage(app: FirebaseApp, url?: string): StorageService;
36+
export function getStorage(app: FirebaseApp, bucketUrl?: string): StorageService;
3737

3838
// @public
3939
export function list(ref: StorageReference, options?: ListOptions): Promise<ListResult>;

integration/firebase/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"test:ci": "node ../../scripts/run_tests_in_ci.js -s test"
88
},
99
"devDependencies": {
10-
"firebase": "8.2.4",
10+
"firebase": "8.2.6",
1111
"@types/chai": "4.2.14",
1212
"@types/mocha": "7.0.2",
1313
"chai": "4.2.0",

integration/firestore/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
"test:memory:debug": "yarn build:memory; karma start --auto-watch --browsers Chrome"
1515
},
1616
"devDependencies": {
17-
"@firebase/app": "0.6.13",
18-
"@firebase/firestore": "2.1.3",
17+
"@firebase/app": "0.6.14",
18+
"@firebase/firestore": "2.1.5",
1919
"@types/mocha": "7.0.2",
2020
"gulp": "4.0.2",
2121
"gulp-filter": "6.0.0",

integration/messaging/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
"test:manual": "mocha --exit"
1010
},
1111
"devDependencies": {
12-
"firebase": "8.2.4",
12+
"firebase": "8.2.6",
1313
"chai": "4.2.0",
14-
"chromedriver": "86.0.0",
14+
"chromedriver": "88.0.0",
1515
"express": "4.17.1",
1616
"geckodriver": "1.21.1",
1717
"mocha": "7.2.0",

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
"@types/sinon": "9.0.10",
8686
"@types/sinon-chai": "3.2.5",
8787
"@types/tmp": "0.2.0",
88-
"@types/yargs": "15.0.12",
88+
"@types/yargs": "16.0.0",
8989
"@typescript-eslint/eslint-plugin": "4.11.1",
9090
"@typescript-eslint/eslint-plugin-tslint": "4.11.1",
9191
"@typescript-eslint/parser": "4.11.1",
@@ -114,7 +114,7 @@
114114
"indexeddbshim": "7.0.0",
115115
"inquirer": "7.3.3",
116116
"istanbul-instrumenter-loader": "3.0.1",
117-
"js-yaml": "3.14.1",
117+
"js-yaml": "4.0.0",
118118
"karma": "5.2.3",
119119
"karma-chrome-launcher": "3.1.0",
120120
"karma-cli": "2.0.0",
@@ -125,7 +125,7 @@
125125
"karma-safari-launcher": "1.0.0",
126126
"karma-sourcemap-loader": "0.3.8",
127127
"karma-spec-reporter": "0.0.32",
128-
"karma-summary-reporter": "1.9.0",
128+
"karma-summary-reporter": "2.0.0",
129129
"karma-webpack": "4.0.2",
130130
"lcov-result-merger": "3.1.0",
131131
"lerna": "3.22.1",

packages-exp/analytics-exp/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@firebase/analytics-exp",
33
"version": "0.0.900",
4+
"private": true,
45
"description": "A analytics package for new firebase packages",
56
"author": "Firebase <[email protected]> (https://firebase.google.com/)",
67
"main": "dist/index.cjs.js",

0 commit comments

Comments
 (0)