@ts-common/azure-js-dev-tools
Version:
Developer dependencies for TypeScript related projects
238 lines • 7.96 kB
TypeScript
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*/
import { RunOptions, RunResult } from "./run";
/**
* Options that can be passed to autorestExecutable().
*/
export interface AutoRestExecutableOptions {
/**
* The platform that AutoRest will be run on.
*/
osPlatform?: string;
/**
* The path to the AutoRest executable. This can be either the folder that the executable is in or
* the path to the executable itself.
*/
autorestPath?: string;
}
/**
* Get the executable that will be used to run AutoRest.
* @param options The options for specifying which executable to use.
*/
export declare function autorestExecutable(options?: AutoRestExecutableOptions): string;
export declare type Switch = "" | boolean;
export declare type AutoRestOptionValue = string | string[] | boolean | number | undefined;
/**
* An optional dictionary of options you want to pass to Autorest. This will be passed in any call,
* but can be override by "autorest_options" in each data. Note that you CAN'T override
* "--output-folder" which is filled contextually. All options prefixed by "sdkrel:" can be a
* relative path that will be solved against SDK folder before being sent to Autorest.
*/
export interface AutoRestOptions {
/**
* The path to the autorest executable.
*/
path?: string;
/**
* Show verbose output information.
*/
verbose?: Switch;
/**
* Show internal debug information.
*/
debug?: Switch;
/**
* Suppress output.
*/
quiet?: Switch;
/**
* Show all installed versions of AutoRest tools.
*/
"list-installed"?: Switch;
/**
* Lists the last nn releases available from github.
*/
"list-available"?: number;
/**
* Uses specified version of AutoRest (installing if necessary.)
* For version you can use a version label (see --list-available) or
* -latest: Get latest nightly build.
* -latest-release: Get latest release version.
*/
version?: string;
/**
* Remove all installed versions of AutoRest tools and install the latest (override with
* --version).
*/
reset?: Switch;
/**
* Overrides the platform detection for the dotnet runtime (special case). Refer to the Runtime
* Identifier (RID) catalog for more details.
*/
"runtime-id"?: string;
/**
* Adds the given file to the list of input files for generation process.
*/
"input-file"?: string | string[];
/**
* Sets the namespace to use for the generated code.
*/
namespace?: string;
/**
* Text to include as a header comment in generated files. Use NONE to suppress the default header.
*/
"license-header"?: string;
/**
* If specified, the generated client includes a ServiceClientCredentials property and constructor
* parameter. Authentication behaviors are implemented by extending the ServiceClientCredentials
* type.
*/
"add-credentials"?: Switch;
/**
* Name of the package.
*/
"package-name"?: string;
/**
* Version of the package.
*/
"package-version"?: string;
/**
* Specifies mode for generating sync wrappers. Supported value are:
* essential - generates only one sync returning body or header (default)
* all - generates one sync method for each async method
* none - does not generate any sync methods
*/
"sync-methods"?: string;
/**
* The maximum number of properties in the request body. If the number of properties in the
* request body is less than or equal to this value, these properties will be represented as
* method arguments.
*/
"payload-flattening-threshold"?: number;
/**
* Name to use for the generated client type. By default, uses the value of the "Title" field from
* the input files.
*/
"override-client-name"?: string;
/**
* Indicates whether generated constructors will have an internal protection level.
*/
"use-internal-constructors"?: Switch;
/**
* Indicates whether to use DateTimeOffset instead of DateTime to model date-time types.
*/
"use-datetimeoffset"?: Switch;
/**
* Name to use for the generated client models namespace and folder name. By default, uses the
* value of 'Models'. This is not currently supported by all code generators.
*/
"models-name"?: string;
/**
* If set, will cause generated code to be output to a single file. Not supported by all code
* generators.
*/
"output-file"?: string;
/**
* Specifies the format, messages will be printed as. JSON format is easier to process
* programmatically.
*/
"message-format"?: string;
/**
* If set, runs the Azure specific validator plugin.
*/
"azure-validator"?: Switch;
/**
* Indicates the type of configuration file being passed to the azure-validator so that it can run
* the appropriate class of validation rules accordingly.
*/
"openapi-type"?: string;
/**
* If set, validates the provided OpenAPI definition(s) against provided examples.
*/
"model-validator"?: Switch;
/**
* If set, semantically verifies the provided OpenAPI definition(s), e.g. checks that a
* parameter's specified default value matches the parameter's declared type.
*/
"semantic-validator"?: Switch;
/**
* Runs the C# code generator.
*/
csharp?: Switch;
/**
* Runs the Node.js JavaScript code generator.
*/
nodejs?: Switch;
/**
* Runs the Python code generator.
*/
python?: Switch;
/**
* Runs the Java code generator.
*/
java?: Switch;
/**
* Runs the Ruby code generator.
*/
ruby?: Switch;
/**
* Runs the Go code generator.
*/
go?: Switch;
/**
* Runs the TypeScript code generator.
*/
typescript?: Switch;
/**
* Runs the Azure Resource Schema code generator.
*/
azureresourceschema?: Switch;
/**
* Uses the Azure version of the specified code generator.
*/
"azure-arm"?: Switch;
/**
* Additional options that can be provided to AutoRest.
*/
[additionalOptionName: string]: AutoRestOptionValue;
}
/**
* Run AutoRest in a new process using the provided options.
* @param autorestOptions The options to pass to AutoRest.
* @param runOptions The options to use when creating the AutoRest process.
*/
export declare function autorest(readmeMdFileUrl: string | undefined, autorestOptions: AutoRestOptions | undefined, runOptions: RunOptions & AutoRestExecutableOptions): Promise<RunResult>;
/**
* The parsed version of the swagger-to-sdk YAML block within an AutoRest readme.md file.
*/
export interface ReadmeMdSwaggerToSDKConfiguration {
/**
* The repositories specified.
*/
repositories: RepositoryConfiguration[];
}
/**
* An individual repository configuration within an AutoRest readme.md swagger-to-sdk YAML block
* configuration.
*/
export interface RepositoryConfiguration {
/**
* The name of the GitHub repository this configuration applies to. If no organization is
* specified, then Azure will be used.
*/
repo: string;
/**
* The list of commands that will be run (in order) after an SDK has been generated.
*/
after_scripts: string[];
}
/**
* Parse the contents of an AutoRest readme.md configuration file and return the parsed swagger to
* sdk configuration section.
* @param readmeMdFileContents The contents of an AutoRest readme.md configuration file.
*/
export declare function findSwaggerToSDKConfiguration(readmeMdFileContents: string | undefined): ReadmeMdSwaggerToSDKConfiguration | undefined;
//# sourceMappingURL=autorest.d.ts.map