about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--config/webpack/loaders/babel.js6
-rw-r--r--config/webpack/loaders/babel_external.js21
2 files changed, 22 insertions, 5 deletions
diff --git a/config/webpack/loaders/babel.js b/config/webpack/loaders/babel.js
index 1416191c0..e17d2fa70 100644
--- a/config/webpack/loaders/babel.js
+++ b/config/webpack/loaders/babel.js
@@ -4,11 +4,7 @@ const env = process.env.NODE_ENV || 'development';
 
 module.exports = {
   test: /\.js$/,
-  // include react-intl because transform-react-remove-prop-types needs to apply to it
-  exclude: {
-    test: /node_modules/,
-    exclude: /react-intl[\/\\](?!locale-data)/,
-  },
+  exclude: /node_modules/,
   loader: 'babel-loader',
   options: {
     forceEnv: env,
diff --git a/config/webpack/loaders/babel_external.js b/config/webpack/loaders/babel_external.js
new file mode 100644
index 000000000..39e74ed90
--- /dev/null
+++ b/config/webpack/loaders/babel_external.js
@@ -0,0 +1,21 @@
+const { resolve } = require('path');
+
+const env = process.env.NODE_ENV || 'development';
+
+if (env === 'development') {
+  module.exports = {};
+} else {
+  // babel options to apply only to external libraries, e.g. remove-prop-types
+  module.exports = {
+    test: /\.js$/,
+    include: /node_modules/,
+    loader: 'babel-loader',
+    options: {
+      babelrc: false,
+      plugins: [
+        'transform-react-remove-prop-types',
+      ],
+      cacheDirectory: env === 'development' ? false : resolve(__dirname, '..', '..', '..', 'tmp', 'cache', 'babel-loader-external'),
+    },
+  };
+}