fix: better error handling on spawnsync failures
This commit is contained in:
		
							parent
							
								
									c6546903f2
								
							
						
					
					
						commit
						1b92440009
					
				| @ -443,11 +443,23 @@ export async function handleUpdate(argv) { | ||||
|   console.log( | ||||
|     "Pulling updates... you may need to resolve some `git` conflicts if you've made changes to components or plugins.", | ||||
|   ) | ||||
|   gitPull(UPSTREAM_NAME, QUARTZ_SOURCE_BRANCH) | ||||
| 
 | ||||
|   try { | ||||
|     gitPull(UPSTREAM_NAME, QUARTZ_SOURCE_BRANCH) | ||||
|   } catch { | ||||
|     console.log(chalk.red("An error occured above while pulling updates.")) | ||||
|     await popContentFolder(contentFolder) | ||||
|     return | ||||
|   } | ||||
| 
 | ||||
|   await popContentFolder(contentFolder) | ||||
|   console.log("Ensuring dependencies are up to date") | ||||
|   spawnSync("npm", ["i"], { stdio: "inherit" }) | ||||
|   console.log(chalk.green("Done!")) | ||||
|   const res = spawnSync("npm", ["i"], { stdio: "inherit" }) | ||||
|   if (res.status === 0) { | ||||
|     console.log(chalk.green("Done!")) | ||||
|   } else { | ||||
|     console.log(chalk.red("An error occurred above while installing dependencies.")) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| /** | ||||
| @ -504,13 +516,25 @@ export async function handleSync(argv) { | ||||
|     console.log( | ||||
|       "Pulling updates from your repository. You may need to resolve some `git` conflicts if you've made changes to components or plugins.", | ||||
|     ) | ||||
|     gitPull(ORIGIN_NAME, QUARTZ_SOURCE_BRANCH) | ||||
|     try { | ||||
|       gitPull(ORIGIN_NAME, QUARTZ_SOURCE_BRANCH) | ||||
|     } catch { | ||||
|       console.log(chalk.red("An error occured above while pulling updates.")) | ||||
|       await popContentFolder(contentFolder) | ||||
|       return | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   await popContentFolder(contentFolder) | ||||
|   if (argv.push) { | ||||
|     console.log("Pushing your changes") | ||||
|     spawnSync("git", ["push", "-f", ORIGIN_NAME, QUARTZ_SOURCE_BRANCH], { stdio: "inherit" }) | ||||
|     const res = spawnSync("git", ["push", "-f", ORIGIN_NAME, QUARTZ_SOURCE_BRANCH], { | ||||
|       stdio: "inherit", | ||||
|     }) | ||||
|     if (res.status !== 0) { | ||||
|       console.log(chalk.red(`An error occurred above while pushing to remote ${ORIGIN_NAME}.`)) | ||||
|       return | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   console.log(chalk.green("Done!")) | ||||
|  | ||||
| @ -36,7 +36,9 @@ export function gitPull(origin, branch) { | ||||
|   const flags = ["--no-rebase", "--autostash", "-s", "recursive", "-X", "ours", "--no-edit"] | ||||
|   const out = spawnSync("git", ["pull", ...flags, origin, branch], { stdio: "inherit" }) | ||||
|   if (out.stderr) { | ||||
|     throw new Error(`Error while pulling updates: ${out.stderr}`) | ||||
|     throw new Error(chalk.red(`Error while pulling updates: ${out.stderr}`)) | ||||
|   } else if (out.status !== 0) { | ||||
|     throw new Error(chalk.red("Error while pulling updates")) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user