Skip to content

Commit ed28cf6

Browse files
committed
Merge branch 'master' into ch-storage-emulator
2 parents ed256f5 + f24d896 commit ed28cf6

File tree

1,717 files changed

+54416
-20659
lines changed

Some content is hidden

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

1,717 files changed

+54416
-20659
lines changed

.changeset/chatty-cooks-drop.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/component": minor
3+
---
4+
5+
Support new instantiation mode `EXPLICIT`

.changeset/config.json

+4-6
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,21 @@
1313
"firebase-namespace-integration-test",
1414
"firebase-firestore-integration-test",
1515
"firebase-messaging-integration-test",
16+
"firebase-compat-typings-test",
1617
"@firebase/app-exp",
18+
"@firebase/analytics-compat",
1719
"@firebase/analytics-exp",
1820
"@firebase/auth-exp",
1921
"@firebase/auth-compat",
20-
"@firebase/auth-types-exp",
2122
"@firebase/functions-compat",
2223
"@firebase/functions-exp",
23-
"@firebase/functions-types-exp",
2424
"@firebase/installations-exp",
25-
"@firebase/installations-types-exp",
2625
"@firebase/installations-compat",
2726
"@firebase/messaging-exp",
28-
"@firebase/messaging-types-exp",
27+
"@firebase/messaging-compat",
2928
"@firebase/performance-exp",
30-
"@firebase/performance-types-exp",
29+
"@firebase/performance-compat",
3130
"@firebase/remote-config-exp",
32-
"@firebase/remote-config-types-exp",
3331
"@firebase/remote-config-compat",
3432
"firebase-exp",
3533
"@firebase/app-compat",

.changeset/happy-planets-lick.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/rules-unit-testing": patch
3+
---
4+
5+
Fix assertFails not correctly catching RTDB permission denied errors (#4667).

.changeset/stale-zebras-hug.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@firebase/app-types": patch
3+
"@firebase/app": patch
4+
"@firebase/rules-unit-testing": patch
5+
---
6+
7+
Internal typing changes

.changeset/thick-ties-hang.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/rules-unit-testing': patch
3+
---
4+
5+
Depend on @firebase/component directly to fix the use with Yarn Plug'n'Play

.github/CODEOWNERS

-2
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ scripts/docgen/content-sources/ @firebase/firebase-techwriters @firebase/jssdk-g
9090

9191
# Auth-Exp Code
9292
packages-exp/auth-exp @avolkovi @samhorlbeck @yuchenshi @firebase/jssdk-global-approvers
93-
packages-exp/auth-types-exp @avolkovi @samhorlbeck @yuchenshi @firebase/jssdk-global-approvers
9493
packages-exp/auth-compat-exp @avolkovi @samhorlbeck @yuchenshi @firebase/jssdk-global-approvers
9594

9695
# Installations-Exp Code
@@ -103,5 +102,4 @@ packages/performance-types-exp @alikn @zijianjoy @firebase/jssdk-global-approve
103102

104103
# RC-Exp Code
105104
packages/remote-config-exp @erikeldridge @firebase/jssdk-global-approvers
106-
packages/remote-config-types-exp @erikeldridge @firebase/jssdk-global-approvers
107105
packages/remote-config-compat @erikeldridge @firebase/jssdk-global-approvers

.github/workflows/lint.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Lint All Packages
22

3-
on: push
3+
on: pull_request
44

55
jobs:
66
test:

LICENSE

+38
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
This source code is licensed under Apache-2.0 apart from the protobuf library
2+
which is licensed under BSD-3-Clause, both licenses given below.
13

24
Apache License
35
Version 2.0, January 2004
@@ -200,3 +202,39 @@
200202
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201203
See the License for the specific language governing permissions and
202204
limitations under the License.
205+
206+
------------------------------------------------------------------------------
207+
208+
For Google protobuf source.
209+
210+
file: [source code root]/packages/firestore/src/protos/google/protobuf/any.proto
211+
212+
// Protocol Buffers - Google's data interchange format
213+
// Copyright 2008 Google Inc. All rights reserved.
214+
// https://developers.google.com/protocol-buffers/
215+
//
216+
// Redistribution and use in source and binary forms, with or without
217+
// modification, are permitted provided that the following conditions are
218+
// met:
219+
//
220+
// * Redistributions of source code must retain the above copyright
221+
// notice, this list of conditions and the following disclaimer.
222+
// * Redistributions in binary form must reproduce the above
223+
// copyright notice, this list of conditions and the following disclaimer
224+
// in the documentation and/or other materials provided with the
225+
// distribution.
226+
// * Neither the name of Google Inc. nor the names of its
227+
// contributors may be used to endorse or promote products derived from
228+
// this software without specific prior written permission.
229+
//
230+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
231+
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
232+
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
233+
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
234+
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
235+
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
236+
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
237+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
238+
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
239+
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
240+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

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

+21-21
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export type CustomEventName<T> = T extends EventNameString ? never : T;
3737
// @public
3838
export interface CustomParams {
3939
// (undocumented)
40-
[key: string]: any;
40+
[key: string]: unknown;
4141
}
4242

4343
// @public
@@ -180,7 +180,7 @@ export function logEvent(analyticsInstance: Analytics, eventName: 'add_payment_i
180180
}, options?: AnalyticsCallOptions): void;
181181

