You are not really deploying your function.
See, whenever you deploy a new function, the CLI will show the following message.
=== Deploying to '<PROJECT-ID>'... i deploying functions i functions: ensuring necessary APIs are enabled... ✔ functions: all necessary APIs are enabled i functions: preparing functions directory for uploading... i functions: packaged functions (26.61 KB) for uploading ✔ functions: functions folder uploaded successfully i functions: creating Node.js 8 function <FUNCTION-NAME>(us-central1)... ✔ functions[<FUNCTION-NAME>(us-central1)]: Successful create operation. Function URL (<FUNCTION-NAME>): https://us-central1-<PROJECT-ID>.cloudfunctions.net/<FUNCTION-NAME> ✔ Deploy complete! Project Console: https://console.firebase.google.com/project/<PROJECT-ID>/overview In your screenshot, you are not getting the Successful message.
Can you please try deploying your functions with an empty json as the firebase.json file?
Be sure to run firebase deploy --only functions:<FUNCTION_NAME> in the project's root folder. That way, you are telling the CLI to deploy an specific function, in this case it'd be helloWorld.
If you don't see the Successful message again, post here the results to try to make it work.
Edit.
Try changing your firebase.json to
{ "functions":{ "source": "functions/", "predeploy": [ "npm --prefix \"$RESOURCE_DIR\" run lint", "npm --prefix \"$RESOURCE_DIR\" run build" ] } } and then deploy again.