@@ -20362,7 +20362,7 @@ class GithubUtils {
2036220362 static getStagingDeployCashData(issue) {
2036320363 try {
2036420364 const versionRegex = new RegExp('([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-([0-9]+))?', 'g');
20365- const version = (issue.body?.match(versionRegex)?.[0] ?? '').replace(/`/g , '');
20365+ const version = (issue.body?.match(versionRegex)?.[0] ?? '').replaceAll('`' , '');
2036620366 return {
2036720367 title: issue.title,
2036820368 url: issue.url,
@@ -20486,43 +20486,43 @@ class GithubUtils {
2048620486 // PR list
2048720487 if (sortedPRList.length > 0) {
2048820488 issueBody += '**This release contains changes from the following pull requests:**\r\n';
20489- sortedPRList.forEach(( URL) => {
20489+ for (const URL of sortedPRList) {
2049020490 issueBody += verifiedOrNoQAPRs.has(URL) ? '- [x]' : '- [ ]';
2049120491 issueBody += ` ${URL}\r\n`;
20492- });
20492+ }
2049320493 issueBody += '\r\n\r\n';
2049420494 }
2049520495 // Mobile-Expensify PR list
2049620496 if (sortedPRListMobileExpensify.length > 0) {
2049720497 issueBody += '**Mobile-Expensify PRs:**\r\n';
20498- sortedPRListMobileExpensify.forEach(( URL) => {
20498+ for (const URL of sortedPRListMobileExpensify) {
2049920499 issueBody += verifiedOrNoQAPRs.has(URL) ? '- [x]' : '- [ ]';
2050020500 issueBody += ` ${URL}\r\n`;
20501- });
20501+ }
2050220502 issueBody += '\r\n\r\n';
2050320503 }
2050420504 // Internal QA PR list
2050520505 if (!(0, isEmptyObject_1.isEmptyObject)(internalQAPRMap)) {
2050620506 console.log('Found the following verified Internal QA PRs:', resolvedInternalQAPRs);
2050720507 issueBody += '**Internal QA:**\r\n';
20508- Object.keys(internalQAPRMap).forEach((URL) => {
20508+ for (const URL of Object.keys(internalQAPRMap)) {
2050920509 const merger = internalQAPRMap[URL];
2051020510 const mergerMention = `@${merger}`;
2051120511 issueBody += `${resolvedInternalQAPRs.includes(URL) ? '- [x]' : '- [ ]'} `;
2051220512 issueBody += `${URL}`;
2051320513 issueBody += ` - ${mergerMention}`;
2051420514 issueBody += '\r\n';
20515- });
20515+ }
2051620516 issueBody += '\r\n\r\n';
2051720517 }
2051820518 // Deploy blockers
2051920519 if (deployBlockers.length > 0) {
2052020520 issueBody += '**Deploy Blockers:**\r\n';
20521- sortedDeployBlockers.forEach(( URL) => {
20521+ for (const URL of sortedDeployBlockers) {
2052220522 issueBody += resolvedDeployBlockers.includes(URL) ? '- [x] ' : '- [ ] ';
2052320523 issueBody += URL;
2052420524 issueBody += '\r\n';
20525- });
20525+ }
2052620526 issueBody += '\r\n\r\n';
2052720527 }
2052820528 issueBody += '**Deployer verifications:**';
@@ -21042,7 +21042,9 @@ function validateSvgFiles(filePaths) {
2104221042 }
2104321043 if (errors.length) {
2104421044 console.error('Validation errors:');
21045- errors.forEach((error) => console.error(` ${error}`));
21045+ for (const error of errors) {
21046+ console.error(` ${error}`);
21047+ }
2104621048 throw new Error('SVG file validation failed');
2104721049 }
2104821050 return validFiles;
@@ -21073,19 +21075,19 @@ function logIgnoredFiles(ignoredFiles) {
2107321075 return;
2107421076 }
2107521077 console.log('\nFiles skipped (ignore-compression):');
21076- ignoredFiles.forEach(( filePath) => {
21078+ for (const filePath of ignoredFiles) {
2107721079 console.log(`${filePath}: ⏭️ Skipped`);
21078- });
21080+ }
2107921081}
2108021082function logSummary(summary) {
2108121083 const { totalFiles, totalCompressedFilesLength, totalOriginalSize, totalCompressedSize, totalSavings, totalSavingsPercent, results, ignoredFiles } = summary;
2108221084 logIgnoredFiles(ignoredFiles);
2108321085 if (totalCompressedFilesLength) {
2108421086 console.log('\nFiles compressed:');
21085- results.forEach(( result) => {
21087+ for (const result of results) {
2108621088 const { compressedSize, originalSize, savings, savingsPercent, filePath } = result;
2108721089 if (!result.savings) {
21088- return ;
21090+ continue ;
2108921091 }
2109021092 const prefix = `${filePath}: ✅`;
2109121093 console.log(getSummarySavingString({
@@ -21095,7 +21097,7 @@ function logSummary(summary) {
2109521097 savings,
2109621098 savingsPercent,
2109721099 }));
21098- });
21100+ }
2109921101 const ignoreFilesLength = ignoredFiles.length;
2110021102 console.log(`\nFiles processed: ${totalFiles}`);
2110121103 console.log(`Files already properly compressed: ${totalFiles - ignoreFilesLength - totalCompressedFilesLength}`);
@@ -21116,10 +21118,10 @@ function logSummary(summary) {
2111621118function logSummaryCheck(summary) {
2111721119 const { totalFiles, totalCompressedFilesLength, results, ignoredFiles } = summary;
2111821120 console.log('');
21119- results.forEach(( result) => {
21121+ for (const result of results) {
2112021122 const { filePath, savings } = result;
2112121123 console.log(`${filePath}: ${savings > 0 ? 'Not properly compressed ❌' : 'Compressed ✅'}`);
21122- });
21124+ }
2112321125 logIgnoredFiles(ignoredFiles);
2112421126 console.log(`\nFiles processed: ${totalFiles}`);
2112521127 console.log(`Files ignored: ${ignoredFiles.length}`);
0 commit comments