You have to love a design so simple and so robust that I can build the Bicep cli and a new set of packages from source, then reference them in my Bicep Local extension, and publish with the new cli: the resulting extension works perfectly in the shipping version of the cli.

Generating Bicep types happens when publishing the extension. In the current shipping code, the generator prevents using a type twice, including arrays. Or from using collections or dictionaries. Al fixed back in December.

I haven't really pushed it too hard. The code in github looks very sound. But the dictionaries in the screenshots will tell you that these issues are looking very fixed.

This all started because I wanted to make a fancy way to deploy the example app for my dotnet operator library. So, I added an Aspire app host project. THAT led me to submitting a pull request to Aspire so its Kubernetes integration will generate valid and working Helm charts. If you need that too, you can pull it here: https://github.com/dotnet/aspire/pull/13800#issuecomment-3721402681.

After that I figured I could tackle the issues in the type generator for Bicep Local.... And while reading the code; I realized it had already been fixed. 🀣

I just needed to build the code and use it. The Bicep team has all the scripts in their repo to make that very easy.

#dotnet #bicep #biceplocal #aspire #k8s