mirror of
				https://github.com/louislam/uptime-kuma.git
				synced 2025-10-31 19:39:20 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const childProcess = require("child_process");
 | |
| const fs = require("fs");
 | |
| 
 | |
| const newVersion = process.env.VERSION;
 | |
| 
 | |
| if (!newVersion) {
 | |
|     console.log("Missing version");
 | |
|     process.exit(1);
 | |
| }
 | |
| 
 | |
| updateWiki(newVersion);
 | |
| 
 | |
| /**
 | |
|  * Update the wiki with new version number
 | |
|  * @param {string} newVersion Version to update to
 | |
|  */
 | |
| function updateWiki(newVersion) {
 | |
|     const wikiDir = "./tmp/wiki";
 | |
|     const howToUpdateFilename = "./tmp/wiki/🆙-How-to-Update.md";
 | |
| 
 | |
|     safeDelete(wikiDir);
 | |
| 
 | |
|     childProcess.spawnSync("git", [ "clone", "https://github.com/louislam/uptime-kuma.wiki.git", wikiDir ]);
 | |
|     let content = fs.readFileSync(howToUpdateFilename).toString();
 | |
| 
 | |
|     // Replace the version: https://regex101.com/r/hmj2Bc/1
 | |
|     content = content.replace(/(git checkout )([^\s]+)/, `$1${newVersion}`);
 | |
|     fs.writeFileSync(howToUpdateFilename, content);
 | |
| 
 | |
|     childProcess.spawnSync("git", [ "add", "-A" ], {
 | |
|         cwd: wikiDir,
 | |
|     });
 | |
| 
 | |
|     childProcess.spawnSync("git", [ "commit", "-m", `Update to ${newVersion}` ], {
 | |
|         cwd: wikiDir,
 | |
|     });
 | |
| 
 | |
|     console.log("Pushing to Github");
 | |
|     childProcess.spawnSync("git", [ "push" ], {
 | |
|         cwd: wikiDir,
 | |
|     });
 | |
| 
 | |
|     safeDelete(wikiDir);
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Check if a directory exists and then delete it
 | |
|  * @param {string} dir Directory to delete
 | |
|  */
 | |
| function safeDelete(dir) {
 | |
|     if (fs.existsSync(dir)) {
 | |
|         fs.rm(dir, {
 | |
|             recursive: true,
 | |
|         });
 | |
|     }
 | |
| }
 |