diff options
-rw-r--r-- | .babelrc | 35 | ||||
-rw-r--r-- | .babelrc.js | 38 |
2 files changed, 38 insertions, 35 deletions
diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 83172a47753..00000000000 --- a/.babelrc +++ /dev/null @@ -1,35 +0,0 @@ -{ - "presets": [ - [ - "@babel/preset-env", - { - "modules": false, - "targets": { - "ie": "11" - } - } - ] - ], - "plugins": [ - "@babel/plugin-syntax-dynamic-import", - "@babel/plugin-syntax-import-meta", - "@babel/plugin-proposal-class-properties", - "@babel/plugin-proposal-json-strings" - ], - "env": { - "karma": { - "plugins": ["babel-plugin-rewire"] - }, - "coverage": { - "plugins": [ - [ - "babel-plugin-istanbul", - { - "exclude": ["spec/javascripts/**/*", "app/assets/javascripts/locale/**/app.js"] - } - ], - "babel-plugin-rewire" - ] - } - } -} diff --git a/.babelrc.js b/.babelrc.js new file mode 100644 index 00000000000..27caf378b99 --- /dev/null +++ b/.babelrc.js @@ -0,0 +1,38 @@ +const BABEL_ENV = process.env.BABEL_ENV || process.env.NODE_ENV || null; + +const presets = [ + [ + '@babel/preset-env', + { + modules: false, + targets: { + ie: '11', + }, + }, + ], +]; + +// include stage 3 proposals +const plugins = [ + '@babel/plugin-syntax-dynamic-import', + '@babel/plugin-syntax-import-meta', + '@babel/plugin-proposal-class-properties', + '@babel/plugin-proposal-json-strings', +]; + +// add code coverage tooling if necessary +if (BABEL_ENV === 'coverage') { + plugins.push([ + 'babel-plugin-istanbul', + { + exclude: ['spec/javascripts/**/*', 'app/assets/javascripts/locale/**/app.js'], + }, + ]); +} + +// add rewire support when running tests +if (BABEL_ENV === 'karma' || BABEL_ENV === 'coverage') { + plugins.push('babel-plugin-rewire'); +} + +module.exports = { presets, plugins }; |