@microsoft.azure/autorest.typescript

2.0.133 • Public • Published

Build Status npm version

Installation

npm install -g autorest

Usage

Basic Usage:

autorest --typescript --output-folder=<path-to-the-output-folder(usually upto lib folder of your project)> --license-header=MICROSOFT_MIT_NO_VERSION --input-file=<path-to-swagger-spec> --package-name=<your-package-name> --package-version<your-package-version>

If you have a markdown config file then there is no need to use --input-file, simply provide the path to the markdown file:

autorest --typescript --output-folder=<path-to-the-output-folder(usually upto lib or src folder of your project)> --license-header=MICROSOFT_MIT_NO_VERSION <path-to-readme.md> --package-name=<your-package-name> --package-version<your-package-version>

Generate Metadata files

Generating MetaData files enable you to build and pack the result as an NPM Package. If you want to generate metadata files provide --generate-metadata=true

  • package.json
  • .npmignore
  • webpack.config.js
  • tsconfig.json
  • README.md (with a sample))

NOTE:

  • This will generate all the metadata files one level above the output-folder.
  • The output-folder must end in the lib folder for now. For example --output-folder=D:\tmp\TSProject\lib. This is required because the includes array in tsconfig.json and stuff inside webpack.config.js is hardwired to look for the generated stuff inside the lib folder.
autorest --typescript --output-folder=<path-to-the-output-folder(usually upto lib folder of your project)> --license-header=MICROSOFT_MIT_NO_VERSION --input-file=<path-to-swagger-spec> --package-name=<your-package-name> --package-version<your-package-version> --generate-metadata=true

###Azure Service Client For generating a client for an azure service, provide --typescript.azure-arm=true:

autorest --typescript --output-folder=<path-to-the-output-folder(usually upto lib folder of your project)> --license-header=MICROSOFT_MIT_NO_VERSION --input-file=<path-to-swagger-spec> --package-name=<your-package-name> --package-version<your-package-version> --generate-metadata=true --typescript.azure-arm=true

With Client Credentials

If you want to use services which need authorization you need to generate a constructor taking msRest.ServiceClientCredentials. In order to to do so add --add-credentials as commandline parameter

autorest --typescript --output-folder=<path-to-the-output-folder(usually upto lib folder of your project)> --license-header=MICROSOFT_MIT_NO_VERSION --input-file=<path-to-swagger-spec> --package-name=<your-package-name> --package-version<your-package-version> --add-credentials=true

the generated constructor will look like

constructor(credentials: msRest.ServiceClientCredentials, baseUri?: string, options?: msRest.ServiceClientOptions)

Furhter Documentation on the CMD Line

The complete list of CMD line arguments can be found here. Not every CMD line switch is available for the typescript extension.

Development

Building the project

After cloning the repo, execute:

  • npm install
  • npm install -g gulp (gulp should be installed globally too)
  • npm run build

Testing the developed changes

  • gulp regenerate
  • gulp test

Debugging using vscode

Add the --typescript.debugger to the command line and then use the Attach to Debugger option from vscode. Attach to the dotnet.exe process id that is provided in the command line. We have the .vscode folder in the repo that has the config for attaching to the debugger.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

AutoRest extension configuration

use-extension:
  "@microsoft.azure/autorest.modeler": "2.1.23"

pipeline:
  typescript/modeler:
    input: swagger-document/identity
    output-artifact: code-model-v1
    scope: typescript
  typescript/commonmarker:
    input: modeler
    output-artifact: code-model-v1
  typescript/cm/transform:
    input: commonmarker
    output-artifact: code-model-v1
  typescript/cm/emitter:
    input: transform
    scope: scope-cm/emitter
  typescript/generate:
    plugin: typescript
    input: cm/transform
    output-artifact: source-file-typescript
  typescript/transform:
    input: generate
    output-artifact: source-file-typescript
    scope: scope-transform-string
  typescript/emitter:
    input: transform
    scope: scope-typescript/emitter
    
scope-typescript/emitter:
  input-artifact: source-file-typescript
  output-uri-expr: $key

output-artifact:
- source-file-typescript

Package Sidebar

Install

npm i @microsoft.azure/autorest.typescript@2.0.133

Version

2.0.133

License

MIT

Unpacked Size

1.55 MB

Total Files

47

Last publish

Collaborators

  • microsoft1es
  • azure-sdk
  • windowsazure
  • fearthecowboy