Azure / Azure/bicep

`ITypeLoader` interface should belong to `Azure.Bicep.Types` namespace

Open
#6,825 0 comments 0 reactions 0 assignees View on GitHub
story: extensibility
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.