A tool that can generate TypeScript types from C# classes
Build Status | |
---|---|
TypeScript.ContractGenerator | |
TypeScript.ContractGenerator.Roslyn | |
TypeScript.ContractGenerator.Cli | |
Build |
See CHANGELOG.
See https://github.com/skbkontur/TypeScript.ContractGenerator/wiki#how-to-use
See Quick Start for more detailed guide
See https://github.com/skbkontur/TypeScript.ContractGenerator/wiki/Generation-Options
There is ContractGeneratorIgnore
attribute that can be applied to properties and makes generator skip current property.
To use Roslyn you should get a Compilation
object of your project. It can be done with helper method AdhocProject.GetCompilation(string[] directories, string[] assemblies)
.
You can then get customization info from this compilation by calling extension method compilation.GetCustomization()
and call TypeScriptGenerator
with this customization:
var (customTypeGenerator, typesProvider) = AdhocProject.GetCompilation(directories, assemblies).GetCustomization();
var typeGenerator = new TypeScriptGenerator(options, customTypeGenerator, typesProvider);
typeGenerator.GenerateFiles(outputDirectory);
Install tool with command:
dotnet tool install -g SkbKontur.TypeScript.ContractGenerator.Cli
Use tool with command:
dotnet ts-gen --assembly ./Api/bin/Api.dll --outputDir ./src/Api
dotnet tool also supports Roslyn:
dotnet ts-gen --directory ./Api;./Core --assembly ./External/Dependency.dll --outputDir ./src/Api