Checkout Config
# Scrutinizer is a simple CI because it doesn't support everything Travis does
# Yet it provides lots of internal checking Travis doesn't. It mainly supports
# all the same stuff someone testing code on a local laptop dev enviroment
# would have access to so we treat it as a local-dev contributor in a way ~_^
build:
environment:
# Enviroment
node: v11.3.0
# Really no reason, basically my timezone ~_^
timezone: 'US/Eastern'
nodes:
main:
# Full-on manual style
commands:
# Checkout and pull cache
- checkout-code ~/pokered-game-database
- cd ~/pokered-game-database
- restore-from-cache repository dependencies
# Install dependencies and do build
- npm install
- npm run build
# Run testing
- npm run test
# Update cache
- store-in-cache repository dependencies node_modules/
# Do scrutinizer tests
- js-scrutinizer-run
# Ignore these folders and mark one of them ignored but dependencies
filter:
excluded_paths:
- ".vscode/"
- "build/"
- "spec/"
dependency_paths:
- "node_modules/"
# All built-in scrutinizer tests
checks:
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: false
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