feat/upgrade-analysis #227
| @ -1,3 +1,26 @@ | ||||
| ## 2.6.0 | ||||
| 
 | ||||
|  - **ADDED** annotate_redeclares (https://dart.dev/tools/linter-rules/annotate_redeclares) | ||||
|  - **ADDED** deprecated_member_use_from_same_package (https://dart.dev/tools/linter-rules/deprecated_member_use_from_same_package) | ||||
|  - **ADDED** diagnostic_describe_all_properties (https://dart.dev/tools/linter-rules/diagnostic_describe_all_properties) | ||||
|  - **ADDED** implicit_reopen (https://dart.dev/tools/linter-rules/implicit_reopen) | ||||
|  - **ADDED** invalid_case_patterns (https://dart.dev/tools/linter-rules/invalid_case_patterns) | ||||
|  - **ADDED** matching_super_parameters (https://dart.dev/tools/linter-rules/matching_super_parameters) | ||||
|  - **ADDED** no_literal_bool_comparisons (https://dart.dev/tools/linter-rules/no_literal_bool_comparisons) | ||||
|  - **ADDED** no_self_assignments (https://dart.dev/tools/linter-rules/no_self_assignments) | ||||
|  - **ADDED** no_wildcard_variable_uses (https://dart.dev/tools/linter-rules/no_wildcard_variable_uses) | ||||
|  - **ADDED** prefer_final_parameters (https://dart.dev/tools/linter-rules/prefer_final_parameters) | ||||
|  - **ADDED** prefer_foreach (https://dart.dev/tools/linter-rules/prefer_foreach) | ||||
|  - **ADDED** type_literal_in_constant_pattern (https://dart.dev/tools/linter-rules/type_literal_in_constant_pattern) | ||||
|  - **ADDED** unnecessary_breaks (https://dart.dev/tools/linter-rules/unnecessary_breaks) | ||||
|  - **ADDED** unnecessary_library_directive (https://dart.dev/tools/linter-rules/unnecessary_library_directive) | ||||
|  - **ADDED** unnecessary_null_aware_operator_on_extension_on_nullable (https://dart.dev/tools/linter-rules/unnecessary_null_aware_operator_on_extension_on_nullable) | ||||
|  - **REMOVED** always_require_non_null_named_parameters (https://dart.dev/tools/linter-rules/always_require_non_null_named_parameters) | ||||
|  - **REMOVED** avoid_returning_null_for_future (https://dart.dev/tools/linter-rules/avoid_returning_null_for_future) | ||||
|  - **REMOVED** iterable_contains_unrelated_type (https://dart.dev/tools/linter-rules/iterable_contains_unrelated_type) | ||||
|  - **REMOVED** list_remove_unrelated_type (https://dart.dev/tools/linter-rules/list_remove_unrelated_type) | ||||
|  - **REMOVED** prefer_equal_for_default_values (https://dart.dev/tools/linter-rules/prefer_equal_for_default_values) | ||||
| 
 | ||||
| ## 2.5.0 | ||||
| 
 | ||||
|  - **FIX**(analysis): remove depencies sort. (4e3b288e) | ||||
|  | ||||
| @ -20,7 +20,7 @@ | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| This package provides lint rules for Dart and Flutter which are used at  [Wyatt Studio](https://wyatt-studio.fr). For more information, see the complete list of options in **lib/analysis_options.2.5.0.yaml**. | ||||
| This package provides lint rules for Dart and Flutter which are used at  [Wyatt Studio](https://wyatt-studio.fr). For more information, see the complete list of options in **lib/analysis_options.2.6.0.yaml**. | ||||
| 
 | ||||
| **Note**: This package was heavily inspired by [pedantic](https://github.com/dart-lang/pedantic), [Very Good Analysis](https://github.com/VeryGoodOpenSource/very_good_analysis) and the official [flutter_lints](https://pub.dev/packages/flutter_lints). | ||||
| 
 | ||||
| @ -29,7 +29,7 @@ This package provides lint rules for Dart and Flutter which are used at  [Wyatt | ||||
| Using CLI: | ||||
| 
 | ||||
| ```sh | ||||
| dart pub add wyatt_analysis:2.5.0 --dev --hosted-url=https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/ | ||||
| dart pub add wyatt_analysis:2.6.0 --dev --hosted-url=https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/ | ||||
| ``` | ||||
| 
 | ||||
| ## Usage | ||||
| @ -39,7 +39,7 @@ To use the lints, add a dependency in your `pubspec.yaml` : | ||||
| ```yaml | ||||
| wyatt_analysis: | ||||
|     hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/ | ||||
|     version: 2.5.0 | ||||
|     version: 2.6.0 | ||||
| ``` | ||||
| 
 | ||||
| Then, add an include in `analysis_options.yaml` : | ||||
| @ -57,13 +57,13 @@ include: package:wyatt_analysis/analysis_options.flutter.yaml | ||||
| If you wish to restrict the lint version, specify a version of `analysis_options.yaml` instead: | ||||
| 
 | ||||
| ```yaml | ||||
| include: package:wyatt_analysis/analysis_options.flutter.2.5.0.yaml | ||||
| include: package:wyatt_analysis/analysis_options.flutter.2.6.0.yaml | ||||
| ``` | ||||
| 
 | ||||
| If you just want **Dart** version: | ||||
| 
 | ||||
| ```yaml | ||||
| include: package:wyatt_analysis/analysis_options.2.5.0.yaml | ||||
| include: package:wyatt_analysis/analysis_options.2.6.0.yaml | ||||
| ``` | ||||
| 
 | ||||
| ## Suppressing Lints | ||||
| @ -117,12 +117,44 @@ To indicate your project is using `wyatt_analysis` → [![style: wyatt analysis] | ||||
| When you want to create a new version of the plugin. Before any modification, execute the following command to create new files: | ||||
| 
 | ||||
| ```sh | ||||
| ./new_version.sh <new_version> | ||||
| ./tools/new_version.sh <version> | ||||
| ``` | ||||
| 
 | ||||
| The previous version is automatically detected thanks to the `.latest_version` file. | ||||
| So `.latest_version` needs to be versioned! | ||||
| The previous version is automatically retrieved from the `pubspec.yaml` file. | ||||
| 
 | ||||
| This script will create the following files: | ||||
| * `lib/analysis_options.<version>.yaml` | ||||
| * `lib/analysis_options.flutter.<version>.yaml` | ||||
| 
 | ||||
| And update the following files: | ||||
| * `README.md` | ||||
| * `pubspec.yaml` | ||||
| * `lib/analysis_options.yaml` | ||||
| * `lib/analysis_options.flutter.yaml` | ||||
| * `lib/wyatt_analysis.dart` | ||||
| 
 | ||||
| Then, you can use the following command to retrieve latest available lints from the official linter. | ||||
| 
 | ||||
| ```sh | ||||
| ./tools/check_rules.sh | ||||
| ``` | ||||
| 
 | ||||
| After that, you can modify the files `lib/analysis_options.<version>.yaml` and `lib/analysis_options.flutter.<version>.yaml` to add new lints or remove some. | ||||
| 
 | ||||
| Then you can sort the lints with the following command: | ||||
| 
 | ||||
| ```sh | ||||
| ./tools/sort_rules.sh | ||||
| ``` | ||||
| 
 | ||||
| Finally, you can generate the changelog with the following command: | ||||
| 
 | ||||
| ```sh | ||||
| ./tools/generate_changelog.sh <old_version> | ||||
| ``` | ||||
| 
 | ||||
| The new version is automatically retrieved from the `pubspec.yaml` file. But **you have to specify** the previous version. | ||||
| 
 | ||||
| ## Notes | ||||
| 
 | ||||
| You can explore every lint rules [here](https://dart-lang.github.io/linter/lints/). | ||||
| You can explore every lint rules [here](https://dart.dev/tools/linter-rules). | ||||
|  | ||||
							
								
								
									
										232
									
								
								packages/wyatt_analysis/lib/analysis_options.2.6.0.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										232
									
								
								packages/wyatt_analysis/lib/analysis_options.2.6.0.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,232 @@ | ||||
| # Copyright (C) 2023 WYATT GROUP | ||||
| # Please see the AUTHORS file for details. | ||||
| # | ||||
| # This program is free software: you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License as published by | ||||
| # the Free Software Foundation, either version 3 of the License, or | ||||
| # any later version. | ||||
| # | ||||
| # This program is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with this program. If not, see <https://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| analyzer: | ||||
|   language: | ||||
|     strict-casts: true | ||||
|     strict-inference: true | ||||
|     strict-raw-types: true | ||||
|   errors: | ||||
|     todo: ignore | ||||
|     close_sinks: ignore | ||||
|     missing_required_param: error | ||||
|     missing_return: error | ||||
|     record_literal_one_positional_no_trailing_comma: error | ||||
|     collection_methods_unrelated_type: warning | ||||
|     unrelated_type_equality_checks: warning | ||||
|   exclude: | ||||
|     - lib/l10n/** | ||||
|     - lib/generated/** | ||||
|     - lib/gen/** | ||||
|     - lib/generated_plugin_registrant.dart | ||||
|     - test/.test_coverage.dart | ||||
|     - "**/*.g.dart" | ||||
|     - "**/*.freezed.dart" | ||||
| linter: | ||||
|   rules: | ||||
|     - always_declare_return_types | ||||
|     - always_put_control_body_on_new_line | ||||
|     - always_put_required_named_parameters_first | ||||
|     - always_use_package_imports | ||||
|     - annotate_overrides | ||||
|     - annotate_redeclares | ||||
|     - avoid_bool_literals_in_conditional_expressions | ||||
|     - avoid_catching_errors | ||||
|     - avoid_double_and_int_checks | ||||
|     - avoid_dynamic_calls | ||||
|     - avoid_empty_else | ||||
|     - avoid_equals_and_hash_code_on_mutable_classes | ||||
|     - avoid_escaping_inner_quotes | ||||
|     - avoid_field_initializers_in_const_classes | ||||
|     - avoid_final_parameters | ||||
|     - avoid_function_literals_in_foreach_calls | ||||
|     - avoid_init_to_null | ||||
|     - avoid_js_rounded_ints | ||||
|     - avoid_multiple_declarations_per_line | ||||
|     - avoid_null_checks_in_equality_operators | ||||
|     - avoid_positional_boolean_parameters | ||||
|     - avoid_private_typedef_functions | ||||
|     - avoid_redundant_argument_values | ||||
|     - avoid_relative_lib_imports | ||||
|     - avoid_renaming_method_parameters | ||||
|     - avoid_return_types_on_setters | ||||
|     - avoid_returning_null | ||||
|     - avoid_returning_null_for_void | ||||
|     - avoid_returning_this | ||||
|     - avoid_setters_without_getters | ||||
|     - avoid_shadowing_type_parameters | ||||
|     - avoid_single_cascade_in_expression_statements | ||||
|     - avoid_slow_async_io | ||||
|     - avoid_type_to_string | ||||
|     - avoid_types_as_parameter_names | ||||
|     - avoid_types_on_closure_parameters | ||||
|     - avoid_unused_constructor_parameters | ||||
|     - avoid_void_async | ||||
|     - await_only_futures | ||||
|     - camel_case_extensions | ||||
|     - camel_case_types | ||||
|     - cancel_subscriptions | ||||
|     - cascade_invocations | ||||
|     - cast_nullable_to_non_nullable | ||||
|     - collection_methods_unrelated_type | ||||
|     - combinators_ordering | ||||
|     - comment_references | ||||
|     - conditional_uri_does_not_exist | ||||
|     - constant_identifier_names | ||||
|     - control_flow_in_finally | ||||
|     - curly_braces_in_flow_control_structures | ||||
|     - dangling_library_doc_comments | ||||
|     - depend_on_referenced_packages | ||||
|     - deprecated_consistency | ||||
|     - deprecated_member_use_from_same_package | ||||
|     - directives_ordering | ||||
|     - empty_catches | ||||
|     - empty_constructor_bodies | ||||
|     - empty_statements | ||||
|     - eol_at_end_of_file | ||||
|     - exhaustive_cases | ||||
|     - file_names | ||||
|     - flutter_style_todos | ||||
|     - hash_and_equals | ||||
|     - implementation_imports | ||||
|     - implicit_call_tearoffs | ||||
|     - implicit_reopen | ||||
|     - invalid_case_patterns | ||||
|     - join_return_with_assignment | ||||
|     - leading_newlines_in_multiline_strings | ||||
|     - library_names | ||||
|     - library_prefixes | ||||
|     - library_private_types_in_public_api | ||||
|     - lines_longer_than_80_chars | ||||
|     - literal_only_boolean_expressions | ||||
|     - matching_super_parameters | ||||
|     - missing_whitespace_between_adjacent_strings | ||||
|     - no_adjacent_strings_in_list | ||||
|     - no_default_cases | ||||
|     - no_duplicate_case_values | ||||
|     - no_leading_underscores_for_library_prefixes | ||||
|     - no_leading_underscores_for_local_identifiers | ||||
|     - no_literal_bool_comparisons | ||||
|     - no_runtimeType_toString | ||||
|     - no_self_assignments | ||||
|     - no_wildcard_variable_uses | ||||
|     - non_constant_identifier_names | ||||
|     - noop_primitive_operations | ||||
|     - null_check_on_nullable_type_parameter | ||||
|     - null_closures | ||||
|     - one_member_abstracts | ||||
|     - only_throw_errors | ||||
|     - overridden_fields | ||||
|     - package_api_docs | ||||
|     - package_names | ||||
|     - package_prefixed_library_names | ||||
|     - parameter_assignments | ||||
|     - prefer_adjacent_string_concatenation | ||||
|     - prefer_asserts_in_initializer_lists | ||||
|     - prefer_asserts_with_message | ||||
|     - prefer_collection_literals | ||||
|     - prefer_conditional_assignment | ||||
|     - prefer_const_constructors | ||||
|     - prefer_const_constructors_in_immutables | ||||
|     - prefer_const_declarations | ||||
|     - prefer_const_literals_to_create_immutables | ||||
|     - prefer_constructors_over_static_methods | ||||
|     - prefer_contains | ||||
|     - prefer_expression_function_bodies | ||||
|     - prefer_final_fields | ||||
|     - prefer_final_in_for_each | ||||
|     - prefer_final_locals | ||||
|     - prefer_final_parameters | ||||
|     - prefer_for_elements_to_map_fromIterable | ||||
|     - prefer_foreach | ||||
|     - prefer_function_declarations_over_variables | ||||
|     - prefer_generic_function_type_aliases | ||||
|     - prefer_if_elements_to_conditional_expressions | ||||
|     - prefer_if_null_operators | ||||
|     - prefer_initializing_formals | ||||
|     - prefer_inlined_adds | ||||
|     - prefer_int_literals | ||||
|     - prefer_interpolation_to_compose_strings | ||||
|     - prefer_is_empty | ||||
|     - prefer_is_not_empty | ||||
|     - prefer_is_not_operator | ||||
|     - prefer_iterable_whereType | ||||
|     - prefer_mixin | ||||
|     - prefer_null_aware_method_calls | ||||
|     - prefer_null_aware_operators | ||||
|     - prefer_single_quotes | ||||
|     - prefer_spread_collections | ||||
|     - prefer_typing_uninitialized_variables | ||||
|     - prefer_void_to_null | ||||
|     - provide_deprecation_message | ||||
|     - recursive_getters | ||||
|     - require_trailing_commas | ||||
|     - slash_for_doc_comments | ||||
|     - sort_constructors_first | ||||
|     - sort_unnamed_constructors_first | ||||
|     - test_types_in_equals | ||||
|     - throw_in_finally | ||||
|     - tighten_type_of_initializing_formals | ||||
|     - type_annotate_public_apis | ||||
|     - type_init_formals | ||||
|     - type_literal_in_constant_pattern | ||||
|     - unawaited_futures | ||||
|     - unnecessary_await_in_return | ||||
|     - unnecessary_brace_in_string_interps | ||||
|     - unnecessary_breaks | ||||
|     - unnecessary_const | ||||
|     - unnecessary_constructor_name | ||||
|     - unnecessary_getters_setters | ||||
|     - unnecessary_lambdas | ||||
|     - unnecessary_late | ||||
|     - unnecessary_library_directive | ||||
|     - unnecessary_new | ||||
|     - unnecessary_null_aware_assignments | ||||
|     - unnecessary_null_aware_operator_on_extension_on_nullable | ||||
|     - unnecessary_null_checks | ||||
|     - unnecessary_null_in_if_null_operators | ||||
|     - unnecessary_nullable_for_final_variable_declarations | ||||
|     - unnecessary_overrides | ||||
|     - unnecessary_parenthesis | ||||
|     - unnecessary_raw_strings | ||||
|     - unnecessary_statements | ||||
|     - unnecessary_string_escapes | ||||
|     - unnecessary_string_interpolations | ||||
|     - unnecessary_this | ||||
|     - unnecessary_to_list_in_spreads | ||||
|     - unrelated_type_equality_checks | ||||
|     - unsafe_html | ||||
|     - use_enums | ||||
|     - use_function_type_syntax_for_parameters | ||||
|     - use_if_null_to_convert_nulls_to_bools | ||||
|     - use_is_even_rather_than_modulo | ||||
|     - use_late_for_private_fields_and_variables | ||||
|     - use_named_constants | ||||
|     - use_raw_strings | ||||
|     - use_rethrow_when_possible | ||||
|     - use_setters_to_change_properties | ||||
|     - use_string_buffers | ||||
|     - use_string_in_part_of_directives | ||||
|     - use_super_parameters | ||||
|     - use_test_throws_matchers | ||||
|     - use_to_and_as_if_applicable | ||||
|     - valid_regexps | ||||
|     - void_checks | ||||
| # Ignored rules (incompatible with some of our rules) | ||||
| # - always_specify_types | ||||
| # - prefer_double_quotes | ||||
| # - prefer_relative_imports | ||||
| # - unnecessary_final | ||||
| @ -0,0 +1,32 @@ | ||||
| # Copyright (C) 2023 WYATT GROUP | ||||
| # Please see the AUTHORS file for details. | ||||
| # | ||||
| # This program is free software: you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License as published by | ||||
| # the Free Software Foundation, either version 3 of the License, or | ||||
| # any later version. | ||||
| # | ||||
| # This program is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with this program. If not, see <https://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| include: package:wyatt_analysis/analysis_options.2.6.0.yaml | ||||
| linter: | ||||
|   rules: | ||||
|     - avoid_print | ||||
|     - avoid_unnecessary_containers | ||||
|     - avoid_web_libraries_in_flutter | ||||
|     - diagnostic_describe_all_properties | ||||
|     - no_logic_in_create_state | ||||
|     - sized_box_for_whitespace | ||||
|     - sized_box_shrink_expand | ||||
|     - sort_child_properties_last | ||||
|     - use_build_context_synchronously | ||||
|     - use_colored_box | ||||
|     - use_decorated_box | ||||
|     - use_full_hex_values_for_flutter_colors | ||||
|     - use_key_in_widget_constructors | ||||
| @ -15,5 +15,5 @@ | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with this program. If not, see <https://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| include: package:wyatt_analysis/analysis_options.flutter.2.5.0.yaml | ||||
| include: package:wyatt_analysis/analysis_options.flutter.2.6.0.yaml | ||||
| 
 | ||||
|  | ||||
| @ -15,5 +15,5 @@ | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with this program. If not, see <https://www.gnu.org/licenses/>. | ||||
| 
 | ||||
| include: package:wyatt_analysis/analysis_options.2.5.0.yaml | ||||
| include: package:wyatt_analysis/analysis_options.2.6.0.yaml | ||||
| 
 | ||||
|  | ||||
| @ -18,4 +18,4 @@ | ||||
| /// used internally at [Wyatt Studio](https://wyatt-studio.fr). | ||||
| library wyatt_analysis; | ||||
| 
 | ||||
| const String wyattAnalysisVersion = '2.5.0'; | ||||
| const String wyattAnalysisVersion = '2.6.0'; | ||||
|  | ||||
| @ -17,7 +17,7 @@ | ||||
| name: wyatt_analysis | ||||
| description: Lint rules for Dart and Flutter used internally at Wyatt Studio. | ||||
| repository: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages/src/branch/master/packages/wyatt_analysis | ||||
| version: 2.5.0 | ||||
| version: 2.6.0 | ||||
| 
 | ||||
| publish_to: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user