Ensure `@metadata()` content does not conflict with Bicep features persisted in metadata
- Dominant language
- Bicep
- Stars
- 3.6k
- Forks
- 830
- Avg merge
- 1d 21m
- Merged PRs (30d)
- 79
Description
**Is your feature request related to a problem? Please describe.**
The resource-typed params and outputs feature relies on writing a `resourceType` property to the parameter or output metadata. If a property with the same key is specified via an `@metadata()` decorator, the value used in the decorator will take precedence, leading to behavioral differences when consuming the template as compiled JSON/from a registry vs as a local .bicep file.
**Describe the solution you'd like**
A diagnostic should be emitted when a `resourceType` property is used in the metadata applied to an output or parameter.
Contributor guide
Research direction
Start by tracing how resource-typed parameters and outputs persist the `resourceType` property and how `@metadata()` decorators are processed. Find the existing diagnostic and test entry points for metadata or parameter/output validation, then add coverage showing that a `resourceType` key in applied metadata produces a diagnostic.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100