Skip to content
This repository has been archived by the owner on Feb 16, 2022. It is now read-only.

Commit

Permalink
Commit first draft
Browse files Browse the repository at this point in the history
  • Loading branch information
Omranic committed Jan 18, 2018
0 parents commit e84caae
Show file tree
Hide file tree
Showing 43 changed files with 2,203 additions and 0 deletions.
43 changes: 43 additions & 0 deletions .codeclimate.yml
@@ -0,0 +1,43 @@
---
engines:
duplication:
enabled: true
config:
languages:
- ruby
- javascript
- python
- php
eslint:
enabled: true
fixme:
enabled: true
phpmd:
enabled: true
checks:
Design/TooManyPublicMethods:
enabled: false
Naming/ShortVariable:
enabled: false
CleanCode/ElseExpression:
enabled: false
CleanCode/BooleanArgumentFlag:
enabled: false
CleanCode/StaticAccess:
enabled: false
Naming/ShortMethodName:
enabled: false
ratings:
paths:
- "**.inc"
- "**.js"
- "**.jsx"
- "**.module"
- "**.php"
- "**.py"
- "**.rb"
exclude_paths:
- "resources/*"
- "build/*"
- "tests/*"
- "vendor/*"
18 changes: 18 additions & 0 deletions .editorconfig
@@ -0,0 +1,18 @@
# http://editorconfig.org
root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
max_line_length = 80
trim_trailing_whitespace = true

[*.md]
max_line_length = 0
trim_trailing_whitespace = false

[COMMIT_EDITMSG]
max_line_length = 0
9 changes: 9 additions & 0 deletions .gitattributes
@@ -0,0 +1,9 @@
* text=auto
*.js linguist-vendored
*.css linguist-vendored
*.scss linguist-vendored

/phpunit.* export-ignore
/phpcs.* export-ignore
/tests export-ignore
/.* export-ignore
6 changes: 6 additions & 0 deletions .gitignore
@@ -0,0 +1,6 @@
/build
/vendor
/node_modules
composer.lock
composer.phar
phpunit.xml
307 changes: 307 additions & 0 deletions .scrutinizer.yml
@@ -0,0 +1,307 @@
inherit: true

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
fix_doc_comments: false
avoid_corrupting_byteorder_marks: true
unused_variables: true
argument_type_checks: true
assignment_of_null_return: true
avoid_aliased_php_functions: true
avoid_closing_tag: true
avoid_conflicting_incrementers: true
avoid_duplicate_types: true
avoid_entity_manager_injection: true
avoid_fixme_comments: true
avoid_length_functions_in_loops: true
avoid_multiple_statements_on_same_line: true
avoid_perl_style_comments: true
avoid_superglobals: true
avoid_todo_comments: true
avoid_usage_of_logical_operators: true
avoid_useless_overridden_methods: true
blank_line_after_namespace_declaration: true
catch_class_exists: true
classes_in_camel_caps: true
closure_use_modifiable: true
closure_use_not_conflicting: true
code_rating: true
deadlock_detection_in_loops: true
deprecated_code_usage: true
duplication: true
encourage_shallow_comparison: true
encourage_single_quotes: true
foreach_traversable: true
foreach_usable_as_reference: true
function_in_camel_caps: true
instanceof_class_exists: true
line_length:
max_length: '120'
method_calls_on_non_object: true
missing_arguments: true
more_specific_types_in_doc_comments: true
newline_at_end_of_file: true
no_commented_out_code: true
no_debug_code: true
no_duplicate_arguments: true
no_empty_statements: true
no_error_suppression: true
no_eval: true
no_exit: true
no_global_keyword: true
no_goto: true
no_long_variable_names:
maximum: '20'
no_non_implemented_abstract_methods: true
no_property_on_interface: true
no_short_method_names:
minimum: '0'
no_short_open_tag: true
no_short_variable_names:
minimum: '0'
no_trailing_whitespace: true
no_trait_type_hints: true
no_underscore_prefix_in_methods: true
no_underscore_prefix_in_properties: true
no_unnecessary_final_modifier: true
no_unnecessary_if: true
non_commented_empty_catch_block: true
one_class_per_file: true
overriding_private_members: true
parameter_non_unique: true
parse_doc_comments: true
optional_parameters_at_the_end: true
param_doc_comment_if_not_inferrable: true
parameter_doc_comments: true
parameters_in_camelcaps: true
php5_style_constructor: true
precedence_in_conditions: true
precedence_mistakes: true
prefer_while_loop_over_for_loop: true
properties_in_camelcaps: true
property_assignments: true
psr2_class_declaration: true
psr2_switch_declaration: true
require_php_tag_first: true
require_scope_for_methods: true
require_scope_for_properties: true
return_doc_comment_if_not_inferrable: true
return_doc_comments: true
security_vulnerabilities: true
side_effects_or_types: true
simplify_boolean_return: true
single_namespace_per_use: true
sql_injection_vulnerabilities: true
symfony_request_injection: true
switch_fallthrough_commented: true
too_many_arguments: true
unreachable_code: true
unused_methods: true
unused_parameters: true
unused_properties: true
uppercase_constants: true
use_self_instead_of_fqcn: true


