Skip to content

Commit d095ad3

Browse files
authored
Log correct version for v9 Firestore and RTDB (#4842)
* report correct version for v8 and v9 * set correct version for firestore compat * use SDK_VERSION from app-exp * use v8 version by default * update lite * update lock * fix lint errors * address comments * get SDK_VERSION value correctly * fix lint
1 parent f3a1a3f commit d095ad3

File tree

9 files changed

+47
-11
lines changed

9 files changed

+47
-11
lines changed

packages/database/exp/register.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,16 @@
1515
* limitations under the License.
1616
*/
1717

18-
// eslint-disable-next-line import/no-extraneous-dependencies
19-
import { _registerComponent, registerVersion } from '@firebase/app-exp';
18+
import {
19+
_registerComponent,
20+
registerVersion,
21+
SDK_VERSION
22+
// eslint-disable-next-line import/no-extraneous-dependencies
23+
} from '@firebase/app-exp';
2024
import { Component, ComponentType } from '@firebase/component';
2125

2226
import { name, version } from '../package.json';
27+
import { setSDKVersion } from '../src/core/version';
2328
import {
2429
FirebaseDatabase,
2530
repoManagerDatabaseFromApp
@@ -32,6 +37,7 @@ declare module '@firebase/component' {
3237
}
3338

3439
export function registerDatabase(variant?: string): void {
40+
setSDKVersion(SDK_VERSION);
3541
_registerComponent(
3642
new Component(
3743
'database-exp',

packages/firestore/compat/index.node.ts

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import firebase from '@firebase/app-compat';
2020
import { FirebaseNamespace } from '@firebase/app-types';
2121

2222
import { Firestore, IndexedDbPersistenceProvider } from '../src/api/database';
23+
import { setSDKVersion } from '../src/core/version';
2324

2425
import { registerBundle } from './bundle';
2526
import { configureForFirebase } from './config';
@@ -30,6 +31,7 @@ import { name, version } from './package.json';
3031
* Persistence can be enabled via `firebase.firestore().enablePersistence()`.
3132
*/
3233
export function registerFirestore(instance: FirebaseNamespace): void {
34+
setSDKVersion(instance.SDK_VERSION);
3335
configureForFirebase(
3436
instance,
3537
(app, firestoreExp) =>

packages/firestore/compat/index.rn.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,17 @@ import firebase from '@firebase/app-compat';
2020
import { FirebaseNamespace } from '@firebase/app-types';
2121

2222
import { Firestore, IndexedDbPersistenceProvider } from '../src/api/database';
23+
import { setSDKVersion } from '../src/core/version';
2324

2425
import { registerBundle } from './bundle';
2526
import { configureForFirebase } from './config';
2627
import { name, version } from './package.json';
27-
2828
/**
2929
* Registers the main Firestore ReactNative build with the components framework.
3030
* Persistence can be enabled via `firebase.firestore().enablePersistence()`.
3131
*/
3232
export function registerFirestore(instance: FirebaseNamespace): void {
33+
setSDKVersion(instance.SDK_VERSION);
3334
configureForFirebase(
3435
instance,
3536
(app, firestoreExp) =>

packages/firestore/compat/index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { FirebaseNamespace } from '@firebase/app-types';
2121
import * as types from '@firebase/firestore-types';
2222

2323
import { Firestore, IndexedDbPersistenceProvider } from '../src/api/database';
24+
import { setSDKVersion } from '../src/core/version';
2425

2526
import { registerBundle } from './bundle';
2627
import { configureForFirebase } from './config';
@@ -33,6 +34,7 @@ import '../register-module';
3334
* Persistence can be enabled via `firebase.firestore().enablePersistence()`.
3435
*/
3536
export function registerFirestore(instance: FirebaseNamespace): void {
37+
setSDKVersion(instance.SDK_VERSION);
3638
configureForFirebase(
3739
instance,
3840
(app, firestoreExp) =>

packages/firestore/exp/register.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,15 @@
1515
* limitations under the License.
1616
*/
1717

18-
import { _registerComponent, registerVersion } from '@firebase/app-exp';
18+
import {
19+
_registerComponent,
20+
registerVersion,
21+
SDK_VERSION
22+
} from '@firebase/app-exp';
1923
import { Component, ComponentType } from '@firebase/component';
2024

2125
import { name, version } from '../package.json';
26+
import { setSDKVersion } from '../src/core/version';
2227
import { FirebaseFirestore } from '../src/exp/database';
2328
import { Settings } from '../src/exp/settings';
2429

@@ -29,6 +34,7 @@ declare module '@firebase/component' {
2934
}
3035

3136
export function registerFirestore(variant?: string): void {
37+
setSDKVersion(SDK_VERSION);
3238
_registerComponent(
3339
new Component(
3440
'firestore-exp',

packages/firestore/lite/register.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,15 @@
1515
* limitations under the License.
1616
*/
1717

18-
import { _registerComponent, registerVersion } from '@firebase/app-exp';
18+
import {
19+
_registerComponent,
20+
registerVersion,
21+
SDK_VERSION
22+
} from '@firebase/app-exp';
1923
import { Component, ComponentType } from '@firebase/component';
2024

2125
import { version } from '../package.json';
26+
import { setSDKVersion } from '../src/core/version';
2227
import { FirebaseFirestore } from '../src/lite/database';
2328
import { Settings } from '../src/lite/settings';
2429

@@ -29,6 +34,7 @@ declare module '@firebase/component' {
2934
}
3035

3136
export function registerFirestore(): void {
37+
setSDKVersion(`${SDK_VERSION}_lite`);
3238
_registerComponent(
3339
new Component(
3440
'firestore/lite',

packages/firestore/src/core/version.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,8 @@
1616
*/
1717

1818
/** The semver (www.semver.org) version of the SDK. */
19-
export { version as SDK_VERSION } from '../../../firebase/package.json';
19+
import { version } from '../../../firebase/package.json';
20+
export let SDK_VERSION = version;
21+
export function setSDKVersion(version: string): void {
22+
SDK_VERSION = version;
23+
}

packages/firestore/src/remote/rest_connection.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,12 @@ RPC_NAME_URL_MAPPING['Commit'] = 'commit';
3939
RPC_NAME_URL_MAPPING['RunQuery'] = 'runQuery';
4040

4141
const RPC_URL_VERSION = 'v1';
42-
const X_GOOG_API_CLIENT_VALUE = 'gl-js/ fire/' + SDK_VERSION;
4342

43+
// SDK_VERSION is updated to different value at runtime depending on the entry point,
44+
// so we need to get its value when we need it in a function.
45+
function getGoogApiClientValue(): string {
46+
return 'gl-js/ fire/' + SDK_VERSION;
47+
}
4448
/**
4549
* Base class for all Rest-based connections to the backend (WebChannel and
4650
* HTTP).
@@ -118,7 +122,7 @@ export abstract class RestConnection implements Connection {
118122
headers: StringMap,
119123
token: Token | null
120124
): void {
121-
headers['X-Goog-Api-Client'] = X_GOOG_API_CLIENT_VALUE;
125+
headers['X-Goog-Api-Client'] = getGoogApiClientValue();
122126

123127
// Content-Type: text/plain will avoid preflight requests which might
124128
// mess with CORS and redirects by proxies. If we add custom headers

yarn.lock

+8-3
Original file line numberDiff line numberDiff line change
@@ -1196,6 +1196,11 @@
11961196
resolved "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.1.tgz#dcbd23030a71c0c74fc95d4a3f75ba81653850e9"
11971197
integrity sha512-L/ZnJRAq7F++utfuoTKX4CLBG5YR7tFO3PLzG1/oXXKEezJ0kRL3CMRoueBEmTCzVb/6SIs2Qlaw++uDgi5Xyg==
11981198

1199+
"@firebase/[email protected]":
1200+
version "0.1.5"
1201+
resolved "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.5.tgz#9fc9bd7c879f16b8d1bb08373a0f48c3a8b74557"
1202+
integrity sha512-88h74TMQ6wXChPA6h9Q3E1Jg6TkTHep2+k63OWg3s0ozyGVMeY+TTOti7PFPzq5RhszQPQOoCi59es4MaRvgCw==
1203+
11991204
"@firebase/[email protected]":
12001205
version "0.1.21"
12011206
resolved "https://registry.npmjs.org/@firebase/component/-/component-0.1.21.tgz#56062eb0d449dc1e7bbef3c084a9b5fa48c7c14d"
@@ -7482,8 +7487,8 @@ [email protected]:
74827487
"@firebase/app-exp" "0.0.900"
74837488
"@firebase/auth-compat" "0.0.900"
74847489
"@firebase/auth-exp" "0.0.900"
7485-
"@firebase/database" "0.9.10"
7486-
"@firebase/firestore" "2.2.4"
7490+
"@firebase/database" "0.9.11"
7491+
"@firebase/firestore" "2.2.5"
74877492
"@firebase/functions-compat" "0.0.900"
74887493
"@firebase/functions-exp" "0.0.900"
74897494
"@firebase/messaging-compat" "0.0.900"
@@ -7492,7 +7497,7 @@ [email protected]:
74927497
"@firebase/performance-exp" "0.0.900"
74937498
"@firebase/remote-config-compat" "0.0.900"
74947499
"@firebase/remote-config-exp" "0.0.900"
7495-
"@firebase/storage" "0.5.0"
7500+
"@firebase/storage" "0.5.1"
74967501

74977502
74987503
version "3.13.0"

0 commit comments

Comments
 (0)