diff --git a/scripts/rollup/build-all-release-channels.js b/scripts/rollup/build-all-release-channels.js index 8c1ca3ced1b..401e466ec23 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