From ec0a9cf7449f6f8ff1916be4afaea634c2066b29 Mon Sep 17 00:00:00 2001 From: Rasmus Eneman Date: Fri, 19 Oct 2018 21:21:26 +0200 Subject: [PATCH 1/3] Add allowESModules option to babel-preset-react-app --- packages/babel-preset-react-app/create.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/babel-preset-react-app/create.js b/packages/babel-preset-react-app/create.js index cdf94a63243..411194e13e1 100644 --- a/packages/babel-preset-react-app/create.js +++ b/packages/babel-preset-react-app/create.js @@ -29,6 +29,7 @@ module.exports = function(api, opts, env) { var isEnvProduction = env === 'production'; var isEnvTest = env === 'test'; + var allowESModules = validateBoolOption('allowESModules', opts.allowESModules, true); var isFlowEnabled = validateBoolOption('flow', opts.flow, true); var areHelpersEnabled = validateBoolOption('helpers', opts.helpers, true); var useAbsoluteRuntime = validateBoolOption( @@ -140,7 +141,7 @@ module.exports = function(api, opts, env) { // https://babeljs.io/docs/en/babel-plugin-transform-runtime#useesmodules // We should turn this on once the lowest version of Node LTS // supports ES Modules. - useESModules: isEnvDevelopment || isEnvProduction, + useESModules: allowESModules ? isEnvDevelopment || isEnvProduction : false, // Undocumented option that lets us encapsulate our runtime, ensuring // the correct version is used // https://github.com/babel/babel/blob/090c364a90fe73d36a30707fc612ce037bdbbb24/packages/babel-plugin-transform-runtime/src/index.js#L35-L42 From f6596237b18d805e0671f390e899554afe66e70a Mon Sep 17 00:00:00 2001 From: Rasmus Eneman Date: Mon, 19 Nov 2018 17:09:18 +0100 Subject: [PATCH 2/3] changes after feedback --- packages/babel-preset-react-app/create.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/babel-preset-react-app/create.js b/packages/babel-preset-react-app/create.js index 411194e13e1..d5632f02814 100644 --- a/packages/babel-preset-react-app/create.js +++ b/packages/babel-preset-react-app/create.js @@ -29,7 +29,11 @@ module.exports = function(api, opts, env) { var isEnvProduction = env === 'production'; var isEnvTest = env === 'test'; - var allowESModules = validateBoolOption('allowESModules', opts.allowESModules, true); + var useESModules = validateBoolOption( + 'allowESModules', + opts.allowESModules, + isEnvDevelopment || isEnvProduction + ); var isFlowEnabled = validateBoolOption('flow', opts.flow, true); var areHelpersEnabled = validateBoolOption('helpers', opts.helpers, true); var useAbsoluteRuntime = validateBoolOption( @@ -141,7 +145,7 @@ module.exports = function(api, opts, env) { // https://babeljs.io/docs/en/babel-plugin-transform-runtime#useesmodules // We should turn this on once the lowest version of Node LTS // supports ES Modules. - useESModules: allowESModules ? isEnvDevelopment || isEnvProduction : false, + useESModules, // Undocumented option that lets us encapsulate our runtime, ensuring // the correct version is used // https://github.com/babel/babel/blob/090c364a90fe73d36a30707fc612ce037bdbbb24/packages/babel-plugin-transform-runtime/src/index.js#L35-L42 From 063a81706fa99617ac1014b93e5d7488f5f320ee Mon Sep 17 00:00:00 2001 From: Joe Haddad Date: Tue, 20 Nov 2018 22:25:45 +0100 Subject: [PATCH 3/3] Apply suggestions from code review Co-Authored-By: Pajn --- packages/babel-preset-react-app/create.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/babel-preset-react-app/create.js b/packages/babel-preset-react-app/create.js index d5632f02814..fd9b73ca1f4 100644 --- a/packages/babel-preset-react-app/create.js +++ b/packages/babel-preset-react-app/create.js @@ -30,8 +30,8 @@ module.exports = function(api, opts, env) { var isEnvTest = env === 'test'; var useESModules = validateBoolOption( - 'allowESModules', - opts.allowESModules, + 'useESModules', + opts.useESModules, isEnvDevelopment || isEnvProduction ); var isFlowEnabled = validateBoolOption('flow', opts.flow, true);