coolint 3.0.0
coolint: ^3.0.0 copied to clipboard
Recommended lints for cool apps, packages, and plugins to encourage good coding practices.
3.0.0 #
BREAKING #
- Minimum Dart SDK version bumped from
^3.8.0to^3.13.2. - Enabled strict mode in analyzer (
strict-casts: true,strict-inference: true,strict-raw-types: true). - Removed deprecated
coolint.yamlentrypoint in favor of explicitflutter.yamlordart.yaml.
Added #
- New preset
package:coolint/flutter_package.yamlspecifically tailored for public Flutter UI packages and widget libraries (includesdiagnostic_describe_all_propertiesandpublic_member_api_docs). - 25 new lint rules:
async_return_with_no_awaitavoid_bool_literals_in_conditional_expressionsavoid_multiple_declarations_per_lineavoid_type_to_stringavoid_types_on_closure_parameterscomment_referencesdiagnostic_describe_all_properties(influtter_package.yaml)empty_container_bodiesexhaustive_casesinitialize_in_field_declarationliteral_only_boolean_expressionsno_dynamic_castsno_literal_bool_comparisonsnull_closuresprefer_mixinpublic_member_api_docs(influtter_package.yaml)simple_directive_pathssimplify_variable_patternunnecessary_breaksunnecessary_const_in_enum_constructorunnecessary_primary_constructor_bodyunnecessary_type_name_in_constructoruse_declaring_parametersuse_named_constantsuse_null_aware_elementsuse_setters_to_change_properties
- Added default exclude patterns (
.github/**,build/**,**/.dart_tool/**) indart.yamland platform folders (android/**,ios/**) influtter.yaml.
Changed #
- Reformatted all lint rules in
dart.yamlfrom list syntax to explicit map syntax (rule_name: true).
Removed #
- Removed deprecated
lib/coolint.yaml(usepackage:coolint/flutter.yamlorpackage:coolint/dart.yaml). - Removed deprecated
dart_code_metricssection fromdart.yaml. - Removed deprecated lint rules:
avoid_private_typedef_functionsanduse_if_null_to_convert_nulls_to_bools.
2.1.2 #
Changed #
- Disabled
avoid_catches_without_on_clausesandlines_longer_than_80_charsrules by commenting them out. - Removed
no-equal-then-elsefromdart_code_metricsrules.
2.1.1 #
Added #
- A comprehensive set of new lint rules inspired by
pedantic_monoandubuntu_linterfor even stricter code analysis. - A full
exampleproject to demonstrate the linter's usage and rules in action. - New badges to the
README.mdfor likes, pub points, and downloads. - A "Show your support" section to the
README.mdwith custom "linted by coolint" badges. CONTRIBUTING.mdand a friendlyCODE_OF_CONDUCT.mdto encourage community participation.- Issue and Pull Request templates to streamline contributions.
Changed #
- BREAKING CHANGE: The linter rules are now split into two files to support pure Dart projects and Flutter projects separately.
package:coolint/dart.yaml: For pure Dart projects.package:coolint/flutter.yaml: For Flutter projects (includes all Dart rules).
- BREAKING CHANGE: The dependency on
package:lintshas been removed. All rules are now vendored directly within the package. This givescoolintfull control and stability over the ruleset, independent of external packages. - The
README.mdhas been significantly updated to reflect the new modular structure and all other improvements. - The
dependabot.ymlfile has been improved to also update GitHub Actions. - The
AUTHORSfile has been restructured for clarity. - The syntax of the
dart.yamlfile has been updated to use the list format for active rules and commented-out lines for disabled rules, improving readability.
Removed #
- Removed the external dependency on
package:lints.
2.1.0 #
Added #
- A wide range of new linter rules to enforce stricter code quality and consistency.
- New rules include:
unnecessary_underscores,strict_top_level_inference,invalid_runtime_check_with_js_interop_types,unnecessary_library_name, andlibrary_annotations. - The
coolint.yamlfile is now fully documented and organized into logical categories for better readability and maintenance. - A new, more comprehensive
README.mdhas been created to better explain the project's philosophy and usage.
Changed #
- The severity of
invalid_assignmentandonly_throw_errorshas been increased toerror. - The rule format in
coolint.yamlhas been corrected to usekey: valuepairs, fixing an issue with disabled rules. - All comments in
coolint.yamlare now in English. - Added
/**/__brick__/**to the analyzer's exclude list to ignore Mason brick templates.
Removed #
- Removed the
library_namesrule. - Removed the
prefer_relative_importsrule to resolve a conflict withalways_use_package_imports. - Removed the redundant
prefer-trailing-commarule from thedart_code_metricssection.
2.0.1 #
- Update flutter_lints to 5.0.0
2.0.0 #
- Update flutter_lints to 4.0.0
1.0.3 #
- Update flutter_lints to 3.0.2
- Updates minimum supported SDK version to Dart 3.3.1.
1.0.2 #
- Update to ignore .mappers.dart
1.0.1 #
- Updated package:flutter_lints dependency to version 3.0.0
1.0.0 #
- First version