Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(tool): include tooling to track excluded lint rules and their reasons #100

Merged
merged 37 commits into from
Jun 11, 2024

Conversation

alestiago
Copy link
Contributor

@alestiago alestiago commented May 29, 2024

Status

READY

Description

Related to #99.

Creates a script that creates a table with those lint rules that are not enabled by default by Very Good Analysis, together with their reasons, if any.

Adds exclusion reasons for:

Type of Change

  • ✨ New feature (non-breaking change which adds functionality)
  • 🛠️ Bug fix (non-breaking change which fixes an issue)
  • ❌ Breaking change (fix or feature that would cause existing functionality to change)
  • 🧹 Code refactor
  • ✅ Build configuration change
  • 📝 Documentation
  • 🗑️ Chore

@alestiago alestiago self-assigned this May 29, 2024
@alestiago alestiago added the chore Changes that don't modify source code or tests label May 29, 2024
@alestiago alestiago marked this pull request as ready for review June 2, 2024 14:50
@alestiago alestiago requested a review from a team as a code owner June 2, 2024 14:50
tomarra
tomarra previously approved these changes Jun 10, 2024
@oaahmad
Copy link

oaahmad commented Jun 11, 2024

Hi. I noticed you are parsing the HTML page to get all lints. Then I found this: https://github.com/dart-lang/linter/blob/main/tool/machine/rules.json

It's all the rules stored as a JSON file (so it's machine-readable). You can find more information about that file by searching for "machine" in the "linter" repository ( https://github.com/dart-lang/linter ).

Just wanted to share that find to be helpful. It doesn't seem to be documented, but seems to be actively maintained by the Dart team (based on the issues in the repo). It seems less janky than trying to parse the HTML page. But do what you will with that information.

@oaahmad
Copy link

oaahmad commented Jun 11, 2024

@alestiago
Copy link
Contributor Author

alestiago commented Jun 11, 2024

Thanks @oaahmad that's precisely what I didn't like about it. Thanks for providing the old and new link!

dart-lang/sdk#55977 sounds great! The current documented link was the one I was relying on (and scraping it was far from ideal). This said, I hope the Dart team is aware that people might be consuming such internal JSON file so they are conscious on the impact their changes can have (I think Irnh is already on the right track dart-lang/sdk#55977 (comment)).

@alestiago alestiago merged commit aea906c into main Jun 11, 2024
4 checks passed
@alestiago alestiago deleted the alestiago/tables-vga branch June 11, 2024 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Changes that don't modify source code or tests
Projects
Development

Successfully merging this pull request may close these issues.

4 participants