zeffya_lints
A custom set of linter rules to enforce consistent and clean Dart/Flutter code style.
🌟 Features
✅ ClassMemberOrderRule
Enforces specific ordering and spacing between different groups of class members:
constructorFieldconstructorstaticConststaticFinalstaticconstantlateFinalfinalVarlateVarvariableoptionalsettergetteroverrideMethodstaticMethodmethodprivateMethodwidgetOverrideBuildMethodwidgetBuildMethodnone
✅ ConstructorParameterOrderRule
Ensures constructor parameters follow the desired order:
superFieldrequiredThisFieldrequiredVariablethisFieldthisFieldNullablevariableNullablethisFieldWithValuethisFieldNullableWithValuevariableWithValuenone
✅ ControlFlowSpacingRule
Enforces spacing rules around control-flow statements such as if, for, while, etc.
📦 Installation
Add the package to your dev_dependencies:
dev_dependencies:
zeffya_lints:
custom_lint:
Then, in your analysis_options.yaml, enable the plugin and optionally exclude generated files:
analyzer:
plugins:
- custom_lint
exclude:
- "**/*.g.dart"
- "**/*.freezed.dart"
- "**/*.gr.dart"
- "lib/generated/**"
- "lib/firebase_options.dart"
Restart the Dart/Flutter analysis server after making changes to apply the new rules.
📝 License
This project is licensed under the BSD 3-Clause License – see the LICENSE file for details.
Made with ❤️ by zeffbtw.
Libraries
- rules/class_member_order/class_member_order_functions
- rules/class_member_order/class_member_order_quick_fix
- rules/class_member_order/class_member_order_rule
- rules/class_member_order/class_member_type
- rules/constructor_parameter_order/constructor_parameter_order_functions
- rules/constructor_parameter_order/constructor_parameter_order_quick_fix
- rules/constructor_parameter_order/constructor_parameter_order_rule
- rules/constructor_parameter_order/constructor_parameter_type
- rules/control_flow_spacing/control_flow_spacing_quick_fix
- rules/control_flow_spacing/control_flow_spacing_rule
- zeffya_lints