diff --git a/.changeset/pretty-melons-taste.md b/.changeset/pretty-melons-taste.md new file mode 100644 index 0000000000..9c2a7a13da --- /dev/null +++ b/.changeset/pretty-melons-taste.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +JSX and React Fast Refresh transforms are no longer enabled when bundling backend code. diff --git a/packages/cli/src/lib/bundler/transforms.ts b/packages/cli/src/lib/bundler/transforms.ts index 0a4dddcaf5..9a93f550dd 100644 --- a/packages/cli/src/lib/bundler/transforms.ts +++ b/packages/cli/src/lib/bundler/transforms.ts @@ -62,14 +62,16 @@ export const transforms = (options: TransformOptions): Transforms => { externalHelpers: !isBackend, parser: { syntax: 'typescript', - tsx: true, + tsx: !isBackend, dynamicImport: true, }, transform: { - react: { - runtime: 'automatic', - refresh: isDev, - }, + react: isBackend + ? undefined + : { + runtime: 'automatic', + refresh: isDev, + }, }, }, }, @@ -88,14 +90,16 @@ export const transforms = (options: TransformOptions): Transforms => { externalHelpers: !isBackend, parser: { syntax: 'ecmascript', - jsx: true, + jsx: !isBackend, dynamicImport: true, }, transform: { - react: { - runtime: 'automatic', - refresh: isDev, - }, + react: isBackend + ? undefined + : { + runtime: 'automatic', + refresh: isDev, + }, }, }, }, @@ -119,7 +123,7 @@ export const transforms = (options: TransformOptions): Transforms => { externalHelpers: !isBackend, parser: { syntax: 'ecmascript', - jsx: true, + jsx: !isBackend, dynamicImport: true, }, }, @@ -188,11 +192,13 @@ export const transforms = (options: TransformOptions): Transforms => { const plugins = new Array(); if (isDev) { - plugins.push( - new ReactRefreshPlugin({ - overlay: { sockProtocol: 'ws' }, - }), - ); + if (!isBackend) { + plugins.push( + new ReactRefreshPlugin({ + overlay: { sockProtocol: 'ws' }, + }), + ); + } } else { plugins.push( new MiniCssExtractPlugin({