Upgrading Firebase-Functions from firebase-functions v4.3.1 to v6.0.1 cause gen 1 functions triggers to be undefined.
dual-x-tech opened this issue ยท 9 comments
Related issues
[REQUIRED] Version info
node:
v20.17.0
firebase-functions:
6.0.1
firebase-tools:
13.18.0
firebase-admin:
12.5.0
npm
10.8.2
[REQUIRED] Test case
[REQUIRED] Steps to reproduce
Upgrade firebase-admin to v12.5.0 and firebase-functions to v6.0.1
Try to deploy this basic code in parenthesis
"
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.helloWorld = functions.https.onRequest((req, res) => {
res.send('Hello from Firebase Functions!');
});
exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
console.log(sendWelcomeEmail New user created: UID - ${user.uid});
// Add your email sending logic here
return null; // Always return a value from a Cloud Function
});
"
},
[REQUIRED] Expected behavior
Expect the function to deploy without issue.
[REQUIRED] Actual behavior
TypeError: Cannot read properties of undefined (reading 'user')
Error: Functions codebase could not be analyzed successfully. It may have a syntax or runtime error
Were you able to successfully deploy your functions?
No, const functions = require('firebase-functions') in version 6.0.1 of firebase functions makes functions.auth.user() undefined
use const functions = require('firebase-functions/v1');
use
const functions = require('firebase-functions/v1');
Tried this approach and it did not work.
-
Downgrading using npm install firebase-admin@11.8.0
npm install firebase-functions@4.9.0 -
removing my node_modules folder and package_lock.json file
-
run npm install
-
then deploying the functions again worked for me.
same
use
const functions = require('firebase-functions/v1');Tried this approach and it did not work.
- Downgrading using npm install firebase-admin@11.8.0
npm install firebase-functions@4.9.0- removing my node_modules folder and package_lock.json file
- run npm install
- then deploying the functions again worked for me.
Yes, the /v1 approach did not work but your the other suggestion of yours worked, thanks.
Good afternoon, i also have the same issue, fresh install from today.
Downgraded and it works . Thank you :)
UPDATE : tested this from comment of @davie-robertson #1622 (comment) and it works too with the latest version๐๐ผ
import functions from 'firebase-functions/v1'
export const onUserCreate = functions.auth.user().onCreate((user) => {
console.log(user);
});
I got it working by doing
import { auth } from "firebase-functions/v1"
export const onDeleteAccount = auth.user().onDelete(async function (user) {
Since a solution has been proposed and the documentation reflects the '/v1' pattern, I'm going to close this issue. However, if you find any issues with the current documentation, feel free to open a new issue.
