Conversation
There was a problem hiding this comment.
Pull request overview
This PR removes the include-based configuration approach for the analyzer plugins, replacing it with direct configuration using the diagnostics format. The main purpose is to simplify the configuration by eliminating the versioned analysis_options_all*.yaml files that users could include, and instead directing users to explicitly enable rules they need.
Key changes:
- Removed all
analysis_options_all.yamland versioned configuration files from package lib directories - Updated README files to remove instructions for using
includedirective and emphasize thediagnosticsapproach - Consolidated plugin configurations into the root
analysis_options.yamlfile
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/nilts_flutter_hooks/lib/analysis_options_all.yaml | Deleted file that provided include-based configuration |
| packages/nilts_flutter_hooks/lib/analysis_options_all.1.0.0.yaml | Deleted versioned configuration file |
| packages/nilts_flutter_hooks/analysis_options.yaml | Updated to use direct include of very_good_analysis instead of relative path |
| packages/nilts_flutter_hooks/README.md | Removed documentation for include-based configuration, added explanation for diagnostics approach |
| packages/nilts_core/analysis_options.yaml | Updated to use direct include of very_good_analysis instead of relative path |
| packages/nilts_clock/lib/analysis_options_all.yaml | Deleted file that provided include-based configuration |
| packages/nilts_clock/lib/analysis_options_all.1.0.0.yaml | Deleted versioned configuration file |
| packages/nilts_clock/analysis_options.yaml | Updated to use direct include of very_good_analysis instead of relative path |
| packages/nilts_clock/README.md | Removed documentation for include-based configuration, added explanation for diagnostics approach |
| packages/nilts/lib/analysis_options_all.yaml | Deleted file that provided include-based configuration |
| packages/nilts/lib/analysis_options_all.1.0.0.yaml | Deleted versioned configuration file with all rule definitions |
| packages/nilts/analysis_options.yaml | Updated to use direct include of very_good_analysis instead of relative path |
| packages/nilts/README.md | Removed documentation for include-based configuration, simplified example |
| examples/nilts_example/analysis_options.yaml | Simplified to single include statement instead of multiple includes |
| analysis_options_all_rules.yaml | Deleted file containing all plugin rule configurations |
| analysis_options.yaml | Added comprehensive plugin configurations directly in the root file |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary of ChangesHello @ronnnnn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request refactors the analyzer plugin configuration and its associated documentation to simplify how users enable and manage lint rules. The primary goal is to move away from 'include all rules' directives and instead promote explicit configuration via the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request refactors the configuration of the analyzer plugins by removing the include option for enabling all rules and updating the documentation accordingly. The plugin configurations are now consolidated in the root analysis_options.yaml file, and the READMEs are updated to guide users on the new, more explicit configuration method. The changes are consistent and improve the project's structure.
My review includes a few suggestions to improve maintainability and documentation clarity:
- Use version constraints for plugins in
analysis_options.yamlfor better flexibility. - Use relative links in the README files to point to the example configuration, ensuring version consistency.
|
|
||
| plugins: | ||
| nilts: | ||
| version: 1.0.0 |
| unstable_enum_name: true | ||
| unstable_enum_values: true | ||
| nilts_clock: | ||
| version: 1.0.0 |
| diagnostics: | ||
| using_date_time_now: true | ||
| nilts_flutter_hooks: | ||
| version: 1.0.0 |
| ``` | ||
| <!-- prettier-ignore-end --> | ||
|
|
||
| For a complete example of enabling all rules, see [`analysis_options.yaml`](https://github.com/dassssshers/nilts/blob/main/analysis_options.yaml). |
There was a problem hiding this comment.
Using a relative link to analysis_options.yaml is more robust. It ensures that users viewing the README for a specific version or tag will see the corresponding version of the configuration file, rather than always being directed to the main branch.
| For a complete example of enabling all rules, see [`analysis_options.yaml`](https://github.com/dassssshers/nilts/blob/main/analysis_options.yaml). | |
| For a complete example of enabling all rules, see [`analysis_options.yaml`](../../analysis_options.yaml). |
| ``` | ||
| <!-- prettier-ignore-end --> | ||
|
|
||
| For a complete example of enabling all rules, see [`analysis_options.yaml`](https://github.com/dassssshers/nilts/blob/main/analysis_options.yaml). |
There was a problem hiding this comment.
Using a relative link to analysis_options.yaml is more robust. It ensures that users viewing the README for a specific version or tag will see the corresponding version of the configuration file, rather than always being directed to the main branch.
| For a complete example of enabling all rules, see [`analysis_options.yaml`](https://github.com/dassssshers/nilts/blob/main/analysis_options.yaml). | |
| For a complete example of enabling all rules, see [`analysis_options.yaml`](../../analysis_options.yaml). |
| ``` | ||
| <!-- prettier-ignore-end --> | ||
|
|
||
| For a complete example of enabling all rules, see [`analysis_options.yaml`](https://github.com/dassssshers/nilts/blob/main/analysis_options.yaml). |
There was a problem hiding this comment.
Using a relative link to analysis_options.yaml is more robust. It ensures that users viewing the README for a specific version or tag will see the corresponding version of the configuration file, rather than always being directed to the main branch.
| For a complete example of enabling all rules, see [`analysis_options.yaml`](https://github.com/dassssshers/nilts/blob/main/analysis_options.yaml). | |
| For a complete example of enabling all rules, see [`analysis_options.yaml`](../../analysis_options.yaml). |
Overview
Delete
includeoptions for configurations of analyzer plugin.Feature type