firebase-functions
firebase-functions copied to clipboard
Module '"firebase-functions/v1"' has no exported member 'onInit'.
Related issues
[REQUIRED] Version info
node: v18.18.0
firebase-functions:: ^4.7.0
firebase-tools:: ^12.7.0
firebase-admin:: 13.2.1
[REQUIRED] Test case
const { GoogleGenerativeAI } = require('@google/generative-ai');
const { defineSecret } = require('firebase-functions/params');
const { onInit } = require('firebase-functions/v1');
const apiKey = defineSecret('GOOGLE_API_KEY');
let genAI;
onInit(() => {
genAI = new GoogleGenerativeAI(apiKey.value());
})
[REQUIRED] Steps to reproduce
Just copy the example from the official documentation.
[REQUIRED] Expected behavior
To have a module named onInit
[REQUIRED] Actual behavior
TypeError: onInit is not a function
at Object.
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.
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
I've tried the same but with v2 without luck:
import {onInit} from "firebase-functions/v2/core";
...
const stripePrivateKey = defineString("STRIPE_PRIVATE_KEY");
const stripeWebhookSecret = defineString("STRIPE_WEBHOOK_SECRET");
...
let stripe: Stripe;
let STRIPE_WEBHOOK_SECRET: string;
onInit(() => {
stripe = new Stripe(stripePrivateKey.value());
STRIPE_WEBHOOK_SECRET = stripeWebhookSecret.value();
});
....
And I'm getting this error:
However if I hover the mouse over I get this:
You should be importing it directly from firebase-functions. So @ezequieltejada your code sample would be:
import {onInit} from "firebase-functions";
...
const stripePrivateKey = defineString("STRIPE_PRIVATE_KEY");
const stripeWebhookSecret = defineString("STRIPE_WEBHOOK_SECRET");
...
let stripe: Stripe;
let STRIPE_WEBHOOK_SECRET: string;
onInit(() => {
stripe = new Stripe(stripePrivateKey.value());
STRIPE_WEBHOOK_SECRET = stripeWebhookSecret.value();
});
....
Let me know if this fixes your issue
I tried you suggestion and now it compiles, doesn't give an error. Thank you!!!
I'll close this issue as this is a problem with imports being incorrect initially :) Glad you were able to solve this. If you disagree with my closing and this issue is still reproducible even with the above imports, please let me know and I can reopen this isue following an investigation. Thank you