From e363bb9810a7ba30937ea18505860837337fa468 Mon Sep 17 00:00:00 2001 From: Oliver Eyton-Williams Date: Tue, 23 Feb 2021 15:52:20 +0100 Subject: [PATCH] fix: ensure babel presets load (#41233) In rare cases, loadPresetReact could get into a race with itself. In these cases the first call would set presetReact and the second call would exit early as a result. This would mean babelOptionsJSX would be undefined and the transformation would fail. --- .../src/templates/Challenges/rechallenge/transformers.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/client/src/templates/Challenges/rechallenge/transformers.js b/client/src/templates/Challenges/rechallenge/transformers.js index 81c35dfa47..174f33f79b 100644 --- a/client/src/templates/Challenges/rechallenge/transformers.js +++ b/client/src/templates/Challenges/rechallenge/transformers.js @@ -59,7 +59,6 @@ async function loadBabel() { } async function loadPresetEnv() { - if (babelOptionsJSBase && babelOptionsJSBase.presets) return; /* eslint-disable no-inline-comments */ if (!presetEnv) presetEnv = await import( @@ -81,11 +80,11 @@ async function loadPresetEnv() { } async function loadPresetReact() { - if (presetReact) return; /* eslint-disable no-inline-comments */ - presetReact = await import( - /* webpackChunkName: "@babel/preset-react" */ '@babel/preset-react' - ); + if (!presetReact) + presetReact = await import( + /* webpackChunkName: "@babel/preset-react" */ '@babel/preset-react' + ); if (!presetEnv) presetEnv = await import( /* webpackChunkName: "@babel/preset-env" */ '@babel/preset-env'