Skip to content

Commit 4fecb30

Browse files
committed
fix(app): adopt firebase-js-sdk 12.3.0
- needs polyfill for deficient react-native TextDecoder
1 parent c1a1532 commit 4fecb30

File tree

5 files changed

+206
-13
lines changed

5 files changed

+206
-13
lines changed

packages/app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
"react-native": "*"
5858
},
5959
"dependencies": {
60-
"firebase": "12.2.1"
60+
"firebase": "12.3.0"
6161
},
6262
"devDependencies": {
6363
"@react-native-async-storage/async-storage": "^2.2.0",
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/*
2+
* Copyright (c) 2016-present Invertase Limited & Contributors
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this library except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*
16+
*/
17+
18+
import { polyfillGlobal } from 'react-native/Libraries/Utilities/PolyfillFunctions';
19+
20+
// maybe this could be remote-config local install of text-encoding (similar to ai package)
21+
import { TextEncoder, TextDecoder } from 'text-encoding';
22+
23+
polyfillGlobal('TextEncoder', () => TextEncoder);
24+
polyfillGlobal('TextDecoder', () => TextDecoder);
25+
// Object.assign(global, {
26+
// TextEncoder: TextEncoder,
27+
// TextDecoder: TextDecoder,
28+
// });

packages/remote-config/lib/web/RNFBConfigModule.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import '../polyfills';
12
import {
23
getApp,
34
getRemoteConfig,

packages/remote-config/package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,11 @@
3030
"publishConfig": {
3131
"access": "public",
3232
"provenance": true
33+
},
34+
"dependencies": {
35+
"text-encoding": "^0.7.0"
36+
},
37+
"devDependencies": {
38+
"@types/text-encoding": "^0.0.40"
3339
}
3440
}

yarn.lock

Lines changed: 170 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2468,6 +2468,22 @@ __metadata:
24682468
languageName: node
24692469
linkType: hard
24702470

2471+
"@firebase/ai@npm:2.3.0":
2472+
version: 2.3.0
2473+
resolution: "@firebase/ai@npm:2.3.0"
2474+
dependencies:
2475+
"@firebase/app-check-interop-types": "npm:0.3.3"
2476+
"@firebase/component": "npm:0.7.0"
2477+
"@firebase/logger": "npm:0.5.0"
2478+
"@firebase/util": "npm:1.13.0"
2479+
tslib: "npm:^2.1.0"
2480+
peerDependencies:
2481+
"@firebase/app": 0.x
2482+
"@firebase/app-types": 0.x
2483+
checksum: 10/ea1769117a22bfb5c1513744de6646364bee6d165f35dcadb2b8e3cb1c34c455ae060027a0707d17fc997e560a959daa04f35a20a2194fc8019e867ad00413eb
2484+
languageName: node
2485+
linkType: hard
2486+
24712487
"@firebase/analytics-compat@npm:0.2.24":
24722488
version: 0.2.24
24732489
resolution: "@firebase/analytics-compat@npm:0.2.24"
@@ -2575,6 +2591,19 @@ __metadata:
25752591
languageName: node
25762592
linkType: hard
25772593

2594+
"@firebase/app-compat@npm:0.5.3":
2595+
version: 0.5.3
2596+
resolution: "@firebase/app-compat@npm:0.5.3"
2597+
dependencies:
2598+
"@firebase/app": "npm:0.14.3"
2599+
"@firebase/component": "npm:0.7.0"
2600+
"@firebase/logger": "npm:0.5.0"
2601+
"@firebase/util": "npm:1.13.0"
2602+
tslib: "npm:^2.1.0"
2603+
checksum: 10/7ad4e0e0f6fa83fe14e1ce5111c3a0f3e4ef63c93ca72d20444128867e57d023d06ee88a1251f3a98769f265f1c2e6b660e85039a62bed1b7c51a1f6b9a3771a
2604+
languageName: node
2605+
linkType: hard
2606+
25782607
"@firebase/app-types@npm:0.9.3":
25792608
version: 0.9.3
25802609
resolution: "@firebase/app-types@npm:0.9.3"
@@ -2608,6 +2637,19 @@ __metadata:
26082637
languageName: node
26092638
linkType: hard
26102639

2640+
"@firebase/app@npm:0.14.3":
2641+
version: 0.14.3
2642+
resolution: "@firebase/app@npm:0.14.3"
2643+
dependencies:
2644+
"@firebase/component": "npm:0.7.0"
2645+
"@firebase/logger": "npm:0.5.0"
2646+
"@firebase/util": "npm:1.13.0"
2647+
idb: "npm:7.1.1"
2648+
tslib: "npm:^2.1.0"
2649+
checksum: 10/7daa8cc97dcb37be01d7d08559536f756e39c6b5a52806dde42aef542f590f1b102072f3da272b1952c99ec8d1ac92ff96ef744b73e54b0960b90de34af7ab85
2650+
languageName: node
2651+
linkType: hard
2652+
26112653
"@firebase/auth-compat@npm:0.6.0":
26122654
version: 0.6.0
26132655
resolution: "@firebase/auth-compat@npm:0.6.0"
@@ -2752,6 +2794,21 @@ __metadata:
27522794
languageName: node
27532795
linkType: hard
27542796

2797+
"@firebase/firestore-compat@npm:0.4.2":
2798+
version: 0.4.2
2799+
resolution: "@firebase/firestore-compat@npm:0.4.2"
2800+
dependencies:
2801+
"@firebase/component": "npm:0.7.0"
2802+
"@firebase/firestore": "npm:4.9.2"
2803+
"@firebase/firestore-types": "npm:3.0.3"
2804+
"@firebase/util": "npm:1.13.0"
2805+
tslib: "npm:^2.1.0"
2806+
peerDependencies:
2807+
"@firebase/app-compat": 0.x
2808+
checksum: 10/8f61692769dbc622016efee67f20e79e73a4b3fa02baedebc9f3b4c071ba98f1fb7cec389e32a1d1dad8a4335350a4405c2d3757bb2cbdfba4f41bc7bea7c501
2809+
languageName: node
2810+
linkType: hard
2811+
27552812
"@firebase/firestore-types@npm:3.0.3":
27562813
version: 3.0.3
27572814
resolution: "@firebase/firestore-types@npm:3.0.3"
@@ -2796,6 +2853,23 @@ __metadata:
27962853
languageName: node
27972854
linkType: hard
27982855

2856+
"@firebase/firestore@npm:4.9.2":
2857+
version: 4.9.2
2858+
resolution: "@firebase/firestore@npm:4.9.2"
2859+
dependencies:
2860+
"@firebase/component": "npm:0.7.0"
2861+
"@firebase/logger": "npm:0.5.0"
2862+
"@firebase/util": "npm:1.13.0"
2863+
"@firebase/webchannel-wrapper": "npm:1.0.5"
2864+
"@grpc/grpc-js": "npm:~1.9.0"
2865+
"@grpc/proto-loader": "npm:^0.7.8"
2866+
tslib: "npm:^2.1.0"
2867+
peerDependencies:
2868+
"@firebase/app": 0.x
2869+
checksum: 10/6772d677aaf6fcd80fd1944bd6f9bb6ad347eea9e8ab396e20025cb9daeca5fd902bd4e3b6d060da9ffc64cb938f15a459ae59dd856613422f840b4e7552c531
2870+
languageName: node
2871+
linkType: hard
2872+
27992873
"@firebase/functions-compat@npm:0.4.0":
28002874
version: 0.4.0
28012875
resolution: "@firebase/functions-compat@npm:0.4.0"
@@ -3004,13 +3078,36 @@ __metadata:
30043078
languageName: node
30053079
linkType: hard
30063080

3081+
"@firebase/remote-config-compat@npm:0.2.20":
3082+
version: 0.2.20
3083+
resolution: "@firebase/remote-config-compat@npm:0.2.20"
3084+
dependencies:
3085+
"@firebase/component": "npm:0.7.0"
3086+
"@firebase/logger": "npm:0.5.0"
3087+
"@firebase/remote-config": "npm:0.7.0"
3088+
"@firebase/remote-config-types": "npm:0.5.0"
3089+
"@firebase/util": "npm:1.13.0"
3090+
tslib: "npm:^2.1.0"
3091+
peerDependencies:
3092+
"@firebase/app-compat": 0.x
3093+
checksum: 10/f01e4f4c39bcb78a02282279a079c7c73bcfc66e639b60aa92d185aead9800ad41b27d3b71637ba8ca4e29b8b7892f13ede7964f584a0858c9d104ea40d2b0ba
3094+
languageName: node
3095+
linkType: hard
3096+
30073097
"@firebase/remote-config-types@npm:0.4.0":
30083098
version: 0.4.0
30093099
resolution: "@firebase/remote-config-types@npm:0.4.0"
30103100
checksum: 10/67de8c448412974bdbdc10b6bca90d957fa81f967553ff9a4aee316d374f9ebb3a24fa2541af639c1a1ece79070fab0ab64c925bcf6bb807e212cba3297e5ddf
30113101
languageName: node
30123102
linkType: hard
30133103

3104+
"@firebase/remote-config-types@npm:0.5.0":
3105+
version: 0.5.0
3106+
resolution: "@firebase/remote-config-types@npm:0.5.0"
3107+
checksum: 10/6e94669de272a32fe04009a73ac59d4bb97cee463d5d0dcde6cb79d5a8e1bd702bd81e7a41025ee7460c9a7ea777c0cc78c8e29d61b9e60cac258820345257da
3108+
languageName: node
3109+
linkType: hard
3110+
30143111
"@firebase/remote-config@npm:0.6.6":
30153112
version: 0.6.6
30163113
resolution: "@firebase/remote-config@npm:0.6.6"
@@ -3026,6 +3123,21 @@ __metadata:
30263123
languageName: node
30273124
linkType: hard
30283125

3126+
"@firebase/remote-config@npm:0.7.0":
3127+
version: 0.7.0
3128+
resolution: "@firebase/remote-config@npm:0.7.0"
3129+
dependencies:
3130+
"@firebase/component": "npm:0.7.0"
3131+
"@firebase/installations": "npm:0.6.19"
3132+
"@firebase/logger": "npm:0.5.0"
3133+
"@firebase/util": "npm:1.13.0"
3134+
tslib: "npm:^2.1.0"
3135+
peerDependencies:
3136+
"@firebase/app": 0.x
3137+
checksum: 10/4dc5d2a6404360d9e0078801843e68e2f0e7a77e3ef690edf7cc941727eb8241a6e69f2b8fe1b130cde11e06344d4bac8015d3368c08a936fe93edb7e78d88bc
3138+
languageName: node
3139+
linkType: hard
3140+
30293141
"@firebase/rules-unit-testing@npm:^5.0.0":
30303142
version: 5.0.0
30313143
resolution: "@firebase/rules-unit-testing@npm:5.0.0"
@@ -3089,6 +3201,13 @@ __metadata:
30893201
languageName: node
30903202
linkType: hard
30913203

3204+
"@firebase/webchannel-wrapper@npm:1.0.5":
3205+
version: 1.0.5
3206+
resolution: "@firebase/webchannel-wrapper@npm:1.0.5"
3207+
checksum: 10/def9e11a777fb607ce869de2324c6b9f8230e2a62e97d745d5aeafdb5eda2e206855de609d14c128feb112e53d5c94cd4ca6ecaee180da96d27233a703ad9582
3208+
languageName: node
3209+
linkType: hard
3210+
30923211
"@flatten-js/interval-tree@npm:^1.1.2":
30933212
version: 1.1.3
30943213
resolution: "@flatten-js/interval-tree@npm:1.1.3"
@@ -5159,7 +5278,7 @@ __metadata:
51595278
dependencies:
51605279
"@react-native-async-storage/async-storage": "npm:^2.2.0"
51615280
expo: "npm:^53.0.20"
5162-
firebase: "npm:12.2.1"
5281+
firebase: "npm:12.3.0"
51635282
peerDependencies:
51645283
expo: ">=47.0.0"
51655284
react: "*"
@@ -5292,6 +5411,9 @@ __metadata:
52925411
"@react-native-firebase/remote-config@npm:23.4.0, @react-native-firebase/remote-config@workspace:packages/remote-config":
52935412
version: 0.0.0-use.local
52945413
resolution: "@react-native-firebase/remote-config@workspace:packages/remote-config"
5414+
dependencies:
5415+
"@types/text-encoding": "npm:^0.0.40"
5416+
text-encoding: "npm:^0.7.0"
52955417
peerDependencies:
52965418
"@react-native-firebase/analytics": 23.4.0
52975419
"@react-native-firebase/app": 23.4.0
@@ -11765,25 +11887,25 @@ __metadata:
1176511887
languageName: node
1176611888
linkType: hard
1176711889

11768-
"firebase@npm:12.2.1, firebase@npm:^12.2.1":
11769-
version: 12.2.1
11770-
resolution: "firebase@npm:12.2.1"
11890+
"firebase@npm:12.3.0":
11891+
version: 12.3.0
11892+
resolution: "firebase@npm:12.3.0"
1177111893
dependencies:
11772-
"@firebase/ai": "npm:2.2.1"
11894+
"@firebase/ai": "npm:2.3.0"
1177311895
"@firebase/analytics": "npm:0.10.18"
1177411896
"@firebase/analytics-compat": "npm:0.2.24"
11775-
"@firebase/app": "npm:0.14.2"
11897+
"@firebase/app": "npm:0.14.3"
1177611898
"@firebase/app-check": "npm:0.11.0"
1177711899
"@firebase/app-check-compat": "npm:0.4.0"
11778-
"@firebase/app-compat": "npm:0.5.2"
11900+
"@firebase/app-compat": "npm:0.5.3"
1177911901
"@firebase/app-types": "npm:0.9.3"
1178011902
"@firebase/auth": "npm:1.11.0"
1178111903
"@firebase/auth-compat": "npm:0.6.0"
1178211904
"@firebase/data-connect": "npm:0.3.11"
1178311905
"@firebase/database": "npm:1.1.0"
1178411906
"@firebase/database-compat": "npm:2.1.0"
11785-
"@firebase/firestore": "npm:4.9.1"
11786-
"@firebase/firestore-compat": "npm:0.4.1"
11907+
"@firebase/firestore": "npm:4.9.2"
11908+
"@firebase/firestore-compat": "npm:0.4.2"
1178711909
"@firebase/functions": "npm:0.13.1"
1178811910
"@firebase/functions-compat": "npm:0.4.1"
1178911911
"@firebase/installations": "npm:0.6.19"
@@ -11792,12 +11914,12 @@ __metadata:
1179211914
"@firebase/messaging-compat": "npm:0.2.23"
1179311915
"@firebase/performance": "npm:0.7.9"
1179411916
"@firebase/performance-compat": "npm:0.2.22"
11795-
"@firebase/remote-config": "npm:0.6.6"
11796-
"@firebase/remote-config-compat": "npm:0.2.19"
11917+
"@firebase/remote-config": "npm:0.7.0"
11918+
"@firebase/remote-config-compat": "npm:0.2.20"
1179711919
"@firebase/storage": "npm:0.14.0"
1179811920
"@firebase/storage-compat": "npm:0.4.0"
1179911921
"@firebase/util": "npm:1.13.0"
11800-
checksum: 10/5fd586cecc4621fbd04fc0975b167ebe4ba1abf912e8ea7b0cae000a01380ff1ea5153e76de521fa3d245febddf0b3a9e1e251059a19b19602a1b977052a7617
11922+
checksum: 10/88506d275f9cbddf071ad39b204b88f8ebcc8c8554c3a56722d81d1911664b1b616211dc1163b045f3524d800d2c40f82ecb1243fdd6512b0e6fb82e9bcffefe
1180111923
languageName: node
1180211924
linkType: hard
1180311925

@@ -11837,6 +11959,42 @@ __metadata:
1183711959
languageName: node
1183811960
linkType: hard
1183911961

11962+
"firebase@npm:^12.2.1":
11963+
version: 12.2.1
11964+
resolution: "firebase@npm:12.2.1"
11965+
dependencies:
11966+
"@firebase/ai": "npm:2.2.1"
11967+
"@firebase/analytics": "npm:0.10.18"
11968+
"@firebase/analytics-compat": "npm:0.2.24"
11969+
"@firebase/app": "npm:0.14.2"
11970+
"@firebase/app-check": "npm:0.11.0"
11971+
"@firebase/app-check-compat": "npm:0.4.0"
11972+
"@firebase/app-compat": "npm:0.5.2"
11973+
"@firebase/app-types": "npm:0.9.3"
11974+
"@firebase/auth": "npm:1.11.0"
11975+
"@firebase/auth-compat": "npm:0.6.0"
11976+
"@firebase/data-connect": "npm:0.3.11"
11977+
"@firebase/database": "npm:1.1.0"
11978+
"@firebase/database-compat": "npm:2.1.0"
11979+
"@firebase/firestore": "npm:4.9.1"
11980+
"@firebase/firestore-compat": "npm:0.4.1"
11981+
"@firebase/functions": "npm:0.13.1"
11982+
"@firebase/functions-compat": "npm:0.4.1"
11983+
"@firebase/installations": "npm:0.6.19"
11984+
"@firebase/installations-compat": "npm:0.2.19"
11985+
"@firebase/messaging": "npm:0.12.23"
11986+
"@firebase/messaging-compat": "npm:0.2.23"
11987+
"@firebase/performance": "npm:0.7.9"
11988+
"@firebase/performance-compat": "npm:0.2.22"
11989+
"@firebase/remote-config": "npm:0.6.6"
11990+
"@firebase/remote-config-compat": "npm:0.2.19"
11991+
"@firebase/storage": "npm:0.14.0"
11992+
"@firebase/storage-compat": "npm:0.4.0"
11993+
"@firebase/util": "npm:1.13.0"
11994+
checksum: 10/5fd586cecc4621fbd04fc0975b167ebe4ba1abf912e8ea7b0cae000a01380ff1ea5153e76de521fa3d245febddf0b3a9e1e251059a19b19602a1b977052a7617
11995+
languageName: node
11996+
linkType: hard
11997+
1184011998
"flat-cache@npm:^4.0.0":
1184111999
version: 4.0.1
1184212000
resolution: "flat-cache@npm:4.0.1"

0 commit comments

Comments
 (0)