feat(dev-infra): standard CLI commands using yargs (#36326)

Creates a standard model for CLI commands provided by ng-dev.
Allows for us to have any of the tools/scripts extend to be
included in the ng-dev command, or be standalone using the same
yargs parser.

PR Close #36326
This commit is contained in:
Joey Perrott
2020-03-26 10:45:09 -07:00
committed by Kara Erickson
parent 326240eb91
commit 43006bcc45
9 changed files with 114 additions and 40 deletions

View File

@ -3,6 +3,7 @@ load("@npm_bazel_typescript//:index.bzl", "ts_library")
ts_library(
name = "pullapprove",
srcs = [
"cli.ts",
"group.ts",
"logging.ts",
"parse-yaml.ts",
@ -16,9 +17,11 @@ ts_library(
"@npm//@types/node",
"@npm//@types/shelljs",
"@npm//@types/yaml",
"@npm//@types/yargs",
"@npm//minimatch",
"@npm//shelljs",
"@npm//tslib",
"@npm//yaml",
"@npm//yargs",
],
)

View File

@ -0,0 +1,19 @@
/**
* @license
* Copyright Google Inc. 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 * as yargs from 'yargs';
import {verify} from './verify';
/** Build the parser for the pullapprove commands. */
export function buildPullapproveParser(localYargs: yargs.Argv) {
return localYargs.help().strict().demandCommand().command(
'verify', 'Verify the pullapprove config', {}, () => verify());
}
if (require.main === module) {
buildPullapproveParser(yargs).parse();
}