Skip to content

Release v4.198.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 17:06
b1a0533

Generated C# now reads like hand-written Cratis code, the file header is yours to choose, the scaffold matches the Cratis template, and feature and slice plans can carry the application's frontend.

Added

  • CratisPlanOptions.FileHeader takes the lines of a file header as plain text; Stage writes them as comments at the top of every generated C#, TypeScript and JavaScript file.
  • CratisPlanOptions.UserInterface lets a feature or slice plan also produce the application's shared frontend files (scene.json, src/bindings.ts, src/stage.ts, src/stage-scene.json), composed over the slices that already have generated code, so the bindings never import a proxy that does not exist yet. An unknown slice in the selection is refused with STAGE-SCREEN-007.

Changed

  • Generated C# uses short type names and using directives instead of fully qualified global:: names. A name stays qualified only where a short name could bind to a different type. Existing applications see a one-time text change the next time they are generated. (#424)
  • Generated files no longer start with a Cratis copyright header; without a FileHeader they have no header at all.
  • The application scaffold no longer creates a separate {Project}.Specs project. Specifications live beside the slices and compile into the application project in Debug builds, and dotnet test {Project}.csproj runs them, as in the Cratis template.