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

@ -0,0 +1,20 @@
/**
* @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 {validateFile} from './validate-file';
/** Build the parser for the commit-message commands. */
export function buildCommitMessageParser(localYargs: yargs.Argv) {
return localYargs.help().strict().command(
'pre-commit-validate', 'Validate the most recent commit message', {},
() => { validateFile('.git/COMMIT_EDITMSG'); });
}
if (require.main == module) {
buildCommitMessageParser(yargs).parse();
}