182182
// @public
183-
export function logEvent(analyticsInstance: Analytics, eventName: 'add_shipping_info', eventParams: {
183+
export function logEvent(analyticsInstance: Analytics, eventName: 'add_shipping_info', eventParams?: {
184184
coupon?: EventParams['coupon'];
185185
currency?: EventParams['currency'];
186186
items?: EventParams['items'];
@@ -190,15 +190,15 @@ export function logEvent(analyticsInstance: Analytics, eventName: 'add_shipping_
190190
}, options?: AnalyticsCallOptions): void;
191191

192192
// @public
193-
export function logEvent(analyticsInstance: Analytics, eventName: 'add_to_cart' | 'add_to_wishlist' | 'remove_from_cart', eventParams: {
193+
export function logEvent(analyticsInstance: Analytics, eventName: 'add_to_cart' | 'add_to_wishlist' | 'remove_from_cart', eventParams?: {
194194
currency?: EventParams['currency'];
195195
value?: EventParams['value'];
196196
items?: EventParams['items'];
197197
[key: string]: any;
198198
}, options?: AnalyticsCallOptions): void;
199199

200200
// @public
201-
export function logEvent(analyticsInstance: Analytics, eventName: 'begin_checkout', eventParams: {
201+
export function logEvent(analyticsInstance: Analytics, eventName: 'begin_checkout', eventParams?: {
202202
currency?: EventParams['currency'];
203203
coupon?: EventParams['coupon'];
204204
value?: EventParams['value'];
@@ -207,7 +207,7 @@ export function logEvent(analyticsInstance: Analytics, eventName: 'begin_checkou
207207
}, options?: AnalyticsCallOptions): void;
208208

209209
// @public
210-
export function logEvent(analyticsInstance: Analytics, eventName: 'checkout_progress', eventParams: {
210+
export function logEvent(analyticsInstance: Analytics, eventName: 'checkout_progress', eventParams?: {
211211
currency?: EventParams['currency'];
212212
coupon?: EventParams['coupon'];
213213
value?: EventParams['value'];
@@ -218,36 +218,36 @@ export function logEvent(analyticsInstance: Analytics, eventName: 'checkout_prog
218218
}, options?: AnalyticsCallOptions): void;
219219

220220
// @public
221-
export function logEvent(analyticsInstance: Analytics, eventName: 'exception', eventParams: {
221+
export function logEvent(analyticsInstance: Analytics, eventName: 'exception', eventParams?: {
222222
description?: EventParams['description'];
223223
fatal?: EventParams['fatal'];
224224
[key: string]: any;
225225
}, options?: AnalyticsCallOptions): void;
226226

227227
// @public
228-
export function logEvent(analyticsInstance: Analytics, eventName: 'generate_lead', eventParams: {
228+
export function logEvent(analyticsInstance: Analytics, eventName: 'generate_lead', eventParams?: {
229229
value?: EventParams['value'];
230230
currency?: EventParams['currency'];
231231
transaction_id?: EventParams['transaction_id'];
232232
[key: string]: any;
233233
}, options?: AnalyticsCallOptions): void;
234234

235235
// @public
236-
export function logEvent(analyticsInstance: Analytics, eventName: 'login', eventParams: {
236+
export function logEvent(analyticsInstance: Analytics, eventName: 'login', eventParams?: {
237237
method?: EventParams['method'];
238238
[key: string]: any;
239239
}, options?: AnalyticsCallOptions): void;
240240

241241
// @public
242-
export function logEvent(analyticsInstance: Analytics, eventName: 'page_view', eventParams: {
242+
export function logEvent(analyticsInstance: Analytics, eventName: 'page_view', eventParams?: {
243243
page_title?: string;
244244
page_location?: string;
245245
page_path?: string;
246246
[key: string]: any;
247247
}, options?: AnalyticsCallOptions): void;
248248

249249
// @public
250-
export function logEvent(analyticsInstance: Analytics, eventName: 'purchase' | 'refund', eventParams: {
250+
export function logEvent(analyticsInstance: Analytics, eventName: 'purchase' | 'refund', eventParams?: {
251251
value?: EventParams['value'];
252252
currency?: EventParams['currency'];
253253
transaction_id: EventParams['transaction_id'];
@@ -260,7 +260,7 @@ export function logEvent(analyticsInstance: Analytics, eventName: 'purchase' | '
260260
}, options?: AnalyticsCallOptions): void;
261261

262262
// @public
263-
export function logEvent(analyticsInstance: Analytics, eventName: 'screen_view', eventParams: {
263+
export function logEvent(analyticsInstance: Analytics, eventName: 'screen_view', eventParams?: {
264264
app_name: string;
265265
screen_name: EventParams['screen_name'];
266266
app_id?: string;
@@ -270,13 +270,13 @@ export function logEvent(analyticsInstance: Analytics, eventName: 'screen_view',
270270
}, options?: AnalyticsCallOptions): void;
271271

272272
// @public
273-
export function logEvent(analyticsInstance: Analytics, eventName: 'search' | 'view_search_results', eventParams: {
273+
export function logEvent(analyticsInstance: Analytics, eventName: 'search' | 'view_search_results', eventParams?: {
274274
search_term?: EventParams['search_term'];
275275
[key: string]: any;
276276
}, options?: AnalyticsCallOptions): void;
277277

278278
// @public
279-
export function logEvent(analyticsInstance: Analytics, eventName: 'select_content', eventParams: {
279+
export function logEvent(analyticsInstance: Analytics, eventName: 'select_content', eventParams?: {
280280
items?: EventParams['items'];
281281
promotions?: EventParams['promotions'];
282282
content_type?: EventParams['content_type'];
@@ -285,44 +285,44 @@ export function logEvent(analyticsInstance: Analytics, eventName: 'select_conten
285285
}, options?: AnalyticsCallOptions): void;
286286

287287
// @public
288-
export function logEvent(analyticsInstance: Analytics, eventName: 'select_item', eventParams: {
288+
export function logEvent(analyticsInstance: Analytics, eventName: 'select_item', eventParams?: {
289289
items?: EventParams['items'];
290290
item_list_name?: EventParams['item_list_name'];
291291
item_list_id?: EventParams['item_list_id'];
292292
[key: string]: any;
293293
}, options?: AnalyticsCallOptions): void;
294294

295295
// @public
296-
export function logEvent(analyticsInstance: Analytics, eventName: 'select_promotion' | 'view_promotion', eventParams: {
296+
export function logEvent(analyticsInstance: Analytics, eventName: 'select_promotion' | 'view_promotion', eventParams?: {
297297
items?: EventParams['items'];
298298
promotion_id?: EventParams['promotion_id'];
299299
promotion_name?: EventParams['promotion_name'];
300300
[key: string]: any;
301301
}, options?: AnalyticsCallOptions): void;
302302

303303
// @public
304-
export function logEvent(analyticsInstance: Analytics, eventName: 'set_checkout_option', eventParams: {
304+
export function logEvent(analyticsInstance: Analytics, eventName: 'set_checkout_option', eventParams?: {
305305
checkout_step?: EventParams['checkout_step'];
306306
checkout_option?: EventParams['checkout_option'];
307307
[key: string]: any;
308308
}, options?: AnalyticsCallOptions): void;
309309

310310
// @public
311-
export function logEvent(analyticsInstance: Analytics, eventName: 'share', eventParams: {
311+
export function logEvent(analyticsInstance: Analytics, eventName: 'share', eventParams?: {
312312
method?: EventParams['method'];
313313
content_type?: EventParams['content_type'];
314314
content_id?: EventParams['content_id'];
315315
[key: string]: any;
316316
}, options?: AnalyticsCallOptions): void;
317317

318318
// @public
319-
export function logEvent(analyticsInstance: Analytics, eventName: 'sign_up', eventParams: {
319+
export function logEvent(analyticsInstance: Analytics, eventName: 'sign_up', eventParams?: {
320320
method?: EventParams['method'];
321321
[key: string]: any;
322322
}, options?: AnalyticsCallOptions): void;
323323

324324
// @public
325-
export function logEvent(analyticsInstance: Analytics, eventName: 'timing_complete', eventParams: {
325+
export function logEvent(analyticsInstance: Analytics, eventName: 'timing_complete', eventParams?: {
326326
name: string;
327327
value: number;
328328
event_category?: string;
@@ -331,15 +331,15 @@ export function logEvent(analyticsInstance: Analytics, eventName: 'timing_comple
331331
}, options?: AnalyticsCallOptions): void;
332332

333333
// @public
334-
export function logEvent(analyticsInstance: Analytics, eventName: 'view_cart' | 'view_item', eventParams: {
334+
export function logEvent(analyticsInstance: Analytics, eventName: 'view_cart' | 'view_item', eventParams?: {
335335
currency?: EventParams['currency'];
336336
items?: EventParams['items'];
337337
value?: EventParams['value'];
338338
[key: string]: any;
339339
}, options?: AnalyticsCallOptions): void;
340340

341341
// @public
342-
export function logEvent(analyticsInstance: Analytics, eventName: 'view_item_list', eventParams: {
342+
export function logEvent(analyticsInstance: Analytics, eventName: 'view_item_list', eventParams?: {
343343
items?: EventParams['items'];
344344
item_list_name?: EventParams['item_list_name'];
345345
item_list_id?: EventParams['item_list_id'];

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { Name } from '@firebase/component';
1313
import { Provider } from '@firebase/component';
1414

1515
// @internal (undocumented)
16-
export function _addComponent(app: FirebaseApp, component: Component): void;
16+
export function _addComponent<T extends Name>(app: FirebaseApp, component: Component<T>): void;
1717

1818
// @internal (undocumented)
1919
export function _addOrOverwriteComponent(app: FirebaseApp, component: Component): void;
@@ -102,7 +102,7 @@ export function initializeApp(options: FirebaseOptions, config?: FirebaseAppConf
102102
export function onLog(logCallback: LogCallback | null, options?: LogOptions): void;
103103

104104
// @internal (undocumented)
105-
export function _registerComponent(component: Component): boolean;
105+
export function _registerComponent<T extends Name>(component: Component<T>): boolean;
106106

107107
// @public
108108
export function registerVersion(libraryKeyOrName: string, version: string, variant?: string): void;

0 commit comments

Comments
 (0)