Skip to content

Commit fbe208c

Browse files
committed
Add logging of entry point type
1 parent d39768f commit fbe208c

File tree

11 files changed

+50
-6
lines changed

11 files changed

+50
-6
lines changed

packages/app-types/index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,5 +118,6 @@ declare module '@firebase/component' {
118118
interface NameServiceMapping {
119119
'app': FirebaseApp;
120120
'app-version': VersionService;
121+
'platform-identifier': VersionService;
121122
}
122123
}

packages/app/src/constants.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
export const DEFAULT_ENTRY_NAME = '[DEFAULT]';
1919

2020
export const PLATFORM_LOG_STRING = {
21-
'firebase': 'fire-js',
2221
'app': 'fire-core',
2322
'analytics': 'fire-analytics',
2423
'auth': 'fire-auth',
@@ -28,5 +27,12 @@ export const PLATFORM_LOG_STRING = {
2827
'performance': 'fire-perf',
2928
'remote-config': 'fire-rc',
3029
'storage': 'fire-gcs',
31-
'firestore': 'fire-fst'
30+
'firestore': 'fire-fst',
31+
'fire-js': 'fire-js', // Platform identifier for JS SDK.
32+
'fire-js-all-app': 'fire-js-all-app', // firebase/app import
33+
'fire-js-all': 'fire-js-all', // 'firebase' import
34+
'fire-js-all-node': 'fire-js-all-node',
35+
'fire-js-all-rn': 'fire-js-all-rn',
36+
'fire-js-all-lite': 'fire-js-all-lite',
37+
'fire-js-all-cdn': 'fire-js-all-cdn'
3238
} as const;

packages/app/src/firebaseApp.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,14 @@ export class FirebaseAppImpl implements FirebaseApp {
7878
ComponentType.VERSION
7979
)
8080
);
81+
this._addComponent(
82+
new Component(
83+
'platform-identifier',
84+
// Adds a string identifying version header as belonging to JS SDK
85+
() => new VersionService('fire-js', ''),
86+
ComponentType.VERSION
87+
)
88+
);
8189
// populate ComponentContainer with existing components
8290
for (const component of this.firebase_.INTERNAL.components.values()) {
8391
this._addComponent(component);

packages/app/src/platformLoggerService.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@ export class PlatformLoggerService {
3131
.map(provider => {
3232
const service = provider.getImmediate() as VersionService;
3333
const component = provider.getComponent();
34-
if (service && component && component.type === ComponentType.VERSION) {
34+
if (service && component?.type === ComponentType.VERSION) {
35+
// TODO: We can use this check to whitelist strings when/if we set up
36+
// a good whitelist system.
3537
const platformString =
3638
// eslint-disable-next-line @typescript-eslint/no-explicit-any
37-
(PLATFORM_LOG_STRING as any)[service.library] || service.library;
39+
(PLATFORM_LOG_STRING as any)[service.library] ?? service.library;
3840
return `${platformString}/${service.version}`;
3941
} else {
4042
return null;

packages/app/test/platformLogger.test.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ describe('Platform Logger Service', () => {
7979
);
8080
const platformLogger = (await platformLoggerProvider.get()) as PlatformLoggerService;
8181
const platformInfoString = platformLogger.getPlatformInfoString();
82-
expect(platformInfoString).to.include('fire-core');
82+
expect(platformInfoString).to.include('fire-core/');
83+
expect(platformInfoString).to.include('fire-js/ ');
8384
},
8485
ComponentType.PUBLIC
8586
)
@@ -100,6 +101,7 @@ describe('Platform Logger Service', () => {
100101
const platformLogger = (await platformLoggerProvider.get()) as PlatformLoggerService;
101102
const platformInfoString = platformLogger.getPlatformInfoString();
102103
expect(platformInfoString).to.include('fire-analytics/1.2.3');
104+
expect(platformInfoString).to.include('fire-js/ ');
103105
},
104106
ComponentType.PUBLIC
105107
)

packages/firebase/app/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import firebase from '@firebase/app';
1919
import { _FirebaseNamespace } from '@firebase/app-types/private';
2020

2121
(firebase as _FirebaseNamespace).registerVersion(
22-
'firebase',
22+
'fire-js-all-app',
2323
firebase.SDK_VERSION
2424
);
2525

packages/firebase/src/index.cdn.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,9 @@ import '../performance';
3939
import '../analytics';
4040
import '../remote-config';
4141

42+
firebase.registerVersion(
43+
'fire-js-all-cdn',
44+
firebase.SDK_VERSION
45+
);
46+
4247
export default firebase;

packages/firebase/src/index.node.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,9 @@ import '../database';
2222
import '../firestore';
2323
import '../functions';
2424

25+
firebase.registerVersion(
26+
'fire-js-all-node',
27+
firebase.SDK_VERSION
28+
);
29+
2530
export default firebase;

packages/firebase/src/index.perf.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,9 @@
1818
import firebase from '@firebase/app';
1919
import '@firebase/performance';
2020

21+
firebase.registerVersion(
22+
'fire-js-all-lite',
23+
firebase.SDK_VERSION
24+
);
25+
2126
export default firebase;

packages/firebase/src/index.rn.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,9 @@ import '../auth';
2121
import '../database';
2222
import '../storage';
2323

24+
firebase.registerVersion(
25+
'fire-js-all-rn',
26+
firebase.SDK_VERSION
27+
);
28+
2429
export default firebase;

packages/firebase/src/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,9 @@ import '../performance';
4848
import '../analytics';
4949
import '../remote-config';
5050

51+
firebase.registerVersion(
52+
'fire-js-all',
53+
firebase.SDK_VERSION
54+
);
55+
5156
export default firebase;

0 commit comments

Comments
 (0)