tools: external_code_coverage: timeout: 600
filter: excluded_paths: - assets-wp-repo/* - languages/* - include/libraries/* - tests/* - bin/* dependency_paths: - wordpress/ build: nodes: analysis: environment: php: version: 7.3 pecl_extensions: - zip dependencies: before: - composer require --dev johnpbloch/wordpress project_setup: override: true tests: override: - php-scrutinizer-run --enable-security-analysis tools: php_sim: true php_pdepend: true php_code_coverage: true sensiolabs_security_checker: true php_changetracking: true php_code_sniffer: config: standard: "WordPress" php_loc: enabled: true excluded_dirs: [vendor, tests, languages, bin, assets, assets-wp-repo, include/libraries] php_cs_fixer: config: level: all fixers: { unused_use: true, phpdoc_params: true, braces: true, php_closing_tag: true } php_mess_detector: config: code_size_rules: { cyclomatic_complexity: true, npath_complexity: true, excessive_method_length: true, excessive_class_length: true, excessive_parameter_list: true, excessive_public_count: true, too_many_fields: true, too_many_methods: true, excessive_class_complexity: true } design_rules: { number_of_class_children: true, depth_of_inheritance: true, coupling_between_objects: true } unused_code_rules: { unused_local_variable: true, unused_private_method: true, unused_formal_parameter: true } naming_rules: { short_variable: true, long_variable: true, short_method: true, boolean_method_name: true } controversial_rules: { camel_case_class_name: true, camel_case_property_name: true, camel_case_method_name: true, camel_case_parameter_name: true, camel_case_variable_name: true } php_analyzer: config: suspicious_code: { enabled: true, overriding_parameter: true, overriding_closure_use: true, parameter_closure_use_conflict: true, parameter_multiple_times: true, non_existent_class_in_instanceof_check: true, non_existent_class_in_catch_clause: true, assignment_of_null_return: true, non_commented_switch_fallthrough: true, non_commented_empty_catch_block: true, overriding_private_members: true, use_statement_alias_conflict: true, precedence_in_condition_assignment: true } verify_php_doc_comments: { enabled: true, parameters: true, return: true, suggest_more_specific_types: true, ask_for_return_if_not_inferrable: true, ask_for_param_type_annotation: true } loops_must_use_braces: { enabled: true } simplify_boolean_return: { enabled: true } phpunit_checks: { enabled: true } reflection_fixes: { enabled: true } use_statement_fixes: { enabled: true, order_alphabetically: true, remove_unused: true, preserve_multiple: false, preserve_blanklines: false } parameter_reference_check: { enabled: false } checkstyle: { enabled: false, no_trailing_whitespace: true, naming: { enabled: true, local_variable: '^[a-z][a-zA-Z0-9]*$', abstract_class_name: ^Abstract|Factory$, utility_class_name: 'Utils?$', constant_name: '^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$', property_name: '^[a-z][a-zA-Z0-9]*$', method_name: '^(?:[a-z]|__)[a-zA-Z0-9]*$', parameter_name: '^[a-z][a-zA-Z0-9]*$', interface_name: '^[A-Z][a-zA-Z0-9]*Interface$', type_name: '^[A-Z][a-zA-Z0-9]*$', exception_name: '^[A-Z][a-zA-Z0-9]*Exception$', isser_method_name: '^(?:is|has|should|may|supports)' } } unreachable_code: { enabled: false } check_access_control: { enabled: false } typo_checks: { enabled: false } check_variables: { enabled: false } check_calls: { enabled: true, too_many_arguments: true, missing_argument: true, argument_type_checks: lenient } dead_assignments: { enabled: false } check_usage_context: { enabled: true, foreach: { value_as_reference: true, traversable: true } } reflection_checks: { enabled: false } precedence_checks: { enabled: true, assignment_in_condition: true, comparison_of_bit_result: true } basic_semantic_checks: { enabled: false } unused_code: { enabled: false } deprecation_checks: { enabled: false } useless_function_calls: { enabled: false } metrics_lack_of_cohesion_methods: { enabled: false } metrics_coupling: { enabled: true, stable_code: { namespace_prefixes: { }, classes: { } } } doctrine_parameter_binding: { enabled: false } doctrine_entity_manager_injection: { enabled: false } symfony_request_injection: { enabled: false } doc_comment_fixes: { enabled: false } checks: php: verify_property_names: true variable_existence: true verify_access_scope_valid: true useless_calls: true use_statement_alias_conflict: false uppercase_constants: true unused_variables: true remove_extra_empty_lines: true return_doc_comment_if_not_inferrable: true return_doc_comments: true simplify_boolean_return: true prefer_while_loop_over_for_loop: true parameter_doc_comments: true param_doc_comment_if_not_inferrable: true optional_parameters_at_the_end: true avoid_perl_style_comments: true encourage_postdec_operator: true encourage_single_quotes: true fix_line_ending: true more_specific_types_in_doc_comments: true symfony_request_injection: false switch_fallthrough_commented: false single_namespace_per_use: false side_effects_or_types: false security_vulnerabilities: true psr2_class_declaration: false one_class_per_file: false no_underscore_prefix_in_properties: false no_underscore_prefix_in_methods: false no_global_keyword: false no_exit: false no_error_suppression: false avoid_closing_tag: false avoid_superglobals: false use_self_instead_of_fqcn: true no_goto: true duplication: false avoid_unnecessary_concatenation: true javascript: vars_on_top: true valid_typeof: true use_isnan: true one_var: true no_reserved_keys: true radix: true no_with: true no_unreachable: true no_underscore_dangle: true no_trailing_spaces: true no_script_url: true no_redeclare: true no_octal_escape: true no_mixed_spaces_and_tabs: true no_irregular_whitespace: true no_dupe_keys: true eqeqeq: true curly: true no_unused_vars: true