Azure / Azure/typespec-azure

[Bug]: Incorrect usage of additionalProperties and suppression of `no-empty-model` linting rule

Open
#2,192 0 comments 0 reactions 0 assignees View on GitHub
bug cli/psh lib:azure-resource-manager linter
Dominant language
TypeScript
Stars
27
Forks
90
Avg merge
1d 21h
Merged PRs (30d)
164

Description

### Describe the bug

https://github.com/search?q=repo%3AAzure%2Fazure-rest-api-specs%20typespec-azure-resource-manager%2Fno-empty-model&type=code

Most of the bad usages should be using `Record` or `Record`. We need to work with service team to correct them.

### Reproduction

https://github.com/search?q=repo%3AAzure%2Fazure-rest-api-specs%20typespec-azure-resource-manager%2Fno-empty-model&type=code

### Tasks

- [ ] Add linter warn of using `Record` instead of `Record`
- [ ] For `{}` handling, to avoid breaking changes, suggest CodeGen/TCGC has an optional flag to treat `{}` as void.

### Checklist

- [x] Follow our [Code of Conduct](https://github.com/azure/typespec-azure/blob/main/CODE_OF_CONDUCT.md)
- [x] Check that this issue is about the Azure libraries for typespec. For bug in the typespec language or core libraries file it in the [TypeSpec repo](https://github.com/Microsoft/TypeSpec/issues/new/choose)
- [x] Check that there isn't already an issue that request the same bug to avoid creating a duplicate.
- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.

Contributor guide

Open the contributing guide

Research direction

Start with the linked repository code search for `typespec-azure-resource-manager/no-empty-model` and review the existing lint handling for `additionalProperties`, `Record`, and `Record`. Confirm the expected warning and investigate the mentioned CodeGen/TCGC optional flag for `{}` handling; done means the requested lint guidance and compatibility behavior are defined and covered by the relevant checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.