diff --git a/packager/transformer.js b/packager/transformer.js index a2efcea3bb2b54..3a9971c2fb04f7 100644 --- a/packager/transformer.js +++ b/packager/transformer.js @@ -11,9 +11,23 @@ 'use strict'; var babel = require('babel'); +var fs = require('fs'); -function transform(srcTxt, filename, options) { - var result = babel.transform(srcTxt, { +function getBabelrc () { + try { + // Try to get .babelrc file + return JSON.parse( + fs.readFileSync(process.cwd() + '/.babelrc').toString() + ); + } catch (e) { + return null; + } +} + +var babelrc = getBabelrc() + +function transform(srcTxt, filename, extra) { + var options = { retainLines: true, compact: true, comments: false, @@ -35,8 +49,17 @@ function transform(srcTxt, filename, options) { ], sourceFileName: filename, sourceMaps: false, - extra: options || {}, - }); + extra: extra || {}, + }; + + // If custom babel options exist, merge them in + if (babelrc) { + Object.keys(babelrc).forEach(function (key) { + options[key] = babelrc[key]; + }); + } + + var result = babel.transform(srcTxt, options); return { code: result.code,