mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-31 22:22:28 +01:00
* Qual: More specific ignoreErrors for phpstan # Qual: More specific ignoreErrors for phpstan More specific ignore expressions helps identify new exceptions that would have matched the more generic ignore expressions. It also helps to progressively solve phpstan notices in smaller steps by modifying the expressions * CamelCase for dictFieldList * Update phan baseline
179 lines
10 KiB
Plaintext
179 lines
10 KiB
Plaintext
parameters:
|
|
tmpDir: ./.github/tmp
|
|
parallel:
|
|
# Commented some of the settings, reminding the defaults:
|
|
# should adapt better to target machines
|
|
# jobSize: 8 # default is 20
|
|
processTimeout: 600.0
|
|
# maximumNumberOfProcesses: 20 # default is 32
|
|
# minimumNumberOfJobsPerProcess: 2 # default is 2
|
|
# buffer: 134217728 # 128 MB # Not documented
|
|
customRulesetUsed: true
|
|
level: 5
|
|
fileExtensions:
|
|
- php
|
|
paths:
|
|
- htdocs
|
|
- scripts
|
|
excludePaths:
|
|
analyseAndScan:
|
|
- htdocs/custom/*
|
|
- htdocs/documents/*
|
|
- htdocs/install/doctemplates/*
|
|
- htdocs/langs/*
|
|
- htdocs/modulebuilder/template/test/*
|
|
- htdocs/support/*
|
|
analyse:
|
|
- htdocs/includes/*
|
|
- htdocs/core/class/lessc.class.php
|
|
checkAlwaysTrueCheckTypeFunctionCall: false
|
|
checkAlwaysTrueInstanceof: false
|
|
checkAlwaysTrueStrictComparison: false
|
|
checkClassCaseSensitivity: true
|
|
checkFunctionArgumentTypes: true
|
|
checkFunctionNameCase: true
|
|
checkArgumentsPassedByReference: false
|
|
checkMaybeUndefinedVariables: false
|
|
checkNullables: false
|
|
checkThisOnly: true
|
|
checkUnionTypes: false
|
|
checkExplicitMixedMissingReturn: true
|
|
reportMaybes: false
|
|
reportMaybesInMethodSignatures: false
|
|
reportStaticMethodSignatures: false
|
|
polluteScopeWithLoopInitialAssignments: true
|
|
polluteScopeWithAlwaysIterableForeach: true
|
|
reportMagicMethods: false
|
|
reportMagicProperties: false
|
|
treatPhpDocTypesAsCertain: false
|
|
ignoreErrors:
|
|
- '#Function llxHeaderVierge invoked with 0 parameters, 1-6 required#'
|
|
- '#Offset .* (?:isset\(\)) always exists and is not nullable#'
|
|
- '#(?:Variable \$(?:_(?:FILES|POST|SERVER)|array_propal_object|baseUri|current_fiscal_period|d(?:b_create_(?:database|user)|olibarr_main_(?:db_prefix|url_root)|raftchecked)|erreur_ajout_date|isImageValid|keyforstripeterminalbank|(?:lo|mar)gin|max|n(?:ewProperty|um)|p(?:ermsgroupbyentitypluszero|ro(?:gressCalculated|parrayofkeyval)|ublic)|t(?:(?:itl|otal_tim)e|va_tx)|var)) in isset\(\) always exists and is not nullable#'
|
|
- '#(?:Property CommonOrderLine::\$multicurrency_subprice \(float\) on left side of \?\?|isset\(\)) is not nullable#'
|
|
- '#(?:(?:Elsei|I)f condition|Left side of (?:&&|\|\|)|Negated boolean expression|R(?:esult of (?:&&|\|\|)|ight side of (?:&&|\|\|))|Ternary operator condition) is always false#'
|
|
- '#(?:Comparison operation "(?:<(?:" between (?:0(?:(?:\|1)? and 0)|21(?: and 14|\.0 and 17)|int<(?:0, max>(?:(?:\|false)? and 0)|1, max> and 1)|null and 0)|=" between int<2, max> and 1)|>(?:" between (?:(?:-1|0) and 0|0(?: and 1(?:000)?|\|1\|2\|3 and 999)|1 and 1)|=" between 0 and 8))) is always fal#'
|
|
- "#(?:Comparison operation .<. between '' and 0 is always) true#"
|
|
- '#(?:Comparison operation "(?:<(?:" between (?:(?:..|-1) and 0|0 and 4)|=" between (?:0 and 0|int<100, 999> and 999))|>(?:" between (?:1(?:(?:\|2)? and 0)|int<(?:1, max> and 0|2, max> and 1))|=" between (?:\S+ and 0|21\.0 and (?:15|6\.0)|int<(?:0, max> and 0|1, max> and 1))))) is always true#'
|
|
- '#(?:Else branch is unreachable because (?:(?:previous|ternary operator) condition)) is always true#'
|
|
- '#(?:(?:Elsei|I)f condition|Left side of (?:&&|\|\|)|Negated boolean expression|R(?:esult of (?:&&|\|\|)|ight side of (?:&&|\|\|))|Ternary operator condition) is always true#'
|
|
- '#is_object\(\) with mixed will always evaluate to false#'
|
|
- '#(?:is_resource\(\) with XMLParser will always) evaluate to false#'
|
|
- '#Empty array passed to foreach#'
|
|
- '#in empty\(\) always exists and is (not|always) falsy#'
|
|
- '#in empty\(\) is not falsy#'
|
|
- '#(?:empty\(\) is always) fals#'
|
|
- '#(\$force_dolibarr_lib|\$dolibarr_main_db).*in empty\(\) is never defined.#'
|
|
- '#Sprain\\SwissQrBill\\#'
|
|
- '#Constructor of class (?:Dol(?:Editor|iDB(?:Mysqli|Pgsql|Sqlite3))|(?:ModeleBox|box_accountancy_last_manual_entri)es|box_(?:ac(?:countancy_suspense_account|ti(?:ons(?:_future)?|vity))|b(?:irthdays(?:_members)?|o(?:(?:okmark|m)s))|c(?:(?:lient|o(?:m(?:(?:mand|pt)e)|nt(?:r?act)))s|ustomers_outstanding_bill_reached)|dolibarr_state_board|f(?:actures(?:_(?:fourn(?:_imp)?|imp))?|icheinter|ournisseurs|unnel_of_prospection)|g(?:oodcustomers|raph_(?:invoices_(?:per(?:month|year)|supplier_permonth)|n(?:b_ticket(?:_last_x_days|s_type)|ew_vs_close_ticket)|orders_(?:(?:supplier_)?permonth)|pro(?:duct_distribution|pales_permonth)|ticket_by_severity))|last(?:_(?:(?:modified_)?knowledgerecord|(?:modified_)?ticket)|login)|m(?:embers_(?:by_t(?:ags|ype)|last_(?:modified|subscriptions)|subscriptions_by_year)|os)|pro(?:duits(?:_alerte_stock)?|ject(?:_opportunities)?|pales|spect)|s(?:(?:cheduled_job|ervices_contract)s|ervices_expired|(?:hipment|upplier_order)s|upplier_orders_awaiting_reception)|task|validated_projects)).* has an unused parameter #'
|
|
- '#Dead catch - Exception is never thrown in the try block#'
|
|
- '#.*phan-var#'
|
|
- '#\$httpStatusCode of class Luracast\\Restler\\RestException constructor expects string, int given.#'
|
|
- '#(?:(?:s(?:(?:et_error_handl|pl_autoload_regist)er)|array_filter)) expects \(callable#'
|
|
- '# (dol_print_date|correctExifImageOrientation) expects bool\|string#'
|
|
- '# (getRandomPassword|vatrate|DolEditor constructor) expects bool, int#'
|
|
- '# SMTPs::(getFrom|getErrorsTo|getReplyTo)\(\) expects bool, string given.#'
|
|
- '# (dolibarr_set_const|yn|getLocalTaxesFromRate) expects int\|string#'
|
|
- '#::(options)\(\) expects int\|string#'
|
|
- '# (print_barre_liste|getCurrentPeriodOfFiscalYear|dol_substr|get_next_value) expects int\|null#'
|
|
- '#(?:colorAdjustBrightness|imap_(?:(?:fetch)?body|fetchstructure)) expects int, string#'
|
|
- '# (Setup|Asset|Proposals|Orders|Invoices|FactureRec|BonPrelevement|Products|Thirdparties)::_fetch\S*\(\) expects int, string#'
|
|
- '#(sendTicketMessageByEmail|addItemsFact|update_price|recur|addDepreciationLine|addline|generate|buildRumNumber|update|update_label|getSelectConditionsPaiements|select_state|listBoxes|addLineRec|literalBarcodeType)\(\) expects int, string#'
|
|
- '#run_sql expects int, string#'
|
|
- '#on array{url: mixed} in empty\(\) does not exist.#'
|
|
- '#EvalMath::trigger\(\) expects string, int given#'
|
|
- '#get_next_value expects string, int given#'
|
|
- '# Diff::generatePartialDiff\(\) expects array#'
|
|
- '# EmailCollector::getpart\(\) expects string#'
|
|
- '#expects int, float#'
|
|
- '#::saveboxorder\(\) expects int, array#'
|
|
- '# (fetchObjectByElement|print_actions_filter|dol_mktime|dol_get_first_day|dol_remove_file_process|displayUsersListWithPicto) expects int, array\|string given.#'
|
|
- '# (CSMSFile) constructor expects int, array\|string given.#'
|
|
- '# (?:price(?:2num)?) expects float\|string#'
|
|
- '#(?:ProductFournisseur::logPrice\(\)) expects float\|null#'
|
|
- '#(?:(?:Asset::addDepreciationL|Facture(?:(?:(?:Fournisseur)?::add|Fournisseur::update)l))ine\(\)|calcul_price_total|dol_convertToWord|(?:loanCalcMonthlyPaymen|print_paypal_redirec)t) expects float, string given.#'
|
|
- '#(?:(?:EvalMath::trigger|F(?:acture(?:(?:Fournisseur)?Rec::addline)|ichinterRec::addLineRec)|SMTPs::socket_send_str)\(\)|dolMd2Html|setEventMessages) expects string\|null#'
|
|
- '# (envoi_mail|sendEmailTo) expects string, \(float\|int\) given.#'
|
|
- '#::printStdColumnContent\(\) expects string, float(\|(int|array)(\<.*\>)?)* given.#'
|
|
- '~(?:Parameter #3 \$morecss of function) img_warning expects string, \(float\|int\)~'
|
|
- '~(?:Parameter #2 \$moreatt of function) img_warning expects string, float~'
|
|
- '#::HTML2OpenIDServer\(\) expects string, array given.#'
|
|
- '#create_line\(\) expects string, float given.#'
|
|
- '# dol_stringtotime expects string, DateTime given.#'
|
|
- '# show_ldap_content expects string, true given.#'
|
|
- '#expects string, bool\|mysqli_result\|resource given.#'
|
|
- '#( |::)((multi)?selectarray)\(\) expects array#'
|
|
- '# (reWriteAllMenus|check_authentication) expects array#'
|
|
- '#::(_validateMyObject|select_company)\(\) expects array<string#'
|
|
- '# dolGetButtonTitle expects array<string#'
|
|
- '# getNav expects array#'
|
|
- '# getCommonSubstitutionArray expects array#'
|
|
- '# ajax_constantonoff expects array, null given.#'
|
|
- '# ldap_search expects array\|LDAP#'
|
|
- '# ajax_combobox expects array#'
|
|
- '# Context::setError\(\) expects array, string#'
|
|
- '# Form::formconfirm\(\) expects array#'
|
|
- '# FormWebPortal::selectForForms\(\) expects int, array#'
|
|
- '# Lettering::getBankLinesFromFkDocAndDocType\(\) expects array#'
|
|
- '# (Odf) constructor expects #'
|
|
- '# Stripe[^ ]+::all\(\) expects #'
|
|
- '#expects resource#'
|
|
- '# (?:(?:BordereauChequeBlochet::_pagefoot|(?:Order|Product|SupplierOrder)s::_cleanObjectDatas)\(\)|ecm_prepare_dasboard_head|formatObject) expects object#'
|
|
- '#(?:ftp_(?:c(?:dup|hdir|lose)|delete|get|mkdir|put|rmdir)) expects FTP\\Connection#'
|
|
- '#(?:ldap_(?:(?:ad|bin)d|delete|err(?:no|or)|first_entry|get_(?:(?:attribut|entri)es|(?:optio|values_le)n)|mod_(?:add|del|replace)|rename|set_option|unbind)) expects LDAP\\Connection#'
|
|
- '#(?:MultiCurrencies::_cleanObjectDatasRate\(\)) expects MultiCurrency#'
|
|
- '# (?:pdf_(?:(?:eagle_proforma::drawTotalTable|muscadet::_tableau_tot)\(\))) expects Facture#'
|
|
- '# (?:salaries_prepare_head) expects Paiement#'
|
|
- '# (?:pg_(?:affected_rows|f(?:etch_(?:array|object|row)|ree_result)|num_rows)) expects PgSql\\Result#'
|
|
- '# (?:Holiday::getNextNumRef\(\)|get_localtax|pdf_pagefoot) expects Societe#'
|
|
- '# (?:get_next_value) expects ..\|Societe#'
|
|
- '# (?:Common(?:DocGenerator::get(?:(?:ExtrafieldsInHtml|_substitutionarray_lines)\(\))|Object::printO(?:(?:bject|rigin)Line\(\)))) expects CommonObjectLine#'
|
|
- '#colorHexToHsl expects float\|false, true#'
|
|
internalErrorsCountLimit: 50
|
|
cache:
|
|
nodesByFileCountMax: 512
|
|
nodesByStringCountMax: 512
|
|
reportUnmatchedIgnoredErrors: false
|
|
universalObjectCratesClasses:
|
|
- stdClass
|
|
- SimpleXMLElement
|
|
earlyTerminatingMethodCalls: []
|
|
dynamicConstantNames:
|
|
- ICONV_IMPL
|
|
- PHP_VERSION
|
|
- PHP_MAJOR_VERSION
|
|
- PHP_MINOR_VERSION
|
|
- PHP_RELEASE_VERSION
|
|
- PHP_VERSION_ID
|
|
- PHP_EXTRA_VERSION
|
|
- PHP_ZTS
|
|
- PHP_DEBUG
|
|
- PHP_MAXPATHLEN
|
|
- PHP_OS
|
|
- PHP_OS_FAMILY
|
|
- PHP_SAPI
|
|
- PHP_EOL
|
|
- PHP_INT_MAX
|
|
- PHP_INT_MIN
|
|
- PHP_INT_SIZE
|
|
- PHP_FLOAT_DIG
|
|
- PHP_FLOAT_EPSILON
|
|
- PHP_FLOAT_MIN
|
|
- PHP_FLOAT_MAX
|
|
- DEFAULT_INCLUDE_PATH
|
|
- PEAR_INSTALL_DIR
|
|
- PEAR_EXTENSION_DIR
|
|
- PHP_EXTENSION_DIR
|
|
- PHP_PREFIX
|
|
- PHP_BINDIR
|
|
- PHP_BINARY
|
|
- PHP_MANDIR
|
|
- PHP_LIBDIR
|
|
- PHP_DATADIR
|
|
- PHP_SYSCONFDIR
|
|
- PHP_LOCALSTATEDIR
|
|
- PHP_CONFIG_FILE_PATH
|
|
- PHP_CONFIG_FILE_SCAN_DIR
|
|
- PHP_SHLIB_SUFFIX
|
|
- PHP_FD_SETSIZE
|