This repository now contains just the PowerShell generator components, and none of the common parts that are shared between generators.
In this repository
docs/
- folder containing developer documentation (currently, user docs are published in the autorest repo.)common/
- rush common configuration.vscode/
- vscode settings files.scripts/
- scripts for automating tasks with rush and ADO build YAML filesrush.json
- the rush build configuration filepowershell
- all the source code for the AutoRest.PowerShell extension.samples/
- a couple small non-azure examples to generate modulestests/
- WORK IN PROGRESS scripts to generate some tests to validate the code generator.UX/
- the portal UX metadata files use to display usage of powershell cmdlet for resource in portal page.
-
cmdlets/
- code for creating the cmdlet classes -
enums/
- code for creating extensions on the enum types -
file-formats/
- classes to assist generating simple file formats -
generators/
- generators to create specific output types (project files, psm1,psd1,etc) -
internal/
- internal classes for creating powershell code -
llcsharp/
- all the code for generating the low-level c# code -
models/
- code that extends the lowlevel c# models -
module/
- code that creates the main module class -
plugins/
- the autorest plugins that are implemented in this repository. -
resources/
- the static files that are copied to the generated folder -
test/
- unit test files -
main.ts
- the entrypoint for this extension.
autorest-configuration.md
- the detailed configuration filereadme.md
- contains just the stubs for the configuration.
package.json
- NPM Package infotsconfig.json
- typescript configuration.eslintrc.yaml
- eslint linter configurationdist/
- output folder for compiled typescript files (*.js)
The generator relies on shared components from the Azure Perks project
`@azure-tools/codegen` - common code generation functions
`@azure-tools/codegen-csharp` - C# code dom classes for generating c# code
`@azure-tools/codemodel-v3` - declarations for the AutoRest V3 code model
`@azure-tools/autorest-extension-base` - base classes to handle implementation of the AutoRest JSON/RPC connector
`@azure-tools/linq` - TypeScript implementation of some common LINQ patterns in from .NET
`@azure-tools/tasks` - common code for handling async tasks
`@azure-tools/async-io` - common code for handling async IO in typscript