MetaCode.TS3.CLI 1.0.35

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global MetaCode.TS3.CLI --version 1.0.35
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local MetaCode.TS3.CLI --version 1.0.35
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MetaCode.TS3.CLI&version=1.0.35
                    
nuke :add-package MetaCode.TS3.CLI --version 1.0.35
                    

Overview

A dotnet tool (mcts3) for model-first template-based code generation. Features built-in generators for producing source code for a variety of data model uses.

Features

  • Models can be defined in .NET assemblies or JSON.
  • In-the-box templates for generating:
    • targetting .NET Standard 2.0 and .NET 5.x
    • ordinary mutable classes (POCOs);
    • immutable classes (with builders);
    • immutable classes based on C# 9.0 records;
    • freezable classes;
    • serializable classes for Protobuf-Net, JSON and MessagePack;
    • shared interfaces for all the above.

Command-line use

TBD

  1. Get or create a model
  2. Choose a generator
  3. Generate!

Built-in Generators

Id Lang. Structure Mutability Serialization Notes
Interfaces C# Flat Read-only 1
JsonPoco C# Flat Mutable JSON
Freezables C# Flat Freezable 2
Immutables C# Flat Immutable 4
Records C# 9 Flat Immutable
MsgPack C# Flat Mutable MessagePack
ProtbufNet3 C# Flat Mutable Protobuf.Net
Contracts C# Poly. Read-only 1,3
ClassesV2 C# Poly. Freezable 2
RecordsV2 C# 9 Poly. Immutable
MsgPackV2 C# Poly. Mutable MessagePack
MsgPackV3 C# Poly. Freezable MessagePack

Notes:

  1. Read-only = client cannot invoke change, immutable = provider will never change data.
  2. Freezable = mutable until Freeze() is called, then immutable.
  3. Poly. = polymorphic i.e. supports inheritance.
  4. With builders.

Build your own generator

TBD

Under consideration

  • serialization for:
    • interoperable MessagePack
    • MsgPack.CLI
    • XSD
    • Bond
    • DataContract
    • polymorphic JSON
  • other languages;
  • SQL and EF
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
3.1.14 360 3/2/2023
3.1.12 370 1/29/2023
3.1.7 331 1/28/2023
3.1.5 354 12/21/2022
3.1.4 379 11/28/2022
3.1.3 410 11/20/2022
3.1.2 389 11/19/2022
3.0.43 438 11/3/2022
3.0.42 430 11/2/2022
3.0.41 442 10/23/2022
3.0.40 709 9/18/2022
3.0.39 651 9/10/2022
3.0.38 489 8/29/2022
3.0.37 469 8/29/2022
3.0.36 490 8/29/2022
3.0.33 510 6/30/2022
3.0.30 480 6/4/2022
3.0.29 524 5/14/2022
3.0.26 508 5/6/2022
3.0.22 521 5/1/2022
3.0.20 512 4/29/2022
3.0.18 493 4/29/2022
3.0.14 501 4/29/2022
3.0.12 506 4/27/2022
3.0.11 551 4/13/2022
3.0.10 523 4/12/2022
3.0.9 557 4/11/2022
3.0.6 530 3/24/2022
3.0.5 502 3/22/2022
3.0.4 508 3/21/2022
1.2.1-beta 319 3/17/2022
1.1.3 521 3/16/2022
1.1.2 504 3/13/2022
1.1.1 544 3/9/2022
1.0.62 524 2/13/2022
1.0.59 511 2/11/2022
1.0.56 520 2/11/2022
1.0.53 551 1/13/2022
1.0.50 342 12/25/2021
1.0.46 361 12/22/2021
1.0.44 357 12/22/2021
1.0.43 363 12/21/2021
1.0.41 384 12/21/2021
1.0.40 394 11/28/2021
1.0.35 454 11/14/2021
1.0.29 444 11/4/2021
1.0.26 456 10/17/2021
1.0.23 456 10/3/2021
1.0.21 945 8/8/2021
1.0.20 476 8/7/2021
1.0.19 448 8/7/2021
1.0.18 489 8/7/2021
1.0.17 472 8/6/2021
1.0.13 1,539 6/8/2021
1.0.11 435 6/7/2021
1.0.10 585 5/30/2021
1.0.6 428 5/4/2021
1.0.4-beta 344 5/3/2021
1.0.3-beta 357 5/2/2021
0.7.29 461 4/19/2021
0.7.28 463 4/19/2021
0.7.24 436 4/17/2021
0.7.23 444 4/16/2021
0.7.20 424 4/15/2021
0.7.18 448 4/13/2021
0.7.17 450 4/11/2021
0.7.14 467 4/11/2021
0.7.9 440 3/25/2021
0.7.8 430 3/25/2021
0.7.5 456 3/20/2021
0.7.3 511 1/29/2021
0.7.1 526 1/16/2021
0.6.5 499 1/16/2021
0.6.2 503 1/15/2021
0.6.1 453 1/14/2021
0.5.34 554 1/1/2021
0.5.31 525 12/31/2020
0.5.29 477 12/29/2020
0.5.27 509 12/21/2020
0.5.25 498 12/21/2020
0.5.24 529 12/21/2020
0.5.22 592 12/21/2020
0.5.18 463 12/20/2020
0.5.12 488 12/16/2020
0.5.11 500 12/16/2020
0.5.5 612 12/13/2020
0.5.4 627 12/13/2020
0.5.3 501 12/11/2020