Skip to content

Commit 4809c8c

Browse files
Merge branch 'master' into mrschmidt/grpc
2 parents f6b18f7 + de68cdc commit 4809c8c

File tree

106 files changed

+1290
-368
lines changed

Some content is hidden

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

106 files changed

+1290
-368
lines changed

.changeset/fast-mangos-serve.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/auth": patch
3+
---
4+
5+
Ensure emulator warning text is accessible.

.changeset/lemon-ligers-protect.md

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

.changeset/loud-bears-rule.md

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

.changeset/loud-feet-jump.md

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

.github/workflows/canary-deploy.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ jobs:
3030
NPM_TOKEN_ANALYTICS_TYPES: ${{secrets.NPM_TOKEN_ANALYTICS_TYPES}}
3131
NPM_TOKEN_APP: ${{secrets.NPM_TOKEN_APP}}
3232
NPM_TOKEN_APP_TYPES: ${{secrets.NPM_TOKEN_APP_TYPES}}
33+
NPM_TOKEN_APP_CHECK: ${{secrets.NPM_TOKEN_APP_CHECK}}
34+
NPM_TOKEN_APP_CHECK_INTEROP_TYPES: ${{secrets.NPM_TOKEN_APP_CHECK_INTEROP_TYPES}}
35+
NPM_TOKEN_APP_CHECK_TYPES: ${{secrets.NPM_TOKEN_APP_CHECK_TYPES}}
3336
NPM_TOKEN_AUTH: ${{secrets.NPM_TOKEN_AUTH}}
3437
NPM_TOKEN_AUTH_INTEROP_TYPES: ${{secrets.NPM_TOKEN_AUTH_INTEROP_TYPES}}
3538
NPM_TOKEN_AUTH_TYPES: ${{secrets.NPM_TOKEN_AUTH_TYPES}}

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.4.3",
10+
"firebase": "8.6.1",
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.20",
18-
"@firebase/firestore": "2.2.5",
17+
"@firebase/app": "0.6.22",
18+
"@firebase/firestore": "2.3.0",
1919
"@types/mocha": "7.0.2",
2020
"gulp": "4.0.2",
2121
"gulp-filter": "6.0.0",

