Alex Alex - 6 months ago 111
Node.js Question

why babel stores .babel.json in USERPROFILE path

I'm running a nodejs app on azure web apps and i'm trying to integrate babel using npm in it. The problem is that babel is trying to acccess a file at


%USERPROFILE%


named .babel.json, a file that doesn't exist. This is most likely installed by:

npm install -g babel


On azure web apps, i can't seem to find it at all (even after running
npm install -g babel
in kudu for the site).

I copied the file in
%USERPROFILE%
myself to
%USERPROFILE%
using kudu but on web app restart the file disappears.

Is there a way to make babel work on web apps?

UPDATE

I did omit some things. The error appeared when i tried load
babel/register
.

require('babel/register')({
optional: ["es7.asyncFunctions"]
});


and the actual error i see in the streaming logs is


Application has thrown an uncaught exception and is terminated: Error:
ENOENT, no such file or directory 'D:\local\UserProfile.babel.json'
at Object.fs.openSync (fs.js:438:18)
at Object.fs.writeFileSync (fs.js:977:15)
at save (D:\home\site\wwwroot\node_modules\babel\node_modules\babel-core\lib\api\register\cache.js:35:19)
at process._tickCallback (node.js:419:13)
at Function.Module.runMain (module.js:499:11)
at startup (node.js:119:16)
at node.js:906:3


the project is on Github

Answer

I had this same problem, solved it by disabling the babel cache by setting the environment variable BABEL_DISABLE_CACHE=1 in my Application settings.

You can read more about the babel cache here: https://babeljs.io/docs/usage/require/#environment-variables

Comments