Skip to content

Commit f201221

Browse files
committed
fixup! feat(firebase): update e2e tests to use functions
1 parent ea06541 commit f201221

File tree

4 files changed

+23
-48
lines changed

4 files changed

+23
-48
lines changed

dev-packages/e2e-tests/test-applications/node-firebase/firestore-app/package.json

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,12 @@
99
"dependencies": {
1010
"@firebase/app": "^0.13.1",
1111
"@sentry/node": "latest || *",
12-
"@sentry/core": "latest || *",
13-
"@sentry/opentelemetry": "latest || *",
14-
"@types/node": "^22.13.14",
15-
"dotenv": "^16.4.5",
1612
"express": "^4.18.2",
17-
"firebase": "^12.0.0",
18-
"firebase-admin": "^13.5.0",
19-
"tsconfig-paths": "^4.2.0"
13+
"firebase": "^12.0.0"
2014
},
2115
"devDependencies": {
2216
"@types/express": "^4.17.13",
17+
"@types/node": "^22.13.14",
2318
"typescript": "5.9.3"
2419
}
2520
}

dev-packages/e2e-tests/test-applications/node-firebase/functions/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@
1111
"dependencies": {
1212
"firebase-admin": "^12.6.0",
1313
"firebase-functions": "^6.0.1",
14-
"@sentry/node": "latest || *",
15-
"@sentry/core": "latest || *",
16-
"@sentry/opentelemetry": "latest || *"
14+
"@sentry/node": "latest || *"
1715
},
1816
"devDependencies": {
1917
"typescript": "5.9.3"

dev-packages/e2e-tests/test-applications/node-firebase/functions/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import './init';
22

33
import { onDocumentCreated, onDocumentCreatedWithAuthContext } from 'firebase-functions/firestore';
4-
import { onCall, onRequest } from 'firebase-functions/https';
4+
import { onRequest } from 'firebase-functions/https';
55
import * as logger from 'firebase-functions/logger';
66
import { setGlobalOptions } from 'firebase-functions/options';
77
import * as admin from 'firebase-admin';

packages/node/src/integrations/tracing/firebase/otel/patches/functions.ts

Lines changed: 19 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -66,42 +66,24 @@ export function patchFunctions(
6666
}
6767

6868
const moduleFunctionsCJS = new InstrumentationNodeModuleDefinition('firebase-functions', functionsSupportedVersions);
69-
70-
moduleFunctionsCJS.files.push(
71-
new InstrumentationNodeModuleFile(
72-
'firebase-functions/lib/v2/providers/https.js',
73-
functionsSupportedVersions,
74-
moduleExports => wrapCommonFunctions(moduleExports, wrap, unwrap, tracer, functionsSpanCreationHook, 'function'),
75-
moduleExports => unwrapCommonFunctions(moduleExports, unwrap),
76-
),
77-
);
78-
79-
moduleFunctionsCJS.files.push(
80-
new InstrumentationNodeModuleFile(
81-
'firebase-functions/lib/v2/providers/firestore.js',
82-
functionsSupportedVersions,
83-
moduleExports => wrapCommonFunctions(moduleExports, wrap, unwrap, tracer, functionsSpanCreationHook, 'firestore'),
84-
moduleExports => unwrapCommonFunctions(moduleExports, unwrap),
85-
),
86-
);
87-
88-
moduleFunctionsCJS.files.push(
89-
new InstrumentationNodeModuleFile(
90-
'firebase-functions/lib/v2/providers/scheduler.js',
91-
functionsSupportedVersions,
92-
moduleExports => wrapCommonFunctions(moduleExports, wrap, unwrap, tracer, functionsSpanCreationHook, 'scheduler'),
93-
moduleExports => unwrapCommonFunctions(moduleExports, unwrap),
94-
),
95-
);
96-
97-
moduleFunctionsCJS.files.push(
98-
new InstrumentationNodeModuleFile(
99-
'firebase-functions/lib/v2/storage.js',
100-
functionsSupportedVersions,
101-
moduleExports => wrapCommonFunctions(moduleExports, wrap, unwrap, tracer, functionsSpanCreationHook, 'storage'),
102-
moduleExports => unwrapCommonFunctions(moduleExports, unwrap),
103-
),
104-
);
69+
const modulesToInstrument = [
70+
{ name: 'firebase-functions/lib/v2/providers/https.js', triggerType: 'function' },
71+
{ name: 'firebase-functions/lib/v2/providers/firestore.js', triggerType: 'firestore' },
72+
{ name: 'firebase-functions/lib/v2/providers/scheduler.js', triggerType: 'scheduler' },
73+
{ name: 'firebase-functions/lib/v2/storage.js', triggerType: 'storage' },
74+
] as const;
75+
76+
modulesToInstrument.forEach(({ name, triggerType }) => {
77+
moduleFunctionsCJS.files.push(
78+
new InstrumentationNodeModuleFile(
79+
name,
80+
functionsSupportedVersions,
81+
moduleExports =>
82+
wrapCommonFunctions(moduleExports, wrap, unwrap, tracer, functionsSpanCreationHook, triggerType),
83+
moduleExports => unwrapCommonFunctions(moduleExports, unwrap),
84+
),
85+
);
86+
});
10587

10688
return moduleFunctionsCJS;
10789
}
@@ -190,7 +172,7 @@ export function patchV2Functions<T extends FirebaseFunctions = FirebaseFunctions
190172
safeExecuteInTheMiddleAsync(
191173
() => handler.apply(this, handlerArgs),
192174
err => {
193-
if (err instanceof Error) {
175+
if (err) {
194176
span.recordException(err);
195177
}
196178

0 commit comments

Comments
 (0)