Revert "Build: use content hash for facebook-react-native build" (#27584)
Reverts facebook/react#27577. We also sync React Native OSS bundles which means this didn't work as hoped unless we abandon the commit hash in OSS which seems useful.
Jan Kassens committed
Oct 25, 2023 at 15:07 UTC
97047a810cb19e3041a3ec163f4fde85f495bdc1
1 file changed
+7
-25
scripts/rollup/build-all-release-channels.js
+7
-25
@@ -8,7 +8,6 @@ const fse = require('fs-extra');
8
const {spawnSync} = require('child_process');
9
const path = require('path');
10
const tmp = require('tmp');
11
-const glob = require('glob');
11
12
const {
13
ReactVersion,
@@ -236,28 +235,19 @@ function processExperimental(buildDir, version) {
235
);
236
}
237
239
- const facebookWwwDir = path.join(buildDir, 'facebook-www');
240
- if (fs.existsSync(facebookWwwDir)) {
241
- for (const fileName of fs.readdirSync(facebookWwwDir).sort()) {
242
- const filePath = path.join(facebookWwwDir, fileName);
238
+ if (fs.existsSync(buildDir + '/facebook-www')) {
239
+ const hash = crypto.createHash('sha1');
240
+ for (const fileName of fs.readdirSync(buildDir + '/facebook-www').sort()) {
241
+ const filePath = buildDir + '/facebook-www/' + fileName;
242
const stats = fs.statSync(filePath);
243
if (!stats.isDirectory()) {
244
+ hash.update(fs.readFileSync(filePath));
245
fs.renameSync(filePath, filePath.replace('.js', '.modern.js'));
246
}
247
}
248
- const contentHash = hashJSFilesInDirectory(facebookWwwDir);
248
updatePlaceholderReactVersionInCompiledArtifacts(
250
- facebookWwwDir,
251
- ReactVersion + '-www-modern-' + contentHash
252
- );
253
- }
254
-
255
- const facebookReactNativeDir = path.join(buildDir, 'facebook-react-native');
256
- if (fs.existsSync(facebookReactNativeDir)) {
257
- const contentHash = hashJSFilesInDirectory(facebookReactNativeDir);
258
- updatePlaceholderReactVersionInCompiledArtifacts(
259
- facebookReactNativeDir,
260
- ReactVersion + '-react-native-' + contentHash
249
+ buildDir + '/facebook-www',
250
+ ReactVersion + '-www-modern-' + hash.digest('hex').slice(0, 8)
251
);
252
}
253
@@ -356,14 +346,6 @@ function updatePackageVersions(
346
}
347
}
348
359
-function hashJSFilesInDirectory(directory) {
360
- const hash = crypto.createHash('sha1');
361
- for (const filePath of glob.sync(directory + '/**/*.js').sort()) {
362
- hash.update(fs.readFileSync(filePath));
363
- }
364
- return hash.digest('hex').slice(0, 8);
365
-}
366
-
349
function updatePlaceholderReactVersionInCompiledArtifacts(
350
artifactsDirectory,
351
newVersion