This is most likely a weird edge case in my configuration or how I built my application, but wanted to put it out there in case anyone else has this issue.
Whenever I was calling a Graph endpoint it was returning an error message
body: n.call is not a function with a status code of
statusCode: -1, which didn’t give me a lot to go off of!
During development of the application I had not noticed this as it only appeared when running production (transpiled, bundled, minified) code, which is why I assume the error is so generic.
As it was only happening with production code, I first set about looking at the build config file (Webpack) and could not fix it this way (not saying there isn’t a way to fix it). Next I tried different versions of the SDK and modifying my code, but nothing worked…
…Until I re-read the SDK documentation and that it uses
fetch under the hood to make the endpoint calls and you may require an additional package.
As you most probably know
fetch, but it is not a bundled package; you need to install it yourself manually.
The documentation has listed three recommended packages to choose from:
I want to say that originally, only isomophic-fetch was recommended, which is what I have always used. I was clutching at straws to work our this problem so searched for something along the lines of “webpack isomorphic-fetch call is not a function” and came across a GitHub issue that seemed very similar.
There looked to be workarounds, but also mention of using cross-fetch instead. Which is what I ended up trying, and holy smokes, it works 🎉. Turns out its not the SDK after all, just the additional package!
Hope this helps someone out there!