filter:
excluded_paths:
- 'build/*'
- 'resources/*'
- 'tests/*'
- 'vendor/*'

tools:

# PHP Code Similarity Analyzer (https://scrutinizer-ci.com/docs/tools/php/code-similarity-analyzer/)
php_sim:
min_mass: 30 # Defaults to 16


# SensioLabs Security Checker (https://scrutinizer-ci.com/docs/tools/php/security-advisory-checker/)
sensiolabs_security_checker:
enabled: true


# PHP Code Sniffer (https://scrutinizer-ci.com/docs/tools/php/code-sniffer/)
php_code_sniffer:
enabled: true
config:
standard: PSR2
filter:
excluded_paths:
- 'build/*'
- 'resources/*'
- 'tests/*'
- 'vendor/*'


# PHP Copy/Paste Detector
php_cpd:
enabled: true
excluded_dirs:
- 'build'
- 'resources'
- 'tests'
- 'vendor'


# Analyzes the size and structure of a PHP project.
php_loc:
enabled: true
excluded_dirs:
- 'build'
- 'resources'
- 'tests'
- 'vendor'


# PHP Mess Detector
php_mess_detector:
enabled: true
config:
rulesets:
- codesize
- unusedcode
- naming
- design
- controversial
filter:
excluded_paths:
- 'build/*'
- 'tests/*'
- 'resources/*'
- 'vendor/*'


# PHP PDepend (https://scrutinizer-ci.com/docs/tools/php/pdepend/)
php_pdepend:
enabled: true
excluded_dirs:
- 'build'
- 'resources'
- 'tests'
- 'vendor'


# PHP Analyzer (https://scrutinizer-ci.com/docs/tools/php/php-analyzer/)
php_analyzer:
enabled: true
config:
parameter_reference_check:
enabled: true
checkstyle:
enabled: true
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: true
check_access_control:
enabled: true
typo_checks:
enabled: true
check_variables:
enabled: true
check_calls:
enabled: true
method_call_validity: true
too_many_arguments: true
missing_argument: true
argument_type_checks: lenient # Allowed Values: "disabled", "lenient", "strict"
check_debug_code:
enabled: true
check_property_assignments:
enabled: true
method_contract_checks:
enabled: true
verify_interface_like_constraints: true
verify_documented_constraints: true
verify_parent_constraints: true
check_request_data_usage:
enabled: true
suspicious_code:
enabled: true
overriding_parameter: false
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
dead_assignments:
enabled: true
deadlock_detection:
enabled: true
verify_php_doc_comments:
enabled: true
parsable: true
traits_are_not_type_hinted: true
parameters: true
return: true
suggest_more_specific_types: true
ask_for_return_if_not_inferrable: true
ask_for_param_type_annotation: ~
loops_must_use_braces:
enabled: true
check_usage_context:
enabled: true
foreach:
value_as_reference: true
traversable: true
missing_argument: ~
argument_type_checks: ~
simplify_boolean_return:
enabled: true
phpunit_checks:
enabled: false
reflection_checks:
enabled: true

# Checks Common Precedence Mistakes
precedence_checks:
enabled: true
assignment_in_condition: true
comparison_of_bit_result: true
basic_semantic_checks:
enabled: true
property_on_interface: true
missing_abstract_methods: true
unused_code:
enabled: true
methods: true
parameters: true
deprecation_checks:
enabled: true
useless_function_calls:
enabled: true
metrics_lack_of_cohesion_methods:
enabled: true
metrics_coupling:
enabled: true
stable_code:
namespace_prefixes: []
classes: []
symfony_request_injection:
enabled: true

0 comments on commit e84caae

Please sign in to comment.