From dc8b408b1a07ff44ee722ae482a5fb48d1c5121f Mon Sep 17 00:00:00 2001 From: Craigory Coppola Date: Wed, 13 Sep 2023 17:14:52 -0400 Subject: [PATCH] feat(react): allow setting react preset to production when using custom BABEL_ENV (#19148) --- packages/react/babel.ts | 11 +++++++++-- .../web/src/executors/file-server/file-server.impl.ts | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/react/babel.ts b/packages/react/babel.ts index 28b0fd3e08..d943a436b7 100644 --- a/packages/react/babel.ts +++ b/packages/react/babel.ts @@ -3,6 +3,7 @@ */ interface NxReactBabelOptions { + development?: boolean; runtime?: string; importSource?: string; useBuiltIns?: boolean | string; @@ -51,10 +52,16 @@ module.exports = function (api: any, options: NxReactBabelOptions) { }; }; -function getReactPresetOptions({ presetOptions, env }) { +function getReactPresetOptions({ + presetOptions, + env, +}: { + env: string; + presetOptions: NxReactBabelOptions; +}) { const reactPresetOptions: Record = { runtime: presetOptions.runtime ?? 'automatic', - development: env !== 'production', + development: presetOptions.development ?? env !== 'production', }; // JSX spread is transformed into object spread in `@babel/plugin-transform-react-jsx` diff --git a/packages/web/src/executors/file-server/file-server.impl.ts b/packages/web/src/executors/file-server/file-server.impl.ts index f09afa45e1..213e98aec1 100644 --- a/packages/web/src/executors/file-server/file-server.impl.ts +++ b/packages/web/src/executors/file-server/file-server.impl.ts @@ -70,7 +70,7 @@ function getBuildTargetOutputPath(options: Schema, context: ExecutorContext) { let buildOptions; try { - const target = parseTargetString(options.buildTarget, context.projectGraph); + const target = parseTargetString(options.buildTarget, context); buildOptions = readTargetOptions(target, context); } catch (e) { throw new Error(`Invalid buildTarget: ${options.buildTarget}`);