How to set break point to debug Firebase Functions in VS Code - node.js

As suggested by the title. I hate console logs, really want to find a more effective way to debug Firebase functions. I came across to this blog thanks to David Mccoy. He shows us how to use the google-cloud/functions-emulator package to enable the debugging feature.
However, when I try to follow the instruction and install the package, I came across this warning message:
$ npm install -g #google-cloud/functions-emulator
npm WARN deprecated #google-cloud/functions-emulator#1.0.0-beta.6: Deprecating in favor of the Functions Framework and firebase-tools. See https://github.com/googlearchive/cloud-functions-emulator/issues/327
I follow the link to check out the new framework, but can't seem to figure out how to use it. I am wondering if anyone can tell me how to use this new Functions Framework and firebase-tools to set breakpoints in VS Code? THANKS!

Firebase has a cli to run emulators
firebase emulators:start
There is good documentation explaining how to work with it here:
https://firebase.google.com/docs/rules/emulator-setup
As the error message suggests, you will also want to install the firebase-cli (firebase-tools) to make use of these features instead of the older #google-cloud functions emulator
https://firebase.google.com/docs/cli/

Related

DeprecationWarning: Using a string as loader options is deprecated

So I'm updating a website using BigCommerce's Stencil CLI and now I'm suddenly getting this warning or error.
(node:4956) [DEP_WEBPACK_RULE_LOADER_OPTIONS_STRING] DeprecationWarning: Using a string as loader options is deprecated (ruleSet[1].rules[1].use[0].options)
I did just get done reinstalling my Nodejs node modules and I'm guessing it has something to do with webpack v5 from the few results on google that pop up when I search the error, but I can't find any results that give me any clues on how to get rid of this error. I'm just a beginner at all of this, so as detailed of an explanation as possible on how to fix the issue would be appreciated. My node version is 12.0.0.
I checked on some of the GitHub issues for the cli and found a similar issue that has a few developers sharing solutions. It's not 1:1 but is a similar error around a DeprecationWarning. Also, did the CLI complete its installation?
This appears to be a warning rather than an error. If the cli completed the install, you should be good to move on with your theme customizations. However, if you wanted to dig into this warning, I'd recommend checking out that thread I mentioned, to see if any of those work for you! Find it here: https://github.com/bigcommerce/stencil-cli/issues/742

No setChannelMetadata() function in pubnub-angular2

I am using PubNub in my Angular 10 project with Angular universal.
I am using pubnub-angular2, which does not have the objects.setmetadatachannel() method, so I use PubNub for it. As PubNub is a JavaScript SDK, it is working fine in a normal project, but giving an error while building in SSR mode. npm run build:ssr is fine but npm run serve:ssr is giving errors.
Can someone help me with this?
it has nothing like setchannelmetadata() so what worked for me is
using pubnub instead of pubnub-angular2
the two library i installed are:
pubnub
2.#types/pubnub
i talked with pubnub support. they are not maintaining pubnub-angular2 anymore. so best not to use it.

Azure Communication Services with Ionic

I have a working project with Twilio + Ionic, but I'm wondering if you can help me with adding Azure Communication Services(video call) into my project. I tried to follow the example from the official website, but I think it's not just installing npm library and adding it as usual in my project.
If you want to see a working sample, you can use this: https://github.com/Azure-Samples/communication-services-web-calling-hero
If you're still stuck, please respond here and I'll try to help you directly.
Invalid CommunicationUser identifier specified

Is the App Engine Launcher still part of the GCloud SDK's App Engine?

I followed the official guide on using the google cloud sdk with python 3, and I was able to install the latest sdk (273.0.0) with the google app engine and python components. Now I'd like to use the launcher instead of the cli commands in the guide to run my project but I cannot find it anywhere.
The README file in my current installation of the app engine in my AppData/local folder says that the App Engine Launcher should have a desktop shortcut and an executable at C:\Program Files\Google\google_appengine\launcher\GoogleAppEngineLauncher.exe but neither shortcut nor executable path exist. I also looked through the AppData folder and didn't find it.
Was the launcher never present/removed from the app engine version I installed? Was it in the README by mistake? Or could the installation be incomplete?
I actually didn't know that this tool existed, quite interesting.
Many people seemed to have liked this feature and used it extensively in order to have easier deployments and not have to go to the CLI but I think it might be deprecated.
I found relevant information in this Google Groups thread where people we're discussing the usability of this function and the transition of it when App Engine SDK joined the Cloud SDK.
You can see that appcfg was deprecated in July this year and the shutdown date is set for July 2020.
You might be able to still install it and use it with Python 2 until shutdown but I do not think there is a new version available for Python 3.
Hope this helps.
Yes, many years ago, to deploy GAE, Google provided an installable desktop app called GoogleAeppEngineLauncher. I'm quite certain that it is no longer available and would not even function if you were somehow able to obtain a copy.
You now must use the gcloud commands to deploy your app.

Managing 2 npm packages that depend on eachother

I'm creating a npm package that only contains Sass, a small framework. I only want this package to contain the Sass (and a few grunt plugins) so that someone can install and build it without installing the documentation.
But in the case where someone wants to contribute to the project having only the Sass files isn't all that helpful. They would need the documentation (or an example) to view the changes.
So I would like 2 packages; 1 for the framework and 1 for the documentation.
The documentation package would require the framework, the framework package may or may not require the documentation. (You would never update the framework from documentation, only the documentation, but the framework is needed.)
Documentation required = wanting to contribute to framework
Documentation not required = just wanting to use the framework in a project
Basically, I want to give the person installing the framework the option of getting the docs or not.
Is this possible using dependencies vs devDependencies vs peerDependencies?
Thanks!
From above:
To someone who wants to contribute, wouldn't Github be a better option? They could just clone the repo instead of installing it from npm. You could use npmignore to ignore all the documentation from npm package, which will still remain on Github
Thanks #laggingreflex

Resources