Checkout Config
# TalentCloud code analysis (Scrutinizer) config
# .scrutinizer.yml
build:
nodes:
analysis:
dependencies:
override: true
project_setup:
override: true
environment:
php: "7.3"
tests:
override:
- php-scrutinizer-run
- js-scrutinizer-run
filter:
paths:
- app/
- database/
- routes/
- resources/assets/js/
excluded_paths:
- database/migrations/
- resources/assets/js/stories/
- resources/assets/js/translations/
- resources/assets/js/autocomplete.js
- resources/assets/js/bootstrap.js
- resources/assets/js/getpdf.js
- resources/assets/js/jest.setup.js
- resources/assets/js/modernizr.js
Repository Config
checks:
php:
verify_property_names: true
verify_argument_usable_as_reference: true
verify_access_scope_valid: true
variable_existence: true
useless_calls: true
use_statement_alias_conflict: true
unused_variables: true
unused_properties: true
unused_parameters: true
unused_methods: true
unreachable_code: true
too_many_arguments: true
symfony_request_injection: true
switch_fallthrough_commented: true
sql_injection_vulnerabilities: true
simplify_boolean_return: true
security_vulnerabilities: true
return_in_constructor: true
return_doc_comments: true
return_doc_comment_if_not_inferrable: true
require_scope_for_methods: true
require_php_tag_first: true
remove_extra_empty_lines: true
property_assignments: true
properties_in_camelcaps: true
precedence_mistakes: true
precedence_in_conditions: true
phpunit_assertions: true
parse_doc_comments: true
parameters_in_camelcaps: true
parameter_non_unique: true
parameter_doc_comments: true
param_doc_comment_if_not_inferrable: true
overriding_private_members: true
overriding_parameter: true
non_commented_empty_catch_block: true
no_trait_type_hints: true
no_trailing_whitespace: true
no_short_variable_names:
minimum: '3'
no_short_open_tag: true
no_short_method_names:
minimum: '3'
no_property_on_interface: true
no_non_implemented_abstract_methods: true
no_long_variable_names:
maximum: '20'
no_goto: true
no_exit: true
no_eval: true
no_error_suppression: true
no_debug_code: true
naming_conventions:
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)'
more_specific_types_in_doc_comments: true
missing_arguments: true
method_calls_on_non_object: true
instanceof_class_exists: true
foreach_usable_as_reference: true
foreach_traversable: true
fix_use_statements:
remove_unused: true
preserve_multiple: false
preserve_blanklines: false
order_alphabetically: false
fix_line_ending: true
fix_doc_comments: true
encourage_shallow_comparison: true
duplication: true
deprecated_code_usage: true
deadlock_detection_in_loops: true
comparison_always_same_result: true
code_rating: true
closure_use_not_conflicting: true
closure_use_modifiable: true
check_method_contracts:
verify_interface_like_constraints: true
verify_documented_constraints: true
verify_parent_constraints: true
catch_class_exists: true
call_to_parent_method: true
avoid_superglobals: true
avoid_length_functions_in_loops: true
avoid_entity_manager_injection: true
avoid_duplicate_types: true
avoid_closing_tag: true
assignment_of_null_return: true
argument_type_checks: true
javascript:
var_sometimes_initialized: true
var_never_initialized: true
valid_typeof: true
use_isnan: true
unsafe_undefined: true
unsafe_mutable_variable_usage: true
nsp_vulnerabilities: true
no_with: true
no_void: true
no_var: true
no_use_before_define: true
no_unused_vars: true
no_unused_function: true
no_unused_expressions: true
no_unused_const: true
no_unused_assignment: true
no_unreachable: true
no_undef_init: true
no_undef: true
no_sparse_arrays: true
no_shadow_builtins: true
no_sequences: true
no_return_assign: true
no_redeclared_const: true
no_redeclare: true
no_process_exit: true
no_path_concat: true
no_param_assign: true
no_new_wrappers: true
no_new_require: true
no_new_func: true
no_negated_in_lhs: true
no_native_reassign: true
no_loop_var_assign: true
no_label_var: true
no_invalid_regexp: true
no_inner_declarations: true
no_implied_eval: true
no_implicit_undefined_return: true
no_func_assign: true
no_extra_bind: true
no_extend_native: true
no_ex_assign: true
no_eval: true
no_empty_label: true
no_empty_class: true
no_empty: true
no_else_return: true
no_dupe_keys: true
no_delete_var: true
no_debugger: true
no_constant_condition: true
no_console: true
no_comma_dangle: true
no_caller: true
no_bitwise: true
no_array_constructor: true
no_alias_builtins: true
no_alert: true
new_cap: true
jsdoc_non_existent_params: true
jsdoc_no_duplicate_params: true
guard_for_in: true
eqeqeq: true
duplicate_code: true
curly: true
consistent_return: true
code_rating: true
check_unused_parameters: true
check_unused_object_creation: true
check_unused_member_calls: true
check_unnecessary_return: true
check_unnecessary_continue: true
check_undeclared_vars: true
check_try_statement: true
check_too_many_arguments: true
'check_switch_unintended label': true
'check_switch_no_uncommented_fallthrough"': true
check_switch_no_default: true
check_switch_default_only: true
check_switch_default_not_last: true
check_switch_ambiguous_test: true
check_loop_no_body: true
check_for_loops_test: true
coding_style:
php:
indentation:
general:
use_tabs: false
size: 4
switch:
indent_case: true
spaces:
general:
linefeed_character: newline
before_parentheses:
function_declaration: false
closure_definition: true
function_call: false
if: true
for: true
while: true
switch: true
catch: true
array_initializer: false
around_operators:
assignment: true
logical: true
equality: true
relational: true
bitwise: true
additive: true
multiplicative: true
shift: true
unary_additive: false
concatenation: true
negation: false
before_left_brace:
class: false
function: true
if: true
else: true
for: true
while: true
do: true
switch: true
try: true
catch: true
finally: true
before_keywords:
else: true
while: true
catch: true
finally: true
within:
brackets: false
array_initializer: false
grouping: false
function_call: false
function_declaration: false
if: false
for: false
while: false
switch: false
catch: false
type_cast: false
ternary_operator:
before_condition: true
after_condition: true
before_alternative: true
after_alternative: true
in_short_version: false
other:
before_comma: false
after_comma: true
before_semicolon: false
after_semicolon: true
after_type_cast: false
braces:
classes_functions:
class: undefined
function: undefined
closure: undefined
if:
opening: undefined
always: true
else_on_new_line: false
for:
opening: undefined
always: true
while:
opening: undefined
always: true
do_while:
opening: undefined
always: true
while_on_new_line: false
switch:
opening: undefined
try:
opening: undefined
catch_on_new_line: false
finally_on_new_line: false
upper_lower_casing:
keywords:
general: undefined
constants:
true_false_null: undefined