| 
									
										
										
										
											2020-05-05 15:37:31 -07:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @license | 
					
						
							| 
									
										
										
										
											2020-05-19 12:08:49 -07:00
										 |  |  |  * Copyright Google LLC All Rights Reserved. | 
					
						
							| 
									
										
										
										
											2020-05-05 15:37:31 -07:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Use of this source code is governed by an MIT-style license that can be | 
					
						
							|  |  |  |  * found in the LICENSE file at https://angular.io/license
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import * as yargs from 'yargs'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-14 16:49:07 -07:00
										 |  |  | import {CheckoutCommandModule} from './checkout/cli'; | 
					
						
							| 
									
										
										
										
											2020-05-15 17:21:01 +02:00
										 |  |  | import {buildDiscoverNewConflictsCommand, handleDiscoverNewConflictsCommand} from './discover-new-conflicts/cli'; | 
					
						
							|  |  |  | import {buildMergeCommand, handleMergeCommand} from './merge/cli'; | 
					
						
							| 
									
										
										
										
											2020-05-11 15:21:18 -07:00
										 |  |  | import {buildRebaseCommand, handleRebaseCommand} from './rebase/cli'; | 
					
						
							| 
									
										
										
										
											2020-05-05 15:37:31 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-15 17:21:01 +02:00
										 |  |  | /** Build the parser for pull request commands. */ | 
					
						
							| 
									
										
										
										
											2020-05-05 15:37:31 -07:00
										 |  |  | export function buildPrParser(localYargs: yargs.Argv) { | 
					
						
							| 
									
										
										
										
											2020-05-15 17:21:01 +02:00
										 |  |  |   return localYargs.help() | 
					
						
							|  |  |  |       .strict() | 
					
						
							|  |  |  |       .demandCommand() | 
					
						
							|  |  |  |       .command('merge <pr-number>', 'Merge pull requests', buildMergeCommand, handleMergeCommand) | 
					
						
							|  |  |  |       .command( | 
					
						
							|  |  |  |           'discover-new-conflicts <pr-number>', | 
					
						
							|  |  |  |           'Check if a pending PR causes new conflicts for other pending PRs', | 
					
						
							|  |  |  |           buildDiscoverNewConflictsCommand, handleDiscoverNewConflictsCommand) | 
					
						
							| 
									
										
										
										
											2020-05-11 15:21:18 -07:00
										 |  |  |       .command( | 
					
						
							|  |  |  |           'rebase <pr-number>', 'Rebase a pending PR and push the rebased commits back to Github', | 
					
						
							| 
									
										
										
										
											2020-08-14 16:49:07 -07:00
										 |  |  |           buildRebaseCommand, handleRebaseCommand) | 
					
						
							|  |  |  |       .command(CheckoutCommandModule); | 
					
						
							| 
									
										
										
										
											2020-05-05 15:37:31 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (require.main === module) { | 
					
						
							|  |  |  |   buildPrParser(yargs).parse(); | 
					
						
							|  |  |  | } |