Skip to content

All the options. Complexity explosion. #6

@JeffryGonzalez

Description

@JeffryGonzalez

I have a few template parameters for the critterapi template right now, but I'm already seeing how that can become really an explosion of stuff.

Since all this does is decide what code is generated, and the whole idea is that you have some "starter" code that you are intended to modify, I think it might make sense to really limit some of the options here.

Maybe just the postgresPort and maybe whether to add adminer or not. Even that could just go - but I kind of like it for my own use. I know some orgs that might have a cow about the (obviously fake) Postgres username and password in the appsettings.Development.json file. Maybe an option to get them from environment variables or a "post installation readme" on how to do that.

If we can get rid of any options that require an #if(feature) branch, then we can probably get pretty close to having tests just for the templates.

For example of the complexity, the exportOtel does some branching in the extension method, and in the docker-compose.yml, but I should probably add some in the csproj file so you don't even get those packages. And already I hate it.

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions