Version info
Angular: any supported by current AngularFire
AngularFire: main today, and every release since the firebase-functions 6 upgrade
How to reproduce these conditions
ng deploy with SSR generates the Cloud Function it deploys from the templates in src/schematics/deploy/functions-templates.ts. Three defects in what it generates:
-
The default runtime is Node 14. DEFAULT_NODE_VERSION = 14, and nothing sets functionsNodeVersion by default, so the generated manifest carries "engines": { "node": "14" }. Cloud Functions decommissioned the nodejs14 runtime in early 2025 and deployment with it is disabled. The same constant also picks the Cloud Run base image (FROM node:14-slim), a tag last rebuilt in 2023.
-
The gen 1 function crashes at cold start on firebase-functions 6. The default template emits const functions = require('firebase-functions') and calls functions.region(...). On firebase-functions 6, which this repo depends on (^6.1.0), the v1 API lives on the firebase-functions/v1 subpath and region is not on the package root. Running the generated file verbatim:
TypeError: functions.region is not a function
This is the default path, since CF3v2 has no default and nothing sets it.
-
The docs example is out of date. docs/deploy/getting-started.md shows "functionsNodeVersion": 12, another decommissioned runtime.
Expected behavior
The generated function declares a runtime Cloud Functions accepts and loads against the firebase-functions major this repo depends on.
Actual behavior
The deploy is refused for the dead runtime, and a function that does reach deployment dies on its first request.
Related: #3676.
Version info
Angular: any supported by current AngularFire
AngularFire:
maintoday, and every release since the firebase-functions 6 upgradeHow to reproduce these conditions
ng deploywith SSR generates the Cloud Function it deploys from the templates insrc/schematics/deploy/functions-templates.ts. Three defects in what it generates:The default runtime is Node 14.
DEFAULT_NODE_VERSION = 14, and nothing setsfunctionsNodeVersionby default, so the generated manifest carries"engines": { "node": "14" }. Cloud Functions decommissioned thenodejs14runtime in early 2025 and deployment with it is disabled. The same constant also picks the Cloud Run base image (FROM node:14-slim), a tag last rebuilt in 2023.The gen 1 function crashes at cold start on firebase-functions 6. The default template emits
const functions = require('firebase-functions')and callsfunctions.region(...). On firebase-functions 6, which this repo depends on (^6.1.0), the v1 API lives on thefirebase-functions/v1subpath andregionis not on the package root. Running the generated file verbatim:This is the default path, since
CF3v2has no default and nothing sets it.The docs example is out of date.
docs/deploy/getting-started.mdshows"functionsNodeVersion": 12, another decommissioned runtime.Expected behavior
The generated function declares a runtime Cloud Functions accepts and loads against the firebase-functions major this repo depends on.
Actual behavior
The deploy is refused for the dead runtime, and a function that does reach deployment dies on its first request.
Related: #3676.