From 22c5ca3f4ea95b9f75da6a97c6732dab9deaa91a Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Wed, 22 Jun 2022 10:46:36 +0200 Subject: [PATCH 1/2] feat: Import analysis_options.yaml file from Smoothie (#17) Import analysis_options.yaml file from Smoothie --- client/analysis_options.yaml | 181 ++++++++++++++++++++++++++++++----- 1 file changed, 156 insertions(+), 25 deletions(-) diff --git a/client/analysis_options.yaml b/client/analysis_options.yaml index 61b6c4d..ab74436 100644 --- a/client/analysis_options.yaml +++ b/client/analysis_options.yaml @@ -1,29 +1,160 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. +# Rules imported from Smoothie +# https://github.com/openfoodfacts/smooth-app/ include: package:flutter_lints/flutter.yaml +analyzer: + strong-mode: + implicit-casts: false + implicit-dynamic: false + errors: + # Treat missing required parameters as a warning (not a hint) + missing_required_param: warning + # Treat missing returns as a warning (not a hint) + missing_return: warning + # Allow having TODOs in the code + todo: ignore + # Allow self-reference to deprecated members (we do this because otherwise we have + # to annotate every member in every test, assert, etc, when we deprecate something) + deprecated_member_use_from_same_package: ignore + # Ignore analyzer hints for updating pubspecs when using Future or + # Stream and not importing dart:async + # Please see https://github.com/flutter/flutter/pull/24528 for details. + sdk_version_async_exported_from_core: ignore + linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options + # These rules are documented on and in the same order as + # the Dart Lint rules page to make maintenance easier + # https://github.com/dart-lang/linter/blob/master/example/all.yaml + always_declare_return_types: true + always_put_control_body_on_new_line: true + always_require_non_null_named_parameters: true + always_specify_types: true + always_use_package_imports: true + annotate_overrides: true + avoid_bool_literals_in_conditional_expressions: true + avoid_classes_with_only_static_members: true + avoid_dynamic_calls: true + avoid_empty_else: true + avoid_equals_and_hash_code_on_mutable_classes: true + avoid_escaping_inner_quotes: true + avoid_field_initializers_in_const_classes: true + avoid_function_literals_in_foreach_calls: true + avoid_init_to_null: true + avoid_null_checks_in_equality_operators: true + avoid_relative_lib_imports: true + avoid_renaming_method_parameters: true + avoid_return_types_on_setters: true + avoid_returning_null_for_void: true + avoid_shadowing_type_parameters: true + avoid_single_cascade_in_expression_statements: true + avoid_slow_async_io: true + avoid_type_to_string: true + avoid_types_as_parameter_names: true + avoid_unnecessary_containers: true + avoid_unused_constructor_parameters: true + avoid_void_async: true + await_only_futures: true + camel_case_extensions: true + camel_case_types: true + cancel_subscriptions: true + cast_nullable_to_non_nullable: true + constant_identifier_names: false + control_flow_in_finally: true + deprecated_consistency: true + directives_ordering: true + empty_catches: true + empty_constructor_bodies: true + empty_statements: true + exhaustive_cases: true + file_names: true + flutter_style_todos: true + hash_and_equals: true + implementation_imports: true + iterable_contains_unrelated_type: true + leading_newlines_in_multiline_strings: true + library_names: true + library_prefixes: true + library_private_types_in_public_api: true + list_remove_unrelated_type: true + missing_whitespace_between_adjacent_strings: false + no_adjacent_strings_in_list: true + no_duplicate_case_values: true + no_logic_in_create_state: true + non_constant_identifier_names: true + noop_primitive_operations: true + null_check_on_nullable_type_parameter: true + null_closures: true + overridden_fields: true + package_api_docs: true + package_names: true + package_prefixed_library_names: true + prefer_adjacent_string_concatenation: true + prefer_asserts_in_initializer_lists: true + prefer_collection_literals: true + prefer_conditional_assignment: true + prefer_const_constructors: true + prefer_const_constructors_in_immutables: true + prefer_const_declarations: true + prefer_const_literals_to_create_immutables: true + prefer_contains: true + prefer_equal_for_default_values: true + prefer_final_fields: true + prefer_final_in_for_each: true + prefer_final_locals: true + prefer_for_elements_to_map_fromIterable: true + prefer_foreach: true + prefer_function_declarations_over_variables: true + prefer_generic_function_type_aliases: true + prefer_if_elements_to_conditional_expressions: true + prefer_if_null_operators: true + prefer_initializing_formals: true + prefer_inlined_adds: true + prefer_interpolation_to_compose_strings: true + prefer_is_empty: true + prefer_is_not_empty: true + prefer_is_not_operator: true + prefer_iterable_whereType: true + prefer_null_aware_operators: true + prefer_single_quotes: true + prefer_spread_collections: true + prefer_typing_uninitialized_variables: true + prefer_void_to_null: true + provide_deprecation_message: true + recursive_getters: true + sized_box_for_whitespace: true + slash_for_doc_comments: true + sort_constructors_first: true + sort_unnamed_constructors_first: true + test_types_in_equals: true + throw_in_finally: true + tighten_type_of_initializing_formals: true + type_init_formals: true + unnecessary_await_in_return: true + unnecessary_brace_in_string_interps: true + unnecessary_const: true + unnecessary_getters_setters: true + unnecessary_new: true + unnecessary_null_aware_assignments: true + unnecessary_null_checks: true + unnecessary_null_in_if_null_operators: true + unnecessary_nullable_for_final_variable_declarations: true + unnecessary_overrides: true + unnecessary_parenthesis: true + unnecessary_statements: true + unnecessary_string_escapes: true + unnecessary_string_interpolations: true + unnecessary_this: true + unrelated_type_equality_checks: true + use_full_hex_values_for_flutter_colors: true + use_function_type_syntax_for_parameters: true + use_is_even_rather_than_modulo: true + use_key_in_widget_constructors: false + use_late_for_private_fields_and_variables: true + use_named_constants: true + use_raw_strings: true + use_rethrow_when_possible: true + use_test_throws_matchers: true + valid_regexps: true + void_checks: true + \ No newline at end of file From 16bc8f90461fa3fd7c30d9af04dcdb0559039ad4 Mon Sep 17 00:00:00 2001 From: Pierre Slamich Date: Wed, 22 Jun 2022 13:25:32 +0200 Subject: [PATCH 2/2] ci: auto-release-notes Per: https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes --- .github/release.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/release.yml diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..8dc79cd --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,18 @@ +changelog: + exclude: + labels: + - ignore-for-release + authors: + - octocat + categories: + - title: Breaking Changes 🛠 + labels: + - Semver-Major + - breaking-change + - title: Exciting New Features 🎉 + labels: + - Semver-Minor + - enhancement + - title: Other Changes + labels: + - "*"