`ITypeLoader` interface should belong to `Azure.Bicep.Types` namespace
- Dominant language
- Bicep
- Stars
- 3.6k
- Forks
- 830
- Avg merge
- 1d 21m
- Merged PRs (30d)
- 79
Description
**Describe the bug**
Currently Bicep Extensibility Provider authors are forced to redefine the `ITypeLoader` interface, see below for examples:
* [ITypeLoader.cs for K8s](https://github.com/Azure/bicep-types-k8s/blob/main/src/Bicep.Types.K8s/ITypeLoader.cs)
* [ITypeLoader.cs for Az](https://github.com/Azure/bicep-types-az/blob/main/src/Bicep.Types.Az/ITypeLoader.cs)
* [Other ITypeloader.cs](https://github.com/project-radius/bicep/blob/bicep-extensibility/src/Bicep.Types.Radius/ITypeLoader.cs)
However since this is an interface that all use, it is better if it can be defined once in the `Azure.Bicep.Types` namespace and consumed by all the Bicep Extensibility Provider implementations
Contributor guide
Research direction
Start by comparing the ITypeLoader.cs implementations linked for K8s, Az, and Radius, then locate the shared types project and the Azure.Bicep.Types namespace in this repository. The work is done when the interface has one shared definition in that namespace and the provider implementations can consume it without redefining it; verify the relevant provider or build tests if available.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100