diff --git a/scripts/build.js b/scripts/build.js index af657ee..15301d1 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -3,6 +3,10 @@ process.env.BABEL_ENV = 'production'; process.env.NODE_ENV = 'production'; +const babelIE11 = require('./patch/babelIE11'); +const babelConfig = require('babel-preset-react-app'); +babelIE11(babelConfig); + const webpackPreact = require('./patch/webpackPreact'); const webpackConfig = require('react-scripts/config/webpack.config.prod'); webpackPreact(webpackConfig); diff --git a/scripts/patch/babelIE11.js b/scripts/patch/babelIE11.js new file mode 100644 index 0000000..94b2197 --- /dev/null +++ b/scripts/patch/babelIE11.js @@ -0,0 +1,14 @@ +// Hack babel to build for IE11 instead of IE9 +module.exports = babelConfig => { + const presets = babelConfig.presets; + presets.forEach((preset, i) => { + if (!Array.isArray(preset)) { + return; + } + preset.forEach((p, j) => { + if (p.targets && p.targets.ie) { + presets[i][j].ie = 11; + } + }); + }); +}; diff --git a/scripts/start.js b/scripts/start.js index 75f5258..2ab95aa 100644 --- a/scripts/start.js +++ b/scripts/start.js @@ -3,6 +3,10 @@ process.env.BABEL_ENV = 'development'; process.env.NODE_ENV = 'development'; +const babelIE11 = require('./patch/babelIE11'); +const babelConfig = require('babel-preset-react-app'); +babelIE11(babelConfig); + const webpackPreact = require('./patch/webpackPreact'); const webpackConfig = require('react-scripts/config/webpack.config.dev'); webpackPreact(webpackConfig);