-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
area-metaCross-cutting, high-level issues (for tracking many other implementation issues, ...).Cross-cutting, high-level issues (for tracking many other implementation issues, ...).devexp-linterIssues with the analyzer's support for the linter packageIssues with the analyzer's support for the linter packagelegacy-area-analyzerUse area-devexp instead.Use area-devexp instead.
Description
Rationalization
The Dart ecosystem has a number of "default" rulesets.
- the
pana
package uses one that should mirror what is used bystagehand
but could consider another (for example, pedantic?) package:pedantic
describes google standard defaults, which are close but not quite to a subset of those in Effective Dart- and what's the rationale for what's defined by stagehand anyway; wouldn't it be better if it just used one of the existing rulesets (consider updating template to use
package:pedantic
lints dart-archive/stagehand#593)? - the flutter repo uses still another and the flutter analyze tool still one more
- (finally?!?) the
dartanalyzer
tool uses yet another set of rules (What are the default lints enforced? #57872)
Needless to say, this is VERY confusing. Ideally we could converge on one set of defaults with variants well documented.
Alignment
Concretely, I'd propose we converge on package:pedantic
where possible. Specifically, I'd suggest defaults should be:
-
stagehand
: pedantic (consider updating template to usepackage:pedantic
lints dart-archive/stagehand#593) -
pana
: pedantic (Consider using pedantic as a baseline for linting? pana#459) -
dartanalyzer
: none (NPE given invalid import #1376, Remove lint rule registry default list #35708) -
flutter
- repo unchanged
-
user: superset of(leave informal for now)pedantic
?
Documentation
Having aligned as best we can, we'll want to document. Some thoughts for where:
-
analyzer
package README (shows in pub) PR -
linter
- README
-
generated rule docs
- dart-lang "Customize Static Analysis" doc
/cc @bwilkerson @davidmorgan @kevmoo @mit-mit @stereotype441 @devoncarew @kwalrath
Metadata
Metadata
Assignees
Labels
area-metaCross-cutting, high-level issues (for tracking many other implementation issues, ...).Cross-cutting, high-level issues (for tracking many other implementation issues, ...).devexp-linterIssues with the analyzer's support for the linter packageIssues with the analyzer's support for the linter packagelegacy-area-analyzerUse area-devexp instead.Use area-devexp instead.