JoshuaKGoldberg / JoshuaKGoldberg/create-typescript-app
🚀 Feature: Simplify ESLint config's yml portions
- Dominant language
- TypeScript
- Stars
- 1.4k
- Forks
- 89
- Avg merge
- 1m
- Merged PRs (30d)
- 3
Description
### Feature Request Checklist
- [x] I have pulled the latest `main` branch of the repository.
- [x] I have [searched for related issues](https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=is%3Aissue) and found none that matched my issue.
### Overview
The ESLint config generated by CTA's _Everything_ preset contains over a dozen lines dedicated to YML normalization:
https://github.com/JoshuaKGoldberg/create-typescript-app/blob/6ea80114fcb1f96e16b95f44ef14c2bab5c0fc88/eslint.config.js#L104-L118
That's ~15% of the default generated ESLint config. Not ideal. I'm trying to reduce the ESLint config over time to make it more approachable.
Most of those lines come from the manual enabling `rules` object. It'd be nice to, if possible, remove that `rules` object - but I also want to keep those three rules enabled.
Investigation required, maybe >=1 of the following is the solution?:
* Would eslint-plugin-yml accept a PR to add those sorting rules to some more pedantic/stylistic preset?
* Would eslint-plugin-perfectionist actually be a better place for key sorting?
### Additional Info
🎁
Contributor guide
Research direction
Inspect eslint.config.js around lines 104–118 to understand the generated YML normalization rules. Compare the available eslint-plugin-yml and eslint-plugin-perfectionist presets, including whether an upstream change is needed; the work is done when the three sorting rules remain enabled with a shorter generated configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- eslint, typescript
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100