I am trying to develop API for my apps using Firebase cloud functions.
Following this site to use the firebase emulator suite for development and testing locally.
Issue: The changes are not reflected in the locally emulated functions.
Steps:
index.js:
exports.test = functions.https.onRequest(async (request, response) => {
response.status(200).send("First");
});
Successfully deployed the test
method.
firebase deploy --only functions:test
In Postman made the following GET request.
https://us-central1-<project-name>.cloudfunctions.net/test
Result: First
Status: 200 OK
Started the emulators:
firebase emulators:start --only functions
In Postman made the following GET request.
http://localhost:5001/<project-name>/us-central1/indexTest
Result: First
Status: 200 OK
Same as the actual deployed function.
Changed the function code to:
exports.test = functions.https.onRequest(async (request, response) => {
response.status(200).send("Second");
});
Getting the same result as before when hitting the emulated function in localhost. The changes are not reflected.
Also, tried stopping the emulator and starting it again. No luck.
This error is because of the failed quitting from firebase emulator. You already have the process of previous firebase emulator. For a new start, you have to find and stop the previous process.
The Firebase Local Emulator Suite is a set of advanced tools for developers looking to build and test apps locally using Cloud Firestore, Realtime Database, Cloud Storage, Authentication, Cloud Functions, Pub/Sub, and Firebase Hosting. It provides a rich user interface to help you get running and prototyping quickly.
The Firebase CLI includes a Cloud Functions emulator which can emulate the following function types: Background functions triggered from Authentication, Realtime Database, Cloud Firestore, and Cloud Pub/Sub. You can run functions locally to test them before deploying to production.
In order to use the local emulator, your Cloud Functions must depend on: firebase-admin version 8.0.0 or higher. firebase-functions version 3.0.0 or higher.
You can run functions locally to test them before deploying to production. To use the Cloud Functions emulator, first install the Firebase CLI: In order to use the local emulator, your Cloud Functions must depend on: firebase-admin version 8.0.0 or higher. firebase-functions version 3.0.0 or higher.
I had raised an issue in the firebase-tools repo as suggested by DougStevenson. Got the issue resolved with Sam Stern's support.
Posting the solution here for anyone else who gets stuck in the same issue.
Solution:
"build": "tsc"
to "build": "tsc -w"
in package.json
if you want to auto-compile after every change.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With