You’re using:
"firebase-tools": "^14.24.1"
"firebase-functions": "6.6.0"
→ Problem: emulator support for firebase-functions v2 CloudEvent format was added only in v14.0.0+, and full support came later (~v15+).
Fix:
Upgrade Firebase CLI and dependencies:
npm install -g firebase-tools@latest
npm install firebase-functions@latest firebase-admin@latest
The Firebase Emulator does not yet fully support Node 22 runtime.
Your package.json says:
"engines": {
"node": "22"
}
Fix:
Downgrade temporarily to a supported version for local testing:
"engines": {
"node": "20"
}
Or use Node 20 in your local environment when emulating.
Separate v1 and v2 triggers into different files to avoid cross-import issues:
// index.js
exports.authTriggers = require('./auth');
exports.firestoreTriggers = require('./firestore');
That avoids old v1 helpers accidentally mixing with v2 definitions.
If you need confirmation that it’s not your logic:
firebase deploy --only functions:onPrivateUserDataUpdateTrigger