Skip to content

Cloud Functions compatibility

This reference records the currently implemented Cloud Functions-compatible surface in Nimbus for both Firebase v2 authors and standalone @google-cloud/functions-framework authors.

For the practical adoption path, see Migrate Cloud Functions.

LabelMeaning
supportedImplemented and exercised by tests or generated-bundle smoke.
supported with caveatsUsable now, but with an intentionally narrow option matrix or an explicit runtime boundary.
deferredExplicitly outside the current claim.
not claimedNo compatibility promise yet.
AudienceStatusNotes
Firebase v2 Firestore trigger authorssupportedCovered firebase-functions/v2 imports and Firestore trigger helpers execute without source rewrites.
Firebase v2 HTTPS authors (onRequest, onCall)supported with caveatsBase overloads are covered; option matrices stay intentionally narrow and fail fast outside the documented slice.
Standalone Functions Framework CloudEvent authorssupportedfunctions.cloudEvent(name, handler) is covered with deploy-time targets.json bindings.
Standalone Functions Framework HTTP authorssupportedfunctions.http(name, handler) is covered on the Nimbus-hosted HTTP surface.
Standalone Functions Framework local dev server paritydeferredNimbus hosts execution inside its own server; no full FUNCTION_TARGET / generic framework web-server parity claim.
SurfaceStatusCurrent claimExplicit caveats
onDocumentCreatedsupportedRuns through the durable trigger registry and Firestore CloudEvent model.Default database only.
onDocumentUpdatedsupportedReal updates fire with Firebase-shaped event objects.No-op overwrites do not emit update events.
onDocumentDeletedsupportedCovered on the shared trigger path.Default database only.
onDocumentWrittensupportedCovered on the shared trigger path, including retry inheritance.Default database only.
setGlobalOptions()supported with caveatsCovered only for documented first-slice root defaults.Only retry is inherited, and only for Firestore document triggers.
onRequest(handler)supportedHandlers serve at /<exportName> on the Nimbus server.Base overload only; unsupported HttpsOptions fail fast.
onRequest({}, handler)supportedSame runtime path as functions.http().Empty-options overload only.
onCall(handler)supportedCallable JSON envelope, default CORS behavior, and HttpsError mapping are covered.App Check verification is deferred; option matrix is narrow.
onCall({}, handler)supportedSame callable protocol as onCall(handler).Empty-options overload only.
functions.cloudEvent(name, handler)supportedCovered with deploy-time targets.json binding metadata.Requires a binding entry in .nimbus/firebase/targets.json.
functions.http(name, handler)supportedCovered on the Nimbus-hosted HTTP surface.Requires a binding entry in .nimbus/firebase/targets.json.
ConcernStatusCurrent claim
Firebase firebase.json + functions.source discoverysupportedThe dev loop auto-detects the nearest compatible Firebase app root from the current directory or its parents.
Firebase multi-codebase mappingsupportedfirebase.json codebase / source layouts are preserved.
Standalone Functions Framework package discoverysupportedA package root is auto-detected when package.json declares @google-cloud/functions-framework.
Explicit --app-dir overridesupportedAuthoritative for ambiguous or nonstandard repos; required for nimbus start, which does no walk-up.
Generated artifact rootsupportedCloud Functions outputs live under .nimbus/firebase/ (artifact.json, targets.json, bundle.mjs, bundle.sha256).
ConcernStatusCurrent claim
Delivery modelsupportedAt-least-once delivery backed by a durable invocation ledger plus a journal-backed materialization cursor.
Retry behaviorsupportedRetryable failures persist durable retry state and replay after delay or restart.
Crash / restart replaysupportedPending and due-retry invocations are replayed after restart.
Trigger execution principalsupportedFirestore document triggers execute under a service principal, not the calling end-user principal.
Chain depth limitingsupportedRecursive trigger chains stop at the configured depth budget instead of looping forever.
No-op update suppressionsupportedNo-op overwrites do not emit onDocumentUpdated() events.
Named databasesdeferredCoverage is only for Firestore (default).

The covered admin slice is intentionally narrow and source-compatible.

Module / helperStatus
firebase-admin/app initializeApp()supported
firebase-admin/app getApp() / getApps() / deleteApp()supported
firebase-admin/firestore getFirestore() (default database)supported
collection(path) / doc(path) / nested collection(path)supported
DocumentReference.get() / set() / update() / delete()supported
DocumentSnapshot.data() / get(fieldPath)supported
Covered Timestamp helperssupported
Other firebase-admin modules or Firestore admin helpersdeferred — unsupported methods fail clearly rather than silently stub
SurfaceStatusCovered fields
setGlobalOptions() for Firestore document triggerssupported with caveatsretry only
setGlobalOptions() for onRequest() / onCall()supported with caveatsNone inherited in the current slice
onInit()deferredExplicit fail-fast boundary
SurfaceStatusCovered contract
DocumentOptionssupported with caveatsNarrow first-slice document trigger fields only; unsupported fields fail validation.
HttpsOptionssupported with caveatsBase onRequest(handler) and onRequest({}, handler) overloads only; explicit option fields fail fast.
CallableOptionssupported with caveatsBase onCall(handler) and onCall({}, handler) overloads only; explicit option fields fail fast.
ConcernStatusCurrent claim
functions.http(name, handler) public pathsupportedComes from targets.json binding metadata.
Firebase onRequest public pathsupported/<exportName>.
Firebase onCall public pathsupported/<exportName>.
Callable JSON envelopesupportedCovered.
Callable default CORS behaviorsupportedCovered.
HttpsError / FunctionsErrorCode mappingsupportedCovered.
Callable auth context with application auth enabledsupported with caveatsThe runtime path supports it; current coverage centers on the default unauthenticated baseline.
App Check verificationdeferredExplicit fail-fast boundary.
  • Full standalone Functions Framework local web-server parity.
  • Firebase Emulator Suite control-plane parity.
  • Non-default Firestore database routing.
  • Background triggers outside Firestore document events.
  • Auth-context Firestore trigger variants.
  • Broad firebase-admin parity beyond the documented slice.
  • Broader GlobalOptions, DocumentOptions, HttpsOptions, or CallableOptions matrices beyond the covered base overloads.