[Bug]: Incorrect usage of additionalProperties and suppression of `no-empty-model` linting rule
- 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
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