Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrading Firebase-Functions from firebase-functions v4.3.1 to v6.0.1 cause gen 1 functions triggers to be undefined. #1622

Open
dual-x-tech opened this issue Sep 21, 2024 · 8 comments

Comments

@dual-x-tech
Copy link

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

@AmilKey
Copy link

AmilKey commented Sep 23, 2024

use const functions = require('firebase-functions/v1');

@ekremcet
Copy link

ekremcet commented Sep 24, 2024

same issue here, auth is missing after updating to 6.0.0

CleanShot 2024-09-24 at 16 08 20@2x

@dual-x-tech
Copy link
Author

dual-x-tech commented Sep 24, 2024

use const functions = require('firebase-functions/v1');

Tried this approach and it did not work.

  1. Downgrading using npm install firebase-admin@11.8.0
    npm install firebase-functions@4.9.0

  2. removing my node_modules folder and package_lock.json file

  3. run npm install

  4. then deploying the functions again worked for me.

@davie-robertson
Copy link

#1614 (comment)

@AntonioArroyave
Copy link

same

@abdulloooh
Copy link

abdulloooh commented Oct 30, 2024

use const functions = require('firebase-functions/v1');

Tried this approach and it did not work.

  1. Downgrading using npm install firebase-admin@11.8.0
    npm install firebase-functions@4.9.0
  2. removing my node_modules folder and package_lock.json file
  3. run npm install
  4. then deploying the functions again worked for me.

Yes, the /v1 approach did not work but your the other suggestion of yours worked, thanks.

@alamparelli
Copy link

alamparelli commented Oct 31, 2024

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);
});

@slk333
Copy link

slk333 commented Nov 9, 2024

I got it working by doing

import { auth } from "firebase-functions/v1"
export const onDeleteAccount = auth.user().onDelete(async function (user) {

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants