dart-code-metrics
dart-code-metrics copied to clipboard
[Question] Support for checking files instead of directories
I am using Lefthook so I can run some pre-commit commands. I've also added a rule for DCM but I am unable to run it on individual files:
lefthook.yml
metrics:
glob: '*.dart'
run: flutter pub run dart_code_metrics:metrics analyze {staged_files}
Output:
/path/to/file.dart doesn't exist or isn't a directory.
Is this something that will be supported in any future updates?
@egonm12 hi, there was no plans to support analysing specific files, can you add more details why passing a folder doesn't work for you?
@incendial Let's suppose I only commit 3 out of 4 files that have a change and that fourth file has some issues raised by DCM. In such a case, I only want to run DCM on the files that I am committing and not on the ones that are not part of the commit. In the current situation, the commit will fail on the pre-commit hook since you can not specify which files it should run on, and there is a chance that those files are in the same directory.
Same thing works with flutter format
for example:
format:
glob: '*.dart'
run: flutter format {staged_files} && git add {staged_files}
So you mean that the tool will select changed files to {staged_files} and then pass them to the DCM?
@incendial exactly!
@egonm12 any chance you can test the fix in https://github.com/dart-code-checker/dart-code-metrics/pull/965?
@incendial everything seems to work as expected, nice!
The only problem I am facing now is the verbose output. It prints all files that you are analyzing when you select entire directories now. For e.g. when I do run it on the lib
folder it will print all files in that directory when running the analyzer.
flutter pub run dart_code_metrics:metrics analyze --fatal-warnings --fatal-style lib
{/dart-code-metrics/lib/unused_code_analyzer.dart, /dart-code-metrics/lib/reporters.dart, /dart-code-metrics/lib/unused_files_analyzer.dart, /dart-code-metrics/lib/lint_analyzer.dart, /dart-code-metrics/lib/analyzer_plugin.dart, /dart-code-metrics/lib/config.dart, /dart-code-metrics/lib/unused_l10n_analyzer.dart, /dart-code-metrics/lib/src/analyzer_plugin/analyzer_plugin.dart, /dart-code-metrics/lib/src/analyzer_plugin/analyzer_plugin_starter.dart, /dart-code-metrics/lib/src/analyzer_plugin/analyzer_plugin_utils.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analysis_config.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/declarations_visitor.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_analyzer.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/invocations_visitor.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_file_report.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/models/invocations_usage.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/models/unnecessary_nullable_issue.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/unnecessary_nullable_config.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/unnecessary_nullable_report_params.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/json/unnecessary_nullable_json_reporter.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporters_list/console/unnecessary_nullable_console_reporter.dart, /dart-code-metrics/lib/src/analyzers/unnecessary_nullable_analyzer/reporters/reporter_factory.dart, /dart-code-metrics/lib/src/analyzers/unused_l10n_analyzer/unused_l10n_analysis_config.dart, /dart-code-metrics/lib/src/analyzers/unused_l10n_analyzer/models/unused_l10n_issue.dart, /dart-code-metrics/lib/src/analyzers/unused_l10n_analyzer/models/unused_l10n_file_report.dart, /dart-code-metrics/lib/src/analyzers/unused_l10n_analyzer/unused_l10n_analyzer.dart, /dart-code-metrics/lib/src/analyzers/unused_l10n_analyzer/unused_l10n_config.dart, /dart-code-metrics/lib/src/analyzers/unused_l10n_analyzer/reporters/reporters_list/json/unused_l10n_json_reporter.dart, /dart-code-metrics/lib/src/analyzers/unused_l10n_analyzer/reporters/reporters_list/console/unused_l10n_console_reporter.dart, /dart-code-metrics/lib/src/analyzers/unused_l10n_analyzer/reporters/reporter_factory.dart, /dart-code-metrics/lib/src/analyzers/unused_l10n_analyzer/reporters/unused_l10n_report_params.dart, /dart-code-metrics/lib/src/analyzers/unused_l10n_analyzer/unused_l10n_visitor.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/unused_code_analyzer.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/unused_code_config.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/models/prefix_element_usage.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/models/file_elements_usage.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/models/unused_code_file_report.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/models/unused_code_issue.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/unused_code_analysis_config.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/reporters/reporters_list/json/unused_code_json_reporter.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/reporters/reporters_list/console/unused_code_console_reporter.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/reporters/reporter_factory.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/reporters/unused_code_report_params.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/public_code_visitor.dart, /dart-code-metrics/lib/src/analyzers/unused_code_analyzer/used_code_visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/scope_utils.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/source_lines_of_code/source_lines_of_code_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/weight_of_class_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/halstead_volume/halstead_volume_ast_visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/halstead_volume/halstead_volume_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/lines_of_code_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/technical_debt/technical_debt_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/technical_debt/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/cyclomatic_complexity/cyclomatic_complexity_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/cyclomatic_complexity/cyclomatic_complexity_flow_visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/number_of_methods_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/number_of_parameters_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/maintainability_index_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/maximum_nesting_level/nesting_level_visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_list/maximum_nesting_level/maximum_nesting_level_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/models/metric_computation_result.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/models/metric_value.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/models/metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/models/class_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/models/file_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/models/metric_value_level.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/models/function_metric.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/models/metric_documentation.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metrics_factory.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/metric_utils.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/metrics/scope_visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/lint_config.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/utils/report_utils.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/entity_type.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/internal_resolved_unit_result.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/severity.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/replacement.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/context_message.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/scoped_class_declaration.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/issue.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/function_type.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/summary_lint_report_record.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/summary_lint_report_record_status.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/class_type.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/lint_file_report.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/scoped_function_declaration.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/models/report.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/lint_analyzer.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/lint_utils.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/lint_analysis_config.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/node_utils.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rule_utils.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/models/flutter_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/models/common_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/models/intl_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/models/angular_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/models/rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/models/rule_type.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_factory.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_type_name/prefer_correct_type_name_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_type_name/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_type_name/utils/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_type_name/validator.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/ban_name/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/ban_name/utils/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/ban_name/ban_name_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/binary_expression_operand_order/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/binary_expression_operand_order/binary_expression_operand_order_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/always_remove_listener/always_remove_listener_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/always_remove_listener/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_boolean_literal_compare/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_boolean_literal_compare/no_boolean_literal_compare_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_preserve_whitespace_false/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_preserve_whitespace_false/avoid_preserve_whitespace_false_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_object_declaration/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_object_declaration/no_object_declaration_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_match_file_name/prefer_match_file_name_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_match_file_name/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_duplicate_exports/avoid_duplicate_exports_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_duplicate_exports/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_top_level_members_in_tests/avoid_top_level_members_in_tests_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_top_level_members_in_tests/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_conditional_expressions/prefer_conditional_expressions_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_conditional_expressions/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_edge_insets_constructor/prefer_correct_edge_insets_constructor_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_edge_insets_constructor/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_edge_insets_constructor/models/edge_insets_param.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_edge_insets_constructor/models/edge_insets_data.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_edge_insets_constructor/validator.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_first/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_first/prefer_first_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/component_annotation_arguments_ordering/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/component_annotation_arguments_ordering/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/component_annotation_arguments_ordering/component_annotation_arguments_ordering_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_empty_block/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_empty_block/no_empty_block_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering/member_ordering_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_equal_arguments/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_equal_arguments/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_equal_arguments/no_equal_arguments_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/format_comment/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/format_comment/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/format_comment/models/comment_type.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/format_comment/models/comment_info.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/format_comment/format_comment_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unnecessary_type_assertions/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unnecessary_type_assertions/avoid_unnecessary_type_assertions_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_magic_number/no_magic_number_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_magic_number/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_magic_number/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unnecessary_type_casts/avoid_unnecessary_type_casts_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unnecessary_type_casts/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_on_push_cd_strategy/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_on_push_cd_strategy/prefer_on_push_cd_strategy_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_shrink_wrap_in_lists/avoid_shrink_wrap_in_lists_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_shrink_wrap_in_lists/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_commenting_analyzer_ignores/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_commenting_analyzer_ignores/prefer_commenting_analyzer_ignores.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unused_parameters/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unused_parameters/avoid_unused_parameters_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/newline_before_return/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/newline_before_return/newline_before_return_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_dynamic/avoid_dynamic_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_dynamic/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_throw_in_catch_block/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_throw_in_catch_block/avoid_throw_in_catch_block_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_banned_imports/avoid_banned_imports_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_banned_imports/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_banned_imports/utils/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/provide_correct_intl_args/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/provide_correct_intl_args/provide_correct_intl_args_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unrelated_type_assertions/avoid_unrelated_type_assertions_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unrelated_type_assertions/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unnecessary_setstate/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unnecessary_setstate/avoid_unnecessary_setstate_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/tag_name/tag_name_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/tag_name/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/tag_name/utils/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_extracting_callbacks/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_extracting_callbacks/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_extracting_callbacks/prefer_extracting_callbacks_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_late_keyword/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_late_keyword/avoid_late_keyword_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_single_widget_per_file/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_single_widget_per_file/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_single_widget_per_file/prefer_single_widget_per_file_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_last/prefer_last_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_last/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_nested_conditional_expressions/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_nested_conditional_expressions/avoid_nested_conditional_expressions_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_nested_conditional_expressions/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_moving_to_variable/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_moving_to_variable/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_moving_to_variable/prefer_moving_to_variable_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_enums_by_name/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_enums_by_name/prefer_enums_by_name_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_async_await/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_async_await/prefer_async_await_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_wrapping_in_padding/avoid_wrapping_in_padding_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_wrapping_in_padding/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_equal_then_else/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/no_equal_then_else/no_equal_then_else_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_returning_widgets/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_returning_widgets/avoid_returning_widgets_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_returning_widgets/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_returning_widgets/visit_declaration.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_global_state/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_global_state/avoid_global_state_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_border_all/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_border_all/avoid_border_all_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_non_ascii_symbols/avoid_non_ascii_symbols_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_non_ascii_symbols/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering_extended/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering_extended/member_ordering_extended_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering_extended/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering_extended/models/member_type.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering_extended/models/modifier.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering_extended/models/member_group.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering_extended/models/annotation.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/member_ordering_extended/models/field_keyword.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_collection_methods_with_unrelated_types/avoid_collection_methods_with_unrelated_types_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_collection_methods_with_unrelated_types/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_expanded_as_spacer/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_expanded_as_spacer/avoid_expanded_as_spacer_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_non_null_assertion/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_non_null_assertion/avoid_non_null_assertion_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_const_border_radius/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_const_border_radius/prefer_const_border_radius_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_ignoring_return_values/avoid_ignoring_return_values_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_ignoring_return_values/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/double_literal_format/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/double_literal_format/double_literal_format_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_intl_name/prefer_intl_name_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_intl_name/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_identifier_length/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_identifier_length/utils/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_identifier_length/validator.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_correct_identifier_length/prefer_correct_identifier_length_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_missing_enum_constant_in_map/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_missing_enum_constant_in_map/avoid_missing_enum_constant_in_map_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_trailing_comma/config_parser.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_trailing_comma/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_trailing_comma/prefer_trailing_comma_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_immediate_return/visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/rules_list/prefer_immediate_return/prefer_immediate_return_rule.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/rules/base_visitors/intl_base_visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/utility_selector.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/lint_report_params.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/checkstyle/lint_checkstyle_reporter.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/code_climate/models/code_climate_issue_category.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/code_climate/models/code_climate_issue_severity.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/code_climate/models/code_climate_issue.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/code_climate/models/code_climate_issue_location.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/code_climate/lint_code_climate_reporter.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/html/models/report_table_record.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/html/models/function_metrics_report.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/html/models/file_metrics_report.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/html/models/icon_type.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/html/utility_functions.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/html/lint_html_reporter.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/html/components/icon.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/html/components/report_details_tooltip.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/html/components/issue_details_tooltip.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/json/lint_json_reporter.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/github/lint_github_reporter.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/console/lint_console_reporter.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporters_list/console/lint_console_reporter_helper.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/reporters/reporter_factory.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/base_visitors/source_code_visitor.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_method.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_parameter_list.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/anti_patterns/pattern_utils.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/anti_patterns/patterns_factory.dart, /dart-code-metrics/lib/src/analyzers/lint_analyzer/anti_patterns/models/pattern.dart, /dart-code-metrics/lib/src/analyzers/unused_files_analyzer/unused_files_analysis_config.dart, /dart-code-metrics/lib/src/analyzers/unused_files_analyzer/unused_files_analyzer.dart, /dart-code-metrics/lib/src/analyzers/unused_files_analyzer/models/unused_files_file_report.dart, /dart-code-metrics/lib/src/analyzers/unused_files_analyzer/unused_files_config.dart, /dart-code-metrics/lib/src/analyzers/unused_files_analyzer/reporters/unused_files_report_params.dart, /dart-code-metrics/lib/src/analyzers/unused_files_analyzer/reporters/reporters_list/json/unused_files_json_reporter.dart, /dart-code-metrics/lib/src/analyzers/unused_files_analyzer/reporters/reporters_list/console/unused_files_console_reporter.dart, /dart-code-metrics/lib/src/analyzers/unused_files_analyzer/reporters/reporter_factory.dart, /dart-code-metrics/lib/src/analyzers/unused_files_analyzer/unused_files_visitor.dart, /dart-code-metrics/lib/src/config_builder/config_builder.dart, /dart-code-metrics/lib/src/config_builder/analysis_options_utils.dart, /dart-code-metrics/lib/src/config_builder/models/analysis_options.dart, /dart-code-metrics/lib/src/config_builder/models/deprecated_option.dart, /dart-code-metrics/lib/src/utils/path_utils.dart, /dart-code-metrics/lib/src/utils/dart_types_utils.dart, /dart-code-metrics/lib/src/utils/flutter_types_utils.dart, /dart-code-metrics/lib/src/utils/node_utils.dart, /dart-code-metrics/lib/src/utils/exclude_utils.dart, /dart-code-metrics/lib/src/utils/yaml_utils.dart, /dart-code-metrics/lib/src/utils/object_extensions.dart, /dart-code-metrics/lib/src/utils/suppression.dart, /dart-code-metrics/lib/src/utils/analyzer_utils.dart, /dart-code-metrics/lib/src/utils/string_extensions.dart, /dart-code-metrics/lib/src/cli/utils/detect_sdk_path.dart, /dart-code-metrics/lib/src/cli/models/flag_names.dart, /dart-code-metrics/lib/src/cli/models/parsed_arguments.dart, /dart-code-metrics/lib/src/cli/exceptions/invalid_argument_exception.dart, /dart-code-metrics/lib/src/cli/cli_runner.dart, /dart-code-metrics/lib/src/cli/commands/check_unnecessary_nullable_command.dart, /dart-code-metrics/lib/src/cli/commands/check_unused_files_command.dart, /dart-code-metrics/lib/src/cli/commands/analyze_command.dart, /dart-code-metrics/lib/src/cli/commands/check_unused_l10n_command.dart, /dart-code-metrics/lib/src/cli/commands/base_command.dart, /dart-code-metrics/lib/src/cli/commands/check_unused_code_command.dart, /dart-code-metrics/lib/src/version.dart, /dart-code-metrics/lib/src/reporters/models/checkstyle_reporter.dart, /dart-code-metrics/lib/src/reporters/models/file_report.dart, /dart-code-metrics/lib/src/reporters/models/console_reporter.dart, /dart-code-metrics/lib/src/reporters/models/code_climate_reporter.dart, /dart-code-metrics/lib/src/reporters/models/reporter.dart, /dart-code-metrics/lib/src/reporters/models/github_reporter.dart, /dart-code-metrics/lib/src/reporters/models/json_reporter.dart, /dart-code-metrics/lib/src/reporters/models/html_reporter.dart, /dart-code-metrics/lib/src/reporters/github_workflow_commands.dart}
lib/src/analyzer_plugin/analyzer_plugin.dart:
@egonm12 thanks, that's a print
that should be removed
everything seems to work as expected, nice!
Happy to hear that!
Available in 4.18.0 🚀