Configuration management system for AutoRest's REST API client library generator
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Pending
The risk profile of this skill
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