why babel stores .babel.json in USERPROFILE path

Alex picture Alex · Sep 24, 2015 · Viewed 13k times · Source

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

user1113977 picture user1113977 · Dec 1, 2015

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