From ff5e07f5aa75abbd1be3d1f75ad59d70dd465c2e Mon Sep 17 00:00:00 2001 From: Riccardo Cipolleschi Date: Wed, 23 Jul 2025 15:46:43 +0100 Subject: [PATCH 1/2] [Release] Update build script to properly set React Native's renderers version --- scripts/rollup/build-all-release-channels.js | 59 +++++++++----------- 1 file changed, 25 insertions(+), 34 deletions(-) diff --git a/scripts/rollup/build-all-release-channels.js b/scripts/rollup/build-all-release-channels.js index 8c1ca3ced1baf..401e466ec2394 100644 --- a/scripts/rollup/build-all-release-channels.js +++ b/scripts/rollup/build-all-release-channels.js @@ -221,8 +221,7 @@ function processStable(buildDir) { ); } - const rnVersionString = - ReactVersion + '-native-fb-' + sha + '-' + dateString; + const rnVersionString = ReactVersion + '-native-fb-' + sha + '-' + dateString; if (fs.existsSync(buildDir + '/facebook-react-native')) { updatePlaceholderReactVersionInCompiledArtifacts( buildDir + '/facebook-react-native', @@ -231,9 +230,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 +346,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 +450,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 +469,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'); @@ -491,6 +481,7 @@ function updatePlaceholderReactVersionInCompiledArtifactsFb( } } + /** * cross-platform alternative to `rsync -ar` * @param {string} source From 26a3e2382c72aaed8a86178748fdc3fcd4a06261 Mon Sep 17 00:00:00 2001 From: Jack Pope Date: Mon, 29 Sep 2025 13:43:35 -0400 Subject: [PATCH 2/2] Run prettier --- scripts/rollup/build-all-release-channels.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/rollup/build-all-release-channels.js b/scripts/rollup/build-all-release-channels.js index 401e466ec2394..47d3ac9d3e4a7 100644 --- a/scripts/rollup/build-all-release-channels.js +++ b/scripts/rollup/build-all-release-channels.js @@ -221,7 +221,8 @@ function processStable(buildDir) { ); } - const rnVersionString = ReactVersion + '-native-fb-' + sha + '-' + dateString; + const rnVersionString = + ReactVersion + '-native-fb-' + sha + '-' + dateString; if (fs.existsSync(buildDir + '/facebook-react-native')) { updatePlaceholderReactVersionInCompiledArtifacts( buildDir + '/facebook-react-native', @@ -233,13 +234,13 @@ function processStable(buildDir) { updatePlaceholderReactVersionInCompiledArtifacts( buildDir + '/react-native', rnVersionString, - (filename) => filename.endsWith('.fb.js') + filename => filename.endsWith('.fb.js') ); updatePlaceholderReactVersionInCompiledArtifacts( buildDir + '/react-native', ReactVersion, - (filename) => !filename.endsWith('.fb.js') && filename.endsWith('.js') + filename => !filename.endsWith('.fb.js') && filename.endsWith('.js') ); } @@ -349,13 +350,13 @@ function processExperimental(buildDir, version) { updatePlaceholderReactVersionInCompiledArtifacts( buildDir + '/react-native', rnVersionString, - (filename) => filename.endsWith('.fb.js') + filename => filename.endsWith('.fb.js') ); updatePlaceholderReactVersionInCompiledArtifacts( buildDir + '/react-native', ReactVersion, - (filename) => !filename.endsWith('.fb.js') && filename.endsWith('.js') + filename => !filename.endsWith('.fb.js') && filename.endsWith('.js') ); } @@ -456,7 +457,7 @@ function updatePlaceholderReactVersionInCompiledArtifacts( // Update the version of React in the compiled artifacts by searching for // the placeholder string and replacing it with a new one. if (filteringClosure == null) { - filteringClosure = filename => filename.endsWith('.js') + filteringClosure = filename => filename.endsWith('.js'); } const artifactFilenames = String( @@ -481,7 +482,6 @@ function updatePlaceholderReactVersionInCompiledArtifacts( } } - /** * cross-platform alternative to `rsync -ar` * @param {string} source