The CLI arguments module provides parsing and validation of command-line arguments for AutoRest configuration.
function parseArgs(cliArgs: string[]): CliArgs;
interface CliArgs {
positional: string[];
options: Record<string, any>;
optionList: Array<{ key: string; value: any }>;
}Parses raw command line arguments into structured format with positional arguments and options.
Parameters:
cliArgs: string[] - Array of command line arguments to parseReturns:
CliArgs object containing:
positional: string[] - Positional arguments (typically configuration files)options: Record<string, any> - Parsed options with latest values for duplicate flagsoptionList: Array<{key: string; value: any}> - Complete list of all options including duplicatesExample:
import { parseArgs } from "@autorest/configuration";
const args = parseArgs([
"swagger.json",
"--input-file=api.yaml",
"--output-folder=./generated",
"--debug=true"
]);
console.log(args.positional); // ["swagger.json"]
console.log(args.options); // { "input-file": "api.yaml", "output-folder": "./generated", "debug": true }function parseAutorestCliArgs(cliArgs: string[]): AutorestCliArgs | undefined;
interface AutorestCliArgs {
options: AutorestNormalizedConfiguration;
configFileOrFolder: string | undefined;
}Parses and validates AutoRest-specific command line arguments with configuration schema validation.
Parameters:
cliArgs: string[] - Array of command line argumentsReturns:
AutorestCliArgs object with validated options, or undefined if parsing/validation failsExample:
import { parseAutorestCliArgs } from "@autorest/configuration";
const result = parseAutorestCliArgs([
"config.md",
"--input-file=swagger.json",
"--output-folder=./generated",
"--csharp",
"--namespace=MyApi"
]);
if (result) {
const { options, configFileOrFolder } = result;
console.log("Config file:", configFileOrFolder); // "config.md"
console.log("Options:", options);
}CLI arguments follow these patterns:
config.md, autorest.yaml)--flag-name=value or --flag-name:value format--flag-name (defaults to true)--foo.bar=value)The parseAutorestCliArgs function performs validation against the AutoRest configuration schema:
undefined if validation fails with errors loggedInvalid CLI arguments result in:
undefined return value for parseAutorestCliArgs