Преглед изворни кода

Better handle updating a theme with no readme.txt file (#5941)

Jason Crist пре 3 година
родитељ
комит
3a68b8391e
1 измењених фајлова са 13 додато и 13 уклоњено
  1. 13 13
      theme-utils.mjs

+ 13 - 13
theme-utils.mjs

@@ -1,5 +1,5 @@
 import { spawn } from 'child_process';
-import fs from 'fs';
+import fs, { existsSync } from 'fs';
 import open from 'open';
 import inquirer from 'inquirer';
 
@@ -543,15 +543,15 @@ async function rebuildThemeChangelog(theme, since) {
 	}
 
 	// Get theme readme.txt
-	let readmeFile = `${theme}/readme.txt`;
+	let readmeFilePath = `${theme}/readme.txt`;
 
 	// Update readme.txt
-	fs.readFile(readmeFile, 'utf8', function(err, data) {
+	fs.readFile(readmeFilePath, 'utf8', function(err, data) {
 		let changelogSection = '== Changelog ==';
 		let regex = new RegExp('^.*' + changelogSection + '.*$', 'gm');
 		let formattedChangelog = data.replace(regex, logs);
 
-		fs.writeFile(readmeFile, formattedChangelog, 'utf8', function(err) {
+		fs.writeFile(readmeFilePath, formattedChangelog, 'utf8', function(err) {
 			if (err) return console.log(err);
 		});
 	});
@@ -573,7 +573,12 @@ async function updateThemeChangelog(theme, addChanges) {
  	let logs = await getCommitLogs('', true, theme);
 
 	// Get theme readme.txt
-	let readmeFile = `${theme}/readme.txt`;
+	let readmeFilePath = `${theme}/readme.txt`;
+
+	if (!existsSync(readmeFilePath)) {
+		console.log(`Unable to find a readme.txt for ${theme}.`);
+		return;
+	}
 
 	// Build changelog entry
 	let newChangelogEntry = `== Changelog ==
@@ -581,25 +586,20 @@ async function updateThemeChangelog(theme, addChanges) {
 = ${version} =
 ${logs}`;
 
-	if (!readmeFile) {
-		console.log(`Unable to find a readme.txt for ${theme}. Aborted Automated Deploy Process at changelog step.`);
-		return;
-	}
-
 	// Update readme.txt
-	fs.readFile(readmeFile, 'utf8', function(err, data) {
+	fs.readFile(readmeFilePath, 'utf8', function(err, data) {
 		let changelogSection = '== Changelog ==';
 		let regex = new RegExp('^.*' + changelogSection + '.*$', 'gm');
 		let formattedChangelog = data.replace(regex, newChangelogEntry);
 
-		fs.writeFile(readmeFile, formattedChangelog, 'utf8', function(err) {
+		fs.writeFile(readmeFilePath, formattedChangelog, 'utf8', function(err) {
 			if (err) return console.log(err);
 		});
 	});
 
 	// Stage readme.txt
 	if (addChanges) {
-		await executeCommand(`git add ${readmeFile}`);
+		await executeCommand(`git add ${readmeFilePath}`);
 	}
 }