Skip to content

Commit 6741d27

Browse files
authored
fix(emulator): skip legacy monkeypatching for firebase-functions v7+ (#9401)
* fix(emulator): skip legacy monkeypatching for firebase-functions v7+ Detects `firebase-functions` v7+ in the emulator runtime and skips legacy stubs and config helpers that are incompatible with the new SDK version, preserving backward compatibility for older versions. * docs: add changelog entry for #9401
1 parent deaf078 commit 6741d27

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
- Fixed an issue where the emulator would fail to start when using `firebase-functions` v7+ (#9401).
12
- Added `functions.list_functions` as a MCP tool (#9369)
23
- Added AI Logic to `firebase init` CLI command and `firebase_init` MCP tool. (#9185)
34
- Improved error messages for Firebase AI Logic provisioning during 'firebase init' (#9377)

src/emulator/functionsEmulatorRuntime.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,11 @@ https://github.com/firebase/firebase-functions/blob/9e3bda13565454543b4c7b2fd10f
400400
*/
401401
async function initializeFirebaseFunctionsStubs(): Promise<void> {
402402
const firebaseFunctionsResolution = await assertResolveDeveloperNodeModule("firebase-functions");
403+
if (compareVersionStrings(firebaseFunctionsResolution.version, "7.0.0") >= 0) {
404+
logDebug("Detected firebase-functions v7+, skipping legacy stubs.");
405+
return;
406+
}
407+
403408
const firebaseFunctionsRoot = findModuleRoot(
404409
"firebase-functions",
405410
firebaseFunctionsResolution.resolution,
@@ -711,6 +716,11 @@ function warnAboutStorageProd(): void {
711716

712717
async function initializeFunctionsConfigHelper(): Promise<void> {
713718
const functionsResolution = await assertResolveDeveloperNodeModule("firebase-functions");
719+
if (compareVersionStrings(functionsResolution.version, "7.0.0") >= 0) {
720+
logDebug("Detected firebase-functions v7+, skipping config helper.");
721+
return;
722+
}
723+
714724
const localFunctionsModule = require(functionsResolution.resolution);
715725

716726
logDebug("Checked functions.config()", {

0 commit comments

Comments
 (0)