37 lines
		
	
	
		
			938 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			938 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /** | ||
|  |  * @license | ||
|  |  * Copyright Google LLC All Rights Reserved. | ||
|  |  * | ||
|  |  * 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 {Arguments, Argv, CommandModule} from 'yargs'; | ||
|  | 
 | ||
|  | import {buildEnvStamp, EnvStampMode} from './env-stamp'; | ||
|  | 
 | ||
|  | 
 | ||
|  | export interface Options { | ||
|  |   mode: EnvStampMode; | ||
|  | } | ||
|  | 
 | ||
|  | function builder(args: Argv): Argv<Options> { | ||
|  |   return args.option('mode', { | ||
|  |     demandOption: true, | ||
|  |     description: 'Whether the env-stamp should be built for a snapshot or release', | ||
|  |     choices: ['snapshot' as const, 'release' as const] | ||
|  |   }); | ||
|  | } | ||
|  | 
 | ||
|  | async function handler({mode}: Arguments<Options>) { | ||
|  |   buildEnvStamp(mode); | ||
|  | } | ||
|  | 
 | ||
|  | /** CLI command module for building the environment stamp. */ | ||
|  | export const BuildEnvStampCommand: CommandModule<{}, Options> = { | ||
|  |   builder, | ||
|  |   handler, | ||
|  |   command: 'build-env-stamp', | ||
|  |   describe: 'Build the environment stamping information', | ||
|  | }; |