From ba2214e571268a2e826f7ccec6a32e59d7a911d0 Mon Sep 17 00:00:00 2001 From: Jack Pope Date: Mon, 29 Sep 2025 20:40:24 -0400 Subject: [PATCH] Apply build script changes for RN to main (#34640) This was merged into the 19.1.1 patch release branch in https://github.com/facebook/react/pull/33972 but we never upstreamed it to main. This should merge to main to make it easier to sync versions to RN after future releases. --------- Co-authored-by: Riccardo Cipolleschi --- scripts/rollup/build-all-release-channels.js | 55 ++++++++------------ 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/scripts/rollup/build-all-release-channels.js b/scripts/rollup/build-all-release-channels.js index 8c1ca3ced1baf..47d3ac9d3e4a7 100644 --- a/scripts/rollup/build-all-release-channels.js +++ b/scripts/rollup/build-all-release-channels.js @@ -231,9 +231,16 @@ function processStable(buildDir) { } if (fs.existsSync(buildDir + '/react-native')) { - updatePlaceholderReactVersionInCompiledArtifactsFb( + updatePlaceholderReactVersionInCompiledArtifacts( buildDir + '/react-native', - rnVersionString + rnVersionString, + filename => filename.endsWith('.fb.js') + ); + + updatePlaceholderReactVersionInCompiledArtifacts( + buildDir + '/react-native', + ReactVersion, + filename => !filename.endsWith('.fb.js') && filename.endsWith('.js') ); } @@ -340,9 +347,16 @@ function processExperimental(buildDir, version) { } if (fs.existsSync(buildDir + '/react-native')) { - updatePlaceholderReactVersionInCompiledArtifactsFb( + updatePlaceholderReactVersionInCompiledArtifacts( buildDir + '/react-native', - rnVersionString + rnVersionString, + filename => filename.endsWith('.fb.js') + ); + + updatePlaceholderReactVersionInCompiledArtifacts( + buildDir + '/react-native', + ReactVersion, + filename => !filename.endsWith('.fb.js') && filename.endsWith('.js') ); } @@ -437,38 +451,15 @@ function updatePackageVersions( function updatePlaceholderReactVersionInCompiledArtifacts( artifactsDirectory, - newVersion + newVersion, + filteringClosure ) { // Update the version of React in the compiled artifacts by searching for // the placeholder string and replacing it with a new one. - const artifactFilenames = String( - spawnSync('grep', [ - '-lr', - PLACEHOLDER_REACT_VERSION, - '--', - artifactsDirectory, - ]).stdout - ) - .trim() - .split('\n') - .filter(filename => filename.endsWith('.js')); - - for (const artifactFilename of artifactFilenames) { - const originalText = fs.readFileSync(artifactFilename, 'utf8'); - const replacedText = originalText.replaceAll( - PLACEHOLDER_REACT_VERSION, - newVersion - ); - fs.writeFileSync(artifactFilename, replacedText); + if (filteringClosure == null) { + filteringClosure = filename => filename.endsWith('.js'); } -} -function updatePlaceholderReactVersionInCompiledArtifactsFb( - artifactsDirectory, - newVersion -) { - // Update the version of React in the compiled artifacts by searching for - // the placeholder string and replacing it with a new one. const artifactFilenames = String( spawnSync('grep', [ '-lr', @@ -479,7 +470,7 @@ function updatePlaceholderReactVersionInCompiledArtifactsFb( ) .trim() .split('\n') - .filter(filename => filename.endsWith('.fb.js')); + .filter(filteringClosure); for (const artifactFilename of artifactFilenames) { const originalText = fs.readFileSync(artifactFilename, 'utf8');