integration/messaging/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"test:manual": "mocha --exit"
1010
},
1111
"devDependencies": {
12-
"firebase": "8.4.3",
12+
"firebase": "8.6.1",
1313
"chai": "4.2.0",
1414
"chromedriver": "89.0.0",
1515
"express": "4.17.1",

packages-exp/analytics-compat/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@
4444
},
4545
"typings": "dist/src/index.d.ts",
4646
"dependencies": {
47-
"@firebase/component": "0.4.1",
47+
"@firebase/component": "0.5.0",
4848
"@firebase/analytics-exp": "0.0.900",
4949
"@firebase/analytics-types": "0.4.0",
50-
"@firebase/util": "1.0.0",
50+
"@firebase/util": "1.1.0",
5151
"tslib": "^2.1.0"
5252
},
5353
"nyc": {

packages-exp/analytics-exp/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
"dependencies": {
3535
"@firebase/installations-exp": "0.0.900",
3636
"@firebase/logger": "0.2.6",
37-
"@firebase/util": "1.0.0",
38-
"@firebase/component": "0.4.1",
37+
"@firebase/util": "1.1.0",
38+
"@firebase/component": "0.5.0",
3939
"tslib": "^2.1.0"
4040
},
4141
"license": "Apache-2.0",

packages-exp/app-compat/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
"license": "Apache-2.0",
3030
"dependencies": {
3131
"@firebase/app-exp": "0.0.900",
32-
"@firebase/util": "1.0.0",
32+
"@firebase/util": "1.1.0",
3333
"@firebase/logger": "0.2.6",
34-
"@firebase/component": "0.4.1",
34+
"@firebase/component": "0.5.0",
3535
"tslib": "^2.1.0",
3636
"dom-storage": "2.1.0",
3737
"xmlhttprequest": "1.8.0"

packages-exp/app-compat/src/firebaseApp.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import {
2020
Component,
2121
ComponentContainer,
2222
ComponentType,
23+
InstantiationMode,
2324
Name
2425
} from '@firebase/component';
2526
import {
@@ -121,8 +122,17 @@ export class FirebaseAppImpl implements Compat<_FirebaseAppExp>, _FirebaseApp {
121122
): _FirebaseService {
122123
this._delegate.checkDestroyed();
123124

125+
// Initialize instance if InstatiationMode is `EXPLICIT`.
126+
const provider = this._delegate.container.getProvider(name as Name);
127+
if (
128+
!provider.isInitialized() &&
129+
provider.getComponent()?.instantiationMode === InstantiationMode.EXPLICIT
130+
) {
131+
provider.initialize();
132+
}
133+
124134
// getImmediate will always succeed because _getService is only called for registered components.
125-
return (this._delegate.container.getProvider(name as Name).getImmediate({
135+
return (provider.getImmediate({
126136
identifier: instanceIdentifier
127137
}) as unknown) as _FirebaseService;
128138
}

packages-exp/app-compat/test/firebaseAppCompat.test.ts

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@ import { stub } from 'sinon';
2121
import { FirebaseNamespace, FirebaseOptions } from '../src/public-types';
2222
import { _FirebaseApp, _FirebaseNamespace } from '../src/types';
2323
import { _components, _clearComponents } from '@firebase/app-exp';
24-
import { ComponentType } from '@firebase/component';
24+
import {
25+
Component,
26+
ComponentType,
27+
InstantiationMode
28+
} from '@firebase/component';
2529

2630
import { createFirebaseNamespace } from '../src/firebaseNamespace';
2731
import { createFirebaseNamespaceLite } from '../src/lite/firebaseNamespaceLite';
@@ -67,6 +71,7 @@ function executeFirebaseTests(): void {
6771

6872
expect(serviceNamespace).to.eq(serviceNamespace2);
6973
expect(registerStub).to.have.not.thrown();
74+
registerStub.restore();
7075
});
7176

7277
it('returns cached service instances', () => {
@@ -80,6 +85,71 @@ function executeFirebaseTests(): void {
8085
expect(service).to.eq((firebase as any).test());
8186
});
8287

88+
it('does not instantiate explicit components unless called explicitly', () => {
89+
firebase.initializeApp({});
90+
(firebase as _FirebaseNamespace).INTERNAL.registerComponent(
91+
createTestComponent('explicit1').setInstantiationMode(
92+
InstantiationMode.EXPLICIT
93+
)
94+
);
95+
96+
let explicitService;
97+
98+
// Expect getImmediate in a consuming component to return null.
99+
const consumerComponent = new Component(
100+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
101+
'consumer' as any,
102+
container => {
103+
explicitService = container
104+
.getProvider('explicit1' as any)
105+
.getImmediate({ optional: true });
106+
return new TestService(
107+
container.getProvider('app-compat').getImmediate()
108+
);
109+
},
110+
ComponentType.PUBLIC
111+
);
112+
(firebase as _FirebaseNamespace).INTERNAL.registerComponent(
113+
consumerComponent
114+
);
115+
116+
(firebase as any).consumer();
117+
expect(explicitService).to.be.null;
118+
});
119+
120+
it('does instantiate explicit components when called explicitly', () => {
121+
firebase.initializeApp({});
122+
(firebase as _FirebaseNamespace).INTERNAL.registerComponent(
123+
createTestComponent('explicit2').setInstantiationMode(
124+
InstantiationMode.EXPLICIT
125+
)
126+
);
127+
128+
let explicitService;
129+
130+
// Expect getImmediate in a consuming component to return the service.
131+
const consumerComponent = new Component(
132+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
133+
'consumer' as any,
134+
container => {
135+
explicitService = container
136+
.getProvider('explicit2' as any)
137+
.getImmediate({ optional: true });
138+
return new TestService(
139+
container.getProvider('app-compat').getImmediate()
140+
);
141+
},
142+
ComponentType.PUBLIC
143+
);
144+
(firebase as _FirebaseNamespace).INTERNAL.registerComponent(
145+
consumerComponent
146+
);
147+
148+
(firebase as any).explicit2();
149+
(firebase as any).consumer();
150+
expect(explicitService).to.not.be.null;
151+
});
152+
83153
it(`creates a new instance of a service after removing the existing instance`, () => {
84154
const app = firebase.initializeApp({});
85155
(firebase as _FirebaseNamespace).INTERNAL.registerComponent(

packages-exp/app-exp/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
"typings:internal": "node ../../scripts/exp/use_typings.js ./dist/app-exp.d.ts"
3131
},
3232
"dependencies": {
33-
"@firebase/util": "1.0.0",
33+
"@firebase/util": "1.1.0",
3434
"@firebase/logger": "0.2.6",
35-
"@firebase/component": "0.4.1",
35+
"@firebase/component": "0.5.0",
3636
"tslib": "^2.1.0"
3737
},
3838
"license": "Apache-2.0",

packages-exp/auth-compat-exp/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
"dependencies": {
3535
"@firebase/auth-exp": "0.0.900",
3636
"@firebase/auth-types": "0.10.3",
37-
"@firebase/component": "0.4.1",
38-
"@firebase/util": "1.0.0",
37+
"@firebase/component": "0.5.0",
38+
"@firebase/util": "1.1.0",
3939
"node-fetch": "2.6.1",
4040
"selenium-webdriver": "^4.0.0-beta.2",
4141
"tslib": "^2.1.0"

packages-exp/auth-exp/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@
4949
"@firebase/app-exp": "0.x"
5050
},
5151
"dependencies": {
52-
"@firebase/component": "0.4.1",
52+
"@firebase/component": "0.5.0",
5353
"@firebase/logger": "0.2.6",
54-
"@firebase/util": "1.0.0",
54+
"@firebase/util": "1.1.0",
5555
"node-fetch": "2.6.1",
5656
"selenium-webdriver": "4.0.0-beta.1",
5757
"tslib": "^2.1.0"

packages-exp/auth-exp/src/core/auth/emulator.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ function emitEmulatorWarning(disableBanner: boolean): void {
122122
sty.width = '100%';
123123
sty.backgroundColor = '#ffffff';
124124
sty.border = '.1em solid #000000';
125-
sty.color = '#ff0000';
125+
sty.color = '#b50000';
126126
sty.bottom = '0px';
127127
sty.left = '0px';
128128
sty.margin = '0px';

packages-exp/firebase-exp/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@
129129
"@firebase/app-compat": "0.0.900",
130130
"@firebase/auth-exp": "0.0.900",
131131
"@firebase/auth-compat": "0.0.900",
132-
"@firebase/database": "0.9.12",
132+
"@firebase/database": "0.10.1",
133133
"@firebase/functions-exp": "0.0.900",
134134
"@firebase/functions-compat": "0.0.900",
135-
"@firebase/firestore": "2.2.5",
136-
"@firebase/storage": "0.5.1",
135+
"@firebase/firestore": "2.3.0",
136+
"@firebase/storage": "0.5.2",
137137
"@firebase/performance-exp": "0.0.900",
138138
"@firebase/performance-compat": "0.0.900",
139139
"@firebase/remote-config-exp": "0.0.900",

packages-exp/functions-compat/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@
4747
},
4848
"typings": "dist/src/index.d.ts",
4949
"dependencies": {
50-
"@firebase/component": "0.4.1",
50+
"@firebase/component": "0.5.0",
5151
"@firebase/functions-exp": "0.0.900",
5252
"@firebase/functions-types": "0.4.0",
5353
"@firebase/messaging-types": "0.5.0",
54-
"@firebase/util": "1.0.0",
54+
"@firebase/util": "1.1.0",
5555
"tslib": "^2.1.0"
5656
},
5757
"nyc": {

packages-exp/functions-exp/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@
5050
},
5151
"typings": "dist/functions-exp-public.d.ts",
5252
"dependencies": {
53-
"@firebase/component": "0.4.1",
53+
"@firebase/component": "0.5.0",
5454
"@firebase/messaging-types": "0.5.0",
55-
"@firebase/util": "1.0.0",
55+
"@firebase/util": "1.1.0",
5656
"node-fetch": "2.6.1",
5757
"tslib": "^2.1.0"
5858
},

packages-exp/installations-compat/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@
5151
"dependencies": {
5252
"@firebase/installations-exp": "0.0.900",
5353
"@firebase/installations-types": "0.3.4",
54-
"@firebase/util": "1.0.0",
55-
"@firebase/component": "0.4.1",
54+
"@firebase/util": "1.1.0",
55+
"@firebase/component": "0.5.0",
5656
"idb": "3.0.2",
5757
"tslib": "^2.1.0"
5858
},

packages-exp/installations-exp/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@
5555
"@firebase/app-exp": "0.x"
5656
},
5757
"dependencies": {
58-
"@firebase/util": "1.0.0",
59-
"@firebase/component": "0.4.1",
58+
"@firebase/util": "1.1.0",
59+
"@firebase/component": "0.5.0",
6060
"idb": "3.0.2",
6161
"tslib": "^2.1.0"
6262
},

packages-exp/messaging-compat/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232
},
3333
"dependencies": {
3434
"@firebase/messaging-exp": "0.0.900",
35-
"@firebase/component": "0.4.1",
35+
"@firebase/component": "0.5.0",
3636
"@firebase/installations-exp": "0.0.900",
37-
"@firebase/util": "1.0.0",
37+
"@firebase/util": "1.1.0",
3838
"tslib": "^2.1.0"
3939
},
4040
"devDependencies": {

packages-exp/messaging-exp/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@
3333
"@firebase/app-exp": "0.x"
3434
},
3535
"dependencies": {
36-
"@firebase/component": "0.4.1",
36+
"@firebase/component": "0.5.0",
3737
"@firebase/installations-exp": "0.0.900",
38-
"@firebase/util": "1.0.0",
38+
"@firebase/util": "1.1.0",
3939
"idb": "3.0.2",
4040
"tslib": "^2.1.0"
4141
},

packages-exp/performance-compat/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232
"dependencies": {
3333
"@firebase/performance-exp": "0.0.900",
3434
"@firebase/performance-types": "0.0.13",
35-
"@firebase/util": "1.0.0",
35+
"@firebase/util": "1.1.0",
3636
"@firebase/logger": "0.2.6",
37-
"@firebase/component": "0.4.1",
37+
"@firebase/component": "0.5.0",
3838
"tslib": "^2.1.0"
3939
},
4040
"devDependencies": {

packages-exp/performance-exp/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
"dependencies": {
3434
"@firebase/logger": "0.2.6",
3535
"@firebase/installations-exp": "0.0.900",
36-
"@firebase/util": "1.0.0",
37-
"@firebase/component": "0.4.1",
36+
"@firebase/util": "1.1.0",
37+
"@firebase/component": "0.5.0",
3838
"tslib": "^2.1.0"
3939
},
4040
"license": "Apache-2.0",

packages-exp/remote-config-compat/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
"dependencies": {
3232
"@firebase/remote-config-exp": "0.0.900",
3333
"@firebase/remote-config-types": "0.1.9",
34-
"@firebase/util": "1.0.0",
34+
"@firebase/util": "1.1.0",
3535
"@firebase/logger": "0.2.6",
36-
"@firebase/component": "0.4.1",
36+
"@firebase/component": "0.5.0",
3737
"tslib": "^2.1.0"
3838
},
3939
"devDependencies": {

packages-exp/remote-config-exp/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@
3535
"dependencies": {
3636
"@firebase/installations-exp": "0.0.900",
3737
"@firebase/logger": "0.2.6",
38-
"@firebase/util": "1.0.0",
39-
"@firebase/component": "0.4.1",
38+
"@firebase/util": "1.1.0",
39+
"@firebase/component": "0.5.0",
4040
"tslib": "^2.1.0"
4141
},
4242
"license": "Apache-2.0",

0 commit comments

Comments
 (0)