Skip to content

necodeIT/grumpy_lints

Repository files navigation

Grumpy Lints

Lint rules for using Grumpy architecture correctly.

Rules

Rule Overview Severity Fix Available Codes
must_call_in_constructor Require constructors to call methods annotated with @mustCallInConstructor on supertypes or mixins. ERROR 3
abstract_classes_should_set_log_group Abstract classes using LogMixin must override group with their class name, or append to super.group. ERROR 1
concrete_classes_should_set_log_tag Concrete classes using LogMixin must override logTag with their class name. ERROR 1

must_call_in_constructor

Require constructors to call methods annotated with @mustCallInConstructor on supertypes or mixins.

Codes

  • missing_required_constructor_call (ERROR)
  • avoid_abstract_constructor_calls (ERROR)
  • avoid_exempt_constructor_calls (ERROR)

Examples

No examples provided.

abstract_classes_should_set_log_group

Abstract classes using LogMixin must override group with their class name, or append to super.group.

Codes

  • abstract_classes_should_set_log_group (ERROR)

Examples

❌ DON'T

abstract class MyAbstractClass with LogMixin {
}

✅ DO

abstract class MyAbstractClass with LogMixin {
  @override
  String get group => 'MyAbstractClass';
}

✅ DO

abstract class BaseAbstractClass with LogMixin {
  @override
  String get group => 'BaseAbstractClass';
}

abstract class DerivedAbstractClass extends BaseAbstractClass {
  @override
  String get group => '${super.group}.DerivedAbstractClass';
}

concrete_classes_should_set_log_tag

Concrete classes using LogMixin must override logTag with their class name.

Codes

  • concrete_classes_should_set_log_tag (ERROR)

Examples

❌ DON'T

class MyConcreteClass with LogMixin {
}

✅ DO

class MyConcreteClass with LogMixin {
  @override
  String get logTag => 'MyConcreteClass';
}

About

Linting rules for using grumpy

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages