From bd8d044ada7d4e2108ad60615badd3702b8c0307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Wed, 19 Nov 2025 15:36:17 +0100 Subject: [PATCH] add legacy build configuration for SWC transpile and minification to fix issues on legacy bundles --- packages/babel-compiler/babel-compiler.js | 24 +++++++++---------- .../standard-minifier-js/plugin/minify-js.js | 2 ++ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index ad0a8c295e..318f1e6c8a 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -142,16 +142,6 @@ BCp.initializeMeteorAppSwcrc = function () { return lastModifiedSwcConfig; }; -let lastModifiedSwcLegacyConfig; -BCp.initializeMeteorAppLegacyConfig = function () { - const swcLegacyConfig = convertBabelTargetsForSwc(Babel.getMinimumModernBrowserVersions()); - if (this.isVerbose() && !lastModifiedSwcLegacyConfig) { - logConfigBlock('SWC Legacy Config', swcLegacyConfig); - } - lastModifiedSwcLegacyConfig = swcLegacyConfig; - return lastModifiedSwcConfig; -}; - // Helper function to check if @swc/helpers is available function hasSwcHelpers() { return fs.existsSync(`${getMeteorAppDir()}/node_modules/@swc/helpers`); @@ -196,7 +186,6 @@ BCp.processFilesForTarget = function (inputFiles) { this.initializeMeteorAppConfig(); this.initializeMeteorAppSwcrc(); - this.initializeMeteorAppLegacyConfig(); this.initializeMeteorAppSwcHelpersAvailable(); inputFiles.forEach(function (inputFile) { @@ -382,7 +371,18 @@ if (Plugin?.rspackHelpers?.isRspackOutputFile(inputFilePath)) { sourceFileName: filename, ...(isLegacyWebArch && { env: { - targets: lastModifiedSwcLegacyConfig || {}, + targets: { + chrome: '49', + edge: '15', + firefox: '30', + safari: '10', + ios: '10', + android: '5', + opera: '42', + ie: '11', + node: '8', + electron: '1.6', + }, mode: 'entry', coreJs: '3.37', }, diff --git a/packages/standard-minifier-js/plugin/minify-js.js b/packages/standard-minifier-js/plugin/minify-js.js index 0fe5ca613f..9b0ebd42de 100644 --- a/packages/standard-minifier-js/plugin/minify-js.js +++ b/packages/standard-minifier-js/plugin/minify-js.js @@ -49,6 +49,7 @@ export class MeteorMinifier { const NODE_ENV = process.env.NODE_ENV || 'development'; let content = file.getContentsAsString(); + const isLegacyBuild = file?._arch === 'web.browser.legacy'; return swc.minifySync( content, @@ -60,6 +61,7 @@ export class MeteorMinifier { unused: true, dead_code: true, typeofs: false, + ...(isLegacyBuild && { defaults: false }), global_defs: { 'process.env.NODE_ENV': NODE_ENV,