",
+ "label": "html1",
"list_hidden": 0,
- "search": 0,
"name": "html1",
- "label": "html1",
"not_required": "",
- "html": "
"
- },
- {
+ "prio": 1,
+ "search": 0,
"table_name": "rex_ycom_user",
- "prio": 2,
"type_id": "value",
- "type_name": "text",
+ "type_name": "html"
+ },
+ {
+ "append": "",
+ "attributes": "",
"db_type": "",
+ "default": "",
+ "label": "translate:login",
"list_hidden": 1,
- "search": 1,
"name": "login",
- "label": "translate:login",
- "not_required": "",
- "default": "",
"no_db": "",
+ "not_required": "",
"notice": "",
- "attributes": "",
"prepend": "",
- "append": ""
+ "prio": 2,
+ "search": 1,
+ "table_name": "rex_ycom_user",
+ "type_id": "value",
+ "type_name": "text"
},
{
- "table_name": "rex_ycom_user",
- "prio": 3,
- "type_id": "validate",
- "type_name": "empty",
"db_type": "",
+ "label": "",
"list_hidden": 1,
- "search": 0,
+ "message": "translate:ycom_please_enter_login",
"name": "login",
- "label": "",
"not_required": "",
- "message": "translate:ycom_please_enter_login"
- },
- {
+ "prio": 3,
+ "search": 0,
"table_name": "rex_ycom_user",
- "prio": 4,
"type_id": "validate",
- "type_name": "unique",
+ "type_name": "empty"
+ },
+ {
"db_type": "",
+ "empty_option": "",
+ "label": "",
"list_hidden": 1,
- "search": 0,
+ "message": "translate:ycom_this_login_exists_already",
"name": "login",
- "label": "",
"not_required": "",
- "message": "translate:ycom_this_login_exists_already",
+ "prio": 4,
+ "search": 0,
"table": "rex_ycom_user",
- "empty_option": ""
+ "table_name": "rex_ycom_user",
+ "type_id": "validate",
+ "type_name": "unique"
},
{
- "table_name": "rex_ycom_user",
- "prio": 5,
- "type_id": "value",
- "type_name": "text",
+ "append": "",
+ "attributes": "",
"db_type": "",
+ "default": "",
+ "label": "translate:email",
"list_hidden": 0,
- "search": 1,
"name": "email",
- "label": "translate:email",
- "not_required": "",
- "default": "",
"no_db": "",
+ "not_required": "",
"notice": "",
- "attributes": "",
"prepend": "",
- "append": ""
+ "prio": 5,
+ "search": 1,
+ "table_name": "rex_ycom_user",
+ "type_id": "value",
+ "type_name": "text"
},
{
- "table_name": "rex_ycom_user",
- "prio": 6,
- "type_id": "validate",
- "type_name": "empty",
"db_type": "",
+ "label": "",
"list_hidden": 1,
- "search": 0,
+ "message": "translate:ycom_please_enter_email",
"name": "email",
- "label": "",
"not_required": "",
- "message": "translate:ycom_please_enter_email"
- },
- {
+ "prio": 6,
+ "search": 0,
"table_name": "rex_ycom_user",
- "prio": 7,
"type_id": "validate",
- "type_name": "type",
+ "type_name": "empty"
+ },
+ {
"db_type": "",
+ "label": "",
"list_hidden": 1,
- "search": 0,
+ "message": "translate:ycom_please_enter_email",
"name": "email",
- "label": "",
"not_required": "",
- "message": "translate:ycom_please_enter_email",
- "type": "email"
- },
- {
+ "prio": 7,
+ "search": 0,
"table_name": "rex_ycom_user",
- "prio": 8,
+ "type": "email",
"type_id": "validate",
- "type_name": "unique",
+ "type_name": "type"
+ },
+ {
"db_type": "",
+ "empty_option": "",
+ "label": "",
"list_hidden": 1,
- "search": 0,
+ "message": "translate:ycom_this_email_exists_already",
"name": "email",
- "label": "",
"not_required": "",
- "message": "translate:ycom_this_email_exists_already",
+ "prio": 8,
+ "search": 0,
"table": "rex_ycom_user",
- "empty_option": ""
+ "table_name": "rex_ycom_user",
+ "type_id": "validate",
+ "type_name": "unique"
},
{
- "table_name": "rex_ycom_user",
- "prio": 9,
- "type_id": "value",
- "type_name": "ycom_auth_password",
+ "attributes": "",
"db_type": "",
+ "label": "translate:password",
"list_hidden": 1,
- "search": 1,
+ "message": "translate:ycom_validate_password_policy_rules_error",
"name": "password",
- "label": "translate:password",
"not_required": "",
- "message": "translate:ycom_validate_password_policy_rules_error",
- "attributes": "",
+ "prio": 9,
"rules": "{\"length\":{\"min\":8},\"letter\":{\"min\":1},\"lowercase\":{\"min\":1},\"uppercase\":{\"min\":1}}",
- "script": "1"
- },
- {
+ "script": "1",
+ "search": 1,
"table_name": "rex_ycom_user",
- "prio": 10,
"type_id": "value",
- "type_name": "text",
+ "type_name": "ycom_auth_password"
+ },
+ {
+ "append": "",
+ "attributes": "",
"db_type": "",
+ "default": "",
+ "label": "translate:firstname",
"list_hidden": 0,
- "search": 1,
"name": "firstname",
- "label": "translate:firstname",
- "not_required": "",
- "default": "",
"no_db": "",
+ "not_required": "",
"notice": "",
- "attributes": "",
"prepend": "",
- "append": ""
- },
- {
+ "prio": 10,
+ "search": 1,
"table_name": "rex_ycom_user",
- "prio": 11,
"type_id": "value",
- "type_name": "text",
+ "type_name": "text"
+ },
+ {
+ "append": "",
+ "attributes": "",
"db_type": "",
+ "default": "",
+ "label": "translate:name",
"list_hidden": 0,
- "search": 1,
"name": "name",
- "label": "translate:name",
- "not_required": "",
- "default": "",
"no_db": "",
+ "not_required": "",
"notice": "",
- "attributes": "",
"prepend": "",
- "append": ""
- },
- {
+ "prio": 11,
+ "search": 1,
"table_name": "rex_ycom_user",
- "prio": 12,
"type_id": "value",
- "type_name": "html",
+ "type_name": "text"
+ },
+ {
"db_type": "",
+ "html": "<\/div>
",
+ "label": "html2",
"list_hidden": 0,
- "search": 0,
"name": "html2",
- "label": "html2",
"not_required": "",
- "html": "<\/div>
"
- },
- {
+ "prio": 12,
+ "search": 0,
"table_name": "rex_ycom_user",
- "prio": 13,
"type_id": "value",
- "type_name": "choice",
+ "type_name": "html"
+ },
+ {
+ "attributes": "",
+ "choice_attributes": "",
+ "choice_label": "",
+ "choices": "translate:ycom_account_inactive_termination=-3,translate:ycom_account_inactive_logins=-2,translate:ycom_account_inactive=-1,translate:ycom_account_requested=0,translate:ycom_account_confirm=1,translate:ycom_account_active=2",
"db_type": "",
- "list_hidden": 0,
- "search": 1,
- "name": "status",
+ "default": "-1",
+ "expanded": "",
+ "group_attributes": "",
+ "group_by": "",
"label": "translate:status",
- "not_required": "",
+ "list_hidden": 0,
"multiple": "0",
- "expanded": "",
- "choices": "translate:ycom_account_inactive_termination=-3,translate:ycom_account_inactive_logins=-2,translate:ycom_account_inactive=-1,translate:ycom_account_requested=0,translate:ycom_account_confirm=1,translate:ycom_account_active=2",
- "choice_attributes": "",
- "default": "-1",
+ "name": "status",
"no_db": "",
+ "not_required": "",
"notice": "",
- "attributes": "",
"placeholder": "",
- "group_by": "",
- "group_attributes": "",
- "preferred_choices": ""
+ "preferred_choices": "",
+ "prio": 13,
+ "search": 1,
+ "table_name": "rex_ycom_user",
+ "type_id": "value",
+ "type_name": "choice"
},
{
- "table_name": "rex_ycom_user",
+ "attributes": "",
+ "db_type": "text",
+ "empty_option": "1",
+ "empty_value": "",
+ "field": "name",
+ "filter": "",
+ "label": "translate:ycom_groups",
+ "list_hidden": 1,
+ "name": "ycom_groups",
+ "not_required": "",
+ "notice": "",
"prio": 14,
+ "relation_table": "",
+ "search": 1,
+ "size": "",
+ "table": "rex_ycom_group",
+ "table_name": "rex_ycom_user",
+ "type": "1",
"type_id": "value",
- "type_name": "generate_key",
+ "type_name": "be_manager_relation"
+ },
+ {
"db_type": "",
+ "label": "translate:activation_key",
"list_hidden": 1,
- "search": 1,
"name": "activation_key",
- "label": "translate:activation_key",
+ "no_db": "",
"not_required": "",
"only_empty": "1",
- "no_db": "",
- "show_value": "1"
+ "prio": 15,
+ "search": 1,
+ "show_value": "1",
+ "table_name": "rex_ycom_user",
+ "type_id": "value",
+ "type_name": "generate_key"
},
{
- "table_name": "rex_ycom_user",
- "prio": 15,
- "type_id": "validate",
- "type_name": "unique",
"db_type": "",
+ "empty_option": "0",
+ "label": "",
"list_hidden": 1,
- "search": 0,
+ "message": "translate:ycom_this_activation_key_exists_already",
"name": "activation_key",
- "label": "",
"not_required": "",
- "message": "translate:ycom_this_activation_key_exists_already",
+ "prio": 16,
+ "search": 0,
"table": "rex_ycom_user",
- "empty_option": "0"
+ "table_name": "rex_ycom_user",
+ "type_id": "validate",
+ "type_name": "unique"
},
{
- "table_name": "rex_ycom_user",
- "prio": 17,
- "type_id": "value",
- "type_name": "checkbox",
+ "attributes": "",
"db_type": "tinyint(1)",
+ "default": "0",
+ "label": "translate:termsofuse_accepted",
"list_hidden": 1,
- "search": 1,
"name": "termsofuse_accepted",
- "label": "translate:termsofuse_accepted",
- "not_required": "",
- "default": "0",
"no_db": "0",
+ "not_required": "",
"notice": "",
- "attributes": "",
- "output_values": ""
- },
- {
+ "output_values": "",
+ "prio": 17,
+ "search": 1,
"table_name": "rex_ycom_user",
- "prio": 18,
"type_id": "value",
- "type_name": "checkbox",
+ "type_name": "checkbox"
+ },
+ {
+ "attributes": "",
"db_type": "tinyint(1)",
+ "default": "0",
+ "label": "translate:new_password_required",
"list_hidden": 1,
- "search": 1,
"name": "new_password_required",
- "label": "translate:new_password_required",
- "not_required": "",
- "default": "0",
"no_db": "0",
+ "not_required": "",
"notice": "",
- "attributes": "",
- "output_values": ""
- },
- {
+ "output_values": "",
+ "prio": 18,
+ "search": 1,
"table_name": "rex_ycom_user",
- "prio": 19,
"type_id": "value",
- "type_name": "datestamp",
+ "type_name": "checkbox"
+ },
+ {
"db_type": "",
+ "format": "",
+ "label": "translate:last_action_time",
"list_hidden": 1,
- "search": 1,
+ "modify_default": "",
"name": "last_action_time",
- "label": "translate:last_action_time",
+ "no_db": "",
"not_required": "",
"only_empty": "2",
- "no_db": "",
- "format": "",
- "modify_default": ""
- },
- {
+ "prio": 19,
+ "search": 1,
"table_name": "rex_ycom_user",
- "prio": 20,
"type_id": "value",
- "type_name": "datestamp",
+ "type_name": "datestamp"
+ },
+ {
"db_type": "",
+ "format": "",
+ "label": "translate:last_login_time",
"list_hidden": 1,
- "search": 1,
+ "modify_default": "",
"name": "last_login_time",
- "label": "translate:last_login_time",
+ "no_db": "",
"not_required": "",
"only_empty": "2",
- "no_db": "",
- "format": "",
- "modify_default": ""
- },
- {
+ "prio": 20,
+ "search": 1,
"table_name": "rex_ycom_user",
- "prio": 21,
"type_id": "value",
- "type_name": "datestamp",
+ "type_name": "datestamp"
+ },
+ {
"db_type": "",
+ "format": "",
+ "label": "translate:last_login_try_time",
"list_hidden": 1,
- "search": 1,
+ "modify_default": "",
"name": "last_login_try_time",
- "label": "translate:last_login_try_time",
+ "no_db": "",
"not_required": "",
"only_empty": "2",
- "no_db": "",
- "format": "",
- "modify_default": ""
- },
- {
+ "prio": 21,
+ "search": 1,
"table_name": "rex_ycom_user",
- "prio": 22,
"type_id": "value",
- "type_name": "datestamp",
+ "type_name": "datestamp"
+ },
+ {
"db_type": "",
+ "format": "",
+ "label": "translate:termination_time",
"list_hidden": 1,
- "search": 1,
+ "modify_default": "",
"name": "termination_time",
- "label": "translate:termination_time",
+ "no_db": "",
"not_required": "",
"only_empty": "2",
- "no_db": "",
- "format": "",
- "modify_default": ""
- },
- {
+ "prio": 22,
+ "search": 1,
"table_name": "rex_ycom_user",
- "prio": 23,
"type_id": "value",
- "type_name": "integer",
+ "type_name": "datestamp"
+ },
+ {
"db_type": "",
+ "default": "0",
+ "label": "translate:login_tries",
"list_hidden": 0,
- "search": 1,
"name": "login_tries",
- "label": "translate:login_tries",
- "not_required": "",
- "default": "0",
"no_db": "",
+ "not_required": "",
"notice": "translate:ycom_login_tries_info",
+ "prio": 23,
+ "search": 1,
+ "table_name": "rex_ycom_user",
+ "type_id": "value",
+ "type_name": "integer",
"unit": ""
},
{
- "table_name": "rex_ycom_user",
+ "db_type": "int",
+ "default": "0",
+ "label": "translate:otp_tries",
+ "list_hidden": 1,
+ "name": "otp_tries",
+ "no_db": "0",
+ "not_required": "",
+ "notice": "translate:otp_tries_info",
"prio": 24,
+ "search": 1,
+ "table_name": "rex_ycom_user",
"type_id": "value",
- "type_name": "html",
- "db_type": "",
- "list_hidden": 0,
- "search": 0,
- "name": "html3",
- "label": "html3",
+ "type_name": "integer",
+ "unit": ""
+ },
+ {
+ "db_type": "text",
+ "label": "translate:otp_last_try_time",
+ "list_hidden": 1,
+ "name": "otp_last_try_time",
"not_required": "",
- "html": "<\/div><\/div>"
+ "prio": 25,
+ "search": 0,
+ "show_value": "0",
+ "table_name": "rex_ycom_user",
+ "type_id": "value",
+ "type_name": "emptyname"
},
{
+ "db_type": "text",
+ "label": "translate:otp_config",
+ "list_hidden": 1,
+ "name": "otp_config",
+ "not_required": "",
+ "prio": 26,
+ "search": 0,
+ "show_value": "0",
"table_name": "rex_ycom_user",
- "prio": 25,
"type_id": "value",
- "type_name": "be_manager_relation",
+ "type_name": "emptyname"
+ },
+ {
"db_type": "",
- "list_hidden": 1,
- "search": 1,
- "name": "ycom_groups",
- "label": "translate:ycom_groups",
+ "html": "<\/div><\/div>",
+ "label": "html3",
+ "list_hidden": 0,
+ "name": "html3",
"not_required": "",
- "size": "",
- "table": "rex_ycom_group",
- "field": "name",
- "type": "1",
- "empty_value": "",
- "empty_option": "1",
- "notice": "",
- "attributes": "",
- "relation_table": "",
- "filter": ""
+ "prio": 27,
+ "search": 0,
+ "table_name": "rex_ycom_user",
+ "type_id": "value",
+ "type_name": "html"
}
- ]
- },
- "rex_ycom_group": {
+ ],
"table": {
- "status": 1,
- "table_name": "rex_ycom_group",
- "name": "translate:ycom_group_name",
"description": "",
- "list_amount": 200,
- "list_sortfield": "name",
- "list_sortorder": "ASC",
- "search": 0,
- "hidden": 0,
+ "exclusive_edit_roles": "",
+ "exclusive_view_roles": "",
"export": 1,
+ "hidden": 0,
+ "history": 0,
"import": 1,
+ "list_amount": 100,
+ "list_sortfield": "login",
+ "list_sortorder": "DESC",
"mass_deletion": 0,
"mass_edit": 0,
+ "name": "translate:rex_ycom_user",
"schema_overwrite": 1,
- "history": 0,
- "exclusive_view_roles": "",
- "exclusive_edit_roles": ""
- },
+ "search": 1,
+ "status": 1,
+ "table_icon": "",
+ "table_name": "rex_ycom_user"
+ }
+ },
+ "rex_ycom_group": {
"fields": [
{
- "table_name": "rex_ycom_group",
- "prio": 1,
- "type_id": "value",
- "type_name": "text",
+ "append": "",
+ "attributes": "",
"db_type": "",
+ "default": "",
+ "label": "translate:name",
"list_hidden": 0,
- "search": 1,
"name": "name",
- "label": "translate:name",
- "not_required": "",
- "default": "",
"no_db": "",
+ "not_required": "",
"notice": "",
- "attributes": "",
"prepend": "",
- "append": ""
+ "prio": 1,
+ "search": 1,
+ "table_name": "rex_ycom_group",
+ "type_id": "value",
+ "type_name": "text"
},
{
- "table_name": "rex_ycom_group",
- "prio": 2,
- "type_id": "validate",
- "type_name": "empty",
"db_type": "",
+ "label": "",
"list_hidden": 1,
- "search": 0,
+ "message": "translate:ycom_group_yform_enter_name",
"name": "name",
- "label": "",
"not_required": "",
- "message": "translate:ycom_group_yform_enter_name"
+ "prio": 2,
+ "search": 0,
+ "table_name": "rex_ycom_group",
+ "type_id": "validate",
+ "type_name": "empty"
}
- ]
+ ],
+ "table": {
+ "description": "",
+ "exclusive_edit_roles": "",
+ "exclusive_view_roles": "",
+ "export": 1,
+ "hidden": 0,
+ "history": 0,
+ "import": 1,
+ "list_amount": 200,
+ "list_sortfield": "name",
+ "list_sortorder": "ASC",
+ "mass_deletion": 0,
+ "mass_edit": 0,
+ "name": "translate:ycom_group_name",
+ "schema_overwrite": 1,
+ "search": 0,
+ "status": 1,
+ "table_icon": "",
+ "table_name": "rex_ycom_group"
+ }
}
-}
+}
\ No newline at end of file
diff --git a/lang/de_de.lang b/lang/de_de.lang
index 1af89d3f..2a91c7a3 100644
--- a/lang/de_de.lang
+++ b/lang/de_de.lang
@@ -74,6 +74,7 @@ docs = Dokumentation
ycom_docs_tricks = Tricks
ycom_docs_user_groups = User und Gruppen auslesen
ycom_docs = Dokumentation
+ycom_docs_otp = 2FA (Zwei-Faktor-Authentifizierung)
ycom_log = Log
ycom_user_log = YCom-User-Log
diff --git a/lib/ycom_user.php b/lib/ycom_user.php
index 56527e66..ae2100c9 100644
--- a/lib/ycom_user.php
+++ b/lib/ycom_user.php
@@ -96,4 +96,19 @@ public function increaseLoginTries(): self
$this->setValue('login_tries', $this->getValue('login_tries') + 1);
return $this;
}
+
+ public function increaseOTPTries(): self
+ {
+ $otp_tries = (int) $this->getValue('otp_tries');
+ $this->setValue('otp_tries', $otp_tries + 1);
+ $this->setValue('otp_last_try_time', time());
+ return $this;
+ }
+
+ public function resetOTPTries(): self
+ {
+ $this->setValue('otp_tries', 0);
+ $this->setValue('otp_last_try_time', time());
+ return $this;
+ }
}
diff --git a/plugins/auth/assets/clipboard-copy-element.js b/plugins/auth/assets/clipboard-copy-element.js
new file mode 100644
index 00000000..11f56d57
--- /dev/null
+++ b/plugins/auth/assets/clipboard-copy-element.js
@@ -0,0 +1,150 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global = global || self, global.ClipboardCopyElement = factory());
+}(this, function () { 'use strict';
+
+ function createNode(text) {
+ const node = document.createElement('pre');
+ node.style.width = '1px';
+ node.style.height = '1px';
+ node.style.position = 'fixed';
+ node.style.top = '5px';
+ node.textContent = text;
+ return node;
+ }
+
+ function copyNode(node) {
+ if ('clipboard' in navigator) {
+ // eslint-disable-next-line flowtype/no-flow-fix-me-comments
+ // $FlowFixMe Clipboard is not defined in Flow yet.
+ return navigator.clipboard.writeText(node.textContent);
+ }
+
+ const selection = getSelection();
+
+ if (selection == null) {
+ return Promise.reject(new Error());
+ }
+
+ selection.removeAllRanges();
+ const range = document.createRange();
+ range.selectNodeContents(node);
+ selection.addRange(range);
+ document.execCommand('copy');
+ selection.removeAllRanges();
+ return Promise.resolve();
+ }
+ function copyText(text) {
+ if ('clipboard' in navigator) {
+ // eslint-disable-next-line flowtype/no-flow-fix-me-comments
+ // $FlowFixMe Clipboard is not defined in Flow yet.
+ return navigator.clipboard.writeText(text);
+ }
+
+ const body = document.body;
+
+ if (!body) {
+ return Promise.reject(new Error());
+ }
+
+ const node = createNode(text);
+ body.appendChild(node);
+ copyNode(node);
+ body.removeChild(node);
+ return Promise.resolve();
+ }
+
+ function copy(button) {
+ const id = button.getAttribute('for');
+ const text = button.getAttribute('value');
+
+ function trigger() {
+ button.dispatchEvent(new CustomEvent('clipboard-copy', {
+ bubbles: true
+ }));
+ }
+
+ if (text) {
+ copyText(text).then(trigger);
+ } else if (id) {
+ const root = 'getRootNode' in Element.prototype ? button.getRootNode() : button.ownerDocument;
+ if (!(root instanceof Document || 'ShadowRoot' in window && root instanceof ShadowRoot)) return;
+ const node = root.getElementById(id);
+ if (node) copyTarget(node).then(trigger);
+ }
+ }
+
+ function copyTarget(content) {
+ if (content instanceof HTMLInputElement || content instanceof HTMLTextAreaElement) {
+ return copyText(content.value);
+ } else if (content instanceof HTMLAnchorElement && content.hasAttribute('href')) {
+ return copyText(content.href);
+ } else {
+ return copyNode(content);
+ }
+ }
+
+ function clicked(event) {
+ const button = event.currentTarget;
+
+ if (button instanceof HTMLElement) {
+ copy(button);
+ }
+ }
+
+ function keydown(event) {
+ if (event.key === ' ' || event.key === 'Enter') {
+ const button = event.currentTarget;
+
+ if (button instanceof HTMLElement) {
+ event.preventDefault();
+ copy(button);
+ }
+ }
+ }
+
+ function focused(event) {
+ event.currentTarget.addEventListener('keydown', keydown);
+ }
+
+ function blurred(event) {
+ event.currentTarget.removeEventListener('keydown', keydown);
+ }
+
+ class ClipboardCopyElement extends HTMLElement {
+ constructor() {
+ super();
+ this.addEventListener('click', clicked);
+ this.addEventListener('focus', focused);
+ this.addEventListener('blur', blurred);
+ }
+
+ connectedCallback() {
+ if (!this.hasAttribute('tabindex')) {
+ this.setAttribute('tabindex', '0');
+ }
+
+ if (!this.hasAttribute('role')) {
+ this.setAttribute('role', 'button');
+ }
+ }
+
+ get value() {
+ return this.getAttribute('value') || '';
+ }
+
+ set value(text) {
+ this.setAttribute('value', text);
+ }
+
+ }
+
+ if (!window.customElements.get('clipboard-copy')) {
+ window.ClipboardCopyElement = ClipboardCopyElement;
+ window.customElements.define('clipboard-copy', ClipboardCopyElement);
+ }
+
+ return ClipboardCopyElement;
+
+}));
diff --git a/plugins/auth/assets/qrious.min.js b/plugins/auth/assets/qrious.min.js
new file mode 100644
index 00000000..5735ea62
--- /dev/null
+++ b/plugins/auth/assets/qrious.min.js
@@ -0,0 +1,6 @@
+/*! QRious v4.0.2 | (C) 2017 Alasdair Mercer | GPL v3 License
+Based on jsqrencode | (C) 2010 tz@execpc.com | GPL v3 License
+*/
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.QRious=e()}(this,function(){"use strict";function t(t,e){var n;return"function"==typeof Object.create?n=Object.create(t):(s.prototype=t,n=new s,s.prototype=null),e&&i(!0,n,e),n}function e(e,n,s,r){var o=this;return"string"!=typeof e&&(r=s,s=n,n=e,e=null),"function"!=typeof n&&(r=s,s=n,n=function(){return o.apply(this,arguments)}),i(!1,n,o,r),n.prototype=t(o.prototype,s),n.prototype.constructor=n,n.class_=e||o.class_,n.super_=o,n}function i(t,e,i){for(var n,s,a=0,h=(i=o.call(arguments,2)).length;a
>1&1,n=0;n0;e--)n[e]=n[e]?n[e-1]^_.EXPONENT[v._modN(_.LOG[n[e]]+t)]:n[e-1];n[0]=_.EXPONENT[v._modN(_.LOG[n[0]]+t)]}for(t=0;t<=i;t++)n[t]=_.LOG[n[t]]},_checkBadness:function(){var t,e,i,n,s,r=0,o=this._badness,a=this.buffer,h=this.width;for(s=0;sh*h;)u-=h*h,c++;for(r+=c*v.N4,n=0;n=o-2&&(t=o-2,s>9&&t--);var a=t;if(s>9){for(r[a+2]=0,r[a+3]=0;a--;)e=r[a],r[a+3]|=255&e<<4,r[a+2]=e>>4;r[2]|=255&t<<4,r[1]=t>>4,r[0]=64|t>>12}else{for(r[a+1]=0,r[a+2]=0;a--;)e=r[a],r[a+2]|=255&e<<4,r[a+1]=e>>4;r[1]|=255&t<<4,r[0]=64|t>>4}for(a=t+3-(s<10);a=5&&(i+=v.N1+n[e]-5);for(e=3;et||3*n[e-3]>=4*n[e]||3*n[e+3]>=4*n[e])&&(i+=v.N3);return i},_finish:function(){this._stringBuffer=this.buffer.slice();var t,e,i=0,n=3e4;for(e=0;e<8&&(this._applyMask(e),(t=this._checkBadness())>=1)1&n&&(s[r-1-e+8*r]=1,e<6?s[8+r*e]=1:s[8+r*(e+1)]=1);for(e=0;e<7;e++,n>>=1)1&n&&(s[8+r*(r-7+e)]=1,e?s[6-e+8*r]=1:s[7+8*r]=1)},_interleaveBlocks:function(){var t,e,i=this._dataBlock,n=this._ecc,s=this._eccBlock,r=0,o=this._calculateMaxLength(),a=this._neccBlock1,h=this._neccBlock2,f=this._stringBuffer;for(t=0;t1)for(t=u.BLOCK[n],i=s-7;;){for(e=s-7;e>t-3&&(this._addAlignment(e,i),!(e6)for(t=d.BLOCK[r-7],e=17,i=0;i<6;i++)for(n=0;n<3;n++,e--)1&(e>11?r>>e-12:t>>e)?(s[5-i+o*(2-n+o-11)]=1,s[2-n+o-11+o*(5-i)]=1):(this._setMask(5-i,2-n+o-11),this._setMask(2-n+o-11,5-i))},_isMasked:function(t,e){var i=v._getMaskBit(t,e);return 1===this._mask[i]},_pack:function(){var t,e,i,n=1,s=1,r=this.width,o=r-1,a=r-1,h=(this._dataBlock+this._eccBlock)*(this._neccBlock1+this._neccBlock2)+this._neccBlock2;for(e=0;ee&&(i=t,t=e,e=i),i=e,i+=e*e,i>>=1,i+=t},_modN:function(t){for(;t>=255;)t=((t-=255)>>8)+(255&t);return t},N1:3,N2:3,N3:40,N4:10}),p=v,m=f.extend({draw:function(){this.element.src=this.qrious.toDataURL()},reset:function(){this.element.src=""},resize:function(){var t=this.element;t.width=t.height=this.qrious.size}}),g=h.extend(function(t,e,i,n){this.name=t,this.modifiable=Boolean(e),this.defaultValue=i,this._valueTransformer=n},{transform:function(t){var e=this._valueTransformer;return"function"==typeof e?e(t,this):t}}),k=h.extend(null,{abs:function(t){return null!=t?Math.abs(t):null},hasOwn:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},noop:function(){},toUpperCase:function(t){return null!=t?t.toUpperCase():null}}),w=h.extend(function(t){this.options={},t.forEach(function(t){this.options[t.name]=t},this)},{exists:function(t){return null!=this.options[t]},get:function(t,e){return w._get(this.options[t],e)},getAll:function(t){var e,i=this.options,n={};for(e in i)k.hasOwn(i,e)&&(n[e]=w._get(i[e],t));return n},init:function(t,e,i){"function"!=typeof i&&(i=k.noop);var n,s;for(n in this.options)k.hasOwn(this.options,n)&&(s=this.options[n],w._set(s,s.defaultValue,e),w._createAccessor(s,e,i));this._setAll(t,e,!0)},set:function(t,e,i){return this._set(t,e,i)},setAll:function(t,e){return this._setAll(t,e)},_set:function(t,e,i,n){var s=this.options[t];if(!s)throw new Error("Invalid option: "+t);if(!s.modifiable&&!n)throw new Error("Option cannot be modified: "+t);return w._set(s,e,i)},_setAll:function(t,e,i){if(!t)return!1;var n,s=!1;for(n in t)k.hasOwn(t,n)&&this._set(n,t[n],e,i)&&(s=!0);return s}},{_createAccessor:function(t,e,i){var n={get:function(){return w._get(t,e)}};t.modifiable&&(n.set=function(n){w._set(t,n,e)&&i(n,t)}),Object.defineProperty(e,t.name,n)},_get:function(t,e){return e["_"+t.name]},_set:function(t,e,i){var n="_"+t.name,s=i[n],r=t.transform(null!=e?e:t.defaultValue);return i[n]=r,r!==s}}),M=w,b=h.extend(function(){this._services={}},{getService:function(t){var e=this._services[t];if(!e)throw new Error("Service is not being managed with name: "+t);return e},setService:function(t,e){if(this._services[t])throw new Error("Service is already managed with name: "+t);e&&(this._services[t]=e)}}),B=new M([new g("background",!0,"white"),new g("backgroundAlpha",!0,1,k.abs),new g("element"),new g("foreground",!0,"black"),new g("foregroundAlpha",!0,1,k.abs),new g("level",!0,"L",k.toUpperCase),new g("mime",!0,"image/png"),new g("padding",!0,null,k.abs),new g("size",!0,100,k.abs),new g("value",!0,"")]),y=new b,O=h.extend(function(t){B.init(t,this,this.update.bind(this));var e=B.get("element",this),i=y.getService("element"),n=e&&i.isCanvas(e)?e:i.createCanvas(),s=e&&i.isImage(e)?e:i.createImage();this._canvasRenderer=new c(this,n,!0),this._imageRenderer=new m(this,s,s===e),this.update()},{get:function(){return B.getAll(this)},set:function(t){B.setAll(t,this)&&this.update()},toDataURL:function(t){return this.canvas.toDataURL(t||this.mime)},update:function(){var t=new p({level:this.level,value:this.value});this._canvasRenderer.render(t),this._imageRenderer.render(t)}},{use:function(t){y.setService(t.getName(),t)}});Object.defineProperties(O.prototype,{canvas:{get:function(){return this._canvasRenderer.getElement()}},image:{get:function(){return this._imageRenderer.getElement()}}});var A=O,L=h.extend({getName:function(){}}).extend({createCanvas:function(){},createImage:function(){},getName:function(){return"element"},isCanvas:function(t){},isImage:function(t){}}).extend({createCanvas:function(){return document.createElement("canvas")},createImage:function(){return document.createElement("img")},isCanvas:function(t){return t instanceof HTMLCanvasElement},isImage:function(t){return t instanceof HTMLImageElement}});return A.use(new L),A});
+
+//# sourceMappingURL=qrious.min.js.map
\ No newline at end of file
diff --git a/plugins/auth/install.php b/plugins/auth/install.php
index e653d172..0d44f9f7 100644
--- a/plugins/auth/install.php
+++ b/plugins/auth/install.php
@@ -27,6 +27,7 @@
->ensureColumn(new rex_sql_column('starttime', 'datetime'))
->ensureColumn(new rex_sql_column('last_activity', 'datetime'))
->ensureColumn(new rex_sql_column('last_activity', 'datetime'))
+ ->ensureColumn(new rex_sql_column('otp_verified', 'tinyint(1)', false, '0'))
->ensureColumn(new rex_sql_column('cookie_key', 'varchar(255)', true))
->ensureIndex(new rex_sql_index('cookie_key', ['cookie_key'], rex_sql_index::UNIQUE))
->setPrimaryKey('session_id')
diff --git a/plugins/auth/lang/de_de.lang b/plugins/auth/lang/de_de.lang
index b1e9f6d5..2b25d09b 100644
--- a/plugins/auth/lang/de_de.lang
+++ b/plugins/auth/lang/de_de.lang
@@ -78,3 +78,23 @@ ycom_session_added_ready_to_login = Session wurde angelegt. Bitte hier einloggen
ycom_session_could_not_been_added = Session konnte nicht angelegt werden, weil der User inaktiv ist.
ycom_user_session_delete_all_sessions_link = Alle Sessions löschen
ycom_sessions_deleted = {0} Session/s wurden gelöscht
+
+otp_auth_config = OneTimePassword (OTP) Einstellungen. E-Mail und Authentikator
+otp_article_id = ... zum OTP-Artikel
+otp_auth_enforce = Einschränkungen
+otp_auth_enforce_all = Erzwungen für alle YCom Benutzer
+otp_auth_enforce_disabled = Keine Einschränkungen (Optional für jeden)
+otp_auth_options = Optionen
+otp_auth_option_all = Alle Möglichkeiten erlauben
+otp_auth_option_totp_only = Nur Time-Based One-Time Passwort erlauben
+otp_auth_option_email_only = Nur One-Time Passwort über E-Mail erlauben
+otp_auth_email_period = Zeitintervall bei E-Mail Authentifizierung
+otp_auth_totp_period = Zeitintervall bei Authentikatoren (nicht veränderbar)
+otp_auth_totp_period_info = {0} Sekunden
+otp_auth_logintries = Anzahl der erlaubten Fehlversuche (nicht veränderbar)
+otp_auth_logintries_info = {0} Versuche
+
+otp_tries = OTP Fehlversuche
+otp_tries_info = Erlaubte Fehlversuche werden im Plugin YCom/Auth definiert
+otp_last_try_time = OTP Letzter Versuch
+otp_config = OTP Config
diff --git a/plugins/auth/lib/injections/abstract.php b/plugins/auth/lib/injections/abstract.php
new file mode 100644
index 00000000..20fff07e
--- /dev/null
+++ b/plugins/auth/lib/injections/abstract.php
@@ -0,0 +1,10 @@
+getConfig('otp_article_id');
+
+ // 1. User ist eingeloggt
+ // 2. OTP Article vorhanden => OTP aktiviert ?
+ if (0 == $otp_article_id) {
+ return false;
+ }
+
+ // 1. User ist eingeloggt
+ // 2. Keine OTP Konfiguration/Article vorhanden
+ // 3. Session OTP Check bereits durchgeführt?
+ $SessionInstance = rex_ycom_user_session::getInstance()->getCurrentSession($user);
+ if (1 == $SessionInstance['otp_verified']) {
+ return false;
+ }
+
+ // - user hat überprüfung und keine OTP Session -> zwingend auf otp-article
+ // - OTP ist erzwungen.
+ $config = rex_ycom_otp_password_config::forCurrentUser();
+ $otp_auth_enforce = rex_addon::get('ycom')->getConfig('otp_auth_enforce');
+ $enforcedAll = rex_ycom_otp_password::ENFORCED_ALL == $otp_auth_enforce ? true : false;
+ if (!($enforcedAll || $config->enabled)) {
+ return false;
+ }
+
+ if (rex_article::getCurrentId() == $otp_article_id) {
+ return false;
+ }
+
+ return rex_getUrl($otp_article_id, '', [], '&');
+ }
+
+ public function getSettingsContent(): string
+ {
+ $addon = rex_addon::get('ycom');
+
+ $selectEnforce = new rex_select();
+ $selectEnforce->setId('otp_auth_enforce');
+ $selectEnforce->setName('otp_auth_enforce');
+ $selectEnforce->setAttribute('class', 'form-control selectpicker');
+ $selectEnforce->setSelected($addon->getConfig('otp_auth_enforce'));
+
+ $selectEnforce->addOption($addon->i18n('otp_auth_enforce_' . rex_ycom_otp_password::ENFORCED_ALL), rex_ycom_otp_password::ENFORCED_ALL);
+ $selectEnforce->addOption($addon->i18n('otp_auth_enforce_' . rex_ycom_otp_password::ENFORCED_DISABLED), rex_ycom_otp_password::ENFORCED_DISABLED);
+
+ $selectOption = new rex_select();
+ $selectOption->setId('otp_auth_option');
+ $selectOption->setName('otp_auth_option');
+ $selectOption->setAttribute('class', 'form-control selectpicker');
+ $selectOption->setSelected($addon->getConfig('otp_auth_option'));
+
+ $selectOption->addOption($addon->i18n('otp_auth_option_' . rex_ycom_otp_password::OPTION_ALL), rex_ycom_otp_password::OPTION_ALL);
+ $selectOption->addOption($addon->i18n('otp_auth_option_' . rex_ycom_otp_password::OPTION_TOTP), rex_ycom_otp_password::OPTION_TOTP);
+ $selectOption->addOption($addon->i18n('otp_auth_option_' . rex_ycom_otp_password::OPTION_EMAIL), rex_ycom_otp_password::OPTION_EMAIL);
+
+ $selectEmailPeriod = new rex_select();
+ $selectEmailPeriod->setId('otp_auth_email_period');
+ $selectEmailPeriod->setName('otp_auth_email_period');
+ $selectEmailPeriod->setAttribute('class', 'form-control selectpicker');
+ $selectEmailPeriod->setSelected($addon->getConfig('otp_auth_email_period'));
+
+ $selectEmailPeriod->addOption('5 ' . $addon->i18n('minutes'), 300);
+ $selectEmailPeriod->addOption('10 ' . $addon->i18n('minutes'), 600);
+ $selectEmailPeriod->addOption('15 ' . $addon->i18n('minutes'), 900);
+ $selectEmailPeriod->addOption('30 ' . $addon->i18n('minutes'), 1800);
+
+ $selectTOTPPeriod = new rex_select();
+ $selectTOTPPeriod->setAttribute('class', 'form-control selectpicker');
+ $selectTOTPPeriod->setDisabled(true);
+ $selectTOTPPeriod->addOption($addon->i18n('otp_auth_totp_period_info', rex_ycom_otp_method_totp::getPeriod()), 30);
+
+ $selectLoginTries = new rex_select();
+ $selectLoginTries->setAttribute('class', 'form-control selectpicker');
+ $selectLoginTries->setDisabled(true);
+ $selectLoginTries->addOption($addon->i18n('otp_auth_logintries_info', rex_ycom_otp_method_totp::getloginTries()), 30);
+
+ return '
+
+
+
+ ' . $addon->i18n('otp_auth_config') . '
+
+
+
+ ' . $addon->i18n('otp_article_id') . '
+
+
+ ' . rex_var_link::getWidget(17, 'otp_article_id', (int) $addon->getConfig('otp_article_id')) . '
+ [otp_article_id]
+
+
+
+
+
+ ' . $addon->i18n('otp_auth_enforce') . '
+
+
+ ' . $selectEnforce->get() . '
+ [otp_auth_enforce]
+
+
+
+
+
+ ' . $addon->i18n('otp_auth_options') . '
+
+
+ ' . $selectOption->get() . '
+ [otp_auth_option]
+
+
+
+
+
+ ' . $addon->i18n('otp_auth_email_period') . '
+
+
+ ' . $selectEmailPeriod->get() . '
+ [otp_auth_email_period]
+
+
+
+
+
+ ' . $addon->i18n('otp_auth_totp_period') . '
+
+
+ ' . $selectTOTPPeriod->get() . '
+
+
+
+
+
+ ' . $addon->i18n('otp_auth_logintries') . '
+
+
+ ' . $selectLoginTries->get() . '
+
+
+
+ ';
+ }
+
+ public function triggerSaveSettings(): void
+ {
+ $addon = rex_addon::get('ycom');
+ $addon->setConfig('otp_article_id', rex_request('otp_article_id', 'int'));
+ $addon->setConfig('otp_auth_enforce', rex_request('otp_auth_enforce', 'string'));
+ $addon->setConfig('otp_auth_option', rex_request('otp_auth_option', 'string'));
+ $addon->setConfig('otp_auth_email_period', rex_request('otp_auth_email_period', 'int', 300));
+ }
+}
diff --git a/plugins/auth/lib/injections/passwordchange.php b/plugins/auth/lib/injections/passwordchange.php
new file mode 100644
index 00000000..640b03b4
--- /dev/null
+++ b/plugins/auth/lib/injections/passwordchange.php
@@ -0,0 +1,43 @@
+getConfig('article_id_jump_password', 0);
+ if (0 != $article_id_password && 1 == $user->getValue('new_password_required')) {
+ if ($article_id_password != rex_article::getCurrentId()) {
+ return rex_getUrl($article_id_password, '', [], '&');
+ }
+ }
+ }
+ return false;
+ }
+
+ public function getSettingsContent(): string
+ {
+ $addon = rex_plugin::get('ycom', 'auth');
+ return '
+
+ ' . $addon->i18n('ycom_auth_config_passwordchange') . '
+
+
+ ' . $addon->i18n('ycom_auth_config_id_jump_password') . '
+
+
+ ' . rex_var_link::getWidget(9, 'article_id_jump_password', (int) $addon->getConfig('article_id_jump_password')) . '
+ [article_id_jump_password]
+
+
+
+ ';
+ }
+
+ public function triggerSaveSettings(): void
+ {
+ $addon = rex_plugin::get('ycom', 'auth');
+ $addon->setConfig('article_id_jump_password', rex_request('article_id_jump_password', 'int'));
+ }
+}
diff --git a/plugins/auth/lib/injections/termsofuse.php b/plugins/auth/lib/injections/termsofuse.php
new file mode 100644
index 00000000..4e2f66fd
--- /dev/null
+++ b/plugins/auth/lib/injections/termsofuse.php
@@ -0,0 +1,44 @@
+getConfig('article_id_jump_termsofuse', 0);
+ if (0 != $article_id_termsofuse && 1 != $user->getValue('termsofuse_accepted')) {
+ if ($article_id_termsofuse != rex_article::getCurrentId()) {
+ return rex_getUrl($article_id_termsofuse, '', [], '&');
+ }
+ }
+ }
+ return false;
+ }
+
+ public function getSettingsContent(): string
+ {
+ $addon = rex_plugin::get('ycom', 'auth');
+
+ return '
+
+ ' . $addon->i18n('ycom_auth_config_termsofuse') . '
+
+
+ ' . $addon->i18n('ycom_auth_config_id_jump_termsofuse') . '
+
+
+ ' . rex_var_link::getWidget(10, 'article_id_jump_termsofuse', (int) $addon->getConfig('article_id_jump_termsofuse')) . '
+ [article_id_jump_termsofuse]
+
+
+
+ ';
+ }
+
+ public function triggerSaveSettings(): void
+ {
+ $addon = rex_plugin::get('ycom', 'auth');
+ $addon->setConfig('article_id_jump_termsofuse', rex_request('article_id_jump_termsofuse', 'int', 0));
+ }
+}
diff --git a/plugins/auth/lib/otp/exception.php b/plugins/auth/lib/otp/exception.php
new file mode 100644
index 00000000..fb1d1aff
--- /dev/null
+++ b/plugins/auth/lib/otp/exception.php
@@ -0,0 +1,3 @@
+at(time());
+
+ if ($ycom_otp_code_template = rex_yform_email_template::getTemplate(self::$yform_email_template_key)) {
+ $values = [];
+ $values['email'] = $user->getValue('email');
+ $values['name'] = $user->getValue('name');
+ $values['firstname'] = $user->getValue('firstname');
+ $values['code'] = $otpCode;
+
+ $yform_email_template = rex_yform_email_template::replaceVars($ycom_otp_code_template, $values);
+ $yform_email_template['mail_to'] = $user->getValue('email');
+ $yform_email_template['mail_to_name'] = $user->getValue('name');
+
+ if (!rex_yform_email_template::sendMail($yform_email_template, self::$yform_email_template_key)) {
+ throw new Exception('Unable to send email via Template. Make sure to setup the phpmailer AddOn.');
+ }
+ } else {
+ $mail = new rex_mailer();
+ $mail->addAddress($user->getValue('email'));
+ $mail->Subject = 'OTP-Code: (' . $_SERVER['HTTP_HOST'] . ')';
+ $mail->isHTML();
+ $mail->Body = '' . rex::getServerName() . ' Login verification ' . $otpCode . ' is your 2 factor authentication code.';
+ $mail->AltBody = " Login verification \r\n ------------------ \r\n" . $otpCode . "\r\n ------------------ \r\nis your 2 factor authentication code.";
+
+ if (!$mail->send()) {
+ throw new Exception('Unable to send email. Make sure to setup the phpmailer AddOn.');
+ }
+ }
+ }
+
+ public static function getPeriod(): int
+ {
+ return (int) rex_addon::get('2factor_auth')->getConfig('email_period', 300);
+ }
+
+ public static function getloginTries(): int
+ {
+ return 10;
+ }
+
+ public function verify(string $provisioningUrl, string $otp): bool
+ {
+ $TOTP = Factory::loadFromProvisioningUri($provisioningUrl);
+
+ // re-create from an existant uri
+ if ($TOTP->verify($otp)) {
+ return true;
+ }
+
+ $lastOTPCode = $TOTP->at(time() - self::getPeriod());
+ if ($lastOTPCode == $otp) {
+ return Factory::loadFromProvisioningUri($provisioningUrl)->verify($TOTP->at(time()));
+ }
+ return false;
+ }
+
+ public function getProvisioningUri(rex_ycom_user $user): string
+ {
+ // create a uri with a random secret
+ $otp = TOTP::create(null, self::getPeriod());
+
+ // the label rendered in "Google Authenticator" or similar app
+ $label = $user->getValue('login') . '@' . rex::getServerName() . ' (' . $_SERVER['HTTP_HOST'] . ')';
+ $label = str_replace(':', '_', $label); // colon is forbidden
+ $otp->setLabel($label);
+ $otp->setParameter('period', self::getPeriod());
+ $otp->setIssuer(str_replace(':', '_', $user->getValue('login')));
+
+ return $otp->getProvisioningUri();
+ }
+}
diff --git a/plugins/auth/lib/otp/method_interface.php b/plugins/auth/lib/otp/method_interface.php
new file mode 100644
index 00000000..e4ef1cad
--- /dev/null
+++ b/plugins/auth/lib/otp/method_interface.php
@@ -0,0 +1,20 @@
+verify($otp);
+ }
+
+ public static function getPeriod(): int
+ {
+ // default period is 30s and digest is sha1. Google Authenticator is restricted to this settings
+ return 30;
+ }
+
+ public static function getloginTries(): int
+ {
+ return 10;
+ }
+
+ public function getProvisioningUri(rex_ycom_user $user): string
+ {
+ // create a uri with a random secret
+ $otp = TOTP::create(null, self::getPeriod());
+
+ // the label rendered in "Google Authenticator" or similar app
+ $label = $user->getValue('login') . '@' . rex::getServerName() . ' (' . $_SERVER['HTTP_HOST'] . ')';
+ $label = str_replace(':', '_', $label); // colon is forbidden
+ $otp->setLabel($label);
+ $otp->setIssuer(str_replace(':', '_', $user->getValue('login')));
+
+ return $otp->getProvisioningUri();
+ }
+}
diff --git a/plugins/auth/lib/otp/password.php b/plugins/auth/lib/otp/password.php
new file mode 100644
index 00000000..eab86e23
--- /dev/null
+++ b/plugins/auth/lib/otp/password.php
@@ -0,0 +1,94 @@
+getProvisioningUri());
+ $this->getMethod()->challenge($uri, $user);
+ }
+
+ public function verify(string $otp): bool
+ {
+ $uri = str_replace('&', '&', (string) rex_ycom_otp_password_config::forCurrentUser()->getProvisioningUri());
+ $verified = $this->getMethod()->verify($uri, $otp);
+ return $verified;
+ }
+
+ public function isVerified(): bool
+ {
+ return rex_session('otp_verified', 'boolean', false);
+ }
+
+ public function isEnabled(): bool
+ {
+ return rex_ycom_otp_password_config::forCurrentUser()->enabled;
+ }
+
+ /**
+ * @param self::ENFORCE* $enforce
+ */
+ public function enforce($enforce): void
+ {
+ rex_config::set('ycom', 'otp_auth_enforce', $enforce);
+ }
+
+ /**
+ * @return self::ENFORCE*
+ */
+ public function isEnforced()
+ {
+ return rex_config::get('ycom', 'otp_auth_enforce', self::ENFORCED_DISABLED);
+ }
+
+ /**
+ * @return self::OPTION*
+ */
+ public function getAuthOption()
+ {
+ return rex_config::get('ycom', 'otp_auth_option', self::OPTION_ALL);
+ }
+
+ public function setAuthOption(string $option): void
+ {
+ rex_config::set('ycom', 'otp_auth_option', $option);
+ }
+
+ /**
+ * @return rex_ycom_otp_method_interface
+ */
+ public function getMethod()
+ {
+ if (null === $this->method) {
+ $methodType = rex_ycom_otp_password_config::forCurrentUser()->getMethod();
+
+ if ('totp' === $methodType) {
+ $this->method = new rex_ycom_otp_method_totp();
+ } elseif ('email' === $methodType) {
+ $this->method = new rex_ycom_otp_method_email();
+ } else {
+ throw new InvalidArgumentException("Unknown method: $methodType");
+ }
+ }
+
+ return $this->method;
+ }
+}
diff --git a/plugins/auth/lib/otp/password_config.php b/plugins/auth/lib/otp/password_config.php
new file mode 100644
index 00000000..a53e3cab
--- /dev/null
+++ b/plugins/auth/lib/otp/password_config.php
@@ -0,0 +1,137 @@
+user = $user;
+ }
+
+ public static function forCurrentUser(): self
+ {
+ $user = rex_ycom_auth::getUser();
+ return self::forUser($user);
+ }
+
+ public static function forUser(rex_ycom_user $user): self
+ {
+ return self::fromJson($user->getValue('otp_config'), $user);
+ }
+
+ public static function loadFromDb(rex_ycom_otp_method_interface $method, rex_ycom_user $user): self
+ {
+ // get non-cached values
+ $userSql = rex_sql::factory();
+ $userSql->setTable(rex::getTablePrefix() . 'ycom_user');
+ $userSql->setWhere(['id' => $user->getId()]);
+ $userSql->select();
+
+ $json = (string) $userSql->getValue('otp_config');
+ $config = self::fromJson($json, $user);
+ $config->method = $method instanceof rex_ycom_otp_method_email ? 'email' : 'totp';
+ if (null === $config->getProvisioningUri()) {
+ $config->setProvisioningUri($method->getProvisioningUri($user));
+ }
+ return $config;
+ }
+
+ private static function fromJson(?string $json, rex_ycom_user $user): self
+ {
+ if (is_string($json)) {
+ $configArr = json_decode($json, true);
+
+ if (is_array($configArr)) {
+ // compat with older versions, which did not yet define a method
+ if (!array_key_exists('method', $configArr)) {
+ $configArr['method'] = 'totp';
+ }
+
+ $config = new self($user);
+ $config->provisioningUri = $configArr['provisioningUri'];
+ $config->enabled = $configArr['enabled'];
+ $config->method = $configArr['method'];
+ return $config;
+ }
+ }
+
+ $method = new rex_ycom_otp_method_totp();
+
+ $default = new self($user);
+ $default->method = $method instanceof rex_ycom_otp_method_email ? 'email' : 'totp';
+ $default->provisioningUri = $method->getProvisioningUri($user);
+
+ return $default;
+ }
+
+ public function isEnabled(): bool
+ {
+ return $this->enabled ? true : false;
+ }
+
+ public function enable(): self
+ {
+ $this->enabled = true;
+ return $this;
+ }
+
+ public function disable(): self
+ {
+ $this->enabled = false;
+ $this->provisioningUri = null;
+ return $this;
+ }
+
+ public function updateMethod(rex_ycom_otp_method_interface $method): self
+ {
+ $this->method = $method instanceof rex_ycom_otp_method_email ? 'email' : 'totp';
+ $this->provisioningUri = $method->getProvisioningUri($this->user);
+ return $this;
+ }
+
+ public function getProvisioningUri()
+ {
+ return $this->provisioningUri;
+ }
+
+ public function setProvisioningUri($provisioningUri): self
+ {
+ $this->provisioningUri = $provisioningUri;
+ return $this;
+ }
+
+ public function getMethod()
+ {
+ return $this->method;
+ }
+
+ public function save(): void
+ {
+ echo '';
+ debug_print_backtrace();
+ echo ' ';
+
+ $userSql = rex_sql::factory();
+ $userSql->setTable(rex::getTablePrefix() . 'ycom_user');
+ $userSql->setWhere(['id' => $this->user->getId()]);
+ $userSql->setValue('otp_config', json_encode(
+ [
+ 'provisioningUri' => $this->provisioningUri,
+ 'method' => $this->method,
+ 'enabled' => $this->enabled,
+ ],
+ ));
+ $userSql->update();
+ }
+}
diff --git a/plugins/auth/lib/ycom_auth.php b/plugins/auth/lib/ycom_auth.php
index c4b12560..788aa26a 100644
--- a/plugins/auth/lib/ycom_auth.php
+++ b/plugins/auth/lib/ycom_auth.php
@@ -27,6 +27,26 @@ class rex_ycom_auth
];
public static string $sessionKey = 'ycom_login';
+ public static array $injections = [];
+
+ public static function addInjection(rex_ycom_injection_abtract $injection, int $level = 1): void
+ {
+ self::$injections[$level][] = $injection; // $level][
+ }
+
+ public static function getInjections(): array
+ {
+ $injections = [];
+ ksort(self::$injections);
+
+ foreach (self::$injections as $level => $injection) {
+ foreach ($injection as $inj) {
+ $injections[] = $inj;
+ }
+ }
+ return $injections;
+ }
+
public static function getRequestKey(string $requestKey): string
{
return rex_config::get('ycom', $requestKey, self::$DefaultRequestKeys[$requestKey]);
@@ -110,19 +130,15 @@ public static function init(): string
$params['loginStatus'] = $login_status;
$params = rex_extension::registerPoint(new rex_extension_point('YCOM_AUTH_INIT', $params, []));
- if (self::getUser()) {
- $article_id_password = (int) rex_plugin::get('ycom', 'auth')->getConfig('article_id_jump_password');
- $article_id_termsofuse = (int) rex_plugin::get('ycom', 'auth')->getConfig('article_id_jump_termsofuse');
+ if (rex_plugin::get('ycom', 'auth')->getConfig('article_id_logout') == rex_article::getCurrentId()) {
+ // ignore rest - because logout is always ok .
+ } else {
+ // dd(self::getInjections());
- if (rex_plugin::get('ycom', 'auth')->getConfig('article_id_logout') == rex_article::getCurrentId()) {
- // ignore rest - because logout is always ok .
- } elseif (0 != $article_id_termsofuse && 1 != self::getUser()->getValue('termsofuse_accepted')) {
- if ($article_id_termsofuse != rex_article::getCurrentId()) {
- $params['redirect'] = rex_getUrl($article_id_termsofuse, '', [], '&');
- }
- } elseif (0 != $article_id_password && 1 == self::getUser()->getValue('new_password_required')) {
- if ($article_id_password != rex_article::getCurrentId()) {
- $params['redirect'] = rex_getUrl($article_id_password, '', [], '&');
+ foreach (self::getInjections() as $injection) {
+ $rewrite = $injection->getRewrite();
+ if ($rewrite && '' != $rewrite) {
+ return $rewrite;
}
}
}
diff --git a/plugins/auth/lib/ycom_user_session.php b/plugins/auth/lib/ycom_user_session.php
index e7b9814a..caa48d52 100644
--- a/plugins/auth/lib/ycom_user_session.php
+++ b/plugins/auth/lib/ycom_user_session.php
@@ -28,6 +28,21 @@ public function storeCurrentSession($user, ?string $cookieKey = null): void
->insertOrUpdate();
}
+ /**
+ * @param rex_ycom_user|rex_yform_manager_dataset $user
+ * @throws rex_exception
+ * @throws rex_sql_exception
+ */
+ public function getCurrentSession($user): ?array
+ {
+ $Sessions = rex_sql::factory()
+ ->setTable(rex::getTable('ycom_user_session'))
+ ->setWhere('session_id = ? and user_id = ?', [session_id(), $user->getId()])
+ ->select()
+ ->getArray();
+ return (0 == count($Sessions)) ? null : $Sessions[0];
+ }
+
public function clearCurrentSession(): self
{
$sessionId = session_id();
@@ -59,6 +74,22 @@ public function updateLastActivity(rex_ycom_user $user): void
->insertOrUpdate();
}
+ public function setOTPverified(rex_ycom_user $user, $sessionId = null): void
+ {
+ if (null === $sessionId) {
+ $sessionId = session_id();
+ if (false === $sessionId || '' === $sessionId) {
+ return;
+ }
+ }
+
+ rex_sql::factory()
+ ->setTable(rex::getTable('ycom_user_session'))
+ ->setValue('otp_verified', 1)
+ ->setWhere('session_id = :session_id and user_id = :user_id', ['session_id' => $sessionId, 'user_id' => $user->getId()])
+ ->update();
+ }
+
public static function clearExpiredSessions(): void
{
rex_sql::factory()
diff --git a/plugins/auth/lib/yform/value/ycom_auth_otp.php b/plugins/auth/lib/yform/value/ycom_auth_otp.php
new file mode 100644
index 00000000..610426cd
--- /dev/null
+++ b/plugins/auth/lib/yform/value/ycom_auth_otp.php
@@ -0,0 +1,88 @@
+getConfig('otp_article_id');
+ if (0 == $otp_article_id) {
+ return;
+ }
+
+ // es gibt hier folgende Seiten
+
+ // Setup - Auswahl der Methode
+ // setup, bestätigung der Methode mit Code
+ // -> hier wird, wenn erfolgereich, auf die UserStartseite geleitet
+
+ // -> wenn user enabled ist dann auf setup und es eventuell zu deaktivieren
+
+ // Verify - Eingabe des Codes
+ // -> hier wird, wenn erfolgereich, auf die UserStartseite geleitet
+
+ $page = 'setup';
+ $SessionInstance = null;
+ $config = rex_ycom_otp_password_config::forCurrentUser();
+ if ($config->enabled) {
+ $SessionInstance = rex_ycom_user_session::getInstance()->getCurrentSession($user);
+ if (1 != $SessionInstance['otp_verified']) {
+ $page = 'verify';
+ }
+ }
+
+ switch ($page) {
+ case 'verify':
+ $this->params['form_output'][$this->getId()] = $this->parse(
+ ['value.ycom_auth_otp_verify.tpl.php'],
+ [
+ 'user' => $user,
+ 'SessionInstance' => $SessionInstance,
+ 'config' => $config,
+ 'otp_article_id' => $otp_article_id,
+ ],
+ );
+ break;
+ default:
+ // setup
+ $this->params['form_output'][$this->getId()] = $this->parse(
+ ['value.ycom_auth_otp_setup.tpl.php'],
+ [
+ 'user' => $user,
+ 'SessionInstance' => $SessionInstance,
+ 'config' => $config,
+ 'otp_article_id' => $otp_article_id,
+ ],
+ );
+ }
+ }
+
+ public function getDescription(): string
+ {
+ return 'ycom_auth_otp -> Beispiel: ycom_auth_otp';
+ }
+
+ /**
+ * @return array
+ */
+ public function getDefinitions(): array
+ {
+ return [
+ 'type' => 'value',
+ 'name' => 'ycom_auth_otp',
+ 'values' => [
+ 'name' => ['type' => 'name', 'label' => 'Feld'],
+ 'label' => ['type' => 'text', 'label' => 'Bezeichnung'],
+ ],
+ 'description' => '',
+ 'famous' => false,
+ ];
+ }
+}
diff --git a/plugins/auth/pages/settings.php b/plugins/auth/pages/settings.php
index c846e6a6..0657de95 100644
--- a/plugins/auth/pages/settings.php
+++ b/plugins/auth/pages/settings.php
@@ -20,8 +20,6 @@
$this->setConfig('article_id_jump_not_ok', rex_request('article_id_jump_not_ok', 'int'));
$this->setConfig('article_id_jump_logout', rex_request('article_id_jump_logout', 'int'));
$this->setConfig('article_id_jump_denied', rex_request('article_id_jump_denied', 'int'));
- $this->setConfig('article_id_jump_password', rex_request('article_id_jump_password', 'int'));
- $this->setConfig('article_id_jump_termsofuse', rex_request('article_id_jump_termsofuse', 'int'));
$this->setConfig('article_id_login', rex_request('article_id_login', 'int'));
$this->setConfig('article_id_logout', rex_request('article_id_logout', 'int'));
$this->setConfig('article_id_register', rex_request('article_id_register', 'int'));
@@ -32,6 +30,10 @@
$this->setConfig('session_max_overall_duration', rex_request('session_max_overall_duration', 'int'));
$this->setConfig('session_duration', rex_request('session_duration', 'int'));
+ foreach (rex_ycom_auth::getInjections() as $injection) {
+ $injection->triggerSaveSettings();
+ }
+
echo rex_view::success($this->i18n('ycom_auth_settings_updated'));
}
@@ -74,8 +76,9 @@
$content .= '
-
-
-
- ' . $this->i18n('ycom_auth_config_id_jump_password') . '
-
-
- ' . rex_var_link::getWidget(9, 'article_id_jump_password', (int) $this->getConfig('article_id_jump_password')) . '
- [article_id_jump_password]
-
-
-
-
-
- ' . $this->i18n('ycom_auth_config_id_jump_termsofuse') . '
-
-
- ' . rex_var_link::getWidget(10, 'article_id_jump_termsofuse', (int) $this->getConfig('article_id_jump_termsofuse')) . '
- [article_id_jump_termsofuse]
-
-
-
@@ -251,14 +233,18 @@
' . $this->i18n('ycom_auth_config_id_jump_not_ok') . '
- ' . rex_var_link::getWidget(6, 'article_id_jump_not_ok', $this->getConfig('article_id_jump_not_ok', '')) . '
+ ' . rex_var_link::getWidget(15, 'article_id_jump_not_ok', $this->getConfig('article_id_jump_not_ok', '')) . '
[article_id_jump_not_ok]
-
+ ';
+foreach (rex_ycom_auth::getInjections() as $injection) {
+ $content .= $injection->getSettingsContent();
+}
+$content .= '
' . $this->i18n('ycom_auth_config_save') . '
@@ -266,7 +252,6 @@
-
';
$fragment = new rex_fragment();
diff --git a/plugins/auth/ytemplates/bootstrap/value.ycom_auth_otp_setup.tpl.php b/plugins/auth/ytemplates/bootstrap/value.ycom_auth_otp_setup.tpl.php
new file mode 100644
index 00000000..8427bb24
--- /dev/null
+++ b/plugins/auth/ytemplates/bootstrap/value.ycom_auth_otp_setup.tpl.php
@@ -0,0 +1,190 @@
+getAuthOption();
+
+$func = rex_request('otp-func', 'string');
+$myOTP = rex_post('otp', 'string', null);
+
+$otpOptions = [];
+
+switch ($otp_options) {
+ case rex_ycom_otp_password::OPTION_ALL:
+ $otpOptions[] = 'email';
+ $otpOptions[] = 'totp';
+ $defaultOption = 'email';
+ break;
+ case rex_ycom_otp_password::OPTION_EMAIL:
+ $defaultOption = 'email';
+ $otpOptions[] = $defaultOption;
+ break;
+ case rex_ycom_otp_password::OPTION_TOTP:
+ $defaultOption = 'totp';
+ $otpOptions[] = $defaultOption;
+ break;
+}
+
+// 1. Setup neu durchlaufen wenn man schon verified ist
+// 1.1. Authcode um OTP zu deaktivieren -> Schritt 2
+
+if ($otp->isEnabled() && $config->enabled) {
+ // TODO: AuthCode zum deaktivieren abfragen
+
+ if ('disable' == $func) {
+ $OTPInstance = rex_ycom_otp_password::getInstance();
+ $OTPMethod = $OTPInstance->getMethod();
+ rex_ycom_otp_password_config::loadFromDb($OTPMethod, $user)
+ ->disable()
+ ->save();
+ $func = '';
+
+ $this->params['warning'][$this->getId()] = $this->params['error_class'];
+ $this->params['warning_messages'][$this->getId()] = '{ ycom_otp_diabled }';
+ } else {
+ echo '
+
+
+ { ycom_otp_disable_info }
+
';
+ }
+
+ return;
+}
+
+// 2. Setup starten
+// 2.1 jeweile Methode auswählen
+// 2.2 -> Codeseite /email oder totp
+
+if (in_array($func, $otpOptions)) {
+ switch ($func) {
+ case 'email':
+ $defaultOption = 'email';
+ $otpMethod = new rex_ycom_otp_method_email();
+ break;
+ case 'totp':
+ default:
+ $defaultOption = 'totp';
+ $otpMethod = new rex_ycom_otp_method_totp();
+ break;
+ }
+
+ if (null === $myOTP) {
+ rex_ycom_otp_password_config::loadFromDb($otpMethod, $user)
+ ->updateMethod($otpMethod)
+ ->save();
+ $user->loadData(); // Refresh OTP with new DB Data
+ $this->params['warning'][$this->getId()] = $this->params['error_class'];
+ }
+
+ if ('email' === $func && (null === $myOTP || 'resend' == rex_request('otp-func-email', 'string'))) {
+ $this->params['warning'][$this->getId()] = $this->params['error_class'];
+ $this->params['warning_messages'][$this->getId()] = '{ ycom_otp_email_check }';
+ rex_ycom_otp_password::getInstance()->challenge();
+ }
+
+ // initial starten wenn beim user nicht vorhanden oder noch nicht enabled.
+ if (is_string($myOTP) && '' !== $myOTP) {
+ if ($otp->verify($myOTP)) {
+ rex_ycom_otp_password_config::loadFromDb($otpMethod, $user)
+ ->enable()
+ ->save();
+ $user->loadData();
+ $user
+ ->resetOTPTries()
+ ->save();
+ rex_ycom_user_session::getInstance()
+ ->setOTPverified($user);
+ $article_jump_ok = (int) rex_plugin::get('ycom', 'auth')->getConfig('article_id_jump_ok');
+ rex_response::sendRedirect(rex_getUrl($article_jump_ok, rex_clang::getCurrentId()));
+ } else {
+ $this->params['warning'][$this->getId()] = $this->params['error_class'];
+ $this->params['warning_messages'][$this->getId()] = '{ ycom_otp_code_error }';
+ }
+ }
+
+ if ('totp' == $func) {
+ $uri = rex_ycom_otp_password_config::loadFromDb($otpMethod, $user)->getProvisioningUri();
+
+ ?>
+
+
+
+
+
{ ycom_otp_setup_scan }
+
+
+
+
+
+
+
+
+
+
+
+
+
{ ycom_otp_setup_title }
+
+
+
+
+
+
+
+
+
+
+
+ { ycom_otp_email_resend_info }
+
+
+
+
+
{ ycom_otp_' . $option . '_info }
+
';
+}
diff --git a/plugins/auth/ytemplates/bootstrap/value.ycom_auth_otp_verify.tpl.php b/plugins/auth/ytemplates/bootstrap/value.ycom_auth_otp_verify.tpl.php
new file mode 100644
index 00000000..f9ead5a5
--- /dev/null
+++ b/plugins/auth/ytemplates/bootstrap/value.ycom_auth_otp_verify.tpl.php
@@ -0,0 +1,77 @@
+getMethod();
+$blockTime = (int) ($OTPMethod::getPeriod() / 10);
+$loginTriesAllowed = $OTPMethod::getloginTries();
+$loginTries = (int) $user->getValue('otp_tries');
+$loginLastTry = (int) $user->getValue('otp_last_try_time');
+
+$myOTP = rex_post('otp', 'string', null);
+
+if (null !== $myOTP) {
+ if ($loginTries >= $loginTriesAllowed && ($loginLastTry > time() - $blockTime)) {
+ $this->params['warning'][$this->getId()] = $this->params['error_class'];
+ $this->params['warning_messages'][$this->getId()] = '{{ ycom_otp_code_error_blocked }}';
+ $countdownTime = $loginLastTry - time() + $blockTime;
+
+ echo '';
+ } else {
+ if ($OTPInstance->verify($myOTP)) {
+ $user->resetOTPTries()->save();
+ rex_ycom_user_session::getInstance()->setOTPVerified($user);
+ $article_jump_ok = (int) rex_plugin::get('ycom', 'auth')->getConfig('article_id_jump_ok');
+ rex_response::sendRedirect(rex_getUrl($article_jump_ok, rex_clang::getCurrentId()));
+ } else {
+ $user->increaseOTPTries()->save();
+ $this->params['warning'][$this->getId()] = $this->params['error_class'];
+ $this->params['warning_messages'][$this->getId()] = '{ ycom_otp_code_error }';
+ }
+ }
+} else {
+ if ('rex_ycom_otp_method_email' === $OTPMethod::class) {
+ rex_ycom_otp_password::getInstance()->challenge();
+ }
+}
+
+?>
+
+
+
+
+
+
{ ycom_otp_verify_title }
+
+
+
+
+
diff --git a/plugins/auth/ytemplates/bootstrap/value.ycom_password.tpl.php b/plugins/auth/ytemplates/bootstrap/value.ycom_password.tpl.php
index c14a2bf5..957d9d53 100644
--- a/plugins/auth/ytemplates/bootstrap/value.ycom_password.tpl.php
+++ b/plugins/auth/ytemplates/bootstrap/value.ycom_password.tpl.php
@@ -19,7 +19,7 @@
$notice[] = rex_i18n::translate($this->getElement('notice'), false);
}
if (isset($this->params['warning_messages'][$this->getId()]) && !$this->params['hide_field_warning_messages']) {
- $notice[] = '
' . rex_i18n::translate($this->params['warning_messages'][$this->getId()]) . ' '; // var_dump();
+ $notice[] = '
' . rex_i18n::translate($this->params['warning_messages'][$this->getId()]) . ' ';
}
if (count($notice) > 0) {
$notice = '
' . implode(' ', $notice) . '
';
diff --git a/vendor/bin/php-cs-fixer b/vendor/bin/php-cs-fixer
deleted file mode 100755
index d40411aa..00000000
--- a/vendor/bin/php-cs-fixer
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/env php
-realpath = realpath($opened_path) ?: $opened_path;
- $opened_path = $this->realpath;
- $this->handle = fopen($this->realpath, $mode);
- $this->position = 0;
-
- return (bool) $this->handle;
- }
-
- public function stream_read($count)
- {
- $data = fread($this->handle, $count);
-
- if ($this->position === 0) {
- $data = preg_replace('{^#!.*\r?\n}', '', $data);
- }
-
- $this->position += strlen($data);
-
- return $data;
- }
-
- public function stream_cast($castAs)
- {
- return $this->handle;
- }
-
- public function stream_close()
- {
- fclose($this->handle);
- }
-
- public function stream_lock($operation)
- {
- return $operation ? flock($this->handle, $operation) : true;
- }
-
- public function stream_seek($offset, $whence)
- {
- if (0 === fseek($this->handle, $offset, $whence)) {
- $this->position = ftell($this->handle);
- return true;
- }
-
- return false;
- }
-
- public function stream_tell()
- {
- return $this->position;
- }
-
- public function stream_eof()
- {
- return feof($this->handle);
- }
-
- public function stream_stat()
- {
- return array();
- }
-
- public function stream_set_option($option, $arg1, $arg2)
- {
- return true;
- }
-
- public function url_stat($path, $flags)
- {
- $path = substr($path, 17);
- if (file_exists($path)) {
- return stat($path);
- }
-
- return false;
- }
- }
- }
-
- if (
- (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true))
- || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper'))
- ) {
- return include("phpvfscomposer://" . __DIR__ . '/..'.'/friendsofphp/php-cs-fixer/php-cs-fixer');
- }
-}
-
-return include __DIR__ . '/..'.'/friendsofphp/php-cs-fixer/php-cs-fixer';
diff --git a/vendor/bin/php-parse b/vendor/bin/php-parse
deleted file mode 100755
index 61566e60..00000000
--- a/vendor/bin/php-parse
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/env php
-realpath = realpath($opened_path) ?: $opened_path;
- $opened_path = $this->realpath;
- $this->handle = fopen($this->realpath, $mode);
- $this->position = 0;
-
- return (bool) $this->handle;
- }
-
- public function stream_read($count)
- {
- $data = fread($this->handle, $count);
-
- if ($this->position === 0) {
- $data = preg_replace('{^#!.*\r?\n}', '', $data);
- }
-
- $this->position += strlen($data);
-
- return $data;
- }
-
- public function stream_cast($castAs)
- {
- return $this->handle;
- }
-
- public function stream_close()
- {
- fclose($this->handle);
- }
-
- public function stream_lock($operation)
- {
- return $operation ? flock($this->handle, $operation) : true;
- }
-
- public function stream_seek($offset, $whence)
- {
- if (0 === fseek($this->handle, $offset, $whence)) {
- $this->position = ftell($this->handle);
- return true;
- }
-
- return false;
- }
-
- public function stream_tell()
- {
- return $this->position;
- }
-
- public function stream_eof()
- {
- return feof($this->handle);
- }
-
- public function stream_stat()
- {
- return array();
- }
-
- public function stream_set_option($option, $arg1, $arg2)
- {
- return true;
- }
-
- public function url_stat($path, $flags)
- {
- $path = substr($path, 17);
- if (file_exists($path)) {
- return stat($path);
- }
-
- return false;
- }
- }
- }
-
- if (
- (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true))
- || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper'))
- ) {
- return include("phpvfscomposer://" . __DIR__ . '/..'.'/nikic/php-parser/bin/php-parse');
- }
-}
-
-return include __DIR__ . '/..'.'/nikic/php-parser/bin/php-parse';
diff --git a/vendor/bin/phpunit b/vendor/bin/phpunit
deleted file mode 100755
index b5b530a8..00000000
--- a/vendor/bin/phpunit
+++ /dev/null
@@ -1,122 +0,0 @@
-#!/usr/bin/env php
-realpath = realpath($opened_path) ?: $opened_path;
- $opened_path = 'phpvfscomposer://'.$this->realpath;
- $this->handle = fopen($this->realpath, $mode);
- $this->position = 0;
-
- return (bool) $this->handle;
- }
-
- public function stream_read($count)
- {
- $data = fread($this->handle, $count);
-
- if ($this->position === 0) {
- $data = preg_replace('{^#!.*\r?\n}', '', $data);
- }
- $data = str_replace('__DIR__', var_export(dirname($this->realpath), true), $data);
- $data = str_replace('__FILE__', var_export($this->realpath, true), $data);
-
- $this->position += strlen($data);
-
- return $data;
- }
-
- public function stream_cast($castAs)
- {
- return $this->handle;
- }
-
- public function stream_close()
- {
- fclose($this->handle);
- }
-
- public function stream_lock($operation)
- {
- return $operation ? flock($this->handle, $operation) : true;
- }
-
- public function stream_seek($offset, $whence)
- {
- if (0 === fseek($this->handle, $offset, $whence)) {
- $this->position = ftell($this->handle);
- return true;
- }
-
- return false;
- }
-
- public function stream_tell()
- {
- return $this->position;
- }
-
- public function stream_eof()
- {
- return feof($this->handle);
- }
-
- public function stream_stat()
- {
- return array();
- }
-
- public function stream_set_option($option, $arg1, $arg2)
- {
- return true;
- }
-
- public function url_stat($path, $flags)
- {
- $path = substr($path, 17);
- if (file_exists($path)) {
- return stat($path);
- }
-
- return false;
- }
- }
- }
-
- if (
- (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true))
- || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper'))
- ) {
- return include("phpvfscomposer://" . __DIR__ . '/..'.'/phpunit/phpunit/phpunit');
- }
-}
-
-return include __DIR__ . '/..'.'/phpunit/phpunit/phpunit';
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index dc0eb0c7..1135a88b 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -6,7 +6,6 @@
$baseDir = dirname($vendorDir);
return array(
- 'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'CAS_AuthenticationException' => $vendorDir . '/apereo/phpcas/source/CAS/AuthenticationException.php',
'CAS_Client' => $vendorDir . '/apereo/phpcas/source/CAS/Client.php',
'CAS_CookieJar' => $vendorDir . '/apereo/phpcas/source/CAS/CookieJar.php',
@@ -58,642 +57,6 @@
'CAS_ServiceBaseUrl_Static' => $vendorDir . '/apereo/phpcas/source/CAS/ServiceBaseUrl/Static.php',
'CAS_Session_PhpSession' => $vendorDir . '/apereo/phpcas/source/CAS/Session/PhpSession.php',
'CAS_TypeMismatchException' => $vendorDir . '/apereo/phpcas/source/CAS/TypeMismatchException.php',
- 'CURLStringFile' => $vendorDir . '/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php',
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
- 'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
- 'PHPUnit\\Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php',
- 'PHPUnit\\Framework\\ActualValueIsNotAnObjectException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ActualValueIsNotAnObjectException.php',
- 'PHPUnit\\Framework\\Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php',
- 'PHPUnit\\Framework\\AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/AssertionFailedError.php',
- 'PHPUnit\\Framework\\CodeCoverageException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/CodeCoverageException.php',
- 'PHPUnit\\Framework\\ComparisonMethodDoesNotAcceptParameterTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotAcceptParameterTypeException.php',
- 'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareBoolReturnTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareBoolReturnTypeException.php',
- 'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareExactlyOneParameterException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareExactlyOneParameterException.php',
- 'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareParameterTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareParameterTypeException.php',
- 'PHPUnit\\Framework\\ComparisonMethodDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotExistException.php',
- 'PHPUnit\\Framework\\Constraint\\ArrayHasKey' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Traversable/ArrayHasKey.php',
- 'PHPUnit\\Framework\\Constraint\\BinaryOperator' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/BinaryOperator.php',
- 'PHPUnit\\Framework\\Constraint\\Callback' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Callback.php',
- 'PHPUnit\\Framework\\Constraint\\ClassHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Object/ClassHasAttribute.php',
- 'PHPUnit\\Framework\\Constraint\\ClassHasStaticAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Object/ClassHasStaticAttribute.php',
- 'PHPUnit\\Framework\\Constraint\\Constraint' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Constraint.php',
- 'PHPUnit\\Framework\\Constraint\\Count' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/Count.php',
- 'PHPUnit\\Framework\\Constraint\\DirectoryExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/DirectoryExists.php',
- 'PHPUnit\\Framework\\Constraint\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception/Exception.php',
- 'PHPUnit\\Framework\\Constraint\\ExceptionCode' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionCode.php',
- 'PHPUnit\\Framework\\Constraint\\ExceptionMessage' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessage.php',
- 'PHPUnit\\Framework\\Constraint\\ExceptionMessageRegularExpression' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageRegularExpression.php',
- 'PHPUnit\\Framework\\Constraint\\FileExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/FileExists.php',
- 'PHPUnit\\Framework\\Constraint\\GreaterThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/GreaterThan.php',
- 'PHPUnit\\Framework\\Constraint\\IsAnything' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php',
- 'PHPUnit\\Framework\\Constraint\\IsEmpty' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/IsEmpty.php',
- 'PHPUnit\\Framework\\Constraint\\IsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqual.php',
- 'PHPUnit\\Framework\\Constraint\\IsEqualCanonicalizing' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualCanonicalizing.php',
- 'PHPUnit\\Framework\\Constraint\\IsEqualIgnoringCase' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualIgnoringCase.php',
- 'PHPUnit\\Framework\\Constraint\\IsEqualWithDelta' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualWithDelta.php',
- 'PHPUnit\\Framework\\Constraint\\IsFalse' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Boolean/IsFalse.php',
- 'PHPUnit\\Framework\\Constraint\\IsFinite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Math/IsFinite.php',
- 'PHPUnit\\Framework\\Constraint\\IsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php',
- 'PHPUnit\\Framework\\Constraint\\IsInfinite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Math/IsInfinite.php',
- 'PHPUnit\\Framework\\Constraint\\IsInstanceOf' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Type/IsInstanceOf.php',
- 'PHPUnit\\Framework\\Constraint\\IsJson' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/IsJson.php',
- 'PHPUnit\\Framework\\Constraint\\IsNan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Math/IsNan.php',
- 'PHPUnit\\Framework\\Constraint\\IsNull' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Type/IsNull.php',
- 'PHPUnit\\Framework\\Constraint\\IsReadable' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/IsReadable.php',
- 'PHPUnit\\Framework\\Constraint\\IsTrue' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Boolean/IsTrue.php',
- 'PHPUnit\\Framework\\Constraint\\IsType' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Type/IsType.php',
- 'PHPUnit\\Framework\\Constraint\\IsWritable' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/IsWritable.php',
- 'PHPUnit\\Framework\\Constraint\\JsonMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php',
- 'PHPUnit\\Framework\\Constraint\\JsonMatchesErrorMessageProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatchesErrorMessageProvider.php',
- 'PHPUnit\\Framework\\Constraint\\LessThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/LessThan.php',
- 'PHPUnit\\Framework\\Constraint\\LogicalAnd' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalAnd.php',
- 'PHPUnit\\Framework\\Constraint\\LogicalNot' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalNot.php',
- 'PHPUnit\\Framework\\Constraint\\LogicalOr' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalOr.php',
- 'PHPUnit\\Framework\\Constraint\\LogicalXor' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalXor.php',
- 'PHPUnit\\Framework\\Constraint\\ObjectEquals' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Object/ObjectEquals.php',
- 'PHPUnit\\Framework\\Constraint\\ObjectHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Object/ObjectHasAttribute.php',
- 'PHPUnit\\Framework\\Constraint\\ObjectHasProperty' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Object/ObjectHasProperty.php',
- 'PHPUnit\\Framework\\Constraint\\Operator' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/Operator.php',
- 'PHPUnit\\Framework\\Constraint\\RegularExpression' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/RegularExpression.php',
- 'PHPUnit\\Framework\\Constraint\\SameSize' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/SameSize.php',
- 'PHPUnit\\Framework\\Constraint\\StringContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/StringContains.php',
- 'PHPUnit\\Framework\\Constraint\\StringEndsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/StringEndsWith.php',
- 'PHPUnit\\Framework\\Constraint\\StringMatchesFormatDescription' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/StringMatchesFormatDescription.php',
- 'PHPUnit\\Framework\\Constraint\\StringStartsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/StringStartsWith.php',
- 'PHPUnit\\Framework\\Constraint\\TraversableContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContains.php',
- 'PHPUnit\\Framework\\Constraint\\TraversableContainsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsEqual.php',
- 'PHPUnit\\Framework\\Constraint\\TraversableContainsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsIdentical.php',
- 'PHPUnit\\Framework\\Constraint\\TraversableContainsOnly' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php',
- 'PHPUnit\\Framework\\Constraint\\UnaryOperator' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/UnaryOperator.php',
- 'PHPUnit\\Framework\\CoveredCodeNotExecutedException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/CoveredCodeNotExecutedException.php',
- 'PHPUnit\\Framework\\DataProviderTestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/DataProviderTestSuite.php',
- 'PHPUnit\\Framework\\Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/Error.php',
- 'PHPUnit\\Framework\\ErrorTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/ErrorTestCase.php',
- 'PHPUnit\\Framework\\Error\\Deprecated' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Deprecated.php',
- 'PHPUnit\\Framework\\Error\\Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Error.php',
- 'PHPUnit\\Framework\\Error\\Notice' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Notice.php',
- 'PHPUnit\\Framework\\Error\\Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Warning.php',
- 'PHPUnit\\Framework\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/Exception.php',
- 'PHPUnit\\Framework\\ExceptionWrapper' => $vendorDir . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php',
- 'PHPUnit\\Framework\\ExecutionOrderDependency' => $vendorDir . '/phpunit/phpunit/src/Framework/ExecutionOrderDependency.php',
- 'PHPUnit\\Framework\\ExpectationFailedException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ExpectationFailedException.php',
- 'PHPUnit\\Framework\\IncompleteTest' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTest.php',
- 'PHPUnit\\Framework\\IncompleteTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php',
- 'PHPUnit\\Framework\\IncompleteTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/IncompleteTestError.php',
- 'PHPUnit\\Framework\\InvalidArgumentException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/InvalidArgumentException.php',
- 'PHPUnit\\Framework\\InvalidCoversTargetException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/InvalidCoversTargetException.php',
- 'PHPUnit\\Framework\\InvalidDataProviderException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/InvalidDataProviderException.php',
- 'PHPUnit\\Framework\\InvalidParameterGroupException' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidParameterGroupException.php',
- 'PHPUnit\\Framework\\MissingCoversAnnotationException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/MissingCoversAnnotationException.php',
- 'PHPUnit\\Framework\\MockObject\\Api' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Api/Api.php',
- 'PHPUnit\\Framework\\MockObject\\BadMethodCallException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/BadMethodCallException.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\Identity' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/Identity.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\InvocationMocker' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationMocker.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\InvocationStubber' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationStubber.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/MethodNameMatch.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/ParametersMatch.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/Stub.php',
- 'PHPUnit\\Framework\\MockObject\\CannotUseAddMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseAddMethodsException.php',
- 'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
- 'PHPUnit\\Framework\\MockObject\\ClassAlreadyExistsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ClassAlreadyExistsException.php',
- 'PHPUnit\\Framework\\MockObject\\ClassIsFinalException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ClassIsFinalException.php',
- 'PHPUnit\\Framework\\MockObject\\ClassIsReadonlyException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ClassIsReadonlyException.php',
- 'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
- 'PHPUnit\\Framework\\MockObject\\ConfigurableMethodsAlreadyInitializedException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ConfigurableMethodsAlreadyInitializedException.php',
- 'PHPUnit\\Framework\\MockObject\\DuplicateMethodException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/DuplicateMethodException.php',
- 'PHPUnit\\Framework\\MockObject\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
- 'PHPUnit\\Framework\\MockObject\\Generator' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator.php',
- 'PHPUnit\\Framework\\MockObject\\IncompatibleReturnValueException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/IncompatibleReturnValueException.php',
- 'PHPUnit\\Framework\\MockObject\\InvalidMethodNameException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/InvalidMethodNameException.php',
- 'PHPUnit\\Framework\\MockObject\\Invocation' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Invocation.php',
- 'PHPUnit\\Framework\\MockObject\\InvocationHandler' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/InvocationHandler.php',
- 'PHPUnit\\Framework\\MockObject\\MatchBuilderNotFoundException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MatchBuilderNotFoundException.php',
- 'PHPUnit\\Framework\\MockObject\\Matcher' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher.php',
- 'PHPUnit\\Framework\\MockObject\\MatcherAlreadyRegisteredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MatcherAlreadyRegisteredException.php',
- 'PHPUnit\\Framework\\MockObject\\Method' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Api/Method.php',
- 'PHPUnit\\Framework\\MockObject\\MethodCannotBeConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodCannotBeConfiguredException.php',
- 'PHPUnit\\Framework\\MockObject\\MethodNameAlreadyConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodNameAlreadyConfiguredException.php',
- 'PHPUnit\\Framework\\MockObject\\MethodNameConstraint' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MethodNameConstraint.php',
- 'PHPUnit\\Framework\\MockObject\\MethodNameNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodNameNotConfiguredException.php',
- 'PHPUnit\\Framework\\MockObject\\MethodParametersAlreadyConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodParametersAlreadyConfiguredException.php',
- 'PHPUnit\\Framework\\MockObject\\MockBuilder' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php',
- 'PHPUnit\\Framework\\MockObject\\MockClass' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockClass.php',
- 'PHPUnit\\Framework\\MockObject\\MockMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockMethod.php',
- 'PHPUnit\\Framework\\MockObject\\MockMethodSet' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php',
- 'PHPUnit\\Framework\\MockObject\\MockObject' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockObject.php',
- 'PHPUnit\\Framework\\MockObject\\MockTrait' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockTrait.php',
- 'PHPUnit\\Framework\\MockObject\\MockType' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockType.php',
- 'PHPUnit\\Framework\\MockObject\\OriginalConstructorInvocationRequiredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/OriginalConstructorInvocationRequiredException.php',
- 'PHPUnit\\Framework\\MockObject\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReflectionException.php',
- 'PHPUnit\\Framework\\MockObject\\ReturnValueNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReturnValueNotConfiguredException.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\AnyInvokedCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/AnyInvokedCount.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\AnyParameters' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/AnyParameters.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/ConsecutiveParameters.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvocationOrder' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvocationOrder.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtIndex' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtIndex.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtLeastCount.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtLeastOnce.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtMostCount.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvokedCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedCount.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\MethodName' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/MethodName.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\Parameters' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/Parameters.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\ParametersRule' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/ParametersRule.php',
- 'PHPUnit\\Framework\\MockObject\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php',
- 'PHPUnit\\Framework\\MockObject\\SoapExtensionNotAvailableException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/SoapExtensionNotAvailableException.php',
- 'PHPUnit\\Framework\\MockObject\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ConsecutiveCalls' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ConsecutiveCalls.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/Exception.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnArgument' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnArgument.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnCallback' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnCallback.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnReference' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnReference.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnSelf' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnSelf.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnStub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnStub.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnValueMap' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnValueMap.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/Stub.php',
- 'PHPUnit\\Framework\\MockObject\\UnknownClassException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownClassException.php',
- 'PHPUnit\\Framework\\MockObject\\UnknownTraitException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownTraitException.php',
- 'PHPUnit\\Framework\\MockObject\\UnknownTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownTypeException.php',
- 'PHPUnit\\Framework\\MockObject\\Verifiable' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Verifiable.php',
- 'PHPUnit\\Framework\\NoChildTestSuiteException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/NoChildTestSuiteException.php',
- 'PHPUnit\\Framework\\OutputError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/OutputError.php',
- 'PHPUnit\\Framework\\PHPTAssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/PHPTAssertionFailedError.php',
- 'PHPUnit\\Framework\\Reorderable' => $vendorDir . '/phpunit/phpunit/src/Framework/Reorderable.php',
- 'PHPUnit\\Framework\\RiskyTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/RiskyTestError.php',
- 'PHPUnit\\Framework\\SelfDescribing' => $vendorDir . '/phpunit/phpunit/src/Framework/SelfDescribing.php',
- 'PHPUnit\\Framework\\SkippedTest' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTest.php',
- 'PHPUnit\\Framework\\SkippedTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestCase.php',
- 'PHPUnit\\Framework\\SkippedTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/SkippedTestError.php',
- 'PHPUnit\\Framework\\SkippedTestSuiteError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/SkippedTestSuiteError.php',
- 'PHPUnit\\Framework\\SyntheticError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/SyntheticError.php',
- 'PHPUnit\\Framework\\SyntheticSkippedError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/SyntheticSkippedError.php',
- 'PHPUnit\\Framework\\Test' => $vendorDir . '/phpunit/phpunit/src/Framework/Test.php',
- 'PHPUnit\\Framework\\TestBuilder' => $vendorDir . '/phpunit/phpunit/src/Framework/TestBuilder.php',
- 'PHPUnit\\Framework\\TestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/TestCase.php',
- 'PHPUnit\\Framework\\TestFailure' => $vendorDir . '/phpunit/phpunit/src/Framework/TestFailure.php',
- 'PHPUnit\\Framework\\TestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListener.php',
- 'PHPUnit\\Framework\\TestListenerDefaultImplementation' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListenerDefaultImplementation.php',
- 'PHPUnit\\Framework\\TestResult' => $vendorDir . '/phpunit/phpunit/src/Framework/TestResult.php',
- 'PHPUnit\\Framework\\TestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite.php',
- 'PHPUnit\\Framework\\TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuiteIterator.php',
- 'PHPUnit\\Framework\\UnintentionallyCoveredCodeError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnintentionallyCoveredCodeError.php',
- 'PHPUnit\\Framework\\Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/Warning.php',
- 'PHPUnit\\Framework\\WarningTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/WarningTestCase.php',
- 'PHPUnit\\Runner\\AfterIncompleteTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterIncompleteTestHook.php',
- 'PHPUnit\\Runner\\AfterLastTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterLastTestHook.php',
- 'PHPUnit\\Runner\\AfterRiskyTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterRiskyTestHook.php',
- 'PHPUnit\\Runner\\AfterSkippedTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterSkippedTestHook.php',
- 'PHPUnit\\Runner\\AfterSuccessfulTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php',
- 'PHPUnit\\Runner\\AfterTestErrorHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php',
- 'PHPUnit\\Runner\\AfterTestFailureHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php',
- 'PHPUnit\\Runner\\AfterTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php',
- 'PHPUnit\\Runner\\AfterTestWarningHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php',
- 'PHPUnit\\Runner\\BaseTestRunner' => $vendorDir . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
- 'PHPUnit\\Runner\\BeforeFirstTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php',
- 'PHPUnit\\Runner\\BeforeTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/BeforeTestHook.php',
- 'PHPUnit\\Runner\\DefaultTestResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/DefaultTestResultCache.php',
- 'PHPUnit\\Runner\\Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception.php',
- 'PHPUnit\\Runner\\Extension\\ExtensionHandler' => $vendorDir . '/phpunit/phpunit/src/Runner/Extension/ExtensionHandler.php',
- 'PHPUnit\\Runner\\Extension\\PharLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/Extension/PharLoader.php',
- 'PHPUnit\\Runner\\Filter\\ExcludeGroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php',
- 'PHPUnit\\Runner\\Filter\\Factory' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Factory.php',
- 'PHPUnit\\Runner\\Filter\\GroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php',
- 'PHPUnit\\Runner\\Filter\\IncludeGroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php',
- 'PHPUnit\\Runner\\Filter\\NameFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php',
- 'PHPUnit\\Runner\\Hook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/Hook.php',
- 'PHPUnit\\Runner\\NullTestResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/NullTestResultCache.php',
- 'PHPUnit\\Runner\\PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Runner/PhptTestCase.php',
- 'PHPUnit\\Runner\\ResultCacheExtension' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCacheExtension.php',
- 'PHPUnit\\Runner\\StandardTestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php',
- 'PHPUnit\\Runner\\TestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/TestHook.php',
- 'PHPUnit\\Runner\\TestListenerAdapter' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php',
- 'PHPUnit\\Runner\\TestResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResultCache.php',
- 'PHPUnit\\Runner\\TestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php',
- 'PHPUnit\\Runner\\TestSuiteSorter' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteSorter.php',
- 'PHPUnit\\Runner\\Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php',
- 'PHPUnit\\TextUI\\CliArguments\\Builder' => $vendorDir . '/phpunit/phpunit/src/TextUI/CliArguments/Builder.php',
- 'PHPUnit\\TextUI\\CliArguments\\Configuration' => $vendorDir . '/phpunit/phpunit/src/TextUI/CliArguments/Configuration.php',
- 'PHPUnit\\TextUI\\CliArguments\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/CliArguments/Exception.php',
- 'PHPUnit\\TextUI\\CliArguments\\Mapper' => $vendorDir . '/phpunit/phpunit/src/TextUI/CliArguments/Mapper.php',
- 'PHPUnit\\TextUI\\Command' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command.php',
- 'PHPUnit\\TextUI\\DefaultResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/DefaultResultPrinter.php',
- 'PHPUnit\\TextUI\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/Exception.php',
- 'PHPUnit\\TextUI\\Help' => $vendorDir . '/phpunit/phpunit/src/TextUI/Help.php',
- 'PHPUnit\\TextUI\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/ReflectionException.php',
- 'PHPUnit\\TextUI\\ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/ResultPrinter.php',
- 'PHPUnit\\TextUI\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/RuntimeException.php',
- 'PHPUnit\\TextUI\\TestDirectoryNotFoundException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/TestDirectoryNotFoundException.php',
- 'PHPUnit\\TextUI\\TestFileNotFoundException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/TestFileNotFoundException.php',
- 'PHPUnit\\TextUI\\TestRunner' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestRunner.php',
- 'PHPUnit\\TextUI\\TestSuiteMapper' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestSuiteMapper.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\CodeCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/CodeCoverage.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\FilterMapper' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/FilterMapper.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\Directory' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/Directory.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\DirectoryCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/DirectoryCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\DirectoryCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/DirectoryCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Clover' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Clover.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Cobertura' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Cobertura.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Crap4j' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Crap4j.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Html' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Html.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Php' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Php.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Text' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Text.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Xml' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Xml.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Configuration' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Configuration.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Constant' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Constant.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\ConstantCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/ConstantCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\ConstantCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/ConstantCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\ConvertLogTypes' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/ConvertLogTypes.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoverageCloverToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageCloverToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoverageCrap4jToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageCrap4jToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoverageHtmlToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageHtmlToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoveragePhpToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoveragePhpToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoverageTextToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageTextToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoverageXmlToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageXmlToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Directory' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/Directory.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\DirectoryCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/DirectoryCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\DirectoryCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/DirectoryCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Exception.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Extension' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/Extension.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\ExtensionCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/ExtensionCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\ExtensionCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/ExtensionCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\File' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/File.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\FileCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/FileCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\FileCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/FileCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Generator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Generator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Group' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/Group.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\GroupCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/GroupCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\GroupCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/GroupCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Groups' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/Groups.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\IniSetting' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSetting.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\IniSettingCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSettingCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\IniSettingCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSettingCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\IntroduceCoverageElement' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/IntroduceCoverageElement.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Loader' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Loader.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\LogToReportMigration' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/LogToReportMigration.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Junit' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Junit.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Logging' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Logging.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TeamCity' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TeamCity.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Html' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Html.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Text' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Text.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Xml' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Xml.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Text' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Text.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Migration' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/Migration.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilder' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationBuilder.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilderException' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationBuilderException.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MigrationException' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationException.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Migrator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromFilterWhitelistToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromRootToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveAttributesFromRootToCoverage.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MoveWhitelistExcludesToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveWhitelistExcludesToCoverage.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MoveWhitelistIncludesToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveWhitelistIncludesToCoverage.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\PHPUnit' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/PHPUnit.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Php' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Php.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\PhpHandler' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/PhpHandler.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveCacheTokensAttribute' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveCacheTokensAttribute.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveEmptyFilter' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveEmptyFilter.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveLogTypes' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveLogTypes.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectory' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectory.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectoryCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectoryCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectoryCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectoryCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestFile' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFile.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestFileCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFileCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestFileCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFileCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestSuite' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuite.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestSuiteCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuiteCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestSuiteCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuiteCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\UpdateSchemaLocationTo93' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/UpdateSchemaLocationTo93.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Variable' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Variable.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\VariableCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/VariableCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\VariableCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/VariableCollectionIterator.php',
- 'PHPUnit\\Util\\Annotation\\DocBlock' => $vendorDir . '/phpunit/phpunit/src/Util/Annotation/DocBlock.php',
- 'PHPUnit\\Util\\Annotation\\Registry' => $vendorDir . '/phpunit/phpunit/src/Util/Annotation/Registry.php',
- 'PHPUnit\\Util\\Blacklist' => $vendorDir . '/phpunit/phpunit/src/Util/Blacklist.php',
- 'PHPUnit\\Util\\Cloner' => $vendorDir . '/phpunit/phpunit/src/Util/Cloner.php',
- 'PHPUnit\\Util\\Color' => $vendorDir . '/phpunit/phpunit/src/Util/Color.php',
- 'PHPUnit\\Util\\ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Util/ErrorHandler.php',
- 'PHPUnit\\Util\\Exception' => $vendorDir . '/phpunit/phpunit/src/Util/Exception.php',
- 'PHPUnit\\Util\\ExcludeList' => $vendorDir . '/phpunit/phpunit/src/Util/ExcludeList.php',
- 'PHPUnit\\Util\\FileLoader' => $vendorDir . '/phpunit/phpunit/src/Util/FileLoader.php',
- 'PHPUnit\\Util\\Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
- 'PHPUnit\\Util\\Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
- 'PHPUnit\\Util\\GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php',
- 'PHPUnit\\Util\\InvalidDataSetException' => $vendorDir . '/phpunit/phpunit/src/Util/InvalidDataSetException.php',
- 'PHPUnit\\Util\\Json' => $vendorDir . '/phpunit/phpunit/src/Util/Json.php',
- 'PHPUnit\\Util\\Log\\JUnit' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JUnit.php',
- 'PHPUnit\\Util\\Log\\TeamCity' => $vendorDir . '/phpunit/phpunit/src/Util/Log/TeamCity.php',
- 'PHPUnit\\Util\\PHP\\AbstractPhpProcess' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php',
- 'PHPUnit\\Util\\PHP\\DefaultPhpProcess' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/DefaultPhpProcess.php',
- 'PHPUnit\\Util\\PHP\\WindowsPhpProcess' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php',
- 'PHPUnit\\Util\\Printer' => $vendorDir . '/phpunit/phpunit/src/Util/Printer.php',
- 'PHPUnit\\Util\\Reflection' => $vendorDir . '/phpunit/phpunit/src/Util/Reflection.php',
- 'PHPUnit\\Util\\RegularExpression' => $vendorDir . '/phpunit/phpunit/src/Util/RegularExpression.php',
- 'PHPUnit\\Util\\Test' => $vendorDir . '/phpunit/phpunit/src/Util/Test.php',
- 'PHPUnit\\Util\\TestDox\\CliTestDoxPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/CliTestDoxPrinter.php',
- 'PHPUnit\\Util\\TestDox\\HtmlResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php',
- 'PHPUnit\\Util\\TestDox\\NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php',
- 'PHPUnit\\Util\\TestDox\\ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php',
- 'PHPUnit\\Util\\TestDox\\TestDoxPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/TestDoxPrinter.php',
- 'PHPUnit\\Util\\TestDox\\TextResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/TextResultPrinter.php',
- 'PHPUnit\\Util\\TestDox\\XmlResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php',
- 'PHPUnit\\Util\\TextTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/TextTestListRenderer.php',
- 'PHPUnit\\Util\\Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php',
- 'PHPUnit\\Util\\VersionComparisonOperator' => $vendorDir . '/phpunit/phpunit/src/Util/VersionComparisonOperator.php',
- 'PHPUnit\\Util\\XdebugFilterScriptGenerator' => $vendorDir . '/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php',
- 'PHPUnit\\Util\\Xml' => $vendorDir . '/phpunit/phpunit/src/Util/Xml.php',
- 'PHPUnit\\Util\\XmlTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php',
- 'PHPUnit\\Util\\Xml\\Exception' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/Exception.php',
- 'PHPUnit\\Util\\Xml\\FailedSchemaDetectionResult' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/FailedSchemaDetectionResult.php',
- 'PHPUnit\\Util\\Xml\\Loader' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/Loader.php',
- 'PHPUnit\\Util\\Xml\\SchemaDetectionResult' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/SchemaDetectionResult.php',
- 'PHPUnit\\Util\\Xml\\SchemaDetector' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/SchemaDetector.php',
- 'PHPUnit\\Util\\Xml\\SchemaFinder' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/SchemaFinder.php',
- 'PHPUnit\\Util\\Xml\\SnapshotNodeList' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/SnapshotNodeList.php',
- 'PHPUnit\\Util\\Xml\\SuccessfulSchemaDetectionResult' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/SuccessfulSchemaDetectionResult.php',
- 'PHPUnit\\Util\\Xml\\ValidationResult' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/ValidationResult.php',
- 'PHPUnit\\Util\\Xml\\Validator' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/Validator.php',
- 'PharIo\\Manifest\\Application' => $vendorDir . '/phar-io/manifest/src/values/Application.php',
- 'PharIo\\Manifest\\ApplicationName' => $vendorDir . '/phar-io/manifest/src/values/ApplicationName.php',
- 'PharIo\\Manifest\\Author' => $vendorDir . '/phar-io/manifest/src/values/Author.php',
- 'PharIo\\Manifest\\AuthorCollection' => $vendorDir . '/phar-io/manifest/src/values/AuthorCollection.php',
- 'PharIo\\Manifest\\AuthorCollectionIterator' => $vendorDir . '/phar-io/manifest/src/values/AuthorCollectionIterator.php',
- 'PharIo\\Manifest\\AuthorElement' => $vendorDir . '/phar-io/manifest/src/xml/AuthorElement.php',
- 'PharIo\\Manifest\\AuthorElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/AuthorElementCollection.php',
- 'PharIo\\Manifest\\BundledComponent' => $vendorDir . '/phar-io/manifest/src/values/BundledComponent.php',
- 'PharIo\\Manifest\\BundledComponentCollection' => $vendorDir . '/phar-io/manifest/src/values/BundledComponentCollection.php',
- 'PharIo\\Manifest\\BundledComponentCollectionIterator' => $vendorDir . '/phar-io/manifest/src/values/BundledComponentCollectionIterator.php',
- 'PharIo\\Manifest\\BundlesElement' => $vendorDir . '/phar-io/manifest/src/xml/BundlesElement.php',
- 'PharIo\\Manifest\\ComponentElement' => $vendorDir . '/phar-io/manifest/src/xml/ComponentElement.php',
- 'PharIo\\Manifest\\ComponentElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/ComponentElementCollection.php',
- 'PharIo\\Manifest\\ContainsElement' => $vendorDir . '/phar-io/manifest/src/xml/ContainsElement.php',
- 'PharIo\\Manifest\\CopyrightElement' => $vendorDir . '/phar-io/manifest/src/xml/CopyrightElement.php',
- 'PharIo\\Manifest\\CopyrightInformation' => $vendorDir . '/phar-io/manifest/src/values/CopyrightInformation.php',
- 'PharIo\\Manifest\\ElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/ElementCollection.php',
- 'PharIo\\Manifest\\ElementCollectionException' => $vendorDir . '/phar-io/manifest/src/exceptions/ElementCollectionException.php',
- 'PharIo\\Manifest\\Email' => $vendorDir . '/phar-io/manifest/src/values/Email.php',
- 'PharIo\\Manifest\\Exception' => $vendorDir . '/phar-io/manifest/src/exceptions/Exception.php',
- 'PharIo\\Manifest\\ExtElement' => $vendorDir . '/phar-io/manifest/src/xml/ExtElement.php',
- 'PharIo\\Manifest\\ExtElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/ExtElementCollection.php',
- 'PharIo\\Manifest\\Extension' => $vendorDir . '/phar-io/manifest/src/values/Extension.php',
- 'PharIo\\Manifest\\ExtensionElement' => $vendorDir . '/phar-io/manifest/src/xml/ExtensionElement.php',
- 'PharIo\\Manifest\\InvalidApplicationNameException' => $vendorDir . '/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php',
- 'PharIo\\Manifest\\InvalidEmailException' => $vendorDir . '/phar-io/manifest/src/exceptions/InvalidEmailException.php',
- 'PharIo\\Manifest\\InvalidUrlException' => $vendorDir . '/phar-io/manifest/src/exceptions/InvalidUrlException.php',
- 'PharIo\\Manifest\\Library' => $vendorDir . '/phar-io/manifest/src/values/Library.php',
- 'PharIo\\Manifest\\License' => $vendorDir . '/phar-io/manifest/src/values/License.php',
- 'PharIo\\Manifest\\LicenseElement' => $vendorDir . '/phar-io/manifest/src/xml/LicenseElement.php',
- 'PharIo\\Manifest\\Manifest' => $vendorDir . '/phar-io/manifest/src/values/Manifest.php',
- 'PharIo\\Manifest\\ManifestDocument' => $vendorDir . '/phar-io/manifest/src/xml/ManifestDocument.php',
- 'PharIo\\Manifest\\ManifestDocumentException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestDocumentException.php',
- 'PharIo\\Manifest\\ManifestDocumentLoadingException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestDocumentLoadingException.php',
- 'PharIo\\Manifest\\ManifestDocumentMapper' => $vendorDir . '/phar-io/manifest/src/ManifestDocumentMapper.php',
- 'PharIo\\Manifest\\ManifestDocumentMapperException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php',
- 'PharIo\\Manifest\\ManifestElement' => $vendorDir . '/phar-io/manifest/src/xml/ManifestElement.php',
- 'PharIo\\Manifest\\ManifestElementException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestElementException.php',
- 'PharIo\\Manifest\\ManifestLoader' => $vendorDir . '/phar-io/manifest/src/ManifestLoader.php',
- 'PharIo\\Manifest\\ManifestLoaderException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestLoaderException.php',
- 'PharIo\\Manifest\\ManifestSerializer' => $vendorDir . '/phar-io/manifest/src/ManifestSerializer.php',
- 'PharIo\\Manifest\\NoEmailAddressException' => $vendorDir . '/phar-io/manifest/src/exceptions/NoEmailAddressException.php',
- 'PharIo\\Manifest\\PhpElement' => $vendorDir . '/phar-io/manifest/src/xml/PhpElement.php',
- 'PharIo\\Manifest\\PhpExtensionRequirement' => $vendorDir . '/phar-io/manifest/src/values/PhpExtensionRequirement.php',
- 'PharIo\\Manifest\\PhpVersionRequirement' => $vendorDir . '/phar-io/manifest/src/values/PhpVersionRequirement.php',
- 'PharIo\\Manifest\\Requirement' => $vendorDir . '/phar-io/manifest/src/values/Requirement.php',
- 'PharIo\\Manifest\\RequirementCollection' => $vendorDir . '/phar-io/manifest/src/values/RequirementCollection.php',
- 'PharIo\\Manifest\\RequirementCollectionIterator' => $vendorDir . '/phar-io/manifest/src/values/RequirementCollectionIterator.php',
- 'PharIo\\Manifest\\RequiresElement' => $vendorDir . '/phar-io/manifest/src/xml/RequiresElement.php',
- 'PharIo\\Manifest\\Type' => $vendorDir . '/phar-io/manifest/src/values/Type.php',
- 'PharIo\\Manifest\\Url' => $vendorDir . '/phar-io/manifest/src/values/Url.php',
- 'PharIo\\Version\\AbstractVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/AbstractVersionConstraint.php',
- 'PharIo\\Version\\AndVersionConstraintGroup' => $vendorDir . '/phar-io/version/src/constraints/AndVersionConstraintGroup.php',
- 'PharIo\\Version\\AnyVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/AnyVersionConstraint.php',
- 'PharIo\\Version\\BuildMetaData' => $vendorDir . '/phar-io/version/src/BuildMetaData.php',
- 'PharIo\\Version\\ExactVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/ExactVersionConstraint.php',
- 'PharIo\\Version\\Exception' => $vendorDir . '/phar-io/version/src/exceptions/Exception.php',
- 'PharIo\\Version\\GreaterThanOrEqualToVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php',
- 'PharIo\\Version\\InvalidPreReleaseSuffixException' => $vendorDir . '/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php',
- 'PharIo\\Version\\InvalidVersionException' => $vendorDir . '/phar-io/version/src/exceptions/InvalidVersionException.php',
- 'PharIo\\Version\\NoBuildMetaDataException' => $vendorDir . '/phar-io/version/src/exceptions/NoBuildMetaDataException.php',
- 'PharIo\\Version\\NoPreReleaseSuffixException' => $vendorDir . '/phar-io/version/src/exceptions/NoPreReleaseSuffixException.php',
- 'PharIo\\Version\\OrVersionConstraintGroup' => $vendorDir . '/phar-io/version/src/constraints/OrVersionConstraintGroup.php',
- 'PharIo\\Version\\PreReleaseSuffix' => $vendorDir . '/phar-io/version/src/PreReleaseSuffix.php',
- 'PharIo\\Version\\SpecificMajorAndMinorVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php',
- 'PharIo\\Version\\SpecificMajorVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php',
- 'PharIo\\Version\\UnsupportedVersionConstraintException' => $vendorDir . '/phar-io/version/src/exceptions/UnsupportedVersionConstraintException.php',
- 'PharIo\\Version\\Version' => $vendorDir . '/phar-io/version/src/Version.php',
- 'PharIo\\Version\\VersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/VersionConstraint.php',
- 'PharIo\\Version\\VersionConstraintParser' => $vendorDir . '/phar-io/version/src/VersionConstraintParser.php',
- 'PharIo\\Version\\VersionConstraintValue' => $vendorDir . '/phar-io/version/src/VersionConstraintValue.php',
- 'PharIo\\Version\\VersionNumber' => $vendorDir . '/phar-io/version/src/VersionNumber.php',
- 'PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
- 'ReturnTypeWillChange' => $vendorDir . '/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php',
- 'SebastianBergmann\\CliParser\\AmbiguousOptionException' => $vendorDir . '/sebastian/cli-parser/src/exceptions/AmbiguousOptionException.php',
- 'SebastianBergmann\\CliParser\\Exception' => $vendorDir . '/sebastian/cli-parser/src/exceptions/Exception.php',
- 'SebastianBergmann\\CliParser\\OptionDoesNotAllowArgumentException' => $vendorDir . '/sebastian/cli-parser/src/exceptions/OptionDoesNotAllowArgumentException.php',
- 'SebastianBergmann\\CliParser\\Parser' => $vendorDir . '/sebastian/cli-parser/src/Parser.php',
- 'SebastianBergmann\\CliParser\\RequiredOptionArgumentMissingException' => $vendorDir . '/sebastian/cli-parser/src/exceptions/RequiredOptionArgumentMissingException.php',
- 'SebastianBergmann\\CliParser\\UnknownOptionException' => $vendorDir . '/sebastian/cli-parser/src/exceptions/UnknownOptionException.php',
- 'SebastianBergmann\\CodeCoverage\\BranchAndPathCoverageNotSupportedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/BranchAndPathCoverageNotSupportedException.php',
- 'SebastianBergmann\\CodeCoverage\\CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage.php',
- 'SebastianBergmann\\CodeCoverage\\DeadCodeDetectionNotSupportedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/DeadCodeDetectionNotSupportedException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Driver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Driver.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\PathExistsButIsNotDirectoryException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/PathExistsButIsNotDirectoryException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\PcovDriver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/PcovDriver.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\PcovNotAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/PcovNotAvailableException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\PhpdbgDriver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/PhpdbgDriver.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\PhpdbgNotAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/PhpdbgNotAvailableException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Selector' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Selector.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\WriteOperationFailedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/WriteOperationFailedException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\WrongXdebugVersionException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/WrongXdebugVersionException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug2Driver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Xdebug2Driver.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug2NotEnabledException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/Xdebug2NotEnabledException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug3Driver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Xdebug3Driver.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug3NotEnabledException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/Xdebug3NotEnabledException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\XdebugNotAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/XdebugNotAvailableException.php',
- 'SebastianBergmann\\CodeCoverage\\Exception' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/Exception.php',
- 'SebastianBergmann\\CodeCoverage\\Filter' => $vendorDir . '/phpunit/php-code-coverage/src/Filter.php',
- 'SebastianBergmann\\CodeCoverage\\InvalidArgumentException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php',
- 'SebastianBergmann\\CodeCoverage\\NoCodeCoverageDriverAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/NoCodeCoverageDriverAvailableException.php',
- 'SebastianBergmann\\CodeCoverage\\NoCodeCoverageDriverWithPathCoverageSupportAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/NoCodeCoverageDriverWithPathCoverageSupportAvailableException.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\AbstractNode' => $vendorDir . '/phpunit/php-code-coverage/src/Node/AbstractNode.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\Builder' => $vendorDir . '/phpunit/php-code-coverage/src/Node/Builder.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\CrapIndex' => $vendorDir . '/phpunit/php-code-coverage/src/Node/CrapIndex.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\Directory' => $vendorDir . '/phpunit/php-code-coverage/src/Node/Directory.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\File' => $vendorDir . '/phpunit/php-code-coverage/src/Node/File.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\Iterator' => $vendorDir . '/phpunit/php-code-coverage/src/Node/Iterator.php',
- 'SebastianBergmann\\CodeCoverage\\ParserException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/ParserException.php',
- 'SebastianBergmann\\CodeCoverage\\ProcessedCodeCoverageData' => $vendorDir . '/phpunit/php-code-coverage/src/ProcessedCodeCoverageData.php',
- 'SebastianBergmann\\CodeCoverage\\RawCodeCoverageData' => $vendorDir . '/phpunit/php-code-coverage/src/RawCodeCoverageData.php',
- 'SebastianBergmann\\CodeCoverage\\ReflectionException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/ReflectionException.php',
- 'SebastianBergmann\\CodeCoverage\\ReportAlreadyFinalizedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/ReportAlreadyFinalizedException.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Clover' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Clover.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Cobertura' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Cobertura.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Crap4j' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Crap4j.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Dashboard' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Directory' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Facade' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Facade.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Html\\File' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Renderer' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\PHP' => $vendorDir . '/phpunit/php-code-coverage/src/Report/PHP.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Text' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Text.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\BuildInformation' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Coverage' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Coverage.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Directory' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Directory.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Facade' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Facade.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\File' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/File.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Method' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Method.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Node' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Node.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Project' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Project.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Report' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Report.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Source' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Source.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Tests' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Tests.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Totals' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Totals.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Unit' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Unit.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysisCacheNotConfiguredException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/StaticAnalysisCacheNotConfiguredException.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CacheWarmer' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CacheWarmer.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CachingFileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CodeUnitFindingVisitor' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ExecutableLinesFindingVisitor' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\FileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/FileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\IgnoredLinesFindingVisitor' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ParsingFileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\TestIdMissingException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/TestIdMissingException.php',
- 'SebastianBergmann\\CodeCoverage\\UnintentionallyCoveredCodeException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php',
- 'SebastianBergmann\\CodeCoverage\\Util\\DirectoryCouldNotBeCreatedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/DirectoryCouldNotBeCreatedException.php',
- 'SebastianBergmann\\CodeCoverage\\Util\\Filesystem' => $vendorDir . '/phpunit/php-code-coverage/src/Util/Filesystem.php',
- 'SebastianBergmann\\CodeCoverage\\Util\\Percentage' => $vendorDir . '/phpunit/php-code-coverage/src/Util/Percentage.php',
- 'SebastianBergmann\\CodeCoverage\\Version' => $vendorDir . '/phpunit/php-code-coverage/src/Version.php',
- 'SebastianBergmann\\CodeCoverage\\XmlException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/XmlException.php',
- 'SebastianBergmann\\CodeUnitReverseLookup\\Wizard' => $vendorDir . '/sebastian/code-unit-reverse-lookup/src/Wizard.php',
- 'SebastianBergmann\\CodeUnit\\ClassMethodUnit' => $vendorDir . '/sebastian/code-unit/src/ClassMethodUnit.php',
- 'SebastianBergmann\\CodeUnit\\ClassUnit' => $vendorDir . '/sebastian/code-unit/src/ClassUnit.php',
- 'SebastianBergmann\\CodeUnit\\CodeUnit' => $vendorDir . '/sebastian/code-unit/src/CodeUnit.php',
- 'SebastianBergmann\\CodeUnit\\CodeUnitCollection' => $vendorDir . '/sebastian/code-unit/src/CodeUnitCollection.php',
- 'SebastianBergmann\\CodeUnit\\CodeUnitCollectionIterator' => $vendorDir . '/sebastian/code-unit/src/CodeUnitCollectionIterator.php',
- 'SebastianBergmann\\CodeUnit\\Exception' => $vendorDir . '/sebastian/code-unit/src/exceptions/Exception.php',
- 'SebastianBergmann\\CodeUnit\\FunctionUnit' => $vendorDir . '/sebastian/code-unit/src/FunctionUnit.php',
- 'SebastianBergmann\\CodeUnit\\InterfaceMethodUnit' => $vendorDir . '/sebastian/code-unit/src/InterfaceMethodUnit.php',
- 'SebastianBergmann\\CodeUnit\\InterfaceUnit' => $vendorDir . '/sebastian/code-unit/src/InterfaceUnit.php',
- 'SebastianBergmann\\CodeUnit\\InvalidCodeUnitException' => $vendorDir . '/sebastian/code-unit/src/exceptions/InvalidCodeUnitException.php',
- 'SebastianBergmann\\CodeUnit\\Mapper' => $vendorDir . '/sebastian/code-unit/src/Mapper.php',
- 'SebastianBergmann\\CodeUnit\\NoTraitException' => $vendorDir . '/sebastian/code-unit/src/exceptions/NoTraitException.php',
- 'SebastianBergmann\\CodeUnit\\ReflectionException' => $vendorDir . '/sebastian/code-unit/src/exceptions/ReflectionException.php',
- 'SebastianBergmann\\CodeUnit\\TraitMethodUnit' => $vendorDir . '/sebastian/code-unit/src/TraitMethodUnit.php',
- 'SebastianBergmann\\CodeUnit\\TraitUnit' => $vendorDir . '/sebastian/code-unit/src/TraitUnit.php',
- 'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php',
- 'SebastianBergmann\\Comparator\\Comparator' => $vendorDir . '/sebastian/comparator/src/Comparator.php',
- 'SebastianBergmann\\Comparator\\ComparisonFailure' => $vendorDir . '/sebastian/comparator/src/ComparisonFailure.php',
- 'SebastianBergmann\\Comparator\\DOMNodeComparator' => $vendorDir . '/sebastian/comparator/src/DOMNodeComparator.php',
- 'SebastianBergmann\\Comparator\\DateTimeComparator' => $vendorDir . '/sebastian/comparator/src/DateTimeComparator.php',
- 'SebastianBergmann\\Comparator\\DoubleComparator' => $vendorDir . '/sebastian/comparator/src/DoubleComparator.php',
- 'SebastianBergmann\\Comparator\\Exception' => $vendorDir . '/sebastian/comparator/src/exceptions/Exception.php',
- 'SebastianBergmann\\Comparator\\ExceptionComparator' => $vendorDir . '/sebastian/comparator/src/ExceptionComparator.php',
- 'SebastianBergmann\\Comparator\\Factory' => $vendorDir . '/sebastian/comparator/src/Factory.php',
- 'SebastianBergmann\\Comparator\\MockObjectComparator' => $vendorDir . '/sebastian/comparator/src/MockObjectComparator.php',
- 'SebastianBergmann\\Comparator\\NumericComparator' => $vendorDir . '/sebastian/comparator/src/NumericComparator.php',
- 'SebastianBergmann\\Comparator\\ObjectComparator' => $vendorDir . '/sebastian/comparator/src/ObjectComparator.php',
- 'SebastianBergmann\\Comparator\\ResourceComparator' => $vendorDir . '/sebastian/comparator/src/ResourceComparator.php',
- 'SebastianBergmann\\Comparator\\RuntimeException' => $vendorDir . '/sebastian/comparator/src/exceptions/RuntimeException.php',
- 'SebastianBergmann\\Comparator\\ScalarComparator' => $vendorDir . '/sebastian/comparator/src/ScalarComparator.php',
- 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => $vendorDir . '/sebastian/comparator/src/SplObjectStorageComparator.php',
- 'SebastianBergmann\\Comparator\\TypeComparator' => $vendorDir . '/sebastian/comparator/src/TypeComparator.php',
- 'SebastianBergmann\\Complexity\\Calculator' => $vendorDir . '/sebastian/complexity/src/Calculator.php',
- 'SebastianBergmann\\Complexity\\Complexity' => $vendorDir . '/sebastian/complexity/src/Complexity/Complexity.php',
- 'SebastianBergmann\\Complexity\\ComplexityCalculatingVisitor' => $vendorDir . '/sebastian/complexity/src/Visitor/ComplexityCalculatingVisitor.php',
- 'SebastianBergmann\\Complexity\\ComplexityCollection' => $vendorDir . '/sebastian/complexity/src/Complexity/ComplexityCollection.php',
- 'SebastianBergmann\\Complexity\\ComplexityCollectionIterator' => $vendorDir . '/sebastian/complexity/src/Complexity/ComplexityCollectionIterator.php',
- 'SebastianBergmann\\Complexity\\CyclomaticComplexityCalculatingVisitor' => $vendorDir . '/sebastian/complexity/src/Visitor/CyclomaticComplexityCalculatingVisitor.php',
- 'SebastianBergmann\\Complexity\\Exception' => $vendorDir . '/sebastian/complexity/src/Exception/Exception.php',
- 'SebastianBergmann\\Complexity\\RuntimeException' => $vendorDir . '/sebastian/complexity/src/Exception/RuntimeException.php',
- 'SebastianBergmann\\Diff\\Chunk' => $vendorDir . '/sebastian/diff/src/Chunk.php',
- 'SebastianBergmann\\Diff\\ConfigurationException' => $vendorDir . '/sebastian/diff/src/Exception/ConfigurationException.php',
- 'SebastianBergmann\\Diff\\Diff' => $vendorDir . '/sebastian/diff/src/Diff.php',
- 'SebastianBergmann\\Diff\\Differ' => $vendorDir . '/sebastian/diff/src/Differ.php',
- 'SebastianBergmann\\Diff\\Exception' => $vendorDir . '/sebastian/diff/src/Exception/Exception.php',
- 'SebastianBergmann\\Diff\\InvalidArgumentException' => $vendorDir . '/sebastian/diff/src/Exception/InvalidArgumentException.php',
- 'SebastianBergmann\\Diff\\Line' => $vendorDir . '/sebastian/diff/src/Line.php',
- 'SebastianBergmann\\Diff\\LongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/LongestCommonSubsequenceCalculator.php',
- 'SebastianBergmann\\Diff\\MemoryEfficientLongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php',
- 'SebastianBergmann\\Diff\\Output\\AbstractChunkOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php',
- 'SebastianBergmann\\Diff\\Output\\DiffOnlyOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php',
- 'SebastianBergmann\\Diff\\Output\\DiffOutputBuilderInterface' => $vendorDir . '/sebastian/diff/src/Output/DiffOutputBuilderInterface.php',
- 'SebastianBergmann\\Diff\\Output\\StrictUnifiedDiffOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php',
- 'SebastianBergmann\\Diff\\Output\\UnifiedDiffOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php',
- 'SebastianBergmann\\Diff\\Parser' => $vendorDir . '/sebastian/diff/src/Parser.php',
- 'SebastianBergmann\\Diff\\TimeEfficientLongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php',
- 'SebastianBergmann\\Environment\\Console' => $vendorDir . '/sebastian/environment/src/Console.php',
- 'SebastianBergmann\\Environment\\OperatingSystem' => $vendorDir . '/sebastian/environment/src/OperatingSystem.php',
- 'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php',
- 'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php',
- 'SebastianBergmann\\FileIterator\\Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php',
- 'SebastianBergmann\\FileIterator\\Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php',
- 'SebastianBergmann\\FileIterator\\Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php',
- 'SebastianBergmann\\GlobalState\\CodeExporter' => $vendorDir . '/sebastian/global-state/src/CodeExporter.php',
- 'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/exceptions/Exception.php',
- 'SebastianBergmann\\GlobalState\\ExcludeList' => $vendorDir . '/sebastian/global-state/src/ExcludeList.php',
- 'SebastianBergmann\\GlobalState\\Restorer' => $vendorDir . '/sebastian/global-state/src/Restorer.php',
- 'SebastianBergmann\\GlobalState\\RuntimeException' => $vendorDir . '/sebastian/global-state/src/exceptions/RuntimeException.php',
- 'SebastianBergmann\\GlobalState\\Snapshot' => $vendorDir . '/sebastian/global-state/src/Snapshot.php',
- 'SebastianBergmann\\Invoker\\Exception' => $vendorDir . '/phpunit/php-invoker/src/exceptions/Exception.php',
- 'SebastianBergmann\\Invoker\\Invoker' => $vendorDir . '/phpunit/php-invoker/src/Invoker.php',
- 'SebastianBergmann\\Invoker\\ProcessControlExtensionNotLoadedException' => $vendorDir . '/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php',
- 'SebastianBergmann\\Invoker\\TimeoutException' => $vendorDir . '/phpunit/php-invoker/src/exceptions/TimeoutException.php',
- 'SebastianBergmann\\LinesOfCode\\Counter' => $vendorDir . '/sebastian/lines-of-code/src/Counter.php',
- 'SebastianBergmann\\LinesOfCode\\Exception' => $vendorDir . '/sebastian/lines-of-code/src/Exception/Exception.php',
- 'SebastianBergmann\\LinesOfCode\\IllogicalValuesException' => $vendorDir . '/sebastian/lines-of-code/src/Exception/IllogicalValuesException.php',
- 'SebastianBergmann\\LinesOfCode\\LineCountingVisitor' => $vendorDir . '/sebastian/lines-of-code/src/LineCountingVisitor.php',
- 'SebastianBergmann\\LinesOfCode\\LinesOfCode' => $vendorDir . '/sebastian/lines-of-code/src/LinesOfCode.php',
- 'SebastianBergmann\\LinesOfCode\\NegativeValueException' => $vendorDir . '/sebastian/lines-of-code/src/Exception/NegativeValueException.php',
- 'SebastianBergmann\\LinesOfCode\\RuntimeException' => $vendorDir . '/sebastian/lines-of-code/src/Exception/RuntimeException.php',
- 'SebastianBergmann\\ObjectEnumerator\\Enumerator' => $vendorDir . '/sebastian/object-enumerator/src/Enumerator.php',
- 'SebastianBergmann\\ObjectEnumerator\\Exception' => $vendorDir . '/sebastian/object-enumerator/src/Exception.php',
- 'SebastianBergmann\\ObjectEnumerator\\InvalidArgumentException' => $vendorDir . '/sebastian/object-enumerator/src/InvalidArgumentException.php',
- 'SebastianBergmann\\ObjectReflector\\Exception' => $vendorDir . '/sebastian/object-reflector/src/Exception.php',
- 'SebastianBergmann\\ObjectReflector\\InvalidArgumentException' => $vendorDir . '/sebastian/object-reflector/src/InvalidArgumentException.php',
- 'SebastianBergmann\\ObjectReflector\\ObjectReflector' => $vendorDir . '/sebastian/object-reflector/src/ObjectReflector.php',
- 'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php',
- 'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php',
- 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php',
- 'SebastianBergmann\\ResourceOperations\\ResourceOperations' => $vendorDir . '/sebastian/resource-operations/src/ResourceOperations.php',
- 'SebastianBergmann\\Template\\Exception' => $vendorDir . '/phpunit/php-text-template/src/exceptions/Exception.php',
- 'SebastianBergmann\\Template\\InvalidArgumentException' => $vendorDir . '/phpunit/php-text-template/src/exceptions/InvalidArgumentException.php',
- 'SebastianBergmann\\Template\\RuntimeException' => $vendorDir . '/phpunit/php-text-template/src/exceptions/RuntimeException.php',
- 'SebastianBergmann\\Template\\Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php',
- 'SebastianBergmann\\Timer\\Duration' => $vendorDir . '/phpunit/php-timer/src/Duration.php',
- 'SebastianBergmann\\Timer\\Exception' => $vendorDir . '/phpunit/php-timer/src/exceptions/Exception.php',
- 'SebastianBergmann\\Timer\\NoActiveTimerException' => $vendorDir . '/phpunit/php-timer/src/exceptions/NoActiveTimerException.php',
- 'SebastianBergmann\\Timer\\ResourceUsageFormatter' => $vendorDir . '/phpunit/php-timer/src/ResourceUsageFormatter.php',
- 'SebastianBergmann\\Timer\\TimeSinceStartOfRequestNotAvailableException' => $vendorDir . '/phpunit/php-timer/src/exceptions/TimeSinceStartOfRequestNotAvailableException.php',
- 'SebastianBergmann\\Timer\\Timer' => $vendorDir . '/phpunit/php-timer/src/Timer.php',
- 'SebastianBergmann\\Type\\CallableType' => $vendorDir . '/sebastian/type/src/type/CallableType.php',
- 'SebastianBergmann\\Type\\Exception' => $vendorDir . '/sebastian/type/src/exception/Exception.php',
- 'SebastianBergmann\\Type\\FalseType' => $vendorDir . '/sebastian/type/src/type/FalseType.php',
- 'SebastianBergmann\\Type\\GenericObjectType' => $vendorDir . '/sebastian/type/src/type/GenericObjectType.php',
- 'SebastianBergmann\\Type\\IntersectionType' => $vendorDir . '/sebastian/type/src/type/IntersectionType.php',
- 'SebastianBergmann\\Type\\IterableType' => $vendorDir . '/sebastian/type/src/type/IterableType.php',
- 'SebastianBergmann\\Type\\MixedType' => $vendorDir . '/sebastian/type/src/type/MixedType.php',
- 'SebastianBergmann\\Type\\NeverType' => $vendorDir . '/sebastian/type/src/type/NeverType.php',
- 'SebastianBergmann\\Type\\NullType' => $vendorDir . '/sebastian/type/src/type/NullType.php',
- 'SebastianBergmann\\Type\\ObjectType' => $vendorDir . '/sebastian/type/src/type/ObjectType.php',
- 'SebastianBergmann\\Type\\Parameter' => $vendorDir . '/sebastian/type/src/Parameter.php',
- 'SebastianBergmann\\Type\\ReflectionMapper' => $vendorDir . '/sebastian/type/src/ReflectionMapper.php',
- 'SebastianBergmann\\Type\\RuntimeException' => $vendorDir . '/sebastian/type/src/exception/RuntimeException.php',
- 'SebastianBergmann\\Type\\SimpleType' => $vendorDir . '/sebastian/type/src/type/SimpleType.php',
- 'SebastianBergmann\\Type\\StaticType' => $vendorDir . '/sebastian/type/src/type/StaticType.php',
- 'SebastianBergmann\\Type\\TrueType' => $vendorDir . '/sebastian/type/src/type/TrueType.php',
- 'SebastianBergmann\\Type\\Type' => $vendorDir . '/sebastian/type/src/type/Type.php',
- 'SebastianBergmann\\Type\\TypeName' => $vendorDir . '/sebastian/type/src/TypeName.php',
- 'SebastianBergmann\\Type\\UnionType' => $vendorDir . '/sebastian/type/src/type/UnionType.php',
- 'SebastianBergmann\\Type\\UnknownType' => $vendorDir . '/sebastian/type/src/type/UnknownType.php',
- 'SebastianBergmann\\Type\\VoidType' => $vendorDir . '/sebastian/type/src/type/VoidType.php',
- 'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php',
- 'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
- 'TheSeer\\Tokenizer\\Exception' => $vendorDir . '/theseer/tokenizer/src/Exception.php',
- 'TheSeer\\Tokenizer\\NamespaceUri' => $vendorDir . '/theseer/tokenizer/src/NamespaceUri.php',
- 'TheSeer\\Tokenizer\\NamespaceUriException' => $vendorDir . '/theseer/tokenizer/src/NamespaceUriException.php',
- 'TheSeer\\Tokenizer\\Token' => $vendorDir . '/theseer/tokenizer/src/Token.php',
- 'TheSeer\\Tokenizer\\TokenCollection' => $vendorDir . '/theseer/tokenizer/src/TokenCollection.php',
- 'TheSeer\\Tokenizer\\TokenCollectionException' => $vendorDir . '/theseer/tokenizer/src/TokenCollectionException.php',
- 'TheSeer\\Tokenizer\\Tokenizer' => $vendorDir . '/theseer/tokenizer/src/Tokenizer.php',
- 'TheSeer\\Tokenizer\\XMLSerializer' => $vendorDir . '/theseer/tokenizer/src/XMLSerializer.php',
- 'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
- 'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
'phpCAS' => $vendorDir . '/apereo/phpcas/source/CAS.php',
);
diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php
index 96e9fce4..20fa0afe 100644
--- a/vendor/composer/autoload_files.php
+++ b/vendor/composer/autoload_files.php
@@ -6,17 +6,8 @@
$baseDir = dirname($vendorDir);
return array(
- '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
- '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
- '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
- '8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php',
- 'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
- 'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php',
- 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
- '23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php',
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
+ '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
- '6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
'344f11dc3484aaed5cbde58e23513be4' => $vendorDir . '/apereo/phpcas/source/CAS.php',
- 'ec07570ca5a812141189b1fa81503674' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert/Functions.php',
);
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index 748e2fb5..57f9d3c9 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -6,38 +6,15 @@
$baseDir = dirname($vendorDir);
return array(
- 'Symfony\\Polyfill\\Php81\\' => array($vendorDir . '/symfony/polyfill-php81'),
- 'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
- 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
- 'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'),
- 'Symfony\\Polyfill\\Intl\\Grapheme\\' => array($vendorDir . '/symfony/polyfill-intl-grapheme'),
- 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
- 'Symfony\\Contracts\\Service\\' => array($vendorDir . '/symfony/service-contracts'),
- 'Symfony\\Contracts\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher-contracts'),
- 'Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'),
- 'Symfony\\Component\\Stopwatch\\' => array($vendorDir . '/symfony/stopwatch'),
- 'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'),
- 'Symfony\\Component\\OptionsResolver\\' => array($vendorDir . '/symfony/options-resolver'),
- 'Symfony\\Component\\Finder\\' => array($vendorDir . '/symfony/finder'),
- 'Symfony\\Component\\Filesystem\\' => array($vendorDir . '/symfony/filesystem'),
- 'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
- 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
'RobRichards\\XMLSecLibs\\' => array($vendorDir . '/robrichards/xmlseclibs/src'),
- 'Redaxo\\PhpCsFixerConfig\\' => array($vendorDir . '/redaxo/php-cs-fixer-config/src'),
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src'),
'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
- 'Psr\\EventDispatcher\\' => array($vendorDir . '/psr/event-dispatcher/src'),
- 'PhpParser\\' => array($vendorDir . '/nikic/php-parser/lib/PhpParser'),
- 'PhpCsFixer\\' => array($vendorDir . '/friendsofphp/php-cs-fixer/src'),
- 'PhpCsFixerCustomFixers\\' => array($vendorDir . '/kubawerlos/php-cs-fixer-custom-fixers/src'),
+ 'Psr\\Clock\\' => array($vendorDir . '/psr/clock/src'),
+ 'ParagonIE\\ConstantTime\\' => array($vendorDir . '/paragonie/constant_time_encoding/src'),
'OneLogin\\' => array($vendorDir . '/onelogin/php-saml/src'),
+ 'OTPHP\\' => array($vendorDir . '/spomky-labs/otphp/src'),
'League\\OAuth2\\Client\\' => array($vendorDir . '/league/oauth2-client/src'),
'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
- 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
- 'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'),
- 'Composer\\XdebugHandler\\' => array($vendorDir . '/composer/xdebug-handler/src'),
- 'Composer\\Semver\\' => array($vendorDir . '/composer/semver/src'),
- 'Composer\\Pcre\\' => array($vendorDir . '/composer/pcre/src'),
);
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 208e515c..e167434c 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -7,58 +7,28 @@
class ComposerStaticInitafdf4419c977e377e00fce23bd5a0744
{
public static $files = array (
- '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
- '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
- '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
- '8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php',
- 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
- 'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php',
- 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
- '23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php',
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
+ '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
- '6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
'344f11dc3484aaed5cbde58e23513be4' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS.php',
- 'ec07570ca5a812141189b1fa81503674' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert/Functions.php',
);
public static $prefixLengthsPsr4 = array (
- 'S' =>
- array (
- 'Symfony\\Polyfill\\Php81\\' => 23,
- 'Symfony\\Polyfill\\Php80\\' => 23,
- 'Symfony\\Polyfill\\Mbstring\\' => 26,
- 'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33,
- 'Symfony\\Polyfill\\Intl\\Grapheme\\' => 31,
- 'Symfony\\Polyfill\\Ctype\\' => 23,
- 'Symfony\\Contracts\\Service\\' => 26,
- 'Symfony\\Contracts\\EventDispatcher\\' => 34,
- 'Symfony\\Component\\String\\' => 25,
- 'Symfony\\Component\\Stopwatch\\' => 28,
- 'Symfony\\Component\\Process\\' => 26,
- 'Symfony\\Component\\OptionsResolver\\' => 34,
- 'Symfony\\Component\\Finder\\' => 25,
- 'Symfony\\Component\\Filesystem\\' => 29,
- 'Symfony\\Component\\EventDispatcher\\' => 34,
- 'Symfony\\Component\\Console\\' => 26,
- ),
'R' =>
array (
'RobRichards\\XMLSecLibs\\' => 23,
- 'Redaxo\\PhpCsFixerConfig\\' => 24,
),
'P' =>
array (
'Psr\\Http\\Message\\' => 17,
'Psr\\Http\\Client\\' => 16,
- 'Psr\\EventDispatcher\\' => 20,
- 'PhpParser\\' => 10,
- 'PhpCsFixer\\' => 11,
- 'PhpCsFixerCustomFixers\\' => 23,
+ 'Psr\\Clock\\' => 10,
+ 'ParagonIE\\ConstantTime\\' => 23,
),
'O' =>
array (
'OneLogin\\' => 9,
+ 'OTPHP\\' => 6,
),
'L' =>
array (
@@ -70,92 +40,13 @@ class ComposerStaticInitafdf4419c977e377e00fce23bd5a0744
'GuzzleHttp\\Promise\\' => 19,
'GuzzleHttp\\' => 11,
),
- 'D' =>
- array (
- 'Doctrine\\Instantiator\\' => 22,
- 'DeepCopy\\' => 9,
- ),
- 'C' =>
- array (
- 'Composer\\XdebugHandler\\' => 23,
- 'Composer\\Semver\\' => 16,
- 'Composer\\Pcre\\' => 14,
- ),
);
public static $prefixDirsPsr4 = array (
- 'Symfony\\Polyfill\\Php81\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/polyfill-php81',
- ),
- 'Symfony\\Polyfill\\Php80\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/polyfill-php80',
- ),
- 'Symfony\\Polyfill\\Mbstring\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
- ),
- 'Symfony\\Polyfill\\Intl\\Normalizer\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer',
- ),
- 'Symfony\\Polyfill\\Intl\\Grapheme\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme',
- ),
- 'Symfony\\Polyfill\\Ctype\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
- ),
- 'Symfony\\Contracts\\Service\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/service-contracts',
- ),
- 'Symfony\\Contracts\\EventDispatcher\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/event-dispatcher-contracts',
- ),
- 'Symfony\\Component\\String\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/string',
- ),
- 'Symfony\\Component\\Stopwatch\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/stopwatch',
- ),
- 'Symfony\\Component\\Process\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/process',
- ),
- 'Symfony\\Component\\OptionsResolver\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/options-resolver',
- ),
- 'Symfony\\Component\\Finder\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/finder',
- ),
- 'Symfony\\Component\\Filesystem\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/filesystem',
- ),
- 'Symfony\\Component\\EventDispatcher\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/event-dispatcher',
- ),
- 'Symfony\\Component\\Console\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/console',
- ),
'RobRichards\\XMLSecLibs\\' =>
array (
0 => __DIR__ . '/..' . '/robrichards/xmlseclibs/src',
),
- 'Redaxo\\PhpCsFixerConfig\\' =>
- array (
- 0 => __DIR__ . '/..' . '/redaxo/php-cs-fixer-config/src',
- ),
'Psr\\Http\\Message\\' =>
array (
0 => __DIR__ . '/..' . '/psr/http-factory/src',
@@ -164,26 +55,22 @@ class ComposerStaticInitafdf4419c977e377e00fce23bd5a0744
array (
0 => __DIR__ . '/..' . '/psr/http-client/src',
),
- 'Psr\\EventDispatcher\\' =>
- array (
- 0 => __DIR__ . '/..' . '/psr/event-dispatcher/src',
- ),
- 'PhpParser\\' =>
+ 'Psr\\Clock\\' =>
array (
- 0 => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser',
+ 0 => __DIR__ . '/..' . '/psr/clock/src',
),
- 'PhpCsFixer\\' =>
+ 'ParagonIE\\ConstantTime\\' =>
array (
- 0 => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src',
- ),
- 'PhpCsFixerCustomFixers\\' =>
- array (
- 0 => __DIR__ . '/..' . '/kubawerlos/php-cs-fixer-custom-fixers/src',
+ 0 => __DIR__ . '/..' . '/paragonie/constant_time_encoding/src',
),
'OneLogin\\' =>
array (
0 => __DIR__ . '/..' . '/onelogin/php-saml/src',
),
+ 'OTPHP\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/spomky-labs/otphp/src',
+ ),
'League\\OAuth2\\Client\\' =>
array (
0 => __DIR__ . '/..' . '/league/oauth2-client/src',
@@ -200,30 +87,9 @@ class ComposerStaticInitafdf4419c977e377e00fce23bd5a0744
array (
0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
),
- 'Doctrine\\Instantiator\\' =>
- array (
- 0 => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator',
- ),
- 'DeepCopy\\' =>
- array (
- 0 => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy',
- ),
- 'Composer\\XdebugHandler\\' =>
- array (
- 0 => __DIR__ . '/..' . '/composer/xdebug-handler/src',
- ),
- 'Composer\\Semver\\' =>
- array (
- 0 => __DIR__ . '/..' . '/composer/semver/src',
- ),
- 'Composer\\Pcre\\' =>
- array (
- 0 => __DIR__ . '/..' . '/composer/pcre/src',
- ),
);
public static $classMap = array (
- 'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'CAS_AuthenticationException' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/AuthenticationException.php',
'CAS_Client' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/Client.php',
'CAS_CookieJar' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/CookieJar.php',
@@ -275,643 +141,7 @@ class ComposerStaticInitafdf4419c977e377e00fce23bd5a0744
'CAS_ServiceBaseUrl_Static' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/ServiceBaseUrl/Static.php',
'CAS_Session_PhpSession' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/Session/PhpSession.php',
'CAS_TypeMismatchException' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS/TypeMismatchException.php',
- 'CURLStringFile' => __DIR__ . '/..' . '/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php',
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
- 'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
- 'PHPUnit\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Exception.php',
- 'PHPUnit\\Framework\\ActualValueIsNotAnObjectException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ActualValueIsNotAnObjectException.php',
- 'PHPUnit\\Framework\\Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert.php',
- 'PHPUnit\\Framework\\AssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/AssertionFailedError.php',
- 'PHPUnit\\Framework\\CodeCoverageException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/CodeCoverageException.php',
- 'PHPUnit\\Framework\\ComparisonMethodDoesNotAcceptParameterTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotAcceptParameterTypeException.php',
- 'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareBoolReturnTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareBoolReturnTypeException.php',
- 'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareExactlyOneParameterException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareExactlyOneParameterException.php',
- 'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareParameterTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareParameterTypeException.php',
- 'PHPUnit\\Framework\\ComparisonMethodDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotExistException.php',
- 'PHPUnit\\Framework\\Constraint\\ArrayHasKey' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Traversable/ArrayHasKey.php',
- 'PHPUnit\\Framework\\Constraint\\BinaryOperator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/BinaryOperator.php',
- 'PHPUnit\\Framework\\Constraint\\Callback' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Callback.php',
- 'PHPUnit\\Framework\\Constraint\\ClassHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Object/ClassHasAttribute.php',
- 'PHPUnit\\Framework\\Constraint\\ClassHasStaticAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Object/ClassHasStaticAttribute.php',
- 'PHPUnit\\Framework\\Constraint\\Constraint' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Constraint.php',
- 'PHPUnit\\Framework\\Constraint\\Count' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/Count.php',
- 'PHPUnit\\Framework\\Constraint\\DirectoryExists' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/DirectoryExists.php',
- 'PHPUnit\\Framework\\Constraint\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception/Exception.php',
- 'PHPUnit\\Framework\\Constraint\\ExceptionCode' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionCode.php',
- 'PHPUnit\\Framework\\Constraint\\ExceptionMessage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessage.php',
- 'PHPUnit\\Framework\\Constraint\\ExceptionMessageRegularExpression' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageRegularExpression.php',
- 'PHPUnit\\Framework\\Constraint\\FileExists' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/FileExists.php',
- 'PHPUnit\\Framework\\Constraint\\GreaterThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/GreaterThan.php',
- 'PHPUnit\\Framework\\Constraint\\IsAnything' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php',
- 'PHPUnit\\Framework\\Constraint\\IsEmpty' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/IsEmpty.php',
- 'PHPUnit\\Framework\\Constraint\\IsEqual' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqual.php',
- 'PHPUnit\\Framework\\Constraint\\IsEqualCanonicalizing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualCanonicalizing.php',
- 'PHPUnit\\Framework\\Constraint\\IsEqualIgnoringCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualIgnoringCase.php',
- 'PHPUnit\\Framework\\Constraint\\IsEqualWithDelta' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualWithDelta.php',
- 'PHPUnit\\Framework\\Constraint\\IsFalse' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Boolean/IsFalse.php',
- 'PHPUnit\\Framework\\Constraint\\IsFinite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Math/IsFinite.php',
- 'PHPUnit\\Framework\\Constraint\\IsIdentical' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php',
- 'PHPUnit\\Framework\\Constraint\\IsInfinite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Math/IsInfinite.php',
- 'PHPUnit\\Framework\\Constraint\\IsInstanceOf' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Type/IsInstanceOf.php',
- 'PHPUnit\\Framework\\Constraint\\IsJson' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/IsJson.php',
- 'PHPUnit\\Framework\\Constraint\\IsNan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Math/IsNan.php',
- 'PHPUnit\\Framework\\Constraint\\IsNull' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Type/IsNull.php',
- 'PHPUnit\\Framework\\Constraint\\IsReadable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/IsReadable.php',
- 'PHPUnit\\Framework\\Constraint\\IsTrue' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Boolean/IsTrue.php',
- 'PHPUnit\\Framework\\Constraint\\IsType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Type/IsType.php',
- 'PHPUnit\\Framework\\Constraint\\IsWritable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/IsWritable.php',
- 'PHPUnit\\Framework\\Constraint\\JsonMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php',
- 'PHPUnit\\Framework\\Constraint\\JsonMatchesErrorMessageProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatchesErrorMessageProvider.php',
- 'PHPUnit\\Framework\\Constraint\\LessThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/LessThan.php',
- 'PHPUnit\\Framework\\Constraint\\LogicalAnd' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalAnd.php',
- 'PHPUnit\\Framework\\Constraint\\LogicalNot' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalNot.php',
- 'PHPUnit\\Framework\\Constraint\\LogicalOr' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalOr.php',
- 'PHPUnit\\Framework\\Constraint\\LogicalXor' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalXor.php',
- 'PHPUnit\\Framework\\Constraint\\ObjectEquals' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Object/ObjectEquals.php',
- 'PHPUnit\\Framework\\Constraint\\ObjectHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Object/ObjectHasAttribute.php',
- 'PHPUnit\\Framework\\Constraint\\ObjectHasProperty' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Object/ObjectHasProperty.php',
- 'PHPUnit\\Framework\\Constraint\\Operator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/Operator.php',
- 'PHPUnit\\Framework\\Constraint\\RegularExpression' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/RegularExpression.php',
- 'PHPUnit\\Framework\\Constraint\\SameSize' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/SameSize.php',
- 'PHPUnit\\Framework\\Constraint\\StringContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/StringContains.php',
- 'PHPUnit\\Framework\\Constraint\\StringEndsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/StringEndsWith.php',
- 'PHPUnit\\Framework\\Constraint\\StringMatchesFormatDescription' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/StringMatchesFormatDescription.php',
- 'PHPUnit\\Framework\\Constraint\\StringStartsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/StringStartsWith.php',
- 'PHPUnit\\Framework\\Constraint\\TraversableContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContains.php',
- 'PHPUnit\\Framework\\Constraint\\TraversableContainsEqual' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsEqual.php',
- 'PHPUnit\\Framework\\Constraint\\TraversableContainsIdentical' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsIdentical.php',
- 'PHPUnit\\Framework\\Constraint\\TraversableContainsOnly' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php',
- 'PHPUnit\\Framework\\Constraint\\UnaryOperator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/UnaryOperator.php',
- 'PHPUnit\\Framework\\CoveredCodeNotExecutedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/CoveredCodeNotExecutedException.php',
- 'PHPUnit\\Framework\\DataProviderTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/DataProviderTestSuite.php',
- 'PHPUnit\\Framework\\Error' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/Error.php',
- 'PHPUnit\\Framework\\ErrorTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ErrorTestCase.php',
- 'PHPUnit\\Framework\\Error\\Deprecated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Deprecated.php',
- 'PHPUnit\\Framework\\Error\\Error' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Error.php',
- 'PHPUnit\\Framework\\Error\\Notice' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Notice.php',
- 'PHPUnit\\Framework\\Error\\Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Warning.php',
- 'PHPUnit\\Framework\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/Exception.php',
- 'PHPUnit\\Framework\\ExceptionWrapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php',
- 'PHPUnit\\Framework\\ExecutionOrderDependency' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExecutionOrderDependency.php',
- 'PHPUnit\\Framework\\ExpectationFailedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ExpectationFailedException.php',
- 'PHPUnit\\Framework\\IncompleteTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTest.php',
- 'PHPUnit\\Framework\\IncompleteTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php',
- 'PHPUnit\\Framework\\IncompleteTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/IncompleteTestError.php',
- 'PHPUnit\\Framework\\InvalidArgumentException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/InvalidArgumentException.php',
- 'PHPUnit\\Framework\\InvalidCoversTargetException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/InvalidCoversTargetException.php',
- 'PHPUnit\\Framework\\InvalidDataProviderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/InvalidDataProviderException.php',
- 'PHPUnit\\Framework\\InvalidParameterGroupException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidParameterGroupException.php',
- 'PHPUnit\\Framework\\MissingCoversAnnotationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/MissingCoversAnnotationException.php',
- 'PHPUnit\\Framework\\MockObject\\Api' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Api/Api.php',
- 'PHPUnit\\Framework\\MockObject\\BadMethodCallException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/BadMethodCallException.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\Identity' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/Identity.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationMocker.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\InvocationStubber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationStubber.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/MethodNameMatch.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/ParametersMatch.php',
- 'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/Stub.php',
- 'PHPUnit\\Framework\\MockObject\\CannotUseAddMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseAddMethodsException.php',
- 'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
- 'PHPUnit\\Framework\\MockObject\\ClassAlreadyExistsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ClassAlreadyExistsException.php',
- 'PHPUnit\\Framework\\MockObject\\ClassIsFinalException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ClassIsFinalException.php',
- 'PHPUnit\\Framework\\MockObject\\ClassIsReadonlyException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ClassIsReadonlyException.php',
- 'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
- 'PHPUnit\\Framework\\MockObject\\ConfigurableMethodsAlreadyInitializedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ConfigurableMethodsAlreadyInitializedException.php',
- 'PHPUnit\\Framework\\MockObject\\DuplicateMethodException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/DuplicateMethodException.php',
- 'PHPUnit\\Framework\\MockObject\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
- 'PHPUnit\\Framework\\MockObject\\Generator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator.php',
- 'PHPUnit\\Framework\\MockObject\\IncompatibleReturnValueException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/IncompatibleReturnValueException.php',
- 'PHPUnit\\Framework\\MockObject\\InvalidMethodNameException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/InvalidMethodNameException.php',
- 'PHPUnit\\Framework\\MockObject\\Invocation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Invocation.php',
- 'PHPUnit\\Framework\\MockObject\\InvocationHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/InvocationHandler.php',
- 'PHPUnit\\Framework\\MockObject\\MatchBuilderNotFoundException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MatchBuilderNotFoundException.php',
- 'PHPUnit\\Framework\\MockObject\\Matcher' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher.php',
- 'PHPUnit\\Framework\\MockObject\\MatcherAlreadyRegisteredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MatcherAlreadyRegisteredException.php',
- 'PHPUnit\\Framework\\MockObject\\Method' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Api/Method.php',
- 'PHPUnit\\Framework\\MockObject\\MethodCannotBeConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodCannotBeConfiguredException.php',
- 'PHPUnit\\Framework\\MockObject\\MethodNameAlreadyConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodNameAlreadyConfiguredException.php',
- 'PHPUnit\\Framework\\MockObject\\MethodNameConstraint' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MethodNameConstraint.php',
- 'PHPUnit\\Framework\\MockObject\\MethodNameNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodNameNotConfiguredException.php',
- 'PHPUnit\\Framework\\MockObject\\MethodParametersAlreadyConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodParametersAlreadyConfiguredException.php',
- 'PHPUnit\\Framework\\MockObject\\MockBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php',
- 'PHPUnit\\Framework\\MockObject\\MockClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockClass.php',
- 'PHPUnit\\Framework\\MockObject\\MockMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockMethod.php',
- 'PHPUnit\\Framework\\MockObject\\MockMethodSet' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php',
- 'PHPUnit\\Framework\\MockObject\\MockObject' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockObject.php',
- 'PHPUnit\\Framework\\MockObject\\MockTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockTrait.php',
- 'PHPUnit\\Framework\\MockObject\\MockType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockType.php',
- 'PHPUnit\\Framework\\MockObject\\OriginalConstructorInvocationRequiredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/OriginalConstructorInvocationRequiredException.php',
- 'PHPUnit\\Framework\\MockObject\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReflectionException.php',
- 'PHPUnit\\Framework\\MockObject\\ReturnValueNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReturnValueNotConfiguredException.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\AnyInvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/AnyInvokedCount.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\AnyParameters' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/AnyParameters.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\ConsecutiveParameters' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/ConsecutiveParameters.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvocationOrder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvocationOrder.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtIndex' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtIndex.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtLeastCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtLeastCount.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtLeastOnce' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtLeastOnce.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtMostCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtMostCount.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\InvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedCount.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\MethodName' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/MethodName.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\Parameters' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/Parameters.php',
- 'PHPUnit\\Framework\\MockObject\\Rule\\ParametersRule' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/ParametersRule.php',
- 'PHPUnit\\Framework\\MockObject\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php',
- 'PHPUnit\\Framework\\MockObject\\SoapExtensionNotAvailableException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/SoapExtensionNotAvailableException.php',
- 'PHPUnit\\Framework\\MockObject\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ConsecutiveCalls' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ConsecutiveCalls.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/Exception.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnArgument' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnArgument.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnCallback' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnCallback.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnReference' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnReference.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnSelf' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnSelf.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnStub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnStub.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnValueMap' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnValueMap.php',
- 'PHPUnit\\Framework\\MockObject\\Stub\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/Stub.php',
- 'PHPUnit\\Framework\\MockObject\\UnknownClassException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownClassException.php',
- 'PHPUnit\\Framework\\MockObject\\UnknownTraitException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownTraitException.php',
- 'PHPUnit\\Framework\\MockObject\\UnknownTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownTypeException.php',
- 'PHPUnit\\Framework\\MockObject\\Verifiable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Verifiable.php',
- 'PHPUnit\\Framework\\NoChildTestSuiteException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/NoChildTestSuiteException.php',
- 'PHPUnit\\Framework\\OutputError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/OutputError.php',
- 'PHPUnit\\Framework\\PHPTAssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/PHPTAssertionFailedError.php',
- 'PHPUnit\\Framework\\Reorderable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Reorderable.php',
- 'PHPUnit\\Framework\\RiskyTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/RiskyTestError.php',
- 'PHPUnit\\Framework\\SelfDescribing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SelfDescribing.php',
- 'PHPUnit\\Framework\\SkippedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTest.php',
- 'PHPUnit\\Framework\\SkippedTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestCase.php',
- 'PHPUnit\\Framework\\SkippedTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/SkippedTestError.php',
- 'PHPUnit\\Framework\\SkippedTestSuiteError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/SkippedTestSuiteError.php',
- 'PHPUnit\\Framework\\SyntheticError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/SyntheticError.php',
- 'PHPUnit\\Framework\\SyntheticSkippedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/SyntheticSkippedError.php',
- 'PHPUnit\\Framework\\Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Test.php',
- 'PHPUnit\\Framework\\TestBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestBuilder.php',
- 'PHPUnit\\Framework\\TestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestCase.php',
- 'PHPUnit\\Framework\\TestFailure' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestFailure.php',
- 'PHPUnit\\Framework\\TestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestListener.php',
- 'PHPUnit\\Framework\\TestListenerDefaultImplementation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestListenerDefaultImplementation.php',
- 'PHPUnit\\Framework\\TestResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestResult.php',
- 'PHPUnit\\Framework\\TestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite.php',
- 'PHPUnit\\Framework\\TestSuiteIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuiteIterator.php',
- 'PHPUnit\\Framework\\UnintentionallyCoveredCodeError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnintentionallyCoveredCodeError.php',
- 'PHPUnit\\Framework\\Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/Warning.php',
- 'PHPUnit\\Framework\\WarningTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/WarningTestCase.php',
- 'PHPUnit\\Runner\\AfterIncompleteTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterIncompleteTestHook.php',
- 'PHPUnit\\Runner\\AfterLastTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterLastTestHook.php',
- 'PHPUnit\\Runner\\AfterRiskyTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterRiskyTestHook.php',
- 'PHPUnit\\Runner\\AfterSkippedTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterSkippedTestHook.php',
- 'PHPUnit\\Runner\\AfterSuccessfulTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php',
- 'PHPUnit\\Runner\\AfterTestErrorHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php',
- 'PHPUnit\\Runner\\AfterTestFailureHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php',
- 'PHPUnit\\Runner\\AfterTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php',
- 'PHPUnit\\Runner\\AfterTestWarningHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php',
- 'PHPUnit\\Runner\\BaseTestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
- 'PHPUnit\\Runner\\BeforeFirstTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php',
- 'PHPUnit\\Runner\\BeforeTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/BeforeTestHook.php',
- 'PHPUnit\\Runner\\DefaultTestResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/DefaultTestResultCache.php',
- 'PHPUnit\\Runner\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception.php',
- 'PHPUnit\\Runner\\Extension\\ExtensionHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Extension/ExtensionHandler.php',
- 'PHPUnit\\Runner\\Extension\\PharLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Extension/PharLoader.php',
- 'PHPUnit\\Runner\\Filter\\ExcludeGroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php',
- 'PHPUnit\\Runner\\Filter\\Factory' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Factory.php',
- 'PHPUnit\\Runner\\Filter\\GroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php',
- 'PHPUnit\\Runner\\Filter\\IncludeGroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php',
- 'PHPUnit\\Runner\\Filter\\NameFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php',
- 'PHPUnit\\Runner\\Hook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/Hook.php',
- 'PHPUnit\\Runner\\NullTestResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/NullTestResultCache.php',
- 'PHPUnit\\Runner\\PhptTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/PhptTestCase.php',
- 'PHPUnit\\Runner\\ResultCacheExtension' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCacheExtension.php',
- 'PHPUnit\\Runner\\StandardTestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php',
- 'PHPUnit\\Runner\\TestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/TestHook.php',
- 'PHPUnit\\Runner\\TestListenerAdapter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php',
- 'PHPUnit\\Runner\\TestResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResultCache.php',
- 'PHPUnit\\Runner\\TestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php',
- 'PHPUnit\\Runner\\TestSuiteSorter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteSorter.php',
- 'PHPUnit\\Runner\\Version' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Version.php',
- 'PHPUnit\\TextUI\\CliArguments\\Builder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/CliArguments/Builder.php',
- 'PHPUnit\\TextUI\\CliArguments\\Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/CliArguments/Configuration.php',
- 'PHPUnit\\TextUI\\CliArguments\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/CliArguments/Exception.php',
- 'PHPUnit\\TextUI\\CliArguments\\Mapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/CliArguments/Mapper.php',
- 'PHPUnit\\TextUI\\Command' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command.php',
- 'PHPUnit\\TextUI\\DefaultResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/DefaultResultPrinter.php',
- 'PHPUnit\\TextUI\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/Exception.php',
- 'PHPUnit\\TextUI\\Help' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Help.php',
- 'PHPUnit\\TextUI\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/ReflectionException.php',
- 'PHPUnit\\TextUI\\ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/ResultPrinter.php',
- 'PHPUnit\\TextUI\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/RuntimeException.php',
- 'PHPUnit\\TextUI\\TestDirectoryNotFoundException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/TestDirectoryNotFoundException.php',
- 'PHPUnit\\TextUI\\TestFileNotFoundException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/TestFileNotFoundException.php',
- 'PHPUnit\\TextUI\\TestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/TestRunner.php',
- 'PHPUnit\\TextUI\\TestSuiteMapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/TestSuiteMapper.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/CodeCoverage.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\FilterMapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/FilterMapper.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\Directory' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/Directory.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\DirectoryCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/DirectoryCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\DirectoryCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/DirectoryCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Clover' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Clover.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Cobertura' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Cobertura.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Crap4j' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Crap4j.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Html' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Html.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Php' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Php.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Text.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Xml.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Configuration.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Constant' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Constant.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\ConstantCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/ConstantCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\ConstantCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/ConstantCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\ConvertLogTypes' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/ConvertLogTypes.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoverageCloverToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageCloverToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoverageCrap4jToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageCrap4jToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoverageHtmlToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageHtmlToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoveragePhpToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoveragePhpToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoverageTextToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageTextToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\CoverageXmlToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageXmlToReport.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Directory' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/Directory.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\DirectoryCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/DirectoryCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\DirectoryCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/DirectoryCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Exception.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Extension' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/Extension.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\ExtensionCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/ExtensionCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\ExtensionCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/ExtensionCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\File' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/File.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\FileCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/FileCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\FileCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/FileCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Generator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Generator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Group' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/Group.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\GroupCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/GroupCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\GroupCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/GroupCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Groups' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/Groups.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\IniSetting' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSetting.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\IniSettingCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSettingCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\IniSettingCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSettingCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\IntroduceCoverageElement' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/IntroduceCoverageElement.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Loader' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Loader.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\LogToReportMigration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/LogToReportMigration.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Junit' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Junit.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Logging' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Logging.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TeamCity' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TeamCity.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Html' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Html.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Text.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Xml.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Text.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Migration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/Migration.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationBuilder.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationBuilderException.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MigrationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationException.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Migrator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromFilterWhitelistToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromRootToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveAttributesFromRootToCoverage.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MoveWhitelistExcludesToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveWhitelistExcludesToCoverage.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\MoveWhitelistIncludesToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveWhitelistIncludesToCoverage.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\PHPUnit' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/PHPUnit.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Php' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Php.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\PhpHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/PhpHandler.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveCacheTokensAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveCacheTokensAttribute.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveEmptyFilter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveEmptyFilter.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\RemoveLogTypes' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveLogTypes.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectory' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectory.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectoryCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectoryCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectoryCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectoryCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestFile' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFile.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestFileCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFileCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestFileCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFileCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuite.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestSuiteCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuiteCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\TestSuiteCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuiteCollectionIterator.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\UpdateSchemaLocationTo93' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/UpdateSchemaLocationTo93.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\Variable' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Variable.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\VariableCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/VariableCollection.php',
- 'PHPUnit\\TextUI\\XmlConfiguration\\VariableCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/VariableCollectionIterator.php',
- 'PHPUnit\\Util\\Annotation\\DocBlock' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Annotation/DocBlock.php',
- 'PHPUnit\\Util\\Annotation\\Registry' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Annotation/Registry.php',
- 'PHPUnit\\Util\\Blacklist' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Blacklist.php',
- 'PHPUnit\\Util\\Cloner' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Cloner.php',
- 'PHPUnit\\Util\\Color' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Color.php',
- 'PHPUnit\\Util\\ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ErrorHandler.php',
- 'PHPUnit\\Util\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception.php',
- 'PHPUnit\\Util\\ExcludeList' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ExcludeList.php',
- 'PHPUnit\\Util\\FileLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/FileLoader.php',
- 'PHPUnit\\Util\\Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php',
- 'PHPUnit\\Util\\Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php',
- 'PHPUnit\\Util\\GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php',
- 'PHPUnit\\Util\\InvalidDataSetException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/InvalidDataSetException.php',
- 'PHPUnit\\Util\\Json' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Json.php',
- 'PHPUnit\\Util\\Log\\JUnit' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JUnit.php',
- 'PHPUnit\\Util\\Log\\TeamCity' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/TeamCity.php',
- 'PHPUnit\\Util\\PHP\\AbstractPhpProcess' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php',
- 'PHPUnit\\Util\\PHP\\DefaultPhpProcess' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/DefaultPhpProcess.php',
- 'PHPUnit\\Util\\PHP\\WindowsPhpProcess' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php',
- 'PHPUnit\\Util\\Printer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Printer.php',
- 'PHPUnit\\Util\\Reflection' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Reflection.php',
- 'PHPUnit\\Util\\RegularExpression' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/RegularExpression.php',
- 'PHPUnit\\Util\\Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Test.php',
- 'PHPUnit\\Util\\TestDox\\CliTestDoxPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/CliTestDoxPrinter.php',
- 'PHPUnit\\Util\\TestDox\\HtmlResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php',
- 'PHPUnit\\Util\\TestDox\\NamePrettifier' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php',
- 'PHPUnit\\Util\\TestDox\\ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php',
- 'PHPUnit\\Util\\TestDox\\TestDoxPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/TestDoxPrinter.php',
- 'PHPUnit\\Util\\TestDox\\TextResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/TextResultPrinter.php',
- 'PHPUnit\\Util\\TestDox\\XmlResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php',
- 'PHPUnit\\Util\\TextTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TextTestListRenderer.php',
- 'PHPUnit\\Util\\Type' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Type.php',
- 'PHPUnit\\Util\\VersionComparisonOperator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/VersionComparisonOperator.php',
- 'PHPUnit\\Util\\XdebugFilterScriptGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php',
- 'PHPUnit\\Util\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml.php',
- 'PHPUnit\\Util\\XmlTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php',
- 'PHPUnit\\Util\\Xml\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/Exception.php',
- 'PHPUnit\\Util\\Xml\\FailedSchemaDetectionResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/FailedSchemaDetectionResult.php',
- 'PHPUnit\\Util\\Xml\\Loader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/Loader.php',
- 'PHPUnit\\Util\\Xml\\SchemaDetectionResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/SchemaDetectionResult.php',
- 'PHPUnit\\Util\\Xml\\SchemaDetector' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/SchemaDetector.php',
- 'PHPUnit\\Util\\Xml\\SchemaFinder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/SchemaFinder.php',
- 'PHPUnit\\Util\\Xml\\SnapshotNodeList' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/SnapshotNodeList.php',
- 'PHPUnit\\Util\\Xml\\SuccessfulSchemaDetectionResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/SuccessfulSchemaDetectionResult.php',
- 'PHPUnit\\Util\\Xml\\ValidationResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/ValidationResult.php',
- 'PHPUnit\\Util\\Xml\\Validator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/Validator.php',
- 'PharIo\\Manifest\\Application' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Application.php',
- 'PharIo\\Manifest\\ApplicationName' => __DIR__ . '/..' . '/phar-io/manifest/src/values/ApplicationName.php',
- 'PharIo\\Manifest\\Author' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Author.php',
- 'PharIo\\Manifest\\AuthorCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/values/AuthorCollection.php',
- 'PharIo\\Manifest\\AuthorCollectionIterator' => __DIR__ . '/..' . '/phar-io/manifest/src/values/AuthorCollectionIterator.php',
- 'PharIo\\Manifest\\AuthorElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/AuthorElement.php',
- 'PharIo\\Manifest\\AuthorElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/AuthorElementCollection.php',
- 'PharIo\\Manifest\\BundledComponent' => __DIR__ . '/..' . '/phar-io/manifest/src/values/BundledComponent.php',
- 'PharIo\\Manifest\\BundledComponentCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/values/BundledComponentCollection.php',
- 'PharIo\\Manifest\\BundledComponentCollectionIterator' => __DIR__ . '/..' . '/phar-io/manifest/src/values/BundledComponentCollectionIterator.php',
- 'PharIo\\Manifest\\BundlesElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/BundlesElement.php',
- 'PharIo\\Manifest\\ComponentElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ComponentElement.php',
- 'PharIo\\Manifest\\ComponentElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ComponentElementCollection.php',
- 'PharIo\\Manifest\\ContainsElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ContainsElement.php',
- 'PharIo\\Manifest\\CopyrightElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/CopyrightElement.php',
- 'PharIo\\Manifest\\CopyrightInformation' => __DIR__ . '/..' . '/phar-io/manifest/src/values/CopyrightInformation.php',
- 'PharIo\\Manifest\\ElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ElementCollection.php',
- 'PharIo\\Manifest\\ElementCollectionException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ElementCollectionException.php',
- 'PharIo\\Manifest\\Email' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Email.php',
- 'PharIo\\Manifest\\Exception' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/Exception.php',
- 'PharIo\\Manifest\\ExtElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ExtElement.php',
- 'PharIo\\Manifest\\ExtElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ExtElementCollection.php',
- 'PharIo\\Manifest\\Extension' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Extension.php',
- 'PharIo\\Manifest\\ExtensionElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ExtensionElement.php',
- 'PharIo\\Manifest\\InvalidApplicationNameException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php',
- 'PharIo\\Manifest\\InvalidEmailException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/InvalidEmailException.php',
- 'PharIo\\Manifest\\InvalidUrlException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/InvalidUrlException.php',
- 'PharIo\\Manifest\\Library' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Library.php',
- 'PharIo\\Manifest\\License' => __DIR__ . '/..' . '/phar-io/manifest/src/values/License.php',
- 'PharIo\\Manifest\\LicenseElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/LicenseElement.php',
- 'PharIo\\Manifest\\Manifest' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Manifest.php',
- 'PharIo\\Manifest\\ManifestDocument' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ManifestDocument.php',
- 'PharIo\\Manifest\\ManifestDocumentException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestDocumentException.php',
- 'PharIo\\Manifest\\ManifestDocumentLoadingException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestDocumentLoadingException.php',
- 'PharIo\\Manifest\\ManifestDocumentMapper' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestDocumentMapper.php',
- 'PharIo\\Manifest\\ManifestDocumentMapperException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php',
- 'PharIo\\Manifest\\ManifestElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ManifestElement.php',
- 'PharIo\\Manifest\\ManifestElementException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestElementException.php',
- 'PharIo\\Manifest\\ManifestLoader' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestLoader.php',
- 'PharIo\\Manifest\\ManifestLoaderException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestLoaderException.php',
- 'PharIo\\Manifest\\ManifestSerializer' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestSerializer.php',
- 'PharIo\\Manifest\\NoEmailAddressException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/NoEmailAddressException.php',
- 'PharIo\\Manifest\\PhpElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/PhpElement.php',
- 'PharIo\\Manifest\\PhpExtensionRequirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/PhpExtensionRequirement.php',
- 'PharIo\\Manifest\\PhpVersionRequirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/PhpVersionRequirement.php',
- 'PharIo\\Manifest\\Requirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Requirement.php',
- 'PharIo\\Manifest\\RequirementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/values/RequirementCollection.php',
- 'PharIo\\Manifest\\RequirementCollectionIterator' => __DIR__ . '/..' . '/phar-io/manifest/src/values/RequirementCollectionIterator.php',
- 'PharIo\\Manifest\\RequiresElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/RequiresElement.php',
- 'PharIo\\Manifest\\Type' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Type.php',
- 'PharIo\\Manifest\\Url' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Url.php',
- 'PharIo\\Version\\AbstractVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/AbstractVersionConstraint.php',
- 'PharIo\\Version\\AndVersionConstraintGroup' => __DIR__ . '/..' . '/phar-io/version/src/constraints/AndVersionConstraintGroup.php',
- 'PharIo\\Version\\AnyVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/AnyVersionConstraint.php',
- 'PharIo\\Version\\BuildMetaData' => __DIR__ . '/..' . '/phar-io/version/src/BuildMetaData.php',
- 'PharIo\\Version\\ExactVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/ExactVersionConstraint.php',
- 'PharIo\\Version\\Exception' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/Exception.php',
- 'PharIo\\Version\\GreaterThanOrEqualToVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php',
- 'PharIo\\Version\\InvalidPreReleaseSuffixException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php',
- 'PharIo\\Version\\InvalidVersionException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/InvalidVersionException.php',
- 'PharIo\\Version\\NoBuildMetaDataException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/NoBuildMetaDataException.php',
- 'PharIo\\Version\\NoPreReleaseSuffixException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/NoPreReleaseSuffixException.php',
- 'PharIo\\Version\\OrVersionConstraintGroup' => __DIR__ . '/..' . '/phar-io/version/src/constraints/OrVersionConstraintGroup.php',
- 'PharIo\\Version\\PreReleaseSuffix' => __DIR__ . '/..' . '/phar-io/version/src/PreReleaseSuffix.php',
- 'PharIo\\Version\\SpecificMajorAndMinorVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php',
- 'PharIo\\Version\\SpecificMajorVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php',
- 'PharIo\\Version\\UnsupportedVersionConstraintException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/UnsupportedVersionConstraintException.php',
- 'PharIo\\Version\\Version' => __DIR__ . '/..' . '/phar-io/version/src/Version.php',
- 'PharIo\\Version\\VersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/VersionConstraint.php',
- 'PharIo\\Version\\VersionConstraintParser' => __DIR__ . '/..' . '/phar-io/version/src/VersionConstraintParser.php',
- 'PharIo\\Version\\VersionConstraintValue' => __DIR__ . '/..' . '/phar-io/version/src/VersionConstraintValue.php',
- 'PharIo\\Version\\VersionNumber' => __DIR__ . '/..' . '/phar-io/version/src/VersionNumber.php',
- 'PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
- 'ReturnTypeWillChange' => __DIR__ . '/..' . '/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php',
- 'SebastianBergmann\\CliParser\\AmbiguousOptionException' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/AmbiguousOptionException.php',
- 'SebastianBergmann\\CliParser\\Exception' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/Exception.php',
- 'SebastianBergmann\\CliParser\\OptionDoesNotAllowArgumentException' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/OptionDoesNotAllowArgumentException.php',
- 'SebastianBergmann\\CliParser\\Parser' => __DIR__ . '/..' . '/sebastian/cli-parser/src/Parser.php',
- 'SebastianBergmann\\CliParser\\RequiredOptionArgumentMissingException' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/RequiredOptionArgumentMissingException.php',
- 'SebastianBergmann\\CliParser\\UnknownOptionException' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/UnknownOptionException.php',
- 'SebastianBergmann\\CodeCoverage\\BranchAndPathCoverageNotSupportedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/BranchAndPathCoverageNotSupportedException.php',
- 'SebastianBergmann\\CodeCoverage\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage.php',
- 'SebastianBergmann\\CodeCoverage\\DeadCodeDetectionNotSupportedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/DeadCodeDetectionNotSupportedException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Driver.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\PathExistsButIsNotDirectoryException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/PathExistsButIsNotDirectoryException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\PcovDriver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/PcovDriver.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\PcovNotAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/PcovNotAvailableException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\PhpdbgDriver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/PhpdbgDriver.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\PhpdbgNotAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/PhpdbgNotAvailableException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Selector' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Selector.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\WriteOperationFailedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/WriteOperationFailedException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\WrongXdebugVersionException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/WrongXdebugVersionException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug2Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Xdebug2Driver.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug2NotEnabledException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/Xdebug2NotEnabledException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug3Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Xdebug3Driver.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug3NotEnabledException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/Xdebug3NotEnabledException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\XdebugNotAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/XdebugNotAvailableException.php',
- 'SebastianBergmann\\CodeCoverage\\Exception' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/Exception.php',
- 'SebastianBergmann\\CodeCoverage\\Filter' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Filter.php',
- 'SebastianBergmann\\CodeCoverage\\InvalidArgumentException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php',
- 'SebastianBergmann\\CodeCoverage\\NoCodeCoverageDriverAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/NoCodeCoverageDriverAvailableException.php',
- 'SebastianBergmann\\CodeCoverage\\NoCodeCoverageDriverWithPathCoverageSupportAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/NoCodeCoverageDriverWithPathCoverageSupportAvailableException.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\AbstractNode' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/AbstractNode.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\Builder' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/Builder.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\CrapIndex' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/CrapIndex.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/Directory.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/File.php',
- 'SebastianBergmann\\CodeCoverage\\Node\\Iterator' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/Iterator.php',
- 'SebastianBergmann\\CodeCoverage\\ParserException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/ParserException.php',
- 'SebastianBergmann\\CodeCoverage\\ProcessedCodeCoverageData' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/ProcessedCodeCoverageData.php',
- 'SebastianBergmann\\CodeCoverage\\RawCodeCoverageData' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/RawCodeCoverageData.php',
- 'SebastianBergmann\\CodeCoverage\\ReflectionException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/ReflectionException.php',
- 'SebastianBergmann\\CodeCoverage\\ReportAlreadyFinalizedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/ReportAlreadyFinalizedException.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Clover' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Clover.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Cobertura' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Cobertura.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Crap4j' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Crap4j.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Dashboard' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Facade' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Facade.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Html\\File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Renderer' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\PHP' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/PHP.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Text' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Text.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\BuildInformation' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Coverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Coverage.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Directory.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Facade' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Facade.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/File.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Method' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Method.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Node.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Project' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Project.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Report' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Report.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Source' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Source.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Tests' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Tests.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Totals' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Totals.php',
- 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Unit' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Unit.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysisCacheNotConfiguredException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/StaticAnalysisCacheNotConfiguredException.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CacheWarmer' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CacheWarmer.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CachingFileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CodeUnitFindingVisitor' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ExecutableLinesFindingVisitor' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\FileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/FileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\IgnoredLinesFindingVisitor' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ParsingFileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\TestIdMissingException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/TestIdMissingException.php',
- 'SebastianBergmann\\CodeCoverage\\UnintentionallyCoveredCodeException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php',
- 'SebastianBergmann\\CodeCoverage\\Util\\DirectoryCouldNotBeCreatedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/DirectoryCouldNotBeCreatedException.php',
- 'SebastianBergmann\\CodeCoverage\\Util\\Filesystem' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Util/Filesystem.php',
- 'SebastianBergmann\\CodeCoverage\\Util\\Percentage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Util/Percentage.php',
- 'SebastianBergmann\\CodeCoverage\\Version' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Version.php',
- 'SebastianBergmann\\CodeCoverage\\XmlException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/XmlException.php',
- 'SebastianBergmann\\CodeUnitReverseLookup\\Wizard' => __DIR__ . '/..' . '/sebastian/code-unit-reverse-lookup/src/Wizard.php',
- 'SebastianBergmann\\CodeUnit\\ClassMethodUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/ClassMethodUnit.php',
- 'SebastianBergmann\\CodeUnit\\ClassUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/ClassUnit.php',
- 'SebastianBergmann\\CodeUnit\\CodeUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/CodeUnit.php',
- 'SebastianBergmann\\CodeUnit\\CodeUnitCollection' => __DIR__ . '/..' . '/sebastian/code-unit/src/CodeUnitCollection.php',
- 'SebastianBergmann\\CodeUnit\\CodeUnitCollectionIterator' => __DIR__ . '/..' . '/sebastian/code-unit/src/CodeUnitCollectionIterator.php',
- 'SebastianBergmann\\CodeUnit\\Exception' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/Exception.php',
- 'SebastianBergmann\\CodeUnit\\FunctionUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/FunctionUnit.php',
- 'SebastianBergmann\\CodeUnit\\InterfaceMethodUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/InterfaceMethodUnit.php',
- 'SebastianBergmann\\CodeUnit\\InterfaceUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/InterfaceUnit.php',
- 'SebastianBergmann\\CodeUnit\\InvalidCodeUnitException' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/InvalidCodeUnitException.php',
- 'SebastianBergmann\\CodeUnit\\Mapper' => __DIR__ . '/..' . '/sebastian/code-unit/src/Mapper.php',
- 'SebastianBergmann\\CodeUnit\\NoTraitException' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/NoTraitException.php',
- 'SebastianBergmann\\CodeUnit\\ReflectionException' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/ReflectionException.php',
- 'SebastianBergmann\\CodeUnit\\TraitMethodUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/TraitMethodUnit.php',
- 'SebastianBergmann\\CodeUnit\\TraitUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/TraitUnit.php',
- 'SebastianBergmann\\Comparator\\ArrayComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ArrayComparator.php',
- 'SebastianBergmann\\Comparator\\Comparator' => __DIR__ . '/..' . '/sebastian/comparator/src/Comparator.php',
- 'SebastianBergmann\\Comparator\\ComparisonFailure' => __DIR__ . '/..' . '/sebastian/comparator/src/ComparisonFailure.php',
- 'SebastianBergmann\\Comparator\\DOMNodeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DOMNodeComparator.php',
- 'SebastianBergmann\\Comparator\\DateTimeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DateTimeComparator.php',
- 'SebastianBergmann\\Comparator\\DoubleComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DoubleComparator.php',
- 'SebastianBergmann\\Comparator\\Exception' => __DIR__ . '/..' . '/sebastian/comparator/src/exceptions/Exception.php',
- 'SebastianBergmann\\Comparator\\ExceptionComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ExceptionComparator.php',
- 'SebastianBergmann\\Comparator\\Factory' => __DIR__ . '/..' . '/sebastian/comparator/src/Factory.php',
- 'SebastianBergmann\\Comparator\\MockObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/MockObjectComparator.php',
- 'SebastianBergmann\\Comparator\\NumericComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/NumericComparator.php',
- 'SebastianBergmann\\Comparator\\ObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ObjectComparator.php',
- 'SebastianBergmann\\Comparator\\ResourceComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ResourceComparator.php',
- 'SebastianBergmann\\Comparator\\RuntimeException' => __DIR__ . '/..' . '/sebastian/comparator/src/exceptions/RuntimeException.php',
- 'SebastianBergmann\\Comparator\\ScalarComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ScalarComparator.php',
- 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/SplObjectStorageComparator.php',
- 'SebastianBergmann\\Comparator\\TypeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/TypeComparator.php',
- 'SebastianBergmann\\Complexity\\Calculator' => __DIR__ . '/..' . '/sebastian/complexity/src/Calculator.php',
- 'SebastianBergmann\\Complexity\\Complexity' => __DIR__ . '/..' . '/sebastian/complexity/src/Complexity/Complexity.php',
- 'SebastianBergmann\\Complexity\\ComplexityCalculatingVisitor' => __DIR__ . '/..' . '/sebastian/complexity/src/Visitor/ComplexityCalculatingVisitor.php',
- 'SebastianBergmann\\Complexity\\ComplexityCollection' => __DIR__ . '/..' . '/sebastian/complexity/src/Complexity/ComplexityCollection.php',
- 'SebastianBergmann\\Complexity\\ComplexityCollectionIterator' => __DIR__ . '/..' . '/sebastian/complexity/src/Complexity/ComplexityCollectionIterator.php',
- 'SebastianBergmann\\Complexity\\CyclomaticComplexityCalculatingVisitor' => __DIR__ . '/..' . '/sebastian/complexity/src/Visitor/CyclomaticComplexityCalculatingVisitor.php',
- 'SebastianBergmann\\Complexity\\Exception' => __DIR__ . '/..' . '/sebastian/complexity/src/Exception/Exception.php',
- 'SebastianBergmann\\Complexity\\RuntimeException' => __DIR__ . '/..' . '/sebastian/complexity/src/Exception/RuntimeException.php',
- 'SebastianBergmann\\Diff\\Chunk' => __DIR__ . '/..' . '/sebastian/diff/src/Chunk.php',
- 'SebastianBergmann\\Diff\\ConfigurationException' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/ConfigurationException.php',
- 'SebastianBergmann\\Diff\\Diff' => __DIR__ . '/..' . '/sebastian/diff/src/Diff.php',
- 'SebastianBergmann\\Diff\\Differ' => __DIR__ . '/..' . '/sebastian/diff/src/Differ.php',
- 'SebastianBergmann\\Diff\\Exception' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/Exception.php',
- 'SebastianBergmann\\Diff\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/InvalidArgumentException.php',
- 'SebastianBergmann\\Diff\\Line' => __DIR__ . '/..' . '/sebastian/diff/src/Line.php',
- 'SebastianBergmann\\Diff\\LongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/LongestCommonSubsequenceCalculator.php',
- 'SebastianBergmann\\Diff\\MemoryEfficientLongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php',
- 'SebastianBergmann\\Diff\\Output\\AbstractChunkOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php',
- 'SebastianBergmann\\Diff\\Output\\DiffOnlyOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php',
- 'SebastianBergmann\\Diff\\Output\\DiffOutputBuilderInterface' => __DIR__ . '/..' . '/sebastian/diff/src/Output/DiffOutputBuilderInterface.php',
- 'SebastianBergmann\\Diff\\Output\\StrictUnifiedDiffOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php',
- 'SebastianBergmann\\Diff\\Output\\UnifiedDiffOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php',
- 'SebastianBergmann\\Diff\\Parser' => __DIR__ . '/..' . '/sebastian/diff/src/Parser.php',
- 'SebastianBergmann\\Diff\\TimeEfficientLongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php',
- 'SebastianBergmann\\Environment\\Console' => __DIR__ . '/..' . '/sebastian/environment/src/Console.php',
- 'SebastianBergmann\\Environment\\OperatingSystem' => __DIR__ . '/..' . '/sebastian/environment/src/OperatingSystem.php',
- 'SebastianBergmann\\Environment\\Runtime' => __DIR__ . '/..' . '/sebastian/environment/src/Runtime.php',
- 'SebastianBergmann\\Exporter\\Exporter' => __DIR__ . '/..' . '/sebastian/exporter/src/Exporter.php',
- 'SebastianBergmann\\FileIterator\\Facade' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Facade.php',
- 'SebastianBergmann\\FileIterator\\Factory' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Factory.php',
- 'SebastianBergmann\\FileIterator\\Iterator' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Iterator.php',
- 'SebastianBergmann\\GlobalState\\CodeExporter' => __DIR__ . '/..' . '/sebastian/global-state/src/CodeExporter.php',
- 'SebastianBergmann\\GlobalState\\Exception' => __DIR__ . '/..' . '/sebastian/global-state/src/exceptions/Exception.php',
- 'SebastianBergmann\\GlobalState\\ExcludeList' => __DIR__ . '/..' . '/sebastian/global-state/src/ExcludeList.php',
- 'SebastianBergmann\\GlobalState\\Restorer' => __DIR__ . '/..' . '/sebastian/global-state/src/Restorer.php',
- 'SebastianBergmann\\GlobalState\\RuntimeException' => __DIR__ . '/..' . '/sebastian/global-state/src/exceptions/RuntimeException.php',
- 'SebastianBergmann\\GlobalState\\Snapshot' => __DIR__ . '/..' . '/sebastian/global-state/src/Snapshot.php',
- 'SebastianBergmann\\Invoker\\Exception' => __DIR__ . '/..' . '/phpunit/php-invoker/src/exceptions/Exception.php',
- 'SebastianBergmann\\Invoker\\Invoker' => __DIR__ . '/..' . '/phpunit/php-invoker/src/Invoker.php',
- 'SebastianBergmann\\Invoker\\ProcessControlExtensionNotLoadedException' => __DIR__ . '/..' . '/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php',
- 'SebastianBergmann\\Invoker\\TimeoutException' => __DIR__ . '/..' . '/phpunit/php-invoker/src/exceptions/TimeoutException.php',
- 'SebastianBergmann\\LinesOfCode\\Counter' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Counter.php',
- 'SebastianBergmann\\LinesOfCode\\Exception' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/Exception.php',
- 'SebastianBergmann\\LinesOfCode\\IllogicalValuesException' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/IllogicalValuesException.php',
- 'SebastianBergmann\\LinesOfCode\\LineCountingVisitor' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/LineCountingVisitor.php',
- 'SebastianBergmann\\LinesOfCode\\LinesOfCode' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/LinesOfCode.php',
- 'SebastianBergmann\\LinesOfCode\\NegativeValueException' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/NegativeValueException.php',
- 'SebastianBergmann\\LinesOfCode\\RuntimeException' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/RuntimeException.php',
- 'SebastianBergmann\\ObjectEnumerator\\Enumerator' => __DIR__ . '/..' . '/sebastian/object-enumerator/src/Enumerator.php',
- 'SebastianBergmann\\ObjectEnumerator\\Exception' => __DIR__ . '/..' . '/sebastian/object-enumerator/src/Exception.php',
- 'SebastianBergmann\\ObjectEnumerator\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/object-enumerator/src/InvalidArgumentException.php',
- 'SebastianBergmann\\ObjectReflector\\Exception' => __DIR__ . '/..' . '/sebastian/object-reflector/src/Exception.php',
- 'SebastianBergmann\\ObjectReflector\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/object-reflector/src/InvalidArgumentException.php',
- 'SebastianBergmann\\ObjectReflector\\ObjectReflector' => __DIR__ . '/..' . '/sebastian/object-reflector/src/ObjectReflector.php',
- 'SebastianBergmann\\RecursionContext\\Context' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Context.php',
- 'SebastianBergmann\\RecursionContext\\Exception' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Exception.php',
- 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/recursion-context/src/InvalidArgumentException.php',
- 'SebastianBergmann\\ResourceOperations\\ResourceOperations' => __DIR__ . '/..' . '/sebastian/resource-operations/src/ResourceOperations.php',
- 'SebastianBergmann\\Template\\Exception' => __DIR__ . '/..' . '/phpunit/php-text-template/src/exceptions/Exception.php',
- 'SebastianBergmann\\Template\\InvalidArgumentException' => __DIR__ . '/..' . '/phpunit/php-text-template/src/exceptions/InvalidArgumentException.php',
- 'SebastianBergmann\\Template\\RuntimeException' => __DIR__ . '/..' . '/phpunit/php-text-template/src/exceptions/RuntimeException.php',
- 'SebastianBergmann\\Template\\Template' => __DIR__ . '/..' . '/phpunit/php-text-template/src/Template.php',
- 'SebastianBergmann\\Timer\\Duration' => __DIR__ . '/..' . '/phpunit/php-timer/src/Duration.php',
- 'SebastianBergmann\\Timer\\Exception' => __DIR__ . '/..' . '/phpunit/php-timer/src/exceptions/Exception.php',
- 'SebastianBergmann\\Timer\\NoActiveTimerException' => __DIR__ . '/..' . '/phpunit/php-timer/src/exceptions/NoActiveTimerException.php',
- 'SebastianBergmann\\Timer\\ResourceUsageFormatter' => __DIR__ . '/..' . '/phpunit/php-timer/src/ResourceUsageFormatter.php',
- 'SebastianBergmann\\Timer\\TimeSinceStartOfRequestNotAvailableException' => __DIR__ . '/..' . '/phpunit/php-timer/src/exceptions/TimeSinceStartOfRequestNotAvailableException.php',
- 'SebastianBergmann\\Timer\\Timer' => __DIR__ . '/..' . '/phpunit/php-timer/src/Timer.php',
- 'SebastianBergmann\\Type\\CallableType' => __DIR__ . '/..' . '/sebastian/type/src/type/CallableType.php',
- 'SebastianBergmann\\Type\\Exception' => __DIR__ . '/..' . '/sebastian/type/src/exception/Exception.php',
- 'SebastianBergmann\\Type\\FalseType' => __DIR__ . '/..' . '/sebastian/type/src/type/FalseType.php',
- 'SebastianBergmann\\Type\\GenericObjectType' => __DIR__ . '/..' . '/sebastian/type/src/type/GenericObjectType.php',
- 'SebastianBergmann\\Type\\IntersectionType' => __DIR__ . '/..' . '/sebastian/type/src/type/IntersectionType.php',
- 'SebastianBergmann\\Type\\IterableType' => __DIR__ . '/..' . '/sebastian/type/src/type/IterableType.php',
- 'SebastianBergmann\\Type\\MixedType' => __DIR__ . '/..' . '/sebastian/type/src/type/MixedType.php',
- 'SebastianBergmann\\Type\\NeverType' => __DIR__ . '/..' . '/sebastian/type/src/type/NeverType.php',
- 'SebastianBergmann\\Type\\NullType' => __DIR__ . '/..' . '/sebastian/type/src/type/NullType.php',
- 'SebastianBergmann\\Type\\ObjectType' => __DIR__ . '/..' . '/sebastian/type/src/type/ObjectType.php',
- 'SebastianBergmann\\Type\\Parameter' => __DIR__ . '/..' . '/sebastian/type/src/Parameter.php',
- 'SebastianBergmann\\Type\\ReflectionMapper' => __DIR__ . '/..' . '/sebastian/type/src/ReflectionMapper.php',
- 'SebastianBergmann\\Type\\RuntimeException' => __DIR__ . '/..' . '/sebastian/type/src/exception/RuntimeException.php',
- 'SebastianBergmann\\Type\\SimpleType' => __DIR__ . '/..' . '/sebastian/type/src/type/SimpleType.php',
- 'SebastianBergmann\\Type\\StaticType' => __DIR__ . '/..' . '/sebastian/type/src/type/StaticType.php',
- 'SebastianBergmann\\Type\\TrueType' => __DIR__ . '/..' . '/sebastian/type/src/type/TrueType.php',
- 'SebastianBergmann\\Type\\Type' => __DIR__ . '/..' . '/sebastian/type/src/type/Type.php',
- 'SebastianBergmann\\Type\\TypeName' => __DIR__ . '/..' . '/sebastian/type/src/TypeName.php',
- 'SebastianBergmann\\Type\\UnionType' => __DIR__ . '/..' . '/sebastian/type/src/type/UnionType.php',
- 'SebastianBergmann\\Type\\UnknownType' => __DIR__ . '/..' . '/sebastian/type/src/type/UnknownType.php',
- 'SebastianBergmann\\Type\\VoidType' => __DIR__ . '/..' . '/sebastian/type/src/type/VoidType.php',
- 'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php',
- 'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
- 'TheSeer\\Tokenizer\\Exception' => __DIR__ . '/..' . '/theseer/tokenizer/src/Exception.php',
- 'TheSeer\\Tokenizer\\NamespaceUri' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUri.php',
- 'TheSeer\\Tokenizer\\NamespaceUriException' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUriException.php',
- 'TheSeer\\Tokenizer\\Token' => __DIR__ . '/..' . '/theseer/tokenizer/src/Token.php',
- 'TheSeer\\Tokenizer\\TokenCollection' => __DIR__ . '/..' . '/theseer/tokenizer/src/TokenCollection.php',
- 'TheSeer\\Tokenizer\\TokenCollectionException' => __DIR__ . '/..' . '/theseer/tokenizer/src/TokenCollectionException.php',
- 'TheSeer\\Tokenizer\\Tokenizer' => __DIR__ . '/..' . '/theseer/tokenizer/src/Tokenizer.php',
- 'TheSeer\\Tokenizer\\XMLSerializer' => __DIR__ . '/..' . '/theseer/tokenizer/src/XMLSerializer.php',
- 'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
- 'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
'phpCAS' => __DIR__ . '/..' . '/apereo/phpcas/source/CAS.php',
);
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 0f24216c..1cce4015 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -74,420 +74,25 @@
},
"install-path": "../apereo/phpcas"
},
- {
- "name": "composer/pcre",
- "version": "3.1.2",
- "version_normalized": "3.1.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/pcre.git",
- "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/4775f35b2d70865807c89d32c8e7385b86eb0ace",
- "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace",
- "shasum": ""
- },
- "require": {
- "php": "^7.4 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.3",
- "phpstan/phpstan-strict-rules": "^1.1",
- "symfony/phpunit-bridge": "^5"
- },
- "time": "2024-03-07T15:38:35+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Composer\\Pcre\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
- "keywords": [
- "PCRE",
- "preg",
- "regex",
- "regular expression"
- ],
- "support": {
- "issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.1.2"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "install-path": "./pcre"
- },
- {
- "name": "composer/semver",
- "version": "3.4.0",
- "version_normalized": "3.4.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/semver.git",
- "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32",
- "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.2 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.4",
- "symfony/phpunit-bridge": "^4.2 || ^5"
- },
- "time": "2023-08-31T09:50:34+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Composer\\Semver\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nils Adermann",
- "email": "naderman@naderman.de",
- "homepage": "http://www.naderman.de"
- },
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- },
- {
- "name": "Rob Bast",
- "email": "rob.bast@gmail.com",
- "homepage": "http://robbast.nl"
- }
- ],
- "description": "Semver library that offers utilities, version constraint parsing and validation.",
- "keywords": [
- "semantic",
- "semver",
- "validation",
- "versioning"
- ],
- "support": {
- "irc": "ircs://irc.libera.chat:6697/composer",
- "issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.4.0"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "install-path": "./semver"
- },
- {
- "name": "composer/xdebug-handler",
- "version": "3.0.3",
- "version_normalized": "3.0.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/xdebug-handler.git",
- "reference": "ced299686f41dce890debac69273b47ffe98a40c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c",
- "reference": "ced299686f41dce890debac69273b47ffe98a40c",
- "shasum": ""
- },
- "require": {
- "composer/pcre": "^1 || ^2 || ^3",
- "php": "^7.2.5 || ^8.0",
- "psr/log": "^1 || ^2 || ^3"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.1",
- "symfony/phpunit-bridge": "^6.0"
- },
- "time": "2022-02-25T21:32:43+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Composer\\XdebugHandler\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "John Stevenson",
- "email": "john-stevenson@blueyonder.co.uk"
- }
- ],
- "description": "Restarts a process without Xdebug.",
- "keywords": [
- "Xdebug",
- "performance"
- ],
- "support": {
- "irc": "irc://irc.freenode.org/composer",
- "issues": "https://github.com/composer/xdebug-handler/issues",
- "source": "https://github.com/composer/xdebug-handler/tree/3.0.3"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "install-path": "./xdebug-handler"
- },
- {
- "name": "doctrine/instantiator",
- "version": "2.0.0",
- "version_normalized": "2.0.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "shasum": ""
- },
- "require": {
- "php": "^8.1"
- },
- "require-dev": {
- "doctrine/coding-standard": "^11",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^1.2",
- "phpstan/phpstan": "^1.9.4",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5.27",
- "vimeo/psalm": "^5.4"
- },
- "time": "2022-12-30T00:23:10+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "https://ocramius.github.io/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "support": {
- "issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
- "type": "tidelift"
- }
- ],
- "install-path": "../doctrine/instantiator"
- },
- {
- "name": "friendsofphp/php-cs-fixer",
- "version": "v3.51.0",
- "version_normalized": "3.51.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
- "reference": "127fa74f010da99053e3f5b62672615b72dd6efd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/127fa74f010da99053e3f5b62672615b72dd6efd",
- "reference": "127fa74f010da99053e3f5b62672615b72dd6efd",
- "shasum": ""
- },
- "require": {
- "composer/semver": "^3.4",
- "composer/xdebug-handler": "^3.0.3",
- "ext-filter": "*",
- "ext-json": "*",
- "ext-tokenizer": "*",
- "php": "^7.4 || ^8.0",
- "sebastian/diff": "^4.0 || ^5.0 || ^6.0",
- "symfony/console": "^5.4 || ^6.0 || ^7.0",
- "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0",
- "symfony/filesystem": "^5.4 || ^6.0 || ^7.0",
- "symfony/finder": "^5.4 || ^6.0 || ^7.0",
- "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0",
- "symfony/polyfill-mbstring": "^1.28",
- "symfony/polyfill-php80": "^1.28",
- "symfony/polyfill-php81": "^1.28",
- "symfony/process": "^5.4 || ^6.0 || ^7.0",
- "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
- },
- "require-dev": {
- "facile-it/paraunit": "^1.3 || ^2.0",
- "justinrainbow/json-schema": "^5.2",
- "keradus/cli-executor": "^2.1",
- "mikey179/vfsstream": "^1.6.11",
- "php-coveralls/php-coveralls": "^2.7",
- "php-cs-fixer/accessible-object": "^1.1",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4",
- "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2",
- "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0",
- "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
- },
- "suggest": {
- "ext-dom": "For handling output formats in XML",
- "ext-mbstring": "For handling non-UTF8 characters."
- },
- "time": "2024-02-28T19:50:06+00:00",
- "bin": [
- "php-cs-fixer"
- ],
- "type": "application",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "PhpCsFixer\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Dariusz Rumiński",
- "email": "dariusz.ruminski@gmail.com"
- }
- ],
- "description": "A tool to automatically fix PHP code style",
- "keywords": [
- "Static code analysis",
- "fixer",
- "standards",
- "static analysis"
- ],
- "support": {
- "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.51.0"
- },
- "funding": [
- {
- "url": "https://github.com/keradus",
- "type": "github"
- }
- ],
- "install-path": "../friendsofphp/php-cs-fixer"
- },
{
"name": "guzzlehttp/guzzle",
- "version": "7.8.1",
- "version_normalized": "7.8.1.0",
+ "version": "7.9.2",
+ "version_normalized": "7.9.2.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "41042bc7ab002487b876a0683fc8dce04ddce104"
+ "reference": "d281ed313b989f213357e3be1a179f02196ac99b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104",
- "reference": "41042bc7ab002487b876a0683fc8dce04ddce104",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b",
+ "reference": "d281ed313b989f213357e3be1a179f02196ac99b",
"shasum": ""
},
"require": {
"ext-json": "*",
- "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
- "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
+ "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
+ "guzzlehttp/psr7": "^2.7.0",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -498,9 +103,9 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"ext-curl": "*",
- "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
+ "guzzle/client-integration-tests": "3.0.2",
"php-http/message-factory": "^1.1",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
@@ -508,7 +113,7 @@
"ext-intl": "Required for Internationalized Domain Name (IDN) support",
"psr/log": "Required for using the Log middleware"
},
- "time": "2023-12-03T20:35:24+00:00",
+ "time": "2024-07-24T11:22:20+00:00",
"type": "library",
"extra": {
"bamarni-bin": {
@@ -580,7 +185,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.8.1"
+ "source": "https://github.com/guzzle/guzzle/tree/7.9.2"
},
"funding": [
{
@@ -600,17 +205,17 @@
},
{
"name": "guzzlehttp/promises",
- "version": "2.0.2",
- "version_normalized": "2.0.2.0",
+ "version": "2.0.3",
+ "version_normalized": "2.0.3.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223"
+ "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223",
- "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
+ "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
"shasum": ""
},
"require": {
@@ -618,9 +223,9 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
- "time": "2023-12-03T20:19:20+00:00",
+ "time": "2024-07-18T10:29:17+00:00",
"type": "library",
"extra": {
"bamarni-bin": {
@@ -666,7 +271,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.0.2"
+ "source": "https://github.com/guzzle/promises/tree/2.0.3"
},
"funding": [
{
@@ -686,17 +291,17 @@
},
{
"name": "guzzlehttp/psr7",
- "version": "2.6.2",
- "version_normalized": "2.6.2.0",
+ "version": "2.7.0",
+ "version_normalized": "2.7.0.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
- "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
"shasum": ""
},
"require": {
@@ -711,13 +316,13 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "http-interop/http-factory-tests": "^0.9",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+ "http-interop/http-factory-tests": "0.9.0",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
- "time": "2023-12-03T20:05:35+00:00",
+ "time": "2024-07-18T11:15:46+00:00",
"type": "library",
"extra": {
"bamarni-bin": {
@@ -785,7 +390,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.6.2"
+ "source": "https://github.com/guzzle/psr7/tree/2.7.0"
},
"funding": [
{
@@ -804,91 +409,42 @@
"install-path": "../guzzlehttp/psr7"
},
{
- "name": "kubawerlos/php-cs-fixer-custom-fixers",
- "version": "v3.21.0",
- "version_normalized": "3.21.0.0",
+ "name": "league/oauth2-client",
+ "version": "2.7.0",
+ "version_normalized": "2.7.0.0",
"source": {
"type": "git",
- "url": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers.git",
- "reference": "3d1bb75be0df6c6fba4487c75b9e425a2c1d27c9"
+ "url": "https://github.com/thephpleague/oauth2-client.git",
+ "reference": "160d6274b03562ebeb55ed18399281d8118b76c8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/kubawerlos/php-cs-fixer-custom-fixers/zipball/3d1bb75be0df6c6fba4487c75b9e425a2c1d27c9",
- "reference": "3d1bb75be0df6c6fba4487c75b9e425a2c1d27c9",
+ "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/160d6274b03562ebeb55ed18399281d8118b76c8",
+ "reference": "160d6274b03562ebeb55ed18399281d8118b76c8",
"shasum": ""
},
"require": {
- "ext-filter": "*",
- "ext-tokenizer": "*",
- "friendsofphp/php-cs-fixer": "^3.50",
- "php": "^7.4 || ^8.0"
+ "guzzlehttp/guzzle": "^6.0 || ^7.0",
+ "paragonie/random_compat": "^1 || ^2 || ^9.99",
+ "php": "^5.6 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.6.4 || ^10.0.14"
+ "mockery/mockery": "^1.3.5",
+ "php-parallel-lint/php-parallel-lint": "^1.3.1",
+ "phpunit/phpunit": "^5.7 || ^6.0 || ^9.5",
+ "squizlabs/php_codesniffer": "^2.3 || ^3.0"
},
- "time": "2024-02-24T08:53:34+00:00",
+ "time": "2023-04-16T18:19:15+00:00",
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-2.x": "2.0.x-dev"
+ }
+ },
"installation-source": "dist",
"autoload": {
"psr-4": {
- "PhpCsFixerCustomFixers\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Kuba Werłos",
- "email": "werlos@gmail.com"
- }
- ],
- "description": "A set of custom fixers for PHP CS Fixer",
- "support": {
- "issues": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/issues",
- "source": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/tree/v3.21.0"
- },
- "install-path": "../kubawerlos/php-cs-fixer-custom-fixers"
- },
- {
- "name": "league/oauth2-client",
- "version": "2.7.0",
- "version_normalized": "2.7.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/oauth2-client.git",
- "reference": "160d6274b03562ebeb55ed18399281d8118b76c8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/160d6274b03562ebeb55ed18399281d8118b76c8",
- "reference": "160d6274b03562ebeb55ed18399281d8118b76c8",
- "shasum": ""
- },
- "require": {
- "guzzlehttp/guzzle": "^6.0 || ^7.0",
- "paragonie/random_compat": "^1 || ^2 || ^9.99",
- "php": "^5.6 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.3.5",
- "php-parallel-lint/php-parallel-lint": "^1.3.1",
- "phpunit/phpunit": "^5.7 || ^6.0 || ^9.5",
- "squizlabs/php_codesniffer": "^2.3 || ^3.0"
- },
- "time": "2023-04-16T18:19:15+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-2.x": "2.0.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "League\\OAuth2\\Client\\": "src/"
+ "League\\OAuth2\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -926,185 +482,140 @@
"install-path": "../league/oauth2-client"
},
{
- "name": "myclabs/deep-copy",
- "version": "1.11.1",
- "version_normalized": "1.11.1.0",
+ "name": "onelogin/php-saml",
+ "version": "3.7.0",
+ "version_normalized": "3.7.0.0",
"source": {
"type": "git",
- "url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+ "url": "https://github.com/SAML-Toolkits/php-saml.git",
+ "reference": "91c1a3b3e2390aba9facc64ba81b407a50962ebb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "url": "https://api.github.com/repos/SAML-Toolkits/php-saml/zipball/91c1a3b3e2390aba9facc64ba81b407a50962ebb",
+ "reference": "91c1a3b3e2390aba9facc64ba81b407a50962ebb",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "doctrine/collections": "<1.6.8",
- "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+ "php": ">=5.4",
+ "robrichards/xmlseclibs": ">=3.1.1"
},
"require-dev": {
- "doctrine/collections": "^1.6.8",
- "doctrine/common": "^2.13.3 || ^3.2.2",
- "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
+ "pdepend/pdepend": "^2.5.0",
+ "php-coveralls/php-coveralls": "^1.0.2 || ^2.0",
+ "phploc/phploc": "^2.1 || ^3.0 || ^4.0",
+ "phpunit/phpunit": "<7.5.18",
+ "sebastian/phpcpd": "^2.0 || ^3.0 || ^4.0",
+ "squizlabs/php_codesniffer": "^3.1.1"
+ },
+ "suggest": {
+ "ext-curl": "Install curl lib to be able to use the IdPMetadataParser for parsing remote XMLs",
+ "ext-gettext": "Install gettext and php5-gettext libs to handle translations",
+ "ext-openssl": "Install openssl lib in order to handle with x509 certs (require to support sign and encryption)"
},
- "time": "2023-03-08T13:26:56+00:00",
+ "time": "2024-05-30T15:14:26+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
- "files": [
- "src/DeepCopy/deep_copy.php"
- ],
"psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
+ "OneLogin\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Create deep copies (clones) of your objects",
+ "description": "PHP SAML Toolkit",
+ "homepage": "https://github.com/SAML-Toolkits/php-saml",
"keywords": [
- "clone",
- "copy",
- "duplicate",
- "object",
- "object graph"
+ "Federation",
+ "SAML2",
+ "SSO",
+ "identity",
+ "saml"
],
"support": {
- "issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+ "email": "sixto.martin.garcia@gmail.com",
+ "issues": "https://github.com/onelogin/SAML-Toolkits/issues",
+ "source": "https://github.com/onelogin/SAML-Toolkits/"
},
"funding": [
{
- "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
- "type": "tidelift"
+ "url": "https://github.com/SAML-Toolkits",
+ "type": "github"
}
],
- "install-path": "../myclabs/deep-copy"
+ "install-path": "../onelogin/php-saml"
},
{
- "name": "nikic/php-parser",
- "version": "v5.0.2",
- "version_normalized": "5.0.2.0",
+ "name": "paragonie/constant_time_encoding",
+ "version": "v3.0.0",
+ "version_normalized": "3.0.0.0",
"source": {
"type": "git",
- "url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13"
+ "url": "https://github.com/paragonie/constant_time_encoding.git",
+ "reference": "df1e7fde177501eee2037dd159cf04f5f301a512"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13",
- "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13",
+ "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512",
+ "reference": "df1e7fde177501eee2037dd159cf04f5f301a512",
"shasum": ""
},
"require": {
- "ext-ctype": "*",
- "ext-json": "*",
- "ext-tokenizer": "*",
- "php": ">=7.4"
+ "php": "^8"
},
"require-dev": {
- "ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^9",
+ "vimeo/psalm": "^4|^5"
},
- "time": "2024-03-05T20:51:40+00:00",
- "bin": [
- "bin/php-parse"
- ],
+ "time": "2024-05-08T12:36:18+00:00",
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.0-dev"
- }
- },
"installation-source": "dist",
"autoload": {
"psr-4": {
- "PhpParser\\": "lib/PhpParser"
+ "ParagonIE\\ConstantTime\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Nikita Popov"
- }
- ],
- "description": "A PHP parser written in PHP",
- "keywords": [
- "parser",
- "php"
- ],
- "support": {
- "issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2"
- },
- "install-path": "../nikic/php-parser"
- },
- {
- "name": "onelogin/php-saml",
- "version": "3.6.1",
- "version_normalized": "3.6.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/onelogin/php-saml.git",
- "reference": "a7328b11887660ad248ea10952dd67a5aa73ba3b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/onelogin/php-saml/zipball/a7328b11887660ad248ea10952dd67a5aa73ba3b",
- "reference": "a7328b11887660ad248ea10952dd67a5aa73ba3b",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4",
- "robrichards/xmlseclibs": ">=3.1.1"
- },
- "require-dev": {
- "pdepend/pdepend": "^2.5.0",
- "php-coveralls/php-coveralls": "^1.0.2 || ^2.0",
- "phploc/phploc": "^2.1 || ^3.0 || ^4.0",
- "phpunit/phpunit": "<7.5.18",
- "sebastian/phpcpd": "^2.0 || ^3.0 || ^4.0",
- "squizlabs/php_codesniffer": "^3.1.1"
- },
- "suggest": {
- "ext-curl": "Install curl lib to be able to use the IdPMetadataParser for parsing remote XMLs",
- "ext-gettext": "Install gettext and php5-gettext libs to handle translations",
- "ext-openssl": "Install openssl lib in order to handle with x509 certs (require to support sign and encryption)"
- },
- "time": "2021-03-02T10:13:07+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "OneLogin\\": "src/"
+ "name": "Paragon Initiative Enterprises",
+ "email": "security@paragonie.com",
+ "homepage": "https://paragonie.com",
+ "role": "Maintainer"
+ },
+ {
+ "name": "Steve 'Sc00bz' Thomas",
+ "email": "steve@tobtu.com",
+ "homepage": "https://www.tobtu.com",
+ "role": "Original Developer"
}
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
],
- "description": "OneLogin PHP SAML Toolkit",
- "homepage": "https://developers.onelogin.com/saml/php",
+ "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)",
"keywords": [
- "SAML2",
- "onelogin",
- "saml"
+ "base16",
+ "base32",
+ "base32_decode",
+ "base32_encode",
+ "base64",
+ "base64_decode",
+ "base64_encode",
+ "bin2hex",
+ "encoding",
+ "hex",
+ "hex2bin",
+ "rfc4648"
],
"support": {
- "email": "sixto.garcia@onelogin.com",
- "issues": "https://github.com/onelogin/php-saml/issues",
- "source": "https://github.com/onelogin/php-saml/"
+ "email": "info@paragonie.com",
+ "issues": "https://github.com/paragonie/constant_time_encoding/issues",
+ "source": "https://github.com/paragonie/constant_time_encoding"
},
- "install-path": "../onelogin/php-saml"
+ "install-path": "../paragonie/constant_time_encoding"
},
{
"name": "paragonie/random_compat",
@@ -1160,2942 +671,304 @@
"install-path": "../paragonie/random_compat"
},
{
- "name": "phar-io/manifest",
- "version": "2.0.4",
- "version_normalized": "2.0.4.0",
+ "name": "psr/clock",
+ "version": "1.0.0",
+ "version_normalized": "1.0.0.0",
"source": {
"type": "git",
- "url": "https://github.com/phar-io/manifest.git",
- "reference": "54750ef60c58e43759730615a392c31c80e23176"
+ "url": "https://github.com/php-fig/clock.git",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
- "reference": "54750ef60c58e43759730615a392c31c80e23176",
+ "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "ext-phar": "*",
- "ext-xmlwriter": "*",
- "phar-io/version": "^3.0.1",
- "php": "^7.2 || ^8.0"
+ "php": "^7.0 || ^8.0"
},
- "time": "2024-03-03T12:33:53+00:00",
+ "time": "2022-11-25T14:36:26+00:00",
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
"installation-source": "dist",
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Psr\\Clock\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "description": "Common interface for reading the clock.",
+ "homepage": "https://github.com/php-fig/clock",
+ "keywords": [
+ "clock",
+ "now",
+ "psr",
+ "psr-20",
+ "time"
+ ],
"support": {
- "issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/2.0.4"
+ "issues": "https://github.com/php-fig/clock/issues",
+ "source": "https://github.com/php-fig/clock/tree/1.0.0"
},
- "funding": [
- {
- "url": "https://github.com/theseer",
- "type": "github"
- }
- ],
- "install-path": "../phar-io/manifest"
+ "install-path": "../psr/clock"
},
{
- "name": "phar-io/version",
- "version": "3.2.1",
- "version_normalized": "3.2.1.0",
+ "name": "psr/http-client",
+ "version": "1.0.3",
+ "version_normalized": "1.0.3.0",
"source": {
"type": "git",
- "url": "https://github.com/phar-io/version.git",
- "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ "url": "https://github.com/php-fig/http-client.git",
+ "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
- "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
+ "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": "^7.0 || ^8.0",
+ "psr/http-message": "^1.0 || ^2.0"
},
- "time": "2022-02-21T01:04:05+00:00",
+ "time": "2023-09-23T14:17:50+00:00",
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
"installation-source": "dist",
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Psr\\Http\\Client\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "Library for handling version information and constraints",
+ "description": "Common interface for HTTP clients",
+ "homepage": "https://github.com/php-fig/http-client",
+ "keywords": [
+ "http",
+ "http-client",
+ "psr",
+ "psr-18"
+ ],
"support": {
- "issues": "https://github.com/phar-io/version/issues",
- "source": "https://github.com/phar-io/version/tree/3.2.1"
+ "source": "https://github.com/php-fig/http-client"
},
- "install-path": "../phar-io/version"
+ "install-path": "../psr/http-client"
},
{
- "name": "phpunit/php-code-coverage",
- "version": "9.2.31",
- "version_normalized": "9.2.31.0",
+ "name": "psr/http-factory",
+ "version": "1.1.0",
+ "version_normalized": "1.1.0.0",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965"
+ "url": "https://github.com/php-fig/http-factory.git",
+ "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965",
- "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965",
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
+ "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "ext-xmlwriter": "*",
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.3",
- "phpunit/php-text-template": "^2.0.2",
- "sebastian/code-unit-reverse-lookup": "^2.0.2",
- "sebastian/complexity": "^2.0",
- "sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0.3",
- "sebastian/version": "^3.0.1",
- "theseer/tokenizer": "^1.2.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-pcov": "PHP extension that provides line coverage",
- "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+ "php": ">=7.1",
+ "psr/http-message": "^1.0 || ^2.0"
},
- "time": "2024-03-02T06:37:42+00:00",
+ "time": "2024-04-15T12:06:14+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.2-dev"
+ "dev-master": "1.0.x-dev"
}
},
"installation-source": "dist",
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
- "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+ "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
"keywords": [
- "coverage",
- "testing",
- "xunit"
+ "factory",
+ "http",
+ "message",
+ "psr",
+ "psr-17",
+ "psr-7",
+ "request",
+ "response"
],
"support": {
- "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31"
+ "source": "https://github.com/php-fig/http-factory"
},
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../phpunit/php-code-coverage"
+ "install-path": "../psr/http-factory"
},
{
- "name": "phpunit/php-file-iterator",
- "version": "3.0.6",
- "version_normalized": "3.0.6.0",
+ "name": "ralouphie/getallheaders",
+ "version": "3.0.3",
+ "version_normalized": "3.0.3.0",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ "url": "https://github.com/ralouphie/getallheaders.git",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=5.6"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "php-coveralls/php-coveralls": "^2.1",
+ "phpunit/phpunit": "^5 || ^6.5"
},
- "time": "2021-12-02T12:48:52+00:00",
+ "time": "2019-03-08T08:55:37+00:00",
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
"installation-source": "dist",
"autoload": {
- "classmap": [
- "src/"
+ "files": [
+ "src/getallheaders.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "Ralph Khattar",
+ "email": "ralph.khattar@gmail.com"
}
],
- "description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
- "keywords": [
- "filesystem",
- "iterator"
- ],
+ "description": "A polyfill for getallheaders.",
"support": {
- "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../phpunit/php-file-iterator"
- },
- {
- "name": "phpunit/php-invoker",
- "version": "3.1.1",
- "version_normalized": "3.1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "ext-pcntl": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-pcntl": "*"
- },
- "time": "2020-09-28T05:58:55+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Invoke callables with a timeout",
- "homepage": "https://github.com/sebastianbergmann/php-invoker/",
- "keywords": [
- "process"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../phpunit/php-invoker"
- },
- {
- "name": "phpunit/php-text-template",
- "version": "2.0.4",
- "version_normalized": "2.0.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2020-10-26T05:33:50+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../phpunit/php-text-template"
- },
- {
- "name": "phpunit/php-timer",
- "version": "5.0.3",
- "version_normalized": "5.0.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2020-10-26T13:16:10+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
- "keywords": [
- "timer"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../phpunit/php-timer"
- },
- {
- "name": "phpunit/phpunit",
- "version": "9.6.17",
- "version_normalized": "9.6.17.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "1a156980d78a6666721b7e8e8502fe210b587fcd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1a156980d78a6666721b7e8e8502fe210b587fcd",
- "reference": "1a156980d78a6666721b7e8e8502fe210b587fcd",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.3.1 || ^2",
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-xml": "*",
- "ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.3",
- "phar-io/version": "^3.0.2",
- "php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.28",
- "phpunit/php-file-iterator": "^3.0.5",
- "phpunit/php-invoker": "^3.1.1",
- "phpunit/php-text-template": "^2.0.3",
- "phpunit/php-timer": "^5.0.2",
- "sebastian/cli-parser": "^1.0.1",
- "sebastian/code-unit": "^1.0.6",
- "sebastian/comparator": "^4.0.8",
- "sebastian/diff": "^4.0.3",
- "sebastian/environment": "^5.1.3",
- "sebastian/exporter": "^4.0.5",
- "sebastian/global-state": "^5.0.1",
- "sebastian/object-enumerator": "^4.0.3",
- "sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^3.2",
- "sebastian/version": "^3.0.2"
- },
- "suggest": {
- "ext-soap": "To be able to generate mocks based on WSDL files",
- "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
- },
- "time": "2024-02-23T13:14:51+00:00",
- "bin": [
- "phpunit"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "9.6-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "files": [
- "src/Framework/Assert/Functions.php"
- ],
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.17"
- },
- "funding": [
- {
- "url": "https://phpunit.de/sponsors.html",
- "type": "custom"
- },
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
- "type": "tidelift"
- }
- ],
- "install-path": "../phpunit/phpunit"
- },
- {
- "name": "psr/event-dispatcher",
- "version": "1.0.0",
- "version_normalized": "1.0.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/event-dispatcher.git",
- "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
- "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.0"
- },
- "time": "2019-01-08T18:20:26+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Psr\\EventDispatcher\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Standard interfaces for event handling.",
- "keywords": [
- "events",
- "psr",
- "psr-14"
- ],
- "support": {
- "issues": "https://github.com/php-fig/event-dispatcher/issues",
- "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
- },
- "install-path": "../psr/event-dispatcher"
- },
- {
- "name": "psr/http-client",
- "version": "1.0.3",
- "version_normalized": "1.0.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-client.git",
- "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
- "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
- "shasum": ""
- },
- "require": {
- "php": "^7.0 || ^8.0",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "time": "2023-09-23T14:17:50+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Client\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for HTTP clients",
- "homepage": "https://github.com/php-fig/http-client",
- "keywords": [
- "http",
- "http-client",
- "psr",
- "psr-18"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-client"
- },
- "install-path": "../psr/http-client"
- },
- {
- "name": "psr/http-factory",
- "version": "1.0.2",
- "version_normalized": "1.0.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-factory.git",
- "reference": "e616d01114759c4c489f93b099585439f795fe35"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
- "reference": "e616d01114759c4c489f93b099585439f795fe35",
- "shasum": ""
- },
- "require": {
- "php": ">=7.0.0",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "time": "2023-04-10T20:10:41+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interfaces for PSR-7 HTTP message factories",
- "keywords": [
- "factory",
- "http",
- "message",
- "psr",
- "psr-17",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-factory/tree/1.0.2"
- },
- "install-path": "../psr/http-factory"
- },
- {
- "name": "ralouphie/getallheaders",
- "version": "3.0.3",
- "version_normalized": "3.0.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/ralouphie/getallheaders.git",
- "reference": "120b605dfeb996808c31b6477290a714d356e822"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
- "reference": "120b605dfeb996808c31b6477290a714d356e822",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^5 || ^6.5"
- },
- "time": "2019-03-08T08:55:37+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "files": [
- "src/getallheaders.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ralph Khattar",
- "email": "ralph.khattar@gmail.com"
- }
- ],
- "description": "A polyfill for getallheaders.",
- "support": {
- "issues": "https://github.com/ralouphie/getallheaders/issues",
- "source": "https://github.com/ralouphie/getallheaders/tree/develop"
- },
- "install-path": "../ralouphie/getallheaders"
- },
- {
- "name": "redaxo/php-cs-fixer-config",
- "version": "2.7.0",
- "version_normalized": "2.7.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/redaxo/php-cs-fixer-config.git",
- "reference": "4a76aa9b8ade7dd440ac35eaaacf6df7daa275fb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/redaxo/php-cs-fixer-config/zipball/4a76aa9b8ade7dd440ac35eaaacf6df7daa275fb",
- "reference": "4a76aa9b8ade7dd440ac35eaaacf6df7daa275fb",
- "shasum": ""
- },
- "require": {
- "friendsofphp/php-cs-fixer": "^3.51.0",
- "kubawerlos/php-cs-fixer-custom-fixers": "^3.21.0",
- "php": "^8.1"
- },
- "time": "2024-03-12T14:03:46+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Redaxo\\PhpCsFixerConfig\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "REDAXO Team",
- "email": "info@redaxo.org"
- }
- ],
- "description": "php-cs-fixer config for REDAXO",
- "keywords": [
- "Static code analysis",
- "fixer",
- "standards",
- "static analysis"
- ],
- "support": {
- "issues": "https://github.com/redaxo/php-cs-fixer-config/issues",
- "source": "https://github.com/redaxo/php-cs-fixer-config/tree/2.7.0"
- },
- "install-path": "../redaxo/php-cs-fixer-config"
- },
- {
- "name": "robrichards/xmlseclibs",
- "version": "3.1.1",
- "version_normalized": "3.1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/robrichards/xmlseclibs.git",
- "reference": "f8f19e58f26cdb42c54b214ff8a820760292f8df"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/f8f19e58f26cdb42c54b214ff8a820760292f8df",
- "reference": "f8f19e58f26cdb42c54b214ff8a820760292f8df",
- "shasum": ""
- },
- "require": {
- "ext-openssl": "*",
- "php": ">= 5.4"
- },
- "time": "2020-09-05T13:00:25+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "RobRichards\\XMLSecLibs\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "A PHP library for XML Security",
- "homepage": "https://github.com/robrichards/xmlseclibs",
- "keywords": [
- "security",
- "signature",
- "xml",
- "xmldsig"
- ],
- "support": {
- "issues": "https://github.com/robrichards/xmlseclibs/issues",
- "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.1"
- },
- "install-path": "../robrichards/xmlseclibs"
- },
- {
- "name": "sebastian/cli-parser",
- "version": "1.0.2",
- "version_normalized": "1.0.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
- "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2024-03-02T06:27:43+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library for parsing CLI options",
- "homepage": "https://github.com/sebastianbergmann/cli-parser",
- "support": {
- "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/cli-parser"
- },
- {
- "name": "sebastian/code-unit",
- "version": "1.0.8",
- "version_normalized": "1.0.8.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2020-10-26T13:08:54+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Collection of value objects that represent the PHP code units",
- "homepage": "https://github.com/sebastianbergmann/code-unit",
- "support": {
- "issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/code-unit"
- },
- {
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "2.0.3",
- "version_normalized": "2.0.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2020-09-28T05:30:19+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/code-unit-reverse-lookup"
- },
- {
- "name": "sebastian/comparator",
- "version": "4.0.8",
- "version_normalized": "4.0.8.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3",
- "sebastian/diff": "^4.0",
- "sebastian/exporter": "^4.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2022-09-14T12:41:17+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- }
- ],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "https://github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/comparator"
- },
- {
- "name": "sebastian/complexity",
- "version": "2.0.3",
- "version_normalized": "2.0.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a",
- "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a",
- "shasum": ""
- },
- "require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2023-12-22T06:19:30+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library for calculating the complexity of PHP code units",
- "homepage": "https://github.com/sebastianbergmann/complexity",
- "support": {
- "issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/complexity"
- },
- {
- "name": "sebastian/diff",
- "version": "4.0.6",
- "version_normalized": "4.0.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
- "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3",
- "symfony/process": "^4.2 || ^5"
- },
- "time": "2024-03-02T06:30:58+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- }
- ],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff",
- "udiff",
- "unidiff",
- "unified diff"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/diff"
- },
- {
- "name": "sebastian/environment",
- "version": "5.1.5",
- "version_normalized": "5.1.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
- "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-posix": "*"
- },
- "time": "2023-02-03T06:03:51+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/environment"
- },
- {
- "name": "sebastian/exporter",
- "version": "4.0.6",
- "version_normalized": "4.0.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
- "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3",
- "sebastian/recursion-context": "^4.0"
- },
- "require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^9.3"
- },
- "time": "2024-03-02T06:33:00+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "https://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/exporter"
- },
- {
- "name": "sebastian/global-state",
- "version": "5.0.7",
- "version_normalized": "5.0.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
- "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
- },
- "require-dev": {
- "ext-dom": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-uopz": "*"
- },
- "time": "2024-03-02T06:35:11+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/global-state"
- },
- {
- "name": "sebastian/lines-of-code",
- "version": "1.0.4",
- "version_normalized": "1.0.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5",
- "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5",
- "shasum": ""
- },
- "require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2023-12-22T06:20:34+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library for counting the lines of code in PHP source code",
- "homepage": "https://github.com/sebastianbergmann/lines-of-code",
- "support": {
- "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/lines-of-code"
- },
- {
- "name": "sebastian/object-enumerator",
- "version": "4.0.4",
- "version_normalized": "4.0.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2020-10-26T13:12:34+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/object-enumerator"
- },
- {
- "name": "sebastian/object-reflector",
- "version": "2.0.4",
- "version_normalized": "2.0.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2020-10-26T13:14:26+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Allows reflection of object attributes, including inherited and non-public ones",
- "homepage": "https://github.com/sebastianbergmann/object-reflector/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/object-reflector"
- },
- {
- "name": "sebastian/recursion-context",
- "version": "4.0.5",
- "version_normalized": "4.0.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "time": "2023-02-03T06:07:39+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "https://github.com/sebastianbergmann/recursion-context",
- "support": {
- "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/recursion-context"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "3.0.3",
- "version_normalized": "3.0.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.0"
- },
- "time": "2020-09-28T06:45:17+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/resource-operations"
- },
- {
- "name": "sebastian/type",
- "version": "3.2.1",
- "version_normalized": "3.2.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/type.git",
- "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
- "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.5"
- },
- "time": "2023-02-03T06:13:03+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.2-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Collection of value objects that represent the types of the PHP type system",
- "homepage": "https://github.com/sebastianbergmann/type",
- "support": {
- "issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/type"
- },
- {
- "name": "sebastian/version",
- "version": "3.0.2",
- "version_normalized": "3.0.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c6c1022351a901512170118436c764e473f6de8c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
- "reference": "c6c1022351a901512170118436c764e473f6de8c",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "time": "2020-09-28T06:39:44+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
- "support": {
- "issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "install-path": "../sebastian/version"
- },
- {
- "name": "symfony/console",
- "version": "v6.4.4",
- "version_normalized": "6.4.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/console.git",
- "reference": "0d9e4eb5ad413075624378f474c4167ea202de78"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/0d9e4eb5ad413075624378f474c4167ea202de78",
- "reference": "0d9e4eb5ad413075624378f474c4167ea202de78",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^5.4|^6.0|^7.0"
- },
- "conflict": {
- "symfony/dependency-injection": "<5.4",
- "symfony/dotenv": "<5.4",
- "symfony/event-dispatcher": "<5.4",
- "symfony/lock": "<5.4",
- "symfony/process": "<5.4"
- },
- "provide": {
- "psr/log-implementation": "1.0|2.0|3.0"
- },
- "require-dev": {
- "psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/lock": "^5.4|^6.0|^7.0",
- "symfony/messenger": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/stopwatch": "^5.4|^6.0|^7.0",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
- },
- "time": "2024-02-22T20:27:10+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Console\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Eases the creation of beautiful and testable command line interfaces",
- "homepage": "https://symfony.com",
- "keywords": [
- "cli",
- "command-line",
- "console",
- "terminal"
- ],
- "support": {
- "source": "https://github.com/symfony/console/tree/v6.4.4"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/console"
- },
- {
- "name": "symfony/deprecation-contracts",
- "version": "v3.4.0",
- "version_normalized": "3.4.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
- "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "time": "2023-05-23T14:45:45+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.4-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "files": [
- "function.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "A generic function and convention to trigger deprecation notices",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/deprecation-contracts"
- },
- {
- "name": "symfony/event-dispatcher",
- "version": "v6.4.3",
- "version_normalized": "6.4.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ae9d3a6f3003a6caf56acd7466d8d52378d44fef",
- "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/event-dispatcher-contracts": "^2.5|^3"
- },
- "conflict": {
- "symfony/dependency-injection": "<5.4",
- "symfony/service-contracts": "<2.5"
- },
- "provide": {
- "psr/event-dispatcher-implementation": "1.0",
- "symfony/event-dispatcher-implementation": "2.0|3.0"
- },
- "require-dev": {
- "psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/error-handler": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^5.4|^6.0|^7.0",
- "symfony/service-contracts": "^2.5|^3",
- "symfony/stopwatch": "^5.4|^6.0|^7.0"
- },
- "time": "2024-01-23T14:51:35+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\EventDispatcher\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.3"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/event-dispatcher"
- },
- {
- "name": "symfony/event-dispatcher-contracts",
- "version": "v3.4.0",
- "version_normalized": "3.4.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "a76aed96a42d2b521153fb382d418e30d18b59df"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df",
- "reference": "a76aed96a42d2b521153fb382d418e30d18b59df",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "psr/event-dispatcher": "^1"
- },
- "time": "2023-05-23T14:45:45+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.4-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\EventDispatcher\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to dispatching event",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/event-dispatcher-contracts"
- },
- {
- "name": "symfony/filesystem",
- "version": "v6.4.3",
- "version_normalized": "6.4.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/filesystem.git",
- "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb",
- "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.8"
- },
- "time": "2024-01-23T14:51:35+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Filesystem\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides basic utilities for the filesystem",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/filesystem/tree/v6.4.3"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/filesystem"
- },
- {
- "name": "symfony/finder",
- "version": "v6.4.0",
- "version_normalized": "6.4.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/finder.git",
- "reference": "11d736e97f116ac375a81f96e662911a34cd50ce"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce",
- "reference": "11d736e97f116ac375a81f96e662911a34cd50ce",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "symfony/filesystem": "^6.0|^7.0"
- },
- "time": "2023-10-31T17:30:12+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Finder\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Finds files and directories via an intuitive fluent interface",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/finder/tree/v6.4.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/finder"
- },
- {
- "name": "symfony/options-resolver",
- "version": "v6.4.0",
- "version_normalized": "6.4.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/options-resolver.git",
- "reference": "22301f0e7fdeaacc14318928612dee79be99860e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/22301f0e7fdeaacc14318928612dee79be99860e",
- "reference": "22301f0e7fdeaacc14318928612dee79be99860e",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3"
- },
- "time": "2023-08-08T10:16:24+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\OptionsResolver\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides an improved replacement for the array_replace PHP function",
- "homepage": "https://symfony.com",
- "keywords": [
- "config",
- "configuration",
- "options"
- ],
- "support": {
- "source": "https://github.com/symfony/options-resolver/tree/v6.4.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/options-resolver"
- },
- {
- "name": "symfony/polyfill-ctype",
- "version": "v1.29.0",
- "version_normalized": "1.29.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
- "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-ctype": "*"
- },
- "suggest": {
- "ext-ctype": "For best performance"
- },
- "time": "2024-01-29T20:11:03+00:00",
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for ctype functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/polyfill-ctype"
- },
- {
- "name": "symfony/polyfill-intl-grapheme",
- "version": "v1.29.0",
- "version_normalized": "1.29.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f",
- "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "time": "2024-01-29T20:11:03+00:00",
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's grapheme_* functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "grapheme",
- "intl",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/polyfill-intl-grapheme"
- },
- {
- "name": "symfony/polyfill-intl-normalizer",
- "version": "v1.29.0",
- "version_normalized": "1.29.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "bc45c394692b948b4d383a08d7753968bed9a83d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d",
- "reference": "bc45c394692b948b4d383a08d7753968bed9a83d",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "time": "2024-01-29T20:11:03+00:00",
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's Normalizer class and related functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "intl",
- "normalizer",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/polyfill-intl-normalizer"
- },
- {
- "name": "symfony/polyfill-mbstring",
- "version": "v1.29.0",
- "version_normalized": "1.29.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
- "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-mbstring": "*"
- },
- "suggest": {
- "ext-mbstring": "For best performance"
- },
- "time": "2024-01-29T20:11:03+00:00",
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Mbstring extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "mbstring",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/polyfill-mbstring"
- },
- {
- "name": "symfony/polyfill-php80",
- "version": "v1.29.0",
- "version_normalized": "1.29.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
- "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "time": "2024-01-29T20:11:03+00:00",
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
+ "issues": "https://github.com/ralouphie/getallheaders/issues",
+ "source": "https://github.com/ralouphie/getallheaders/tree/develop"
},
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/polyfill-php80"
+ "install-path": "../ralouphie/getallheaders"
},
{
- "name": "symfony/polyfill-php81",
- "version": "v1.29.0",
- "version_normalized": "1.29.0.0",
+ "name": "robrichards/xmlseclibs",
+ "version": "3.1.1",
+ "version_normalized": "3.1.1.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d"
+ "url": "https://github.com/robrichards/xmlseclibs.git",
+ "reference": "f8f19e58f26cdb42c54b214ff8a820760292f8df"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d",
- "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d",
+ "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/f8f19e58f26cdb42c54b214ff8a820760292f8df",
+ "reference": "f8f19e58f26cdb42c54b214ff8a820760292f8df",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "ext-openssl": "*",
+ "php": ">= 5.4"
},
- "time": "2024-01-29T20:11:03+00:00",
+ "time": "2020-09-05T13:00:25+00:00",
"type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
"installation-source": "dist",
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Php81\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
+ "RobRichards\\XMLSecLibs\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
+ "BSD-3-Clause"
],
- "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
- "homepage": "https://symfony.com",
+ "description": "A PHP library for XML Security",
+ "homepage": "https://github.com/robrichards/xmlseclibs",
"keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
+ "security",
+ "signature",
+ "xml",
+ "xmldsig"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0"
+ "issues": "https://github.com/robrichards/xmlseclibs/issues",
+ "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.1"
},
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/polyfill-php81"
+ "install-path": "../robrichards/xmlseclibs"
},
{
- "name": "symfony/process",
- "version": "v6.4.4",
- "version_normalized": "6.4.4.0",
+ "name": "spomky-labs/otphp",
+ "version": "11.3.0",
+ "version_normalized": "11.3.0.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "710e27879e9be3395de2b98da3f52a946039f297"
+ "url": "https://github.com/Spomky-Labs/otphp.git",
+ "reference": "2d8ccb5fc992b9cc65ef321fa4f00fefdb3f4b33"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/710e27879e9be3395de2b98da3f52a946039f297",
- "reference": "710e27879e9be3395de2b98da3f52a946039f297",
+ "url": "https://api.github.com/repos/Spomky-Labs/otphp/zipball/2d8ccb5fc992b9cc65ef321fa4f00fefdb3f4b33",
+ "reference": "2d8ccb5fc992b9cc65ef321fa4f00fefdb3f4b33",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "ext-mbstring": "*",
+ "paragonie/constant_time_encoding": "^2.0 || ^3.0",
+ "php": ">=8.1",
+ "psr/clock": "^1.0",
+ "symfony/deprecation-contracts": "^3.2"
},
- "time": "2024-02-20T12:31:00+00:00",
+ "require-dev": {
+ "ekino/phpstan-banned-code": "^1.0",
+ "infection/infection": "^0.26|^0.27|^0.28|^0.29",
+ "php-parallel-lint/php-parallel-lint": "^1.3",
+ "phpstan/phpstan": "^1.0",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpstan/phpstan-strict-rules": "^1.0",
+ "phpunit/phpunit": "^9.5.26|^10.0|^11.0",
+ "qossmic/deptrac-shim": "^1.0",
+ "rector/rector": "^1.0",
+ "symfony/phpunit-bridge": "^6.1|^7.0",
+ "symplify/easy-coding-standard": "^12.0"
+ },
+ "time": "2024-06-12T11:22:32+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Process\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "OTPHP\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -4103,62 +976,64 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Florent Morselli",
+ "homepage": "https://github.com/Spomky"
},
{
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "All contributors",
+ "homepage": "https://github.com/Spomky-Labs/otphp/contributors"
}
],
- "description": "Executes commands in sub-processes",
- "homepage": "https://symfony.com",
+ "description": "A PHP library for generating one time passwords according to RFC 4226 (HOTP Algorithm) and the RFC 6238 (TOTP Algorithm) and compatible with Google Authenticator",
+ "homepage": "https://github.com/Spomky-Labs/otphp",
+ "keywords": [
+ "FreeOTP",
+ "RFC 4226",
+ "RFC 6238",
+ "google authenticator",
+ "hotp",
+ "otp",
+ "totp"
+ ],
"support": {
- "source": "https://github.com/symfony/process/tree/v6.4.4"
+ "issues": "https://github.com/Spomky-Labs/otphp/issues",
+ "source": "https://github.com/Spomky-Labs/otphp/tree/11.3.0"
},
"funding": [
{
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
+ "url": "https://github.com/Spomky",
"type": "github"
},
{
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
+ "url": "https://www.patreon.com/FlorentMorselli",
+ "type": "patreon"
}
],
- "install-path": "../symfony/process"
+ "install-path": "../spomky-labs/otphp"
},
{
- "name": "symfony/service-contracts",
- "version": "v3.4.1",
- "version_normalized": "3.4.1.0",
+ "name": "symfony/deprecation-contracts",
+ "version": "v3.5.0",
+ "version_normalized": "3.5.0.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/service-contracts.git",
- "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0"
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0",
- "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
+ "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "psr/container": "^1.1|^2.0"
- },
- "conflict": {
- "ext-psr": "<1.1|>=2"
+ "php": ">=8.1"
},
- "time": "2023-12-26T14:02:43+00:00",
+ "time": "2024-04-18T09:32:20+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.4-dev"
+ "dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4166,166 +1041,9 @@
}
},
"installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Service\\": ""
- },
- "exclude-from-classmap": [
- "/Test/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to writing services",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.4.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/service-contracts"
- },
- {
- "name": "symfony/stopwatch",
- "version": "v6.4.3",
- "version_normalized": "6.4.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/stopwatch.git",
- "reference": "416596166641f1f728b0a64f5b9dd07cceb410c1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/416596166641f1f728b0a64f5b9dd07cceb410c1",
- "reference": "416596166641f1f728b0a64f5b9dd07cceb410c1",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/service-contracts": "^2.5|^3"
- },
- "time": "2024-01-23T14:35:58+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Stopwatch\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides a way to profile code",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/stopwatch/tree/v6.4.3"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "install-path": "../symfony/stopwatch"
- },
- {
- "name": "symfony/string",
- "version": "v6.4.4",
- "version_normalized": "6.4.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/string.git",
- "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9",
- "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
- "symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0"
- },
- "conflict": {
- "symfony/translation-contracts": "<2.5"
- },
- "require-dev": {
- "symfony/error-handler": "^5.4|^6.0|^7.0",
- "symfony/http-client": "^5.4|^6.0|^7.0",
- "symfony/intl": "^6.2|^7.0",
- "symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^5.4|^6.0|^7.0"
- },
- "time": "2024-02-01T13:16:41+00:00",
- "type": "library",
- "installation-source": "dist",
"autoload": {
"files": [
- "Resources/functions.php"
- ],
- "psr-4": {
- "Symfony\\Component\\String\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
+ "function.php"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -4342,18 +1060,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
+ "description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
- "keywords": [
- "grapheme",
- "i18n",
- "string",
- "unicode",
- "utf-8",
- "utf8"
- ],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.4.4"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
},
"funding": [
{
@@ -4369,114 +1079,9 @@
"type": "tidelift"
}
],
- "install-path": "../symfony/string"
- },
- {
- "name": "theseer/tokenizer",
- "version": "1.2.3",
- "version_normalized": "1.2.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/theseer/tokenizer.git",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": "^7.2 || ^8.0"
- },
- "time": "2024-03-03T12:36:25+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- }
- ],
- "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
- "support": {
- "issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
- },
- "funding": [
- {
- "url": "https://github.com/theseer",
- "type": "github"
- }
- ],
- "install-path": "../theseer/tokenizer"
+ "install-path": "../symfony/deprecation-contracts"
}
],
- "dev": true,
- "dev-package-names": [
- "composer/pcre",
- "composer/semver",
- "composer/xdebug-handler",
- "doctrine/instantiator",
- "friendsofphp/php-cs-fixer",
- "kubawerlos/php-cs-fixer-custom-fixers",
- "myclabs/deep-copy",
- "nikic/php-parser",
- "phar-io/manifest",
- "phar-io/version",
- "phpunit/php-code-coverage",
- "phpunit/php-file-iterator",
- "phpunit/php-invoker",
- "phpunit/php-text-template",
- "phpunit/php-timer",
- "phpunit/phpunit",
- "psr/event-dispatcher",
- "redaxo/php-cs-fixer-config",
- "sebastian/cli-parser",
- "sebastian/code-unit",
- "sebastian/code-unit-reverse-lookup",
- "sebastian/comparator",
- "sebastian/complexity",
- "sebastian/diff",
- "sebastian/environment",
- "sebastian/exporter",
- "sebastian/global-state",
- "sebastian/lines-of-code",
- "sebastian/object-enumerator",
- "sebastian/object-reflector",
- "sebastian/recursion-context",
- "sebastian/resource-operations",
- "sebastian/type",
- "sebastian/version",
- "symfony/console",
- "symfony/event-dispatcher",
- "symfony/event-dispatcher-contracts",
- "symfony/filesystem",
- "symfony/finder",
- "symfony/options-resolver",
- "symfony/polyfill-ctype",
- "symfony/polyfill-intl-grapheme",
- "symfony/polyfill-intl-normalizer",
- "symfony/polyfill-mbstring",
- "symfony/polyfill-php80",
- "symfony/polyfill-php81",
- "symfony/process",
- "symfony/service-contracts",
- "symfony/stopwatch",
- "symfony/string",
- "theseer/tokenizer"
- ]
+ "dev": false,
+ "dev-package-names": []
}
diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php
index 1bac367d..88aeee7f 100644
--- a/vendor/composer/installed.php
+++ b/vendor/composer/installed.php
@@ -3,11 +3,11 @@
'name' => 'yakamara/ycom',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '38391954090c2bfbb53a938c2ab0ef2154b5eaaa',
+ 'reference' => 'acd6de958cac39e5d22263a565320e7a249098db',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
- 'dev' => true,
+ 'dev' => false,
),
'versions' => array(
'apereo/phpcas' => array(
@@ -19,87 +19,33 @@
'aliases' => array(),
'dev_requirement' => false,
),
- 'composer/pcre' => array(
- 'pretty_version' => '3.1.2',
- 'version' => '3.1.2.0',
- 'reference' => '4775f35b2d70865807c89d32c8e7385b86eb0ace',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/./pcre',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'composer/semver' => array(
- 'pretty_version' => '3.4.0',
- 'version' => '3.4.0.0',
- 'reference' => '35e8d0af4486141bc745f23a29cc2091eb624a32',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/./semver',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'composer/xdebug-handler' => array(
- 'pretty_version' => '3.0.3',
- 'version' => '3.0.3.0',
- 'reference' => 'ced299686f41dce890debac69273b47ffe98a40c',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/./xdebug-handler',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'doctrine/instantiator' => array(
- 'pretty_version' => '2.0.0',
- 'version' => '2.0.0.0',
- 'reference' => 'c6222283fa3f4ac679f8b9ced9a4e23f163e80d0',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../doctrine/instantiator',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'friendsofphp/php-cs-fixer' => array(
- 'pretty_version' => 'v3.51.0',
- 'version' => '3.51.0.0',
- 'reference' => '127fa74f010da99053e3f5b62672615b72dd6efd',
- 'type' => 'application',
- 'install_path' => __DIR__ . '/../friendsofphp/php-cs-fixer',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
'guzzlehttp/guzzle' => array(
- 'pretty_version' => '7.8.1',
- 'version' => '7.8.1.0',
- 'reference' => '41042bc7ab002487b876a0683fc8dce04ddce104',
+ 'pretty_version' => '7.9.2',
+ 'version' => '7.9.2.0',
+ 'reference' => 'd281ed313b989f213357e3be1a179f02196ac99b',
'type' => 'library',
'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
'aliases' => array(),
'dev_requirement' => false,
),
'guzzlehttp/promises' => array(
- 'pretty_version' => '2.0.2',
- 'version' => '2.0.2.0',
- 'reference' => 'bbff78d96034045e58e13dedd6ad91b5d1253223',
+ 'pretty_version' => '2.0.3',
+ 'version' => '2.0.3.0',
+ 'reference' => '6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8',
'type' => 'library',
'install_path' => __DIR__ . '/../guzzlehttp/promises',
'aliases' => array(),
'dev_requirement' => false,
),
'guzzlehttp/psr7' => array(
- 'pretty_version' => '2.6.2',
- 'version' => '2.6.2.0',
- 'reference' => '45b30f99ac27b5ca93cb4831afe16285f57b8221',
+ 'pretty_version' => '2.7.0',
+ 'version' => '2.7.0.0',
+ 'reference' => 'a70f5c95fb43bc83f07c9c948baa0dc1829bf201',
'type' => 'library',
'install_path' => __DIR__ . '/../guzzlehttp/psr7',
'aliases' => array(),
'dev_requirement' => false,
),
- 'kubawerlos/php-cs-fixer-custom-fixers' => array(
- 'pretty_version' => 'v3.21.0',
- 'version' => '3.21.0.0',
- 'reference' => '3d1bb75be0df6c6fba4487c75b9e425a2c1d27c9',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../kubawerlos/php-cs-fixer-custom-fixers',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
'league/oauth2-client' => array(
'pretty_version' => '2.7.0',
'version' => '2.7.0.0',
@@ -109,30 +55,21 @@
'aliases' => array(),
'dev_requirement' => false,
),
- 'myclabs/deep-copy' => array(
- 'pretty_version' => '1.11.1',
- 'version' => '1.11.1.0',
- 'reference' => '7284c22080590fb39f2ffa3e9057f10a4ddd0e0c',
+ 'onelogin/php-saml' => array(
+ 'pretty_version' => '3.7.0',
+ 'version' => '3.7.0.0',
+ 'reference' => '91c1a3b3e2390aba9facc64ba81b407a50962ebb',
'type' => 'library',
- 'install_path' => __DIR__ . '/../myclabs/deep-copy',
+ 'install_path' => __DIR__ . '/../onelogin/php-saml',
'aliases' => array(),
- 'dev_requirement' => true,
+ 'dev_requirement' => false,
),
- 'nikic/php-parser' => array(
- 'pretty_version' => 'v5.0.2',
- 'version' => '5.0.2.0',
- 'reference' => '139676794dc1e9231bf7bcd123cfc0c99182cb13',
+ 'paragonie/constant_time_encoding' => array(
+ 'pretty_version' => 'v3.0.0',
+ 'version' => '3.0.0.0',
+ 'reference' => 'df1e7fde177501eee2037dd159cf04f5f301a512',
'type' => 'library',
- 'install_path' => __DIR__ . '/../nikic/php-parser',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'onelogin/php-saml' => array(
- 'pretty_version' => '3.6.1',
- 'version' => '3.6.1.0',
- 'reference' => 'a7328b11887660ad248ea10952dd67a5aa73ba3b',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../onelogin/php-saml',
+ 'install_path' => __DIR__ . '/../paragonie/constant_time_encoding',
'aliases' => array(),
'dev_requirement' => false,
),
@@ -145,77 +82,14 @@
'aliases' => array(),
'dev_requirement' => false,
),
- 'phar-io/manifest' => array(
- 'pretty_version' => '2.0.4',
- 'version' => '2.0.4.0',
- 'reference' => '54750ef60c58e43759730615a392c31c80e23176',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../phar-io/manifest',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'phar-io/version' => array(
- 'pretty_version' => '3.2.1',
- 'version' => '3.2.1.0',
- 'reference' => '4f7fd7836c6f332bb2933569e566a0d6c4cbed74',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../phar-io/version',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'phpunit/php-code-coverage' => array(
- 'pretty_version' => '9.2.31',
- 'version' => '9.2.31.0',
- 'reference' => '48c34b5d8d983006bd2adc2d0de92963b9155965',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../phpunit/php-code-coverage',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'phpunit/php-file-iterator' => array(
- 'pretty_version' => '3.0.6',
- 'version' => '3.0.6.0',
- 'reference' => 'cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../phpunit/php-file-iterator',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'phpunit/php-invoker' => array(
- 'pretty_version' => '3.1.1',
- 'version' => '3.1.1.0',
- 'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../phpunit/php-invoker',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'phpunit/php-text-template' => array(
- 'pretty_version' => '2.0.4',
- 'version' => '2.0.4.0',
- 'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../phpunit/php-text-template',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'phpunit/php-timer' => array(
- 'pretty_version' => '5.0.3',
- 'version' => '5.0.3.0',
- 'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../phpunit/php-timer',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'phpunit/phpunit' => array(
- 'pretty_version' => '9.6.17',
- 'version' => '9.6.17.0',
- 'reference' => '1a156980d78a6666721b7e8e8502fe210b587fcd',
+ 'psr/clock' => array(
+ 'pretty_version' => '1.0.0',
+ 'version' => '1.0.0.0',
+ 'reference' => 'e41a24703d4560fd0acb709162f73b8adfc3aa0d',
'type' => 'library',
- 'install_path' => __DIR__ . '/../phpunit/phpunit',
+ 'install_path' => __DIR__ . '/../psr/clock',
'aliases' => array(),
- 'dev_requirement' => true,
+ 'dev_requirement' => false,
),
'psr/container' => array(
'dev_requirement' => false,
@@ -223,21 +97,6 @@
0 => '*',
),
),
- 'psr/event-dispatcher' => array(
- 'pretty_version' => '1.0.0',
- 'version' => '1.0.0.0',
- 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../psr/event-dispatcher',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'psr/event-dispatcher-implementation' => array(
- 'dev_requirement' => true,
- 'provided' => array(
- 0 => '1.0',
- ),
- ),
'psr/http-client' => array(
'pretty_version' => '1.0.3',
'version' => '1.0.3.0',
@@ -254,9 +113,9 @@
),
),
'psr/http-factory' => array(
- 'pretty_version' => '1.0.2',
- 'version' => '1.0.2.0',
- 'reference' => 'e616d01114759c4c489f93b099585439f795fe35',
+ 'pretty_version' => '1.1.0',
+ 'version' => '1.1.0.0',
+ 'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/http-factory',
'aliases' => array(),
@@ -286,12 +145,6 @@
0 => '*',
),
),
- 'psr/log-implementation' => array(
- 'dev_requirement' => true,
- 'provided' => array(
- 0 => '1.0|2.0|3.0',
- ),
- ),
'ralouphie/getallheaders' => array(
'pretty_version' => '3.0.3',
'version' => '3.0.3.0',
@@ -301,15 +154,6 @@
'aliases' => array(),
'dev_requirement' => false,
),
- 'redaxo/php-cs-fixer-config' => array(
- 'pretty_version' => '2.7.0',
- 'version' => '2.7.0.0',
- 'reference' => '4a76aa9b8ade7dd440ac35eaaacf6df7daa275fb',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../redaxo/php-cs-fixer-config',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
'robrichards/xmlseclibs' => array(
'pretty_version' => '3.1.1',
'version' => '3.1.1.0',
@@ -319,322 +163,28 @@
'aliases' => array(),
'dev_requirement' => false,
),
- 'sebastian/cli-parser' => array(
- 'pretty_version' => '1.0.2',
- 'version' => '1.0.2.0',
- 'reference' => '2b56bea83a09de3ac06bb18b92f068e60cc6f50b',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/cli-parser',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/code-unit' => array(
- 'pretty_version' => '1.0.8',
- 'version' => '1.0.8.0',
- 'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/code-unit',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/code-unit-reverse-lookup' => array(
- 'pretty_version' => '2.0.3',
- 'version' => '2.0.3.0',
- 'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/code-unit-reverse-lookup',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/comparator' => array(
- 'pretty_version' => '4.0.8',
- 'version' => '4.0.8.0',
- 'reference' => 'fa0f136dd2334583309d32b62544682ee972b51a',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/comparator',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/complexity' => array(
- 'pretty_version' => '2.0.3',
- 'version' => '2.0.3.0',
- 'reference' => '25f207c40d62b8b7aa32f5ab026c53561964053a',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/complexity',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/diff' => array(
- 'pretty_version' => '4.0.6',
- 'version' => '4.0.6.0',
- 'reference' => 'ba01945089c3a293b01ba9badc29ad55b106b0bc',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/diff',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/environment' => array(
- 'pretty_version' => '5.1.5',
- 'version' => '5.1.5.0',
- 'reference' => '830c43a844f1f8d5b7a1f6d6076b784454d8b7ed',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/environment',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/exporter' => array(
- 'pretty_version' => '4.0.6',
- 'version' => '4.0.6.0',
- 'reference' => '78c00df8f170e02473b682df15bfcdacc3d32d72',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/exporter',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/global-state' => array(
- 'pretty_version' => '5.0.7',
- 'version' => '5.0.7.0',
- 'reference' => 'bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9',
+ 'spomky-labs/otphp' => array(
+ 'pretty_version' => '11.3.0',
+ 'version' => '11.3.0.0',
+ 'reference' => '2d8ccb5fc992b9cc65ef321fa4f00fefdb3f4b33',
'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/global-state',
+ 'install_path' => __DIR__ . '/../spomky-labs/otphp',
'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/lines-of-code' => array(
- 'pretty_version' => '1.0.4',
- 'version' => '1.0.4.0',
- 'reference' => 'e1e4a170560925c26d424b6a03aed157e7dcc5c5',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/lines-of-code',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/object-enumerator' => array(
- 'pretty_version' => '4.0.4',
- 'version' => '4.0.4.0',
- 'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/object-enumerator',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/object-reflector' => array(
- 'pretty_version' => '2.0.4',
- 'version' => '2.0.4.0',
- 'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/object-reflector',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/recursion-context' => array(
- 'pretty_version' => '4.0.5',
- 'version' => '4.0.5.0',
- 'reference' => 'e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/recursion-context',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/resource-operations' => array(
- 'pretty_version' => '3.0.3',
- 'version' => '3.0.3.0',
- 'reference' => '0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/resource-operations',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/type' => array(
- 'pretty_version' => '3.2.1',
- 'version' => '3.2.1.0',
- 'reference' => '75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/type',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'sebastian/version' => array(
- 'pretty_version' => '3.0.2',
- 'version' => '3.0.2.0',
- 'reference' => 'c6c1022351a901512170118436c764e473f6de8c',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../sebastian/version',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/console' => array(
- 'pretty_version' => 'v6.4.4',
- 'version' => '6.4.4.0',
- 'reference' => '0d9e4eb5ad413075624378f474c4167ea202de78',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/console',
- 'aliases' => array(),
- 'dev_requirement' => true,
+ 'dev_requirement' => false,
),
'symfony/deprecation-contracts' => array(
- 'pretty_version' => 'v3.4.0',
- 'version' => '3.4.0.0',
- 'reference' => '7c3aff79d10325257a001fcf92d991f24fc967cf',
+ 'pretty_version' => 'v3.5.0',
+ 'version' => '3.5.0.0',
+ 'reference' => '0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
'aliases' => array(),
'dev_requirement' => false,
),
- 'symfony/event-dispatcher' => array(
- 'pretty_version' => 'v6.4.3',
- 'version' => '6.4.3.0',
- 'reference' => 'ae9d3a6f3003a6caf56acd7466d8d52378d44fef',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/event-dispatcher',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/event-dispatcher-contracts' => array(
- 'pretty_version' => 'v3.4.0',
- 'version' => '3.4.0.0',
- 'reference' => 'a76aed96a42d2b521153fb382d418e30d18b59df',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/event-dispatcher-implementation' => array(
- 'dev_requirement' => true,
- 'provided' => array(
- 0 => '2.0|3.0',
- ),
- ),
- 'symfony/filesystem' => array(
- 'pretty_version' => 'v6.4.3',
- 'version' => '6.4.3.0',
- 'reference' => '7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/filesystem',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/finder' => array(
- 'pretty_version' => 'v6.4.0',
- 'version' => '6.4.0.0',
- 'reference' => '11d736e97f116ac375a81f96e662911a34cd50ce',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/finder',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/options-resolver' => array(
- 'pretty_version' => 'v6.4.0',
- 'version' => '6.4.0.0',
- 'reference' => '22301f0e7fdeaacc14318928612dee79be99860e',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/options-resolver',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/polyfill-ctype' => array(
- 'pretty_version' => 'v1.29.0',
- 'version' => '1.29.0.0',
- 'reference' => 'ef4d7e442ca910c4764bce785146269b30cb5fc4',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/polyfill-ctype',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/polyfill-intl-grapheme' => array(
- 'pretty_version' => 'v1.29.0',
- 'version' => '1.29.0.0',
- 'reference' => '32a9da87d7b3245e09ac426c83d334ae9f06f80f',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/polyfill-intl-normalizer' => array(
- 'pretty_version' => 'v1.29.0',
- 'version' => '1.29.0.0',
- 'reference' => 'bc45c394692b948b4d383a08d7753968bed9a83d',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/polyfill-mbstring' => array(
- 'pretty_version' => 'v1.29.0',
- 'version' => '1.29.0.0',
- 'reference' => '9773676c8a1bb1f8d4340a62efe641cf76eda7ec',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/polyfill-php80' => array(
- 'pretty_version' => 'v1.29.0',
- 'version' => '1.29.0.0',
- 'reference' => '87b68208d5c1188808dd7839ee1e6c8ec3b02f1b',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/polyfill-php80',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/polyfill-php81' => array(
- 'pretty_version' => 'v1.29.0',
- 'version' => '1.29.0.0',
- 'reference' => 'c565ad1e63f30e7477fc40738343c62b40bc672d',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/polyfill-php81',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/process' => array(
- 'pretty_version' => 'v6.4.4',
- 'version' => '6.4.4.0',
- 'reference' => '710e27879e9be3395de2b98da3f52a946039f297',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/process',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/service-contracts' => array(
- 'pretty_version' => 'v3.4.1',
- 'version' => '3.4.1.0',
- 'reference' => 'fe07cbc8d837f60caf7018068e350cc5163681a0',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/service-contracts',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/stopwatch' => array(
- 'pretty_version' => 'v6.4.3',
- 'version' => '6.4.3.0',
- 'reference' => '416596166641f1f728b0a64f5b9dd07cceb410c1',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/stopwatch',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'symfony/string' => array(
- 'pretty_version' => 'v6.4.4',
- 'version' => '6.4.4.0',
- 'reference' => '4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../symfony/string',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
- 'theseer/tokenizer' => array(
- 'pretty_version' => '1.2.3',
- 'version' => '1.2.3.0',
- 'reference' => '737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../theseer/tokenizer',
- 'aliases' => array(),
- 'dev_requirement' => true,
- ),
'yakamara/ycom' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '38391954090c2bfbb53a938c2ab0ef2154b5eaaa',
+ 'reference' => 'acd6de958cac39e5d22263a565320e7a249098db',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
diff --git a/vendor/composer/pcre/LICENSE b/vendor/composer/pcre/LICENSE
deleted file mode 100644
index c5a282ff..00000000
--- a/vendor/composer/pcre/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (C) 2021 Composer
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/vendor/composer/pcre/README.md b/vendor/composer/pcre/README.md
deleted file mode 100644
index 973b17d8..00000000
--- a/vendor/composer/pcre/README.md
+++ /dev/null
@@ -1,181 +0,0 @@
-composer/pcre
-=============
-
-PCRE wrapping library that offers type-safe `preg_*` replacements.
-
-This library gives you a way to ensure `preg_*` functions do not fail silently, returning
-unexpected `null`s that may not be handled.
-
-As of 3.0 this library enforces [`PREG_UNMATCHED_AS_NULL`](#preg_unmatched_as_null) usage
-for all matching and replaceCallback functions, [read more below](#preg_unmatched_as_null)
-to understand the implications.
-
-It thus makes it easier to work with static analysis tools like PHPStan or Psalm as it
-simplifies and reduces the possible return values from all the `preg_*` functions which
-are quite packed with edge cases.
-
-This library is a thin wrapper around `preg_*` functions with [some limitations](#restrictions--limitations).
-If you are looking for a richer API to handle regular expressions have a look at
-[rawr/t-regx](https://packagist.org/packages/rawr/t-regx) instead.
-
-[](https://github.com/composer/pcre/actions)
-
-
-Installation
-------------
-
-Install the latest version with:
-
-```bash
-$ composer require composer/pcre
-```
-
-
-Requirements
-------------
-
-* PHP 7.4.0 is required for 3.x versions
-* PHP 7.2.0 is required for 2.x versions
-* PHP 5.3.2 is required for 1.x versions
-
-
-Basic usage
------------
-
-Instead of:
-
-```php
-if (preg_match('{fo+}', $string, $matches)) { ... }
-if (preg_match('{fo+}', $string, $matches, PREG_OFFSET_CAPTURE)) { ... }
-if (preg_match_all('{fo+}', $string, $matches)) { ... }
-$newString = preg_replace('{fo+}', 'bar', $string);
-$newString = preg_replace_callback('{fo+}', function ($match) { return strtoupper($match[0]); }, $string);
-$newString = preg_replace_callback_array(['{fo+}' => fn ($match) => strtoupper($match[0])], $string);
-$filtered = preg_grep('{[a-z]}', $elements);
-$array = preg_split('{[a-z]+}', $string);
-```
-
-You can now call these on the `Preg` class:
-
-```php
-use Composer\Pcre\Preg;
-
-if (Preg::match('{fo+}', $string, $matches)) { ... }
-if (Preg::matchWithOffsets('{fo+}', $string, $matches)) { ... }
-if (Preg::matchAll('{fo+}', $string, $matches)) { ... }
-$newString = Preg::replace('{fo+}', 'bar', $string);
-$newString = Preg::replaceCallback('{fo+}', function ($match) { return strtoupper($match[0]); }, $string);
-$newString = Preg::replaceCallbackArray(['{fo+}' => fn ($match) => strtoupper($match[0])], $string);
-$filtered = Preg::grep('{[a-z]}', $elements);
-$array = Preg::split('{[a-z]+}', $string);
-```
-
-The main difference is if anything fails to match/replace/.., it will throw a `Composer\Pcre\PcreException`
-instead of returning `null` (or false in some cases), so you can now use the return values safely relying on
-the fact that they can only be strings (for replace), ints (for match) or arrays (for grep/split).
-
-Additionally the `Preg` class provides match methods that return `bool` rather than `int`, for stricter type safety
-when the number of pattern matches is not useful:
-
-```php
-use Composer\Pcre\Preg;
-
-if (Preg::isMatch('{fo+}', $string, $matches)) // bool
-if (Preg::isMatchAll('{fo+}', $string, $matches)) // bool
-```
-
-Finally the `Preg` class provides a few `*StrictGroups` method variants that ensure match groups
-are always present and thus non-nullable, making it easier to write type-safe code:
-
-```php
-use Composer\Pcre\Preg;
-
-// $matches is guaranteed to be an array of strings, if a subpattern does not match and produces a null it will throw
-if (Preg::matchStrictGroups('{fo+}', $string, $matches))
-if (Preg::matchAllStrictGroups('{fo+}', $string, $matches))
-```
-
-**Note:** This is generally safe to use as long as you do not have optional subpatterns (i.e. `(something)?`
-or `(something)*` or branches with a `|` that result in some groups not being matched at all).
-A subpattern that can match an empty string like `(.*)` is **not** optional, it will be present as an
-empty string in the matches. A non-matching subpattern, even if optional like `(?:foo)?` will anyway not be present in
-matches so it is also not a problem to use these with `*StrictGroups` methods.
-
-If you would prefer a slightly more verbose usage, replacing by-ref arguments by result objects, you can use the `Regex` class:
-
-```php
-use Composer\Pcre\Regex;
-
-// this is useful when you are just interested in knowing if something matched
-// as it returns a bool instead of int(1/0) for match
-$bool = Regex::isMatch('{fo+}', $string);
-
-$result = Regex::match('{fo+}', $string);
-if ($result->matched) { something($result->matches); }
-
-$result = Regex::matchWithOffsets('{fo+}', $string);
-if ($result->matched) { something($result->matches); }
-
-$result = Regex::matchAll('{fo+}', $string);
-if ($result->matched && $result->count > 3) { something($result->matches); }
-
-$newString = Regex::replace('{fo+}', 'bar', $string)->result;
-$newString = Regex::replaceCallback('{fo+}', function ($match) { return strtoupper($match[0]); }, $string)->result;
-$newString = Regex::replaceCallbackArray(['{fo+}' => fn ($match) => strtoupper($match[0])], $string)->result;
-```
-
-Note that `preg_grep` and `preg_split` are only callable via the `Preg` class as they do not have
-complex return types warranting a specific result object.
-
-See the [MatchResult](src/MatchResult.php), [MatchWithOffsetsResult](src/MatchWithOffsetsResult.php), [MatchAllResult](src/MatchAllResult.php),
-[MatchAllWithOffsetsResult](src/MatchAllWithOffsetsResult.php), and [ReplaceResult](src/ReplaceResult.php) class sources for more details.
-
-Restrictions / Limitations
---------------------------
-
-Due to type safety requirements a few restrictions are in place.
-
-- matching using `PREG_OFFSET_CAPTURE` is made available via `matchWithOffsets` and `matchAllWithOffsets`.
- You cannot pass the flag to `match`/`matchAll`.
-- `Preg::split` will also reject `PREG_SPLIT_OFFSET_CAPTURE` and you should use `splitWithOffsets`
- instead.
-- `matchAll` rejects `PREG_SET_ORDER` as it also changes the shape of the returned matches. There
- is no alternative provided as you can fairly easily code around it.
-- `preg_filter` is not supported as it has a rather crazy API, most likely you should rather
- use `Preg::grep` in combination with some loop and `Preg::replace`.
-- `replace`, `replaceCallback` and `replaceCallbackArray` do not support an array `$subject`,
- only simple strings.
-- As of 2.0, the library always uses `PREG_UNMATCHED_AS_NULL` for matching, which offers [much
- saner/more predictable results](#preg_unmatched_as_null). As of 3.0 the flag is also set for
- `replaceCallback` and `replaceCallbackArray`.
-
-#### PREG_UNMATCHED_AS_NULL
-
-As of 2.0, this library always uses PREG_UNMATCHED_AS_NULL for all `match*` and `isMatch*`
-functions. As of 3.0 it is also done for `replaceCallback` and `replaceCallbackArray`.
-
-This means your matches will always contain all matching groups, either as null if unmatched
-or as string if it matched.
-
-The advantages in clarity and predictability are clearer if you compare the two outputs of
-running this with and without PREG_UNMATCHED_AS_NULL in $flags:
-
-```php
-preg_match('/(a)(b)*(c)(d)*/', 'ac', $matches, $flags);
-```
-
-| no flag | PREG_UNMATCHED_AS_NULL |
-| --- | --- |
-| array (size=4) | array (size=5) |
-| 0 => string 'ac' (length=2) | 0 => string 'ac' (length=2) |
-| 1 => string 'a' (length=1) | 1 => string 'a' (length=1) |
-| 2 => string '' (length=0) | 2 => null |
-| 3 => string 'c' (length=1) | 3 => string 'c' (length=1) |
-| | 4 => null |
-| group 2 (any unmatched group preceding one that matched) is set to `''`. You cannot tell if it matched an empty string or did not match at all | group 2 is `null` when unmatched and a string if it matched, easy to check for |
-| group 4 (any optional group without a matching one following) is missing altogether. So you have to check with `isset()`, but really you want `isset($m[4]) && $m[4] !== ''` for safety unless you are very careful to check that a non-optional group follows it | group 4 is always set, and null in this case as there was no match, easy to check for with `$m[4] !== null` |
-
-License
--------
-
-composer/pcre is licensed under the MIT License, see the LICENSE file for details.
diff --git a/vendor/composer/pcre/composer.json b/vendor/composer/pcre/composer.json
deleted file mode 100644
index 40477ff4..00000000
--- a/vendor/composer/pcre/composer.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "name": "composer/pcre",
- "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
- "type": "library",
- "license": "MIT",
- "keywords": [
- "pcre",
- "regex",
- "preg",
- "regular expression"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "require": {
- "php": "^7.4 || ^8.0"
- },
- "require-dev": {
- "symfony/phpunit-bridge": "^5",
- "phpstan/phpstan": "^1.3",
- "phpstan/phpstan-strict-rules": "^1.1"
- },
- "autoload": {
- "psr-4": {
- "Composer\\Pcre\\": "src"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "Composer\\Pcre\\": "tests"
- }
- },
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "scripts": {
- "test": "vendor/bin/simple-phpunit",
- "phpstan": "phpstan analyse"
- }
-}
diff --git a/vendor/composer/pcre/src/MatchAllResult.php b/vendor/composer/pcre/src/MatchAllResult.php
deleted file mode 100644
index b22b52d6..00000000
--- a/vendor/composer/pcre/src/MatchAllResult.php
+++ /dev/null
@@ -1,46 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-final class MatchAllResult
-{
- /**
- * An array of match group => list of matched strings
- *
- * @readonly
- * @var array
>
- */
- public $matches;
-
- /**
- * @readonly
- * @var 0|positive-int
- */
- public $count;
-
- /**
- * @readonly
- * @var bool
- */
- public $matched;
-
- /**
- * @param 0|positive-int $count
- * @param array> $matches
- */
- public function __construct(int $count, array $matches)
- {
- $this->matches = $matches;
- $this->matched = (bool) $count;
- $this->count = $count;
- }
-}
diff --git a/vendor/composer/pcre/src/MatchAllStrictGroupsResult.php b/vendor/composer/pcre/src/MatchAllStrictGroupsResult.php
deleted file mode 100644
index b7ec3974..00000000
--- a/vendor/composer/pcre/src/MatchAllStrictGroupsResult.php
+++ /dev/null
@@ -1,46 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-final class MatchAllStrictGroupsResult
-{
- /**
- * An array of match group => list of matched strings
- *
- * @readonly
- * @var array>
- */
- public $matches;
-
- /**
- * @readonly
- * @var 0|positive-int
- */
- public $count;
-
- /**
- * @readonly
- * @var bool
- */
- public $matched;
-
- /**
- * @param 0|positive-int $count
- * @param array> $matches
- */
- public function __construct(int $count, array $matches)
- {
- $this->matches = $matches;
- $this->matched = (bool) $count;
- $this->count = $count;
- }
-}
diff --git a/vendor/composer/pcre/src/MatchAllWithOffsetsResult.php b/vendor/composer/pcre/src/MatchAllWithOffsetsResult.php
deleted file mode 100644
index 032a02cd..00000000
--- a/vendor/composer/pcre/src/MatchAllWithOffsetsResult.php
+++ /dev/null
@@ -1,48 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-final class MatchAllWithOffsetsResult
-{
- /**
- * An array of match group => list of matches, every match being a pair of string matched + offset in bytes (or -1 if no match)
- *
- * @readonly
- * @var array>
- * @phpstan-var array}>>
- */
- public $matches;
-
- /**
- * @readonly
- * @var 0|positive-int
- */
- public $count;
-
- /**
- * @readonly
- * @var bool
- */
- public $matched;
-
- /**
- * @param 0|positive-int $count
- * @param array> $matches
- * @phpstan-param array}>> $matches
- */
- public function __construct(int $count, array $matches)
- {
- $this->matches = $matches;
- $this->matched = (bool) $count;
- $this->count = $count;
- }
-}
diff --git a/vendor/composer/pcre/src/MatchResult.php b/vendor/composer/pcre/src/MatchResult.php
deleted file mode 100644
index e951a5ee..00000000
--- a/vendor/composer/pcre/src/MatchResult.php
+++ /dev/null
@@ -1,39 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-final class MatchResult
-{
- /**
- * An array of match group => string matched
- *
- * @readonly
- * @var array
- */
- public $matches;
-
- /**
- * @readonly
- * @var bool
- */
- public $matched;
-
- /**
- * @param 0|positive-int $count
- * @param array $matches
- */
- public function __construct(int $count, array $matches)
- {
- $this->matches = $matches;
- $this->matched = (bool) $count;
- }
-}
diff --git a/vendor/composer/pcre/src/MatchStrictGroupsResult.php b/vendor/composer/pcre/src/MatchStrictGroupsResult.php
deleted file mode 100644
index 126ee629..00000000
--- a/vendor/composer/pcre/src/MatchStrictGroupsResult.php
+++ /dev/null
@@ -1,39 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-final class MatchStrictGroupsResult
-{
- /**
- * An array of match group => string matched
- *
- * @readonly
- * @var array
- */
- public $matches;
-
- /**
- * @readonly
- * @var bool
- */
- public $matched;
-
- /**
- * @param 0|positive-int $count
- * @param array $matches
- */
- public function __construct(int $count, array $matches)
- {
- $this->matches = $matches;
- $this->matched = (bool) $count;
- }
-}
diff --git a/vendor/composer/pcre/src/MatchWithOffsetsResult.php b/vendor/composer/pcre/src/MatchWithOffsetsResult.php
deleted file mode 100644
index ba4d4bc4..00000000
--- a/vendor/composer/pcre/src/MatchWithOffsetsResult.php
+++ /dev/null
@@ -1,41 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-final class MatchWithOffsetsResult
-{
- /**
- * An array of match group => pair of string matched + offset in bytes (or -1 if no match)
- *
- * @readonly
- * @var array
- * @phpstan-var array}>
- */
- public $matches;
-
- /**
- * @readonly
- * @var bool
- */
- public $matched;
-
- /**
- * @param 0|positive-int $count
- * @param array $matches
- * @phpstan-param array}> $matches
- */
- public function __construct(int $count, array $matches)
- {
- $this->matches = $matches;
- $this->matched = (bool) $count;
- }
-}
diff --git a/vendor/composer/pcre/src/PcreException.php b/vendor/composer/pcre/src/PcreException.php
deleted file mode 100644
index 218b2f2d..00000000
--- a/vendor/composer/pcre/src/PcreException.php
+++ /dev/null
@@ -1,60 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-class PcreException extends \RuntimeException
-{
- /**
- * @param string $function
- * @param string|string[] $pattern
- * @return self
- */
- public static function fromFunction($function, $pattern)
- {
- $code = preg_last_error();
-
- if (is_array($pattern)) {
- $pattern = implode(', ', $pattern);
- }
-
- return new PcreException($function.'(): failed executing "'.$pattern.'": '.self::pcreLastErrorMessage($code), $code);
- }
-
- /**
- * @param int $code
- * @return string
- */
- private static function pcreLastErrorMessage($code)
- {
- if (function_exists('preg_last_error_msg')) {
- return preg_last_error_msg();
- }
-
- // older php versions did not set the code properly in all cases
- if (PHP_VERSION_ID < 70201 && $code === 0) {
- return 'UNDEFINED_ERROR';
- }
-
- $constants = get_defined_constants(true);
- if (!isset($constants['pcre'])) {
- return 'UNDEFINED_ERROR';
- }
-
- foreach ($constants['pcre'] as $const => $val) {
- if ($val === $code && substr($const, -6) === '_ERROR') {
- return $const;
- }
- }
-
- return 'UNDEFINED_ERROR';
- }
-}
diff --git a/vendor/composer/pcre/src/Preg.php b/vendor/composer/pcre/src/Preg.php
deleted file mode 100644
index 71ed46ef..00000000
--- a/vendor/composer/pcre/src/Preg.php
+++ /dev/null
@@ -1,430 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-class Preg
-{
- /** @internal */
- public const ARRAY_MSG = '$subject as an array is not supported. You can use \'foreach\' instead.';
- /** @internal */
- public const INVALID_TYPE_MSG = '$subject must be a string, %s given.';
-
- /**
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- * @return 0|1
- *
- * @param-out array $matches
- */
- public static function match(string $pattern, string $subject, ?array &$matches = null, int $flags = 0, int $offset = 0): int
- {
- self::checkOffsetCapture($flags, 'matchWithOffsets');
-
- $result = preg_match($pattern, $subject, $matches, $flags | PREG_UNMATCHED_AS_NULL, $offset);
- if ($result === false) {
- throw PcreException::fromFunction('preg_match', $pattern);
- }
-
- return $result;
- }
-
- /**
- * Variant of `match()` which outputs non-null matches (or throws)
- *
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- * @return 0|1
- * @throws UnexpectedNullMatchException
- *
- * @param-out array $matches
- */
- public static function matchStrictGroups(string $pattern, string $subject, ?array &$matches = null, int $flags = 0, int $offset = 0): int
- {
- $result = self::match($pattern, $subject, $matchesInternal, $flags, $offset);
- $matches = self::enforceNonNullMatches($pattern, $matchesInternal, 'match');
-
- return $result;
- }
-
- /**
- * Runs preg_match with PREG_OFFSET_CAPTURE
- *
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL and PREG_OFFSET_CAPTURE are always set, no other flags are supported
- * @return 0|1
- *
- * @param-out array}> $matches
- */
- public static function matchWithOffsets(string $pattern, string $subject, ?array &$matches, int $flags = 0, int $offset = 0): int
- {
- $result = preg_match($pattern, $subject, $matches, $flags | PREG_UNMATCHED_AS_NULL | PREG_OFFSET_CAPTURE, $offset);
- if ($result === false) {
- throw PcreException::fromFunction('preg_match', $pattern);
- }
-
- return $result;
- }
-
- /**
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- * @return 0|positive-int
- *
- * @param-out array> $matches
- */
- public static function matchAll(string $pattern, string $subject, ?array &$matches = null, int $flags = 0, int $offset = 0): int
- {
- self::checkOffsetCapture($flags, 'matchAllWithOffsets');
- self::checkSetOrder($flags);
-
- $result = preg_match_all($pattern, $subject, $matches, $flags | PREG_UNMATCHED_AS_NULL, $offset);
- if (!is_int($result)) { // PHP < 8 may return null, 8+ returns int|false
- throw PcreException::fromFunction('preg_match_all', $pattern);
- }
-
- return $result;
- }
-
- /**
- * Variant of `match()` which outputs non-null matches (or throws)
- *
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- * @return 0|positive-int
- * @throws UnexpectedNullMatchException
- *
- * @param-out array> $matches
- */
- public static function matchAllStrictGroups(string $pattern, string $subject, ?array &$matches = null, int $flags = 0, int $offset = 0): int
- {
- $result = self::matchAll($pattern, $subject, $matchesInternal, $flags, $offset);
- $matches = self::enforceNonNullMatchAll($pattern, $matchesInternal, 'matchAll');
-
- return $result;
- }
-
- /**
- * Runs preg_match_all with PREG_OFFSET_CAPTURE
- *
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL and PREG_MATCH_OFFSET are always set, no other flags are supported
- * @return 0|positive-int
- *
- * @param-out array}>> $matches
- */
- public static function matchAllWithOffsets(string $pattern, string $subject, ?array &$matches, int $flags = 0, int $offset = 0): int
- {
- self::checkSetOrder($flags);
-
- $result = preg_match_all($pattern, $subject, $matches, $flags | PREG_UNMATCHED_AS_NULL | PREG_OFFSET_CAPTURE, $offset);
- if (!is_int($result)) { // PHP < 8 may return null, 8+ returns int|false
- throw PcreException::fromFunction('preg_match_all', $pattern);
- }
-
- return $result;
- }
-
- /**
- * @param string|string[] $pattern
- * @param string|string[] $replacement
- * @param string $subject
- * @param int $count Set by method
- *
- * @param-out int<0, max> $count
- */
- public static function replace($pattern, $replacement, $subject, int $limit = -1, int &$count = null): string
- {
- if (!is_scalar($subject)) {
- if (is_array($subject)) {
- throw new \InvalidArgumentException(static::ARRAY_MSG);
- }
-
- throw new \TypeError(sprintf(static::INVALID_TYPE_MSG, gettype($subject)));
- }
-
- $result = preg_replace($pattern, $replacement, $subject, $limit, $count);
- if ($result === null) {
- throw PcreException::fromFunction('preg_replace', $pattern);
- }
-
- return $result;
- }
-
- /**
- * @param string|string[] $pattern
- * @param ($flags is PREG_OFFSET_CAPTURE ? (callable(array}>): string) : callable(array): string) $replacement
- * @param string $subject
- * @param int $count Set by method
- * @param int-mask $flags PREG_OFFSET_CAPTURE is supported, PREG_UNMATCHED_AS_NULL is always set
- *
- * @param-out int<0, max> $count
- */
- public static function replaceCallback($pattern, callable $replacement, $subject, int $limit = -1, int &$count = null, int $flags = 0): string
- {
- if (!is_scalar($subject)) {
- if (is_array($subject)) {
- throw new \InvalidArgumentException(static::ARRAY_MSG);
- }
-
- throw new \TypeError(sprintf(static::INVALID_TYPE_MSG, gettype($subject)));
- }
-
- $result = preg_replace_callback($pattern, $replacement, $subject, $limit, $count, $flags | PREG_UNMATCHED_AS_NULL);
- if ($result === null) {
- throw PcreException::fromFunction('preg_replace_callback', $pattern);
- }
-
- return $result;
- }
-
- /**
- * Variant of `replaceCallback()` which outputs non-null matches (or throws)
- *
- * @param string $pattern
- * @param ($flags is PREG_OFFSET_CAPTURE ? (callable(array}>): string) : callable(array): string) $replacement
- * @param string $subject
- * @param int $count Set by method
- * @param int-mask $flags PREG_OFFSET_CAPTURE is supported, PREG_UNMATCHED_AS_NULL is always set
- *
- * @param-out int<0, max> $count
- */
- public static function replaceCallbackStrictGroups(string $pattern, callable $replacement, $subject, int $limit = -1, int &$count = null, int $flags = 0): string
- {
- return self::replaceCallback($pattern, function (array $matches) use ($pattern, $replacement) {
- return $replacement(self::enforceNonNullMatches($pattern, $matches, 'replaceCallback'));
- }, $subject, $limit, $count, $flags);
- }
-
- /**
- * @param ($flags is PREG_OFFSET_CAPTURE ? (array}>): string>) : array): string>) $pattern
- * @param string $subject
- * @param int $count Set by method
- * @param int-mask $flags PREG_OFFSET_CAPTURE is supported, PREG_UNMATCHED_AS_NULL is always set
- *
- * @param-out int<0, max> $count
- */
- public static function replaceCallbackArray(array $pattern, $subject, int $limit = -1, int &$count = null, int $flags = 0): string
- {
- if (!is_scalar($subject)) {
- if (is_array($subject)) {
- throw new \InvalidArgumentException(static::ARRAY_MSG);
- }
-
- throw new \TypeError(sprintf(static::INVALID_TYPE_MSG, gettype($subject)));
- }
-
- $result = preg_replace_callback_array($pattern, $subject, $limit, $count, $flags | PREG_UNMATCHED_AS_NULL);
- if ($result === null) {
- $pattern = array_keys($pattern);
- throw PcreException::fromFunction('preg_replace_callback_array', $pattern);
- }
-
- return $result;
- }
-
- /**
- * @param int-mask $flags PREG_SPLIT_NO_EMPTY or PREG_SPLIT_DELIM_CAPTURE
- * @return list
- */
- public static function split(string $pattern, string $subject, int $limit = -1, int $flags = 0): array
- {
- if (($flags & PREG_SPLIT_OFFSET_CAPTURE) !== 0) {
- throw new \InvalidArgumentException('PREG_SPLIT_OFFSET_CAPTURE is not supported as it changes the type of $matches, use splitWithOffsets() instead');
- }
-
- $result = preg_split($pattern, $subject, $limit, $flags);
- if ($result === false) {
- throw PcreException::fromFunction('preg_split', $pattern);
- }
-
- return $result;
- }
-
- /**
- * @param int-mask $flags PREG_SPLIT_NO_EMPTY or PREG_SPLIT_DELIM_CAPTURE, PREG_SPLIT_OFFSET_CAPTURE is always set
- * @return list
- * @phpstan-return list}>
- */
- public static function splitWithOffsets(string $pattern, string $subject, int $limit = -1, int $flags = 0): array
- {
- $result = preg_split($pattern, $subject, $limit, $flags | PREG_SPLIT_OFFSET_CAPTURE);
- if ($result === false) {
- throw PcreException::fromFunction('preg_split', $pattern);
- }
-
- return $result;
- }
-
- /**
- * @template T of string|\Stringable
- * @param string $pattern
- * @param array $array
- * @param int-mask $flags PREG_GREP_INVERT
- * @return array
- */
- public static function grep(string $pattern, array $array, int $flags = 0): array
- {
- $result = preg_grep($pattern, $array, $flags);
- if ($result === false) {
- throw PcreException::fromFunction('preg_grep', $pattern);
- }
-
- return $result;
- }
-
- /**
- * Variant of match() which returns a bool instead of int
- *
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- *
- * @param-out array $matches
- */
- public static function isMatch(string $pattern, string $subject, ?array &$matches = null, int $flags = 0, int $offset = 0): bool
- {
- return (bool) static::match($pattern, $subject, $matches, $flags, $offset);
- }
-
- /**
- * Variant of `isMatch()` which outputs non-null matches (or throws)
- *
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- * @throws UnexpectedNullMatchException
- *
- * @param-out array $matches
- */
- public static function isMatchStrictGroups(string $pattern, string $subject, ?array &$matches = null, int $flags = 0, int $offset = 0): bool
- {
- return (bool) self::matchStrictGroups($pattern, $subject, $matches, $flags, $offset);
- }
-
- /**
- * Variant of matchAll() which returns a bool instead of int
- *
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- *
- * @param-out array> $matches
- */
- public static function isMatchAll(string $pattern, string $subject, ?array &$matches = null, int $flags = 0, int $offset = 0): bool
- {
- return (bool) static::matchAll($pattern, $subject, $matches, $flags, $offset);
- }
-
- /**
- * Variant of `isMatchAll()` which outputs non-null matches (or throws)
- *
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- *
- * @param-out array> $matches
- */
- public static function isMatchAllStrictGroups(string $pattern, string $subject, ?array &$matches = null, int $flags = 0, int $offset = 0): bool
- {
- return (bool) self::matchAllStrictGroups($pattern, $subject, $matches, $flags, $offset);
- }
-
- /**
- * Variant of matchWithOffsets() which returns a bool instead of int
- *
- * Runs preg_match with PREG_OFFSET_CAPTURE
- *
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- *
- * @param-out array}> $matches
- */
- public static function isMatchWithOffsets(string $pattern, string $subject, ?array &$matches, int $flags = 0, int $offset = 0): bool
- {
- return (bool) static::matchWithOffsets($pattern, $subject, $matches, $flags, $offset);
- }
-
- /**
- * Variant of matchAllWithOffsets() which returns a bool instead of int
- *
- * Runs preg_match_all with PREG_OFFSET_CAPTURE
- *
- * @param non-empty-string $pattern
- * @param array $matches Set by method
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- *
- * @param-out array}>> $matches
- */
- public static function isMatchAllWithOffsets(string $pattern, string $subject, ?array &$matches, int $flags = 0, int $offset = 0): bool
- {
- return (bool) static::matchAllWithOffsets($pattern, $subject, $matches, $flags, $offset);
- }
-
- private static function checkOffsetCapture(int $flags, string $useFunctionName): void
- {
- if (($flags & PREG_OFFSET_CAPTURE) !== 0) {
- throw new \InvalidArgumentException('PREG_OFFSET_CAPTURE is not supported as it changes the type of $matches, use ' . $useFunctionName . '() instead');
- }
- }
-
- private static function checkSetOrder(int $flags): void
- {
- if (($flags & PREG_SET_ORDER) !== 0) {
- throw new \InvalidArgumentException('PREG_SET_ORDER is not supported as it changes the type of $matches');
- }
- }
-
- /**
- * @param array $matches
- * @return array
- * @throws UnexpectedNullMatchException
- */
- private static function enforceNonNullMatches(string $pattern, array $matches, string $variantMethod)
- {
- foreach ($matches as $group => $match) {
- if (is_string($match) || (is_array($match) && is_string($match[0]))) {
- continue;
- }
-
- throw new UnexpectedNullMatchException('Pattern "'.$pattern.'" had an unexpected unmatched group "'.$group.'", make sure the pattern always matches or use '.$variantMethod.'() instead.');
- }
-
- /** @var array */
- return $matches;
- }
-
- /**
- * @param array> $matches
- * @return array>
- * @throws UnexpectedNullMatchException
- */
- private static function enforceNonNullMatchAll(string $pattern, array $matches, string $variantMethod)
- {
- foreach ($matches as $group => $groupMatches) {
- foreach ($groupMatches as $match) {
- if (null === $match) {
- throw new UnexpectedNullMatchException('Pattern "'.$pattern.'" had an unexpected unmatched group "'.$group.'", make sure the pattern always matches or use '.$variantMethod.'() instead.');
- }
- }
- }
-
- /** @var array> */
- return $matches;
- }
-}
diff --git a/vendor/composer/pcre/src/Regex.php b/vendor/composer/pcre/src/Regex.php
deleted file mode 100644
index 21564a47..00000000
--- a/vendor/composer/pcre/src/Regex.php
+++ /dev/null
@@ -1,174 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-class Regex
-{
- /**
- * @param non-empty-string $pattern
- */
- public static function isMatch(string $pattern, string $subject, int $offset = 0): bool
- {
- return (bool) Preg::match($pattern, $subject, $matches, 0, $offset);
- }
-
- /**
- * @param non-empty-string $pattern
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- */
- public static function match(string $pattern, string $subject, int $flags = 0, int $offset = 0): MatchResult
- {
- self::checkOffsetCapture($flags, 'matchWithOffsets');
-
- $count = Preg::match($pattern, $subject, $matches, $flags, $offset);
-
- return new MatchResult($count, $matches);
- }
-
- /**
- * Variant of `match()` which returns non-null matches (or throws)
- *
- * @param non-empty-string $pattern
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- * @throws UnexpectedNullMatchException
- */
- public static function matchStrictGroups(string $pattern, string $subject, int $flags = 0, int $offset = 0): MatchStrictGroupsResult
- {
- $count = Preg::matchStrictGroups($pattern, $subject, $matches, $flags, $offset);
-
- return new MatchStrictGroupsResult($count, $matches);
- }
-
- /**
- * Runs preg_match with PREG_OFFSET_CAPTURE
- *
- * @param non-empty-string $pattern
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL and PREG_MATCH_OFFSET are always set, no other flags are supported
- */
- public static function matchWithOffsets(string $pattern, string $subject, int $flags = 0, int $offset = 0): MatchWithOffsetsResult
- {
- $count = Preg::matchWithOffsets($pattern, $subject, $matches, $flags, $offset);
-
- return new MatchWithOffsetsResult($count, $matches);
- }
-
- /**
- * @param non-empty-string $pattern
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- */
- public static function matchAll(string $pattern, string $subject, int $flags = 0, int $offset = 0): MatchAllResult
- {
- self::checkOffsetCapture($flags, 'matchAllWithOffsets');
- self::checkSetOrder($flags);
-
- $count = Preg::matchAll($pattern, $subject, $matches, $flags, $offset);
-
- return new MatchAllResult($count, $matches);
- }
-
- /**
- * Variant of `matchAll()` which returns non-null matches (or throws)
- *
- * @param non-empty-string $pattern
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL is always set, no other flags are supported
- * @throws UnexpectedNullMatchException
- */
- public static function matchAllStrictGroups(string $pattern, string $subject, int $flags = 0, int $offset = 0): MatchAllStrictGroupsResult
- {
- self::checkOffsetCapture($flags, 'matchAllWithOffsets');
- self::checkSetOrder($flags);
-
- $count = Preg::matchAllStrictGroups($pattern, $subject, $matches, $flags, $offset);
-
- return new MatchAllStrictGroupsResult($count, $matches);
- }
-
- /**
- * Runs preg_match_all with PREG_OFFSET_CAPTURE
- *
- * @param non-empty-string $pattern
- * @param int-mask $flags PREG_UNMATCHED_AS_NULL and PREG_MATCH_OFFSET are always set, no other flags are supported
- */
- public static function matchAllWithOffsets(string $pattern, string $subject, int $flags = 0, int $offset = 0): MatchAllWithOffsetsResult
- {
- self::checkSetOrder($flags);
-
- $count = Preg::matchAllWithOffsets($pattern, $subject, $matches, $flags, $offset);
-
- return new MatchAllWithOffsetsResult($count, $matches);
- }
- /**
- * @param string|string[] $pattern
- * @param string|string[] $replacement
- * @param string $subject
- */
- public static function replace($pattern, $replacement, $subject, int $limit = -1): ReplaceResult
- {
- $result = Preg::replace($pattern, $replacement, $subject, $limit, $count);
-
- return new ReplaceResult($count, $result);
- }
-
- /**
- * @param string|string[] $pattern
- * @param ($flags is PREG_OFFSET_CAPTURE ? (callable(array}>): string) : callable(array): string) $replacement
- * @param string $subject
- * @param int-mask $flags PREG_OFFSET_CAPTURE is supported, PREG_UNMATCHED_AS_NULL is always set
- */
- public static function replaceCallback($pattern, callable $replacement, $subject, int $limit = -1, int $flags = 0): ReplaceResult
- {
- $result = Preg::replaceCallback($pattern, $replacement, $subject, $limit, $count, $flags);
-
- return new ReplaceResult($count, $result);
- }
-
- /**
- * Variant of `replaceCallback()` which outputs non-null matches (or throws)
- *
- * @param string $pattern
- * @param ($flags is PREG_OFFSET_CAPTURE ? (callable(array}>): string) : callable(array): string) $replacement
- * @param string $subject
- * @param int-mask $flags PREG_OFFSET_CAPTURE is supported, PREG_UNMATCHED_AS_NULL is always set
- */
- public static function replaceCallbackStrictGroups($pattern, callable $replacement, $subject, int $limit = -1, int $flags = 0): ReplaceResult
- {
- $result = Preg::replaceCallbackStrictGroups($pattern, $replacement, $subject, $limit, $count, $flags);
-
- return new ReplaceResult($count, $result);
- }
-
- /**
- * @param ($flags is PREG_OFFSET_CAPTURE ? (array}>): string>) : array): string>) $pattern
- * @param string $subject
- * @param int-mask $flags PREG_OFFSET_CAPTURE is supported, PREG_UNMATCHED_AS_NULL is always set
- */
- public static function replaceCallbackArray(array $pattern, $subject, int $limit = -1, int $flags = 0): ReplaceResult
- {
- $result = Preg::replaceCallbackArray($pattern, $subject, $limit, $count, $flags);
-
- return new ReplaceResult($count, $result);
- }
-
- private static function checkOffsetCapture(int $flags, string $useFunctionName): void
- {
- if (($flags & PREG_OFFSET_CAPTURE) !== 0) {
- throw new \InvalidArgumentException('PREG_OFFSET_CAPTURE is not supported as it changes the return type, use '.$useFunctionName.'() instead');
- }
- }
-
- private static function checkSetOrder(int $flags): void
- {
- if (($flags & PREG_SET_ORDER) !== 0) {
- throw new \InvalidArgumentException('PREG_SET_ORDER is not supported as it changes the return type');
- }
- }
-}
diff --git a/vendor/composer/pcre/src/ReplaceResult.php b/vendor/composer/pcre/src/ReplaceResult.php
deleted file mode 100644
index 33847712..00000000
--- a/vendor/composer/pcre/src/ReplaceResult.php
+++ /dev/null
@@ -1,43 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-final class ReplaceResult
-{
- /**
- * @readonly
- * @var string
- */
- public $result;
-
- /**
- * @readonly
- * @var 0|positive-int
- */
- public $count;
-
- /**
- * @readonly
- * @var bool
- */
- public $matched;
-
- /**
- * @param 0|positive-int $count
- */
- public function __construct(int $count, string $result)
- {
- $this->count = $count;
- $this->matched = (bool) $count;
- $this->result = $result;
- }
-}
diff --git a/vendor/composer/pcre/src/UnexpectedNullMatchException.php b/vendor/composer/pcre/src/UnexpectedNullMatchException.php
deleted file mode 100644
index f123828b..00000000
--- a/vendor/composer/pcre/src/UnexpectedNullMatchException.php
+++ /dev/null
@@ -1,20 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Pcre;
-
-class UnexpectedNullMatchException extends PcreException
-{
- public static function fromFunction($function, $pattern)
- {
- throw new \LogicException('fromFunction should not be called on '.self::class.', use '.PcreException::class);
- }
-}
diff --git a/vendor/composer/semver/CHANGELOG.md b/vendor/composer/semver/CHANGELOG.md
deleted file mode 100644
index 3b111612..00000000
--- a/vendor/composer/semver/CHANGELOG.md
+++ /dev/null
@@ -1,214 +0,0 @@
-# Change Log
-
-All notable changes to this project will be documented in this file.
-This project adheres to [Semantic Versioning](http://semver.org/).
-
-### [3.4.0] 2023-08-31
-
- * Support larger major version numbers (#149)
-
-### [3.3.2] 2022-04-01
-
- * Fixed handling of non-string values (#134)
-
-### [3.3.1] 2022-03-16
-
- * Fixed possible cache key clash in the CompilingMatcher memoization (#132)
-
-### [3.3.0] 2022-03-15
-
- * Improved performance of CompilingMatcher by memoizing more (#131)
- * Added CompilingMatcher::clear to clear all memoization caches
-
-### [3.2.9] 2022-02-04
-
- * Revert #129 (Fixed MultiConstraint with MatchAllConstraint) which caused regressions
-
-### [3.2.8] 2022-02-04
-
- * Updates to latest phpstan / CI by @Seldaek in https://github.com/composer/semver/pull/130
- * Fixed MultiConstraint with MatchAllConstraint by @Toflar in https://github.com/composer/semver/pull/129
-
-### [3.2.7] 2022-01-04
-
- * Fixed: typo in type definition of Intervals class causing issues with Psalm scanning vendors
-
-### [3.2.6] 2021-10-25
-
- * Fixed: type improvements to parseStability
-
-### [3.2.5] 2021-05-24
-
- * Fixed: issue comparing disjunctive MultiConstraints to conjunctive ones (#127)
- * Fixed: added complete type information using phpstan annotations
-
-### [3.2.4] 2020-11-13
-
- * Fixed: code clean-up
-
-### [3.2.3] 2020-11-12
-
- * Fixed: constraints in the form of `X || Y, >=Y.1` and other such complex constructs were in some cases being optimized into a more restrictive constraint
-
-### [3.2.2] 2020-10-14
-
- * Fixed: internal code cleanups
-
-### [3.2.1] 2020-09-27
-
- * Fixed: accidental validation of broken constraints combining ^/~ and wildcards, and -dev suffix allowing weird cases
- * Fixed: normalization of beta0 and such which was dropping the 0
-
-### [3.2.0] 2020-09-09
-
- * Added: support for `x || @dev`, not very useful but seen in the wild and failed to validate with 1.5.2/1.6.0
- * Added: support for `foobar-dev` being equal to `dev-foobar`, dev-foobar is the official way to write it but we need to support the other for BC and convenience
-
-### [3.1.0] 2020-09-08
-
- * Added: support for constraints like `^2.x-dev` and `~2.x-dev`, not very useful but seen in the wild and failed to validate with 3.0.1
- * Fixed: invalid aliases will no longer throw, unless explicitly validated by Composer in the root package
-
-### [3.0.1] 2020-09-08
-
- * Fixed: handling of some invalid -dev versions which were seen as valid
-
-### [3.0.0] 2020-05-26
-
- * Break: Renamed `EmptyConstraint`, replace it with `MatchAllConstraint`
- * Break: Unlikely to affect anyone but strictly speaking a breaking change, `*.*` and such variants will not match all `dev-*` versions anymore, only `*` does
- * Break: ConstraintInterface is now considered internal/private and not meant to be implemented by third parties anymore
- * Added `Intervals` class to check if a constraint is a subsets of another one, and allow compacting complex MultiConstraints into simpler ones
- * Added `CompilingMatcher` class to speed up constraint matching against simple Constraint instances
- * Added `MatchAllConstraint` and `MatchNoneConstraint` which match everything and nothing
- * Added more advanced optimization of contiguous constraints inside MultiConstraint
- * Added tentative support for PHP 8
- * Fixed ConstraintInterface::matches to be commutative in all cases
-
-### [2.0.0] 2020-04-21
-
- * Break: `dev-master`, `dev-trunk` and `dev-default` now normalize to `dev-master`, `dev-trunk` and `dev-default` instead of `9999999-dev` in 1.x
- * Break: Removed the deprecated `AbstractConstraint`
- * Added `getUpperBound` and `getLowerBound` to ConstraintInterface. They return `Composer\Semver\Constraint\Bound` instances
- * Added `MultiConstraint::create` to create the most-optimal form of ConstraintInterface from an array of constraint strings
-
-### [1.7.2] 2020-12-03
-
- * Fixed: Allow installing on php 8
-
-### [1.7.1] 2020-09-27
-
- * Fixed: accidental validation of broken constraints combining ^/~ and wildcards, and -dev suffix allowing weird cases
- * Fixed: normalization of beta0 and such which was dropping the 0
-
-### [1.7.0] 2020-09-09
-
- * Added: support for `x || @dev`, not very useful but seen in the wild and failed to validate with 1.5.2/1.6.0
- * Added: support for `foobar-dev` being equal to `dev-foobar`, dev-foobar is the official way to write it but we need to support the other for BC and convenience
-
-### [1.6.0] 2020-09-08
-
- * Added: support for constraints like `^2.x-dev` and `~2.x-dev`, not very useful but seen in the wild and failed to validate with 1.5.2
- * Fixed: invalid aliases will no longer throw, unless explicitly validated by Composer in the root package
-
-### [1.5.2] 2020-09-08
-
- * Fixed: handling of some invalid -dev versions which were seen as valid
- * Fixed: some doctypes
-
-### [1.5.1] 2020-01-13
-
- * Fixed: Parsing of aliased version was not validating the alias to be a valid version
-
-### [1.5.0] 2019-03-19
-
- * Added: some support for date versions (e.g. 201903) in `~` operator
- * Fixed: support for stabilities in `~` operator was inconsistent
-
-### [1.4.2] 2016-08-30
-
- * Fixed: collapsing of complex constraints lead to buggy constraints
-
-### [1.4.1] 2016-06-02
-
- * Changed: branch-like requirements no longer strip build metadata - [composer/semver#38](https://github.com/composer/semver/pull/38).
-
-### [1.4.0] 2016-03-30
-
- * Added: getters on MultiConstraint - [composer/semver#35](https://github.com/composer/semver/pull/35).
-
-### [1.3.0] 2016-02-25
-
- * Fixed: stability parsing - [composer/composer#1234](https://github.com/composer/composer/issues/4889).
- * Changed: collapse contiguous constraints when possible.
-
-### [1.2.0] 2015-11-10
-
- * Changed: allow multiple numerical identifiers in 'pre-release' version part.
- * Changed: add more 'v' prefix support.
-
-### [1.1.0] 2015-11-03
-
- * Changed: dropped redundant `test` namespace.
- * Changed: minor adjustment in datetime parsing normalization.
- * Changed: `ConstraintInterface` relaxed, setPrettyString is not required anymore.
- * Changed: `AbstractConstraint` marked deprecated, will be removed in 2.0.
- * Changed: `Constraint` is now extensible.
-
-### [1.0.0] 2015-09-21
-
- * Break: `VersionConstraint` renamed to `Constraint`.
- * Break: `SpecificConstraint` renamed to `AbstractConstraint`.
- * Break: `LinkConstraintInterface` renamed to `ConstraintInterface`.
- * Break: `VersionParser::parseNameVersionPairs` was removed.
- * Changed: `VersionParser::parseConstraints` allows (but ignores) build metadata now.
- * Changed: `VersionParser::parseConstraints` allows (but ignores) prefixing numeric versions with a 'v' now.
- * Changed: Fixed namespace(s) of test files.
- * Changed: `Comparator::compare` no longer throws `InvalidArgumentException`.
- * Changed: `Constraint` now throws `InvalidArgumentException`.
-
-### [0.1.0] 2015-07-23
-
- * Added: `Composer\Semver\Comparator`, various methods to compare versions.
- * Added: various documents such as README.md, LICENSE, etc.
- * Added: configuration files for Git, Travis, php-cs-fixer, phpunit.
- * Break: the following namespaces were renamed:
- - Namespace: `Composer\Package\Version` -> `Composer\Semver`
- - Namespace: `Composer\Package\LinkConstraint` -> `Composer\Semver\Constraint`
- - Namespace: `Composer\Test\Package\Version` -> `Composer\Test\Semver`
- - Namespace: `Composer\Test\Package\LinkConstraint` -> `Composer\Test\Semver\Constraint`
- * Changed: code style using php-cs-fixer.
-
-[3.4.0]: https://github.com/composer/semver/compare/3.3.2...3.4.0
-[3.3.2]: https://github.com/composer/semver/compare/3.3.1...3.3.2
-[3.3.1]: https://github.com/composer/semver/compare/3.3.0...3.3.1
-[3.3.0]: https://github.com/composer/semver/compare/3.2.9...3.3.0
-[3.2.9]: https://github.com/composer/semver/compare/3.2.8...3.2.9
-[3.2.8]: https://github.com/composer/semver/compare/3.2.7...3.2.8
-[3.2.7]: https://github.com/composer/semver/compare/3.2.6...3.2.7
-[3.2.6]: https://github.com/composer/semver/compare/3.2.5...3.2.6
-[3.2.5]: https://github.com/composer/semver/compare/3.2.4...3.2.5
-[3.2.4]: https://github.com/composer/semver/compare/3.2.3...3.2.4
-[3.2.3]: https://github.com/composer/semver/compare/3.2.2...3.2.3
-[3.2.2]: https://github.com/composer/semver/compare/3.2.1...3.2.2
-[3.2.1]: https://github.com/composer/semver/compare/3.2.0...3.2.1
-[3.2.0]: https://github.com/composer/semver/compare/3.1.0...3.2.0
-[3.1.0]: https://github.com/composer/semver/compare/3.0.1...3.1.0
-[3.0.1]: https://github.com/composer/semver/compare/3.0.0...3.0.1
-[3.0.0]: https://github.com/composer/semver/compare/2.0.0...3.0.0
-[2.0.0]: https://github.com/composer/semver/compare/1.5.1...2.0.0
-[1.7.2]: https://github.com/composer/semver/compare/1.7.1...1.7.2
-[1.7.1]: https://github.com/composer/semver/compare/1.7.0...1.7.1
-[1.7.0]: https://github.com/composer/semver/compare/1.6.0...1.7.0
-[1.6.0]: https://github.com/composer/semver/compare/1.5.2...1.6.0
-[1.5.2]: https://github.com/composer/semver/compare/1.5.1...1.5.2
-[1.5.1]: https://github.com/composer/semver/compare/1.5.0...1.5.1
-[1.5.0]: https://github.com/composer/semver/compare/1.4.2...1.5.0
-[1.4.2]: https://github.com/composer/semver/compare/1.4.1...1.4.2
-[1.4.1]: https://github.com/composer/semver/compare/1.4.0...1.4.1
-[1.4.0]: https://github.com/composer/semver/compare/1.3.0...1.4.0
-[1.3.0]: https://github.com/composer/semver/compare/1.2.0...1.3.0
-[1.2.0]: https://github.com/composer/semver/compare/1.1.0...1.2.0
-[1.1.0]: https://github.com/composer/semver/compare/1.0.0...1.1.0
-[1.0.0]: https://github.com/composer/semver/compare/0.1.0...1.0.0
-[0.1.0]: https://github.com/composer/semver/compare/5e0b9a4da...0.1.0
diff --git a/vendor/composer/semver/LICENSE b/vendor/composer/semver/LICENSE
deleted file mode 100644
index 46697586..00000000
--- a/vendor/composer/semver/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (C) 2015 Composer
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/vendor/composer/semver/README.md b/vendor/composer/semver/README.md
deleted file mode 100644
index 76778490..00000000
--- a/vendor/composer/semver/README.md
+++ /dev/null
@@ -1,99 +0,0 @@
-composer/semver
-===============
-
-Semver (Semantic Versioning) library that offers utilities, version constraint parsing and validation.
-
-Originally written as part of [composer/composer](https://github.com/composer/composer),
-now extracted and made available as a stand-alone library.
-
-[](https://github.com/composer/semver/actions/workflows/continuous-integration.yml)
-[](https://github.com/composer/semver/actions/workflows/lint.yml)
-[](https://github.com/composer/semver/actions/workflows/phpstan.yml)
-
-Installation
-------------
-
-Install the latest version with:
-
-```bash
-composer require composer/semver
-```
-
-
-Requirements
-------------
-
-* PHP 5.3.2 is required but using the latest version of PHP is highly recommended.
-
-
-Version Comparison
-------------------
-
-For details on how versions are compared, refer to the [Versions](https://getcomposer.org/doc/articles/versions.md)
-article in the documentation section of the [getcomposer.org](https://getcomposer.org) website.
-
-
-Basic usage
------------
-
-### Comparator
-
-The [`Composer\Semver\Comparator`](https://github.com/composer/semver/blob/main/src/Comparator.php) class provides the following methods for comparing versions:
-
-* greaterThan($v1, $v2)
-* greaterThanOrEqualTo($v1, $v2)
-* lessThan($v1, $v2)
-* lessThanOrEqualTo($v1, $v2)
-* equalTo($v1, $v2)
-* notEqualTo($v1, $v2)
-
-Each function takes two version strings as arguments and returns a boolean. For example:
-
-```php
-use Composer\Semver\Comparator;
-
-Comparator::greaterThan('1.25.0', '1.24.0'); // 1.25.0 > 1.24.0
-```
-
-### Semver
-
-The [`Composer\Semver\Semver`](https://github.com/composer/semver/blob/main/src/Semver.php) class provides the following methods:
-
-* satisfies($version, $constraints)
-* satisfiedBy(array $versions, $constraint)
-* sort($versions)
-* rsort($versions)
-
-### Intervals
-
-The [`Composer\Semver\Intervals`](https://github.com/composer/semver/blob/main/src/Intervals.php) static class provides
-a few utilities to work with complex constraints or read version intervals from a constraint:
-
-```php
-use Composer\Semver\Intervals;
-
-// Checks whether $candidate is a subset of $constraint
-Intervals::isSubsetOf(ConstraintInterface $candidate, ConstraintInterface $constraint);
-
-// Checks whether $a and $b have any intersection, equivalent to $a->matches($b)
-Intervals::haveIntersections(ConstraintInterface $a, ConstraintInterface $b);
-
-// Optimizes a complex multi constraint by merging all intervals down to the smallest
-// possible multi constraint. The drawbacks are this is not very fast, and the resulting
-// multi constraint will have no human readable prettyConstraint configured on it
-Intervals::compactConstraint(ConstraintInterface $constraint);
-
-// Creates an array of numeric intervals and branch constraints representing a given constraint
-Intervals::get(ConstraintInterface $constraint);
-
-// Clears the memoization cache when you are done processing constraints
-Intervals::clear()
-```
-
-See the class docblocks for more details.
-
-
-License
--------
-
-composer/semver is licensed under the MIT License, see the LICENSE file for details.
diff --git a/vendor/composer/semver/composer.json b/vendor/composer/semver/composer.json
deleted file mode 100644
index f3a6f4cc..00000000
--- a/vendor/composer/semver/composer.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "name": "composer/semver",
- "description": "Semver library that offers utilities, version constraint parsing and validation.",
- "type": "library",
- "license": "MIT",
- "keywords": [
- "semver",
- "semantic",
- "versioning",
- "validation"
- ],
- "authors": [
- {
- "name": "Nils Adermann",
- "email": "naderman@naderman.de",
- "homepage": "http://www.naderman.de"
- },
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- },
- {
- "name": "Rob Bast",
- "email": "rob.bast@gmail.com",
- "homepage": "http://robbast.nl"
- }
- ],
- "support": {
- "irc": "ircs://irc.libera.chat:6697/composer",
- "issues": "https://github.com/composer/semver/issues"
- },
- "require": {
- "php": "^5.3.2 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "symfony/phpunit-bridge": "^4.2 || ^5",
- "phpstan/phpstan": "^1.4"
- },
- "autoload": {
- "psr-4": {
- "Composer\\Semver\\": "src"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "Composer\\Semver\\": "tests"
- }
- },
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "scripts": {
- "test": "SYMFONY_PHPUNIT_REMOVE_RETURN_TYPEHINT=1 vendor/bin/simple-phpunit",
- "phpstan": "@php vendor/bin/phpstan analyse"
- }
-}
diff --git a/vendor/composer/semver/phpstan-baseline.neon b/vendor/composer/semver/phpstan-baseline.neon
deleted file mode 100644
index 933cf203..00000000
--- a/vendor/composer/semver/phpstan-baseline.neon
+++ /dev/null
@@ -1,11 +0,0 @@
-parameters:
- ignoreErrors:
- -
- message: "#^Parameter \\#1 \\$operator of class Composer\\\\Semver\\\\Constraint\\\\Constraint constructor expects '\\!\\='\\|'\\<'\\|'\\<\\='\\|'\\<\\>'\\|'\\='\\|'\\=\\='\\|'\\>'\\|'\\>\\=', non\\-falsy\\-string given\\.$#"
- count: 1
- path: src/VersionParser.php
-
- -
- message: "#^Strict comparison using \\=\\=\\= between null and non\\-empty\\-string will always evaluate to false\\.$#"
- count: 2
- path: src/VersionParser.php
diff --git a/vendor/composer/semver/src/Comparator.php b/vendor/composer/semver/src/Comparator.php
deleted file mode 100644
index 38f483aa..00000000
--- a/vendor/composer/semver/src/Comparator.php
+++ /dev/null
@@ -1,113 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver;
-
-use Composer\Semver\Constraint\Constraint;
-
-class Comparator
-{
- /**
- * Evaluates the expression: $version1 > $version2.
- *
- * @param string $version1
- * @param string $version2
- *
- * @return bool
- */
- public static function greaterThan($version1, $version2)
- {
- return self::compare($version1, '>', $version2);
- }
-
- /**
- * Evaluates the expression: $version1 >= $version2.
- *
- * @param string $version1
- * @param string $version2
- *
- * @return bool
- */
- public static function greaterThanOrEqualTo($version1, $version2)
- {
- return self::compare($version1, '>=', $version2);
- }
-
- /**
- * Evaluates the expression: $version1 < $version2.
- *
- * @param string $version1
- * @param string $version2
- *
- * @return bool
- */
- public static function lessThan($version1, $version2)
- {
- return self::compare($version1, '<', $version2);
- }
-
- /**
- * Evaluates the expression: $version1 <= $version2.
- *
- * @param string $version1
- * @param string $version2
- *
- * @return bool
- */
- public static function lessThanOrEqualTo($version1, $version2)
- {
- return self::compare($version1, '<=', $version2);
- }
-
- /**
- * Evaluates the expression: $version1 == $version2.
- *
- * @param string $version1
- * @param string $version2
- *
- * @return bool
- */
- public static function equalTo($version1, $version2)
- {
- return self::compare($version1, '==', $version2);
- }
-
- /**
- * Evaluates the expression: $version1 != $version2.
- *
- * @param string $version1
- * @param string $version2
- *
- * @return bool
- */
- public static function notEqualTo($version1, $version2)
- {
- return self::compare($version1, '!=', $version2);
- }
-
- /**
- * Evaluates the expression: $version1 $operator $version2.
- *
- * @param string $version1
- * @param string $operator
- * @param string $version2
- *
- * @return bool
- *
- * @phpstan-param Constraint::STR_OP_* $operator
- */
- public static function compare($version1, $operator, $version2)
- {
- $constraint = new Constraint($operator, $version2);
-
- return $constraint->matchSpecific(new Constraint('==', $version1), true);
- }
-}
diff --git a/vendor/composer/semver/src/CompilingMatcher.php b/vendor/composer/semver/src/CompilingMatcher.php
deleted file mode 100644
index 45bce70a..00000000
--- a/vendor/composer/semver/src/CompilingMatcher.php
+++ /dev/null
@@ -1,94 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver;
-
-use Composer\Semver\Constraint\Constraint;
-use Composer\Semver\Constraint\ConstraintInterface;
-
-/**
- * Helper class to evaluate constraint by compiling and reusing the code to evaluate
- */
-class CompilingMatcher
-{
- /**
- * @var array
- * @phpstan-var array
- */
- private static $compiledCheckerCache = array();
- /**
- * @var array
- * @phpstan-var array
- */
- private static $resultCache = array();
-
- /** @var bool */
- private static $enabled;
-
- /**
- * @phpstan-var array
- */
- private static $transOpInt = array(
- Constraint::OP_EQ => Constraint::STR_OP_EQ,
- Constraint::OP_LT => Constraint::STR_OP_LT,
- Constraint::OP_LE => Constraint::STR_OP_LE,
- Constraint::OP_GT => Constraint::STR_OP_GT,
- Constraint::OP_GE => Constraint::STR_OP_GE,
- Constraint::OP_NE => Constraint::STR_OP_NE,
- );
-
- /**
- * Clears the memoization cache once you are done
- *
- * @return void
- */
- public static function clear()
- {
- self::$resultCache = array();
- self::$compiledCheckerCache = array();
- }
-
- /**
- * Evaluates the expression: $constraint match $operator $version
- *
- * @param ConstraintInterface $constraint
- * @param int $operator
- * @phpstan-param Constraint::OP_* $operator
- * @param string $version
- *
- * @return mixed
- */
- public static function match(ConstraintInterface $constraint, $operator, $version)
- {
- $resultCacheKey = $operator.$constraint.';'.$version;
-
- if (isset(self::$resultCache[$resultCacheKey])) {
- return self::$resultCache[$resultCacheKey];
- }
-
- if (self::$enabled === null) {
- self::$enabled = !\in_array('eval', explode(',', (string) ini_get('disable_functions')), true);
- }
- if (!self::$enabled) {
- return self::$resultCache[$resultCacheKey] = $constraint->matches(new Constraint(self::$transOpInt[$operator], $version));
- }
-
- $cacheKey = $operator.$constraint;
- if (!isset(self::$compiledCheckerCache[$cacheKey])) {
- $code = $constraint->compile($operator);
- self::$compiledCheckerCache[$cacheKey] = $function = eval('return function($v, $b){return '.$code.';};');
- } else {
- $function = self::$compiledCheckerCache[$cacheKey];
- }
-
- return self::$resultCache[$resultCacheKey] = $function($version, strpos($version, 'dev-') === 0);
- }
-}
diff --git a/vendor/composer/semver/src/Constraint/Bound.php b/vendor/composer/semver/src/Constraint/Bound.php
deleted file mode 100644
index 7effb11a..00000000
--- a/vendor/composer/semver/src/Constraint/Bound.php
+++ /dev/null
@@ -1,122 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver\Constraint;
-
-class Bound
-{
- /**
- * @var string
- */
- private $version;
-
- /**
- * @var bool
- */
- private $isInclusive;
-
- /**
- * @param string $version
- * @param bool $isInclusive
- */
- public function __construct($version, $isInclusive)
- {
- $this->version = $version;
- $this->isInclusive = $isInclusive;
- }
-
- /**
- * @return string
- */
- public function getVersion()
- {
- return $this->version;
- }
-
- /**
- * @return bool
- */
- public function isInclusive()
- {
- return $this->isInclusive;
- }
-
- /**
- * @return bool
- */
- public function isZero()
- {
- return $this->getVersion() === '0.0.0.0-dev' && $this->isInclusive();
- }
-
- /**
- * @return bool
- */
- public function isPositiveInfinity()
- {
- return $this->getVersion() === PHP_INT_MAX.'.0.0.0' && !$this->isInclusive();
- }
-
- /**
- * Compares a bound to another with a given operator.
- *
- * @param Bound $other
- * @param string $operator
- *
- * @return bool
- */
- public function compareTo(Bound $other, $operator)
- {
- if (!\in_array($operator, array('<', '>'), true)) {
- throw new \InvalidArgumentException('Does not support any other operator other than > or <.');
- }
-
- // If they are the same it doesn't matter
- if ($this == $other) {
- return false;
- }
-
- $compareResult = version_compare($this->getVersion(), $other->getVersion());
-
- // Not the same version means we don't need to check if the bounds are inclusive or not
- if (0 !== $compareResult) {
- return (('>' === $operator) ? 1 : -1) === $compareResult;
- }
-
- // Question we're answering here is "am I higher than $other?"
- return '>' === $operator ? $other->isInclusive() : !$other->isInclusive();
- }
-
- public function __toString()
- {
- return sprintf(
- '%s [%s]',
- $this->getVersion(),
- $this->isInclusive() ? 'inclusive' : 'exclusive'
- );
- }
-
- /**
- * @return self
- */
- public static function zero()
- {
- return new Bound('0.0.0.0-dev', true);
- }
-
- /**
- * @return self
- */
- public static function positiveInfinity()
- {
- return new Bound(PHP_INT_MAX.'.0.0.0', false);
- }
-}
diff --git a/vendor/composer/semver/src/Constraint/Constraint.php b/vendor/composer/semver/src/Constraint/Constraint.php
deleted file mode 100644
index dc394829..00000000
--- a/vendor/composer/semver/src/Constraint/Constraint.php
+++ /dev/null
@@ -1,435 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver\Constraint;
-
-/**
- * Defines a constraint.
- */
-class Constraint implements ConstraintInterface
-{
- /* operator integer values */
- const OP_EQ = 0;
- const OP_LT = 1;
- const OP_LE = 2;
- const OP_GT = 3;
- const OP_GE = 4;
- const OP_NE = 5;
-
- /* operator string values */
- const STR_OP_EQ = '==';
- const STR_OP_EQ_ALT = '=';
- const STR_OP_LT = '<';
- const STR_OP_LE = '<=';
- const STR_OP_GT = '>';
- const STR_OP_GE = '>=';
- const STR_OP_NE = '!=';
- const STR_OP_NE_ALT = '<>';
-
- /**
- * Operator to integer translation table.
- *
- * @var array
- * @phpstan-var array
- */
- private static $transOpStr = array(
- '=' => self::OP_EQ,
- '==' => self::OP_EQ,
- '<' => self::OP_LT,
- '<=' => self::OP_LE,
- '>' => self::OP_GT,
- '>=' => self::OP_GE,
- '<>' => self::OP_NE,
- '!=' => self::OP_NE,
- );
-
- /**
- * Integer to operator translation table.
- *
- * @var array
- * @phpstan-var array
- */
- private static $transOpInt = array(
- self::OP_EQ => '==',
- self::OP_LT => '<',
- self::OP_LE => '<=',
- self::OP_GT => '>',
- self::OP_GE => '>=',
- self::OP_NE => '!=',
- );
-
- /**
- * @var int
- * @phpstan-var self::OP_*
- */
- protected $operator;
-
- /** @var string */
- protected $version;
-
- /** @var string|null */
- protected $prettyString;
-
- /** @var Bound */
- protected $lowerBound;
-
- /** @var Bound */
- protected $upperBound;
-
- /**
- * Sets operator and version to compare with.
- *
- * @param string $operator
- * @param string $version
- *
- * @throws \InvalidArgumentException if invalid operator is given.
- *
- * @phpstan-param self::STR_OP_* $operator
- */
- public function __construct($operator, $version)
- {
- if (!isset(self::$transOpStr[$operator])) {
- throw new \InvalidArgumentException(sprintf(
- 'Invalid operator "%s" given, expected one of: %s',
- $operator,
- implode(', ', self::getSupportedOperators())
- ));
- }
-
- $this->operator = self::$transOpStr[$operator];
- $this->version = $version;
- }
-
- /**
- * @return string
- */
- public function getVersion()
- {
- return $this->version;
- }
-
- /**
- * @return string
- *
- * @phpstan-return self::STR_OP_*
- */
- public function getOperator()
- {
- return self::$transOpInt[$this->operator];
- }
-
- /**
- * @param ConstraintInterface $provider
- *
- * @return bool
- */
- public function matches(ConstraintInterface $provider)
- {
- if ($provider instanceof self) {
- return $this->matchSpecific($provider);
- }
-
- // turn matching around to find a match
- return $provider->matches($this);
- }
-
- /**
- * {@inheritDoc}
- */
- public function setPrettyString($prettyString)
- {
- $this->prettyString = $prettyString;
- }
-
- /**
- * {@inheritDoc}
- */
- public function getPrettyString()
- {
- if ($this->prettyString) {
- return $this->prettyString;
- }
-
- return $this->__toString();
- }
-
- /**
- * Get all supported comparison operators.
- *
- * @return array
- *
- * @phpstan-return list
- */
- public static function getSupportedOperators()
- {
- return array_keys(self::$transOpStr);
- }
-
- /**
- * @param string $operator
- * @return int
- *
- * @phpstan-param self::STR_OP_* $operator
- * @phpstan-return self::OP_*
- */
- public static function getOperatorConstant($operator)
- {
- return self::$transOpStr[$operator];
- }
-
- /**
- * @param string $a
- * @param string $b
- * @param string $operator
- * @param bool $compareBranches
- *
- * @throws \InvalidArgumentException if invalid operator is given.
- *
- * @return bool
- *
- * @phpstan-param self::STR_OP_* $operator
- */
- public function versionCompare($a, $b, $operator, $compareBranches = false)
- {
- if (!isset(self::$transOpStr[$operator])) {
- throw new \InvalidArgumentException(sprintf(
- 'Invalid operator "%s" given, expected one of: %s',
- $operator,
- implode(', ', self::getSupportedOperators())
- ));
- }
-
- $aIsBranch = strpos($a, 'dev-') === 0;
- $bIsBranch = strpos($b, 'dev-') === 0;
-
- if ($operator === '!=' && ($aIsBranch || $bIsBranch)) {
- return $a !== $b;
- }
-
- if ($aIsBranch && $bIsBranch) {
- return $operator === '==' && $a === $b;
- }
-
- // when branches are not comparable, we make sure dev branches never match anything
- if (!$compareBranches && ($aIsBranch || $bIsBranch)) {
- return false;
- }
-
- return \version_compare($a, $b, $operator);
- }
-
- /**
- * {@inheritDoc}
- */
- public function compile($otherOperator)
- {
- if (strpos($this->version, 'dev-') === 0) {
- if (self::OP_EQ === $this->operator) {
- if (self::OP_EQ === $otherOperator) {
- return sprintf('$b && $v === %s', \var_export($this->version, true));
- }
- if (self::OP_NE === $otherOperator) {
- return sprintf('!$b || $v !== %s', \var_export($this->version, true));
- }
- return 'false';
- }
-
- if (self::OP_NE === $this->operator) {
- if (self::OP_EQ === $otherOperator) {
- return sprintf('!$b || $v !== %s', \var_export($this->version, true));
- }
- if (self::OP_NE === $otherOperator) {
- return 'true';
- }
- return '!$b';
- }
-
- return 'false';
- }
-
- if (self::OP_EQ === $this->operator) {
- if (self::OP_EQ === $otherOperator) {
- return sprintf('\version_compare($v, %s, \'==\')', \var_export($this->version, true));
- }
- if (self::OP_NE === $otherOperator) {
- return sprintf('$b || \version_compare($v, %s, \'!=\')', \var_export($this->version, true));
- }
-
- return sprintf('!$b && \version_compare(%s, $v, \'%s\')', \var_export($this->version, true), self::$transOpInt[$otherOperator]);
- }
-
- if (self::OP_NE === $this->operator) {
- if (self::OP_EQ === $otherOperator) {
- return sprintf('$b || (!$b && \version_compare($v, %s, \'!=\'))', \var_export($this->version, true));
- }
-
- if (self::OP_NE === $otherOperator) {
- return 'true';
- }
- return '!$b';
- }
-
- if (self::OP_LT === $this->operator || self::OP_LE === $this->operator) {
- if (self::OP_LT === $otherOperator || self::OP_LE === $otherOperator) {
- return '!$b';
- }
- } else { // $this->operator must be self::OP_GT || self::OP_GE here
- if (self::OP_GT === $otherOperator || self::OP_GE === $otherOperator) {
- return '!$b';
- }
- }
-
- if (self::OP_NE === $otherOperator) {
- return 'true';
- }
-
- $codeComparison = sprintf('\version_compare($v, %s, \'%s\')', \var_export($this->version, true), self::$transOpInt[$this->operator]);
- if ($this->operator === self::OP_LE) {
- if ($otherOperator === self::OP_GT) {
- return sprintf('!$b && \version_compare($v, %s, \'!=\') && ', \var_export($this->version, true)) . $codeComparison;
- }
- } elseif ($this->operator === self::OP_GE) {
- if ($otherOperator === self::OP_LT) {
- return sprintf('!$b && \version_compare($v, %s, \'!=\') && ', \var_export($this->version, true)) . $codeComparison;
- }
- }
-
- return sprintf('!$b && %s', $codeComparison);
- }
-
- /**
- * @param Constraint $provider
- * @param bool $compareBranches
- *
- * @return bool
- */
- public function matchSpecific(Constraint $provider, $compareBranches = false)
- {
- $noEqualOp = str_replace('=', '', self::$transOpInt[$this->operator]);
- $providerNoEqualOp = str_replace('=', '', self::$transOpInt[$provider->operator]);
-
- $isEqualOp = self::OP_EQ === $this->operator;
- $isNonEqualOp = self::OP_NE === $this->operator;
- $isProviderEqualOp = self::OP_EQ === $provider->operator;
- $isProviderNonEqualOp = self::OP_NE === $provider->operator;
-
- // '!=' operator is match when other operator is not '==' operator or version is not match
- // these kinds of comparisons always have a solution
- if ($isNonEqualOp || $isProviderNonEqualOp) {
- if ($isNonEqualOp && !$isProviderNonEqualOp && !$isProviderEqualOp && strpos($provider->version, 'dev-') === 0) {
- return false;
- }
-
- if ($isProviderNonEqualOp && !$isNonEqualOp && !$isEqualOp && strpos($this->version, 'dev-') === 0) {
- return false;
- }
-
- if (!$isEqualOp && !$isProviderEqualOp) {
- return true;
- }
- return $this->versionCompare($provider->version, $this->version, '!=', $compareBranches);
- }
-
- // an example for the condition is <= 2.0 & < 1.0
- // these kinds of comparisons always have a solution
- if ($this->operator !== self::OP_EQ && $noEqualOp === $providerNoEqualOp) {
- return !(strpos($this->version, 'dev-') === 0 || strpos($provider->version, 'dev-') === 0);
- }
-
- $version1 = $isEqualOp ? $this->version : $provider->version;
- $version2 = $isEqualOp ? $provider->version : $this->version;
- $operator = $isEqualOp ? $provider->operator : $this->operator;
-
- if ($this->versionCompare($version1, $version2, self::$transOpInt[$operator], $compareBranches)) {
- // special case, e.g. require >= 1.0 and provide < 1.0
- // 1.0 >= 1.0 but 1.0 is outside of the provided interval
-
- return !(self::$transOpInt[$provider->operator] === $providerNoEqualOp
- && self::$transOpInt[$this->operator] !== $noEqualOp
- && \version_compare($provider->version, $this->version, '=='));
- }
-
- return false;
- }
-
- /**
- * @return string
- */
- public function __toString()
- {
- return self::$transOpInt[$this->operator] . ' ' . $this->version;
- }
-
- /**
- * {@inheritDoc}
- */
- public function getLowerBound()
- {
- $this->extractBounds();
-
- return $this->lowerBound;
- }
-
- /**
- * {@inheritDoc}
- */
- public function getUpperBound()
- {
- $this->extractBounds();
-
- return $this->upperBound;
- }
-
- /**
- * @return void
- */
- private function extractBounds()
- {
- if (null !== $this->lowerBound) {
- return;
- }
-
- // Branches
- if (strpos($this->version, 'dev-') === 0) {
- $this->lowerBound = Bound::zero();
- $this->upperBound = Bound::positiveInfinity();
-
- return;
- }
-
- switch ($this->operator) {
- case self::OP_EQ:
- $this->lowerBound = new Bound($this->version, true);
- $this->upperBound = new Bound($this->version, true);
- break;
- case self::OP_LT:
- $this->lowerBound = Bound::zero();
- $this->upperBound = new Bound($this->version, false);
- break;
- case self::OP_LE:
- $this->lowerBound = Bound::zero();
- $this->upperBound = new Bound($this->version, true);
- break;
- case self::OP_GT:
- $this->lowerBound = new Bound($this->version, false);
- $this->upperBound = Bound::positiveInfinity();
- break;
- case self::OP_GE:
- $this->lowerBound = new Bound($this->version, true);
- $this->upperBound = Bound::positiveInfinity();
- break;
- case self::OP_NE:
- $this->lowerBound = Bound::zero();
- $this->upperBound = Bound::positiveInfinity();
- break;
- }
- }
-}
diff --git a/vendor/composer/semver/src/Constraint/ConstraintInterface.php b/vendor/composer/semver/src/Constraint/ConstraintInterface.php
deleted file mode 100644
index 389b935b..00000000
--- a/vendor/composer/semver/src/Constraint/ConstraintInterface.php
+++ /dev/null
@@ -1,75 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver\Constraint;
-
-/**
- * DO NOT IMPLEMENT this interface. It is only meant for usage as a type hint
- * in libraries relying on composer/semver but creating your own constraint class
- * that implements this interface is not a supported use case and will cause the
- * composer/semver components to return unexpected results.
- */
-interface ConstraintInterface
-{
- /**
- * Checks whether the given constraint intersects in any way with this constraint
- *
- * @param ConstraintInterface $provider
- *
- * @return bool
- */
- public function matches(ConstraintInterface $provider);
-
- /**
- * Provides a compiled version of the constraint for the given operator
- * The compiled version must be a PHP expression.
- * Executor of compile version must provide 2 variables:
- * - $v = the string version to compare with
- * - $b = whether or not the version is a non-comparable branch (starts with "dev-")
- *
- * @see Constraint::OP_* for the list of available operators.
- * @example return '!$b && version_compare($v, '1.0', '>')';
- *
- * @param int $otherOperator one Constraint::OP_*
- *
- * @return string
- *
- * @phpstan-param Constraint::OP_* $otherOperator
- */
- public function compile($otherOperator);
-
- /**
- * @return Bound
- */
- public function getUpperBound();
-
- /**
- * @return Bound
- */
- public function getLowerBound();
-
- /**
- * @return string
- */
- public function getPrettyString();
-
- /**
- * @param string|null $prettyString
- *
- * @return void
- */
- public function setPrettyString($prettyString);
-
- /**
- * @return string
- */
- public function __toString();
-}
diff --git a/vendor/composer/semver/src/Constraint/MatchAllConstraint.php b/vendor/composer/semver/src/Constraint/MatchAllConstraint.php
deleted file mode 100644
index 5e51af95..00000000
--- a/vendor/composer/semver/src/Constraint/MatchAllConstraint.php
+++ /dev/null
@@ -1,85 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver\Constraint;
-
-/**
- * Defines the absence of a constraint.
- *
- * This constraint matches everything.
- */
-class MatchAllConstraint implements ConstraintInterface
-{
- /** @var string|null */
- protected $prettyString;
-
- /**
- * @param ConstraintInterface $provider
- *
- * @return bool
- */
- public function matches(ConstraintInterface $provider)
- {
- return true;
- }
-
- /**
- * {@inheritDoc}
- */
- public function compile($otherOperator)
- {
- return 'true';
- }
-
- /**
- * {@inheritDoc}
- */
- public function setPrettyString($prettyString)
- {
- $this->prettyString = $prettyString;
- }
-
- /**
- * {@inheritDoc}
- */
- public function getPrettyString()
- {
- if ($this->prettyString) {
- return $this->prettyString;
- }
-
- return (string) $this;
- }
-
- /**
- * {@inheritDoc}
- */
- public function __toString()
- {
- return '*';
- }
-
- /**
- * {@inheritDoc}
- */
- public function getUpperBound()
- {
- return Bound::positiveInfinity();
- }
-
- /**
- * {@inheritDoc}
- */
- public function getLowerBound()
- {
- return Bound::zero();
- }
-}
diff --git a/vendor/composer/semver/src/Constraint/MatchNoneConstraint.php b/vendor/composer/semver/src/Constraint/MatchNoneConstraint.php
deleted file mode 100644
index dadcf622..00000000
--- a/vendor/composer/semver/src/Constraint/MatchNoneConstraint.php
+++ /dev/null
@@ -1,83 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver\Constraint;
-
-/**
- * Blackhole of constraints, nothing escapes it
- */
-class MatchNoneConstraint implements ConstraintInterface
-{
- /** @var string|null */
- protected $prettyString;
-
- /**
- * @param ConstraintInterface $provider
- *
- * @return bool
- */
- public function matches(ConstraintInterface $provider)
- {
- return false;
- }
-
- /**
- * {@inheritDoc}
- */
- public function compile($otherOperator)
- {
- return 'false';
- }
-
- /**
- * {@inheritDoc}
- */
- public function setPrettyString($prettyString)
- {
- $this->prettyString = $prettyString;
- }
-
- /**
- * {@inheritDoc}
- */
- public function getPrettyString()
- {
- if ($this->prettyString) {
- return $this->prettyString;
- }
-
- return (string) $this;
- }
-
- /**
- * {@inheritDoc}
- */
- public function __toString()
- {
- return '[]';
- }
-
- /**
- * {@inheritDoc}
- */
- public function getUpperBound()
- {
- return new Bound('0.0.0.0-dev', false);
- }
-
- /**
- * {@inheritDoc}
- */
- public function getLowerBound()
- {
- return new Bound('0.0.0.0-dev', false);
- }
-}
diff --git a/vendor/composer/semver/src/Constraint/MultiConstraint.php b/vendor/composer/semver/src/Constraint/MultiConstraint.php
deleted file mode 100644
index 1f4c0061..00000000
--- a/vendor/composer/semver/src/Constraint/MultiConstraint.php
+++ /dev/null
@@ -1,325 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver\Constraint;
-
-/**
- * Defines a conjunctive or disjunctive set of constraints.
- */
-class MultiConstraint implements ConstraintInterface
-{
- /**
- * @var ConstraintInterface[]
- * @phpstan-var non-empty-array
- */
- protected $constraints;
-
- /** @var string|null */
- protected $prettyString;
-
- /** @var string|null */
- protected $string;
-
- /** @var bool */
- protected $conjunctive;
-
- /** @var Bound|null */
- protected $lowerBound;
-
- /** @var Bound|null */
- protected $upperBound;
-
- /**
- * @param ConstraintInterface[] $constraints A set of constraints
- * @param bool $conjunctive Whether the constraints should be treated as conjunctive or disjunctive
- *
- * @throws \InvalidArgumentException If less than 2 constraints are passed
- */
- public function __construct(array $constraints, $conjunctive = true)
- {
- if (\count($constraints) < 2) {
- throw new \InvalidArgumentException(
- 'Must provide at least two constraints for a MultiConstraint. Use '.
- 'the regular Constraint class for one constraint only or MatchAllConstraint for none. You may use '.
- 'MultiConstraint::create() which optimizes and handles those cases automatically.'
- );
- }
-
- $this->constraints = $constraints;
- $this->conjunctive = $conjunctive;
- }
-
- /**
- * @return ConstraintInterface[]
- */
- public function getConstraints()
- {
- return $this->constraints;
- }
-
- /**
- * @return bool
- */
- public function isConjunctive()
- {
- return $this->conjunctive;
- }
-
- /**
- * @return bool
- */
- public function isDisjunctive()
- {
- return !$this->conjunctive;
- }
-
- /**
- * {@inheritDoc}
- */
- public function compile($otherOperator)
- {
- $parts = array();
- foreach ($this->constraints as $constraint) {
- $code = $constraint->compile($otherOperator);
- if ($code === 'true') {
- if (!$this->conjunctive) {
- return 'true';
- }
- } elseif ($code === 'false') {
- if ($this->conjunctive) {
- return 'false';
- }
- } else {
- $parts[] = '('.$code.')';
- }
- }
-
- if (!$parts) {
- return $this->conjunctive ? 'true' : 'false';
- }
-
- return $this->conjunctive ? implode('&&', $parts) : implode('||', $parts);
- }
-
- /**
- * @param ConstraintInterface $provider
- *
- * @return bool
- */
- public function matches(ConstraintInterface $provider)
- {
- if (false === $this->conjunctive) {
- foreach ($this->constraints as $constraint) {
- if ($provider->matches($constraint)) {
- return true;
- }
- }
-
- return false;
- }
-
- // when matching a conjunctive and a disjunctive multi constraint we have to iterate over the disjunctive one
- // otherwise we'd return true if different parts of the disjunctive constraint match the conjunctive one
- // which would lead to incorrect results, e.g. [>1 and <2] would match [<1 or >2] although they do not intersect
- if ($provider instanceof MultiConstraint && $provider->isDisjunctive()) {
- return $provider->matches($this);
- }
-
- foreach ($this->constraints as $constraint) {
- if (!$provider->matches($constraint)) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * {@inheritDoc}
- */
- public function setPrettyString($prettyString)
- {
- $this->prettyString = $prettyString;
- }
-
- /**
- * {@inheritDoc}
- */
- public function getPrettyString()
- {
- if ($this->prettyString) {
- return $this->prettyString;
- }
-
- return (string) $this;
- }
-
- /**
- * {@inheritDoc}
- */
- public function __toString()
- {
- if ($this->string !== null) {
- return $this->string;
- }
-
- $constraints = array();
- foreach ($this->constraints as $constraint) {
- $constraints[] = (string) $constraint;
- }
-
- return $this->string = '[' . implode($this->conjunctive ? ' ' : ' || ', $constraints) . ']';
- }
-
- /**
- * {@inheritDoc}
- */
- public function getLowerBound()
- {
- $this->extractBounds();
-
- if (null === $this->lowerBound) {
- throw new \LogicException('extractBounds should have populated the lowerBound property');
- }
-
- return $this->lowerBound;
- }
-
- /**
- * {@inheritDoc}
- */
- public function getUpperBound()
- {
- $this->extractBounds();
-
- if (null === $this->upperBound) {
- throw new \LogicException('extractBounds should have populated the upperBound property');
- }
-
- return $this->upperBound;
- }
-
- /**
- * Tries to optimize the constraints as much as possible, meaning
- * reducing/collapsing congruent constraints etc.
- * Does not necessarily return a MultiConstraint instance if
- * things can be reduced to a simple constraint
- *
- * @param ConstraintInterface[] $constraints A set of constraints
- * @param bool $conjunctive Whether the constraints should be treated as conjunctive or disjunctive
- *
- * @return ConstraintInterface
- */
- public static function create(array $constraints, $conjunctive = true)
- {
- if (0 === \count($constraints)) {
- return new MatchAllConstraint();
- }
-
- if (1 === \count($constraints)) {
- return $constraints[0];
- }
-
- $optimized = self::optimizeConstraints($constraints, $conjunctive);
- if ($optimized !== null) {
- list($constraints, $conjunctive) = $optimized;
- if (\count($constraints) === 1) {
- return $constraints[0];
- }
- }
-
- return new self($constraints, $conjunctive);
- }
-
- /**
- * @param ConstraintInterface[] $constraints
- * @param bool $conjunctive
- * @return ?array
- *
- * @phpstan-return array{0: list, 1: bool}|null
- */
- private static function optimizeConstraints(array $constraints, $conjunctive)
- {
- // parse the two OR groups and if they are contiguous we collapse
- // them into one constraint
- // [>= 1 < 2] || [>= 2 < 3] || [>= 3 < 4] => [>= 1 < 4]
- if (!$conjunctive) {
- $left = $constraints[0];
- $mergedConstraints = array();
- $optimized = false;
- for ($i = 1, $l = \count($constraints); $i < $l; $i++) {
- $right = $constraints[$i];
- if (
- $left instanceof self
- && $left->conjunctive
- && $right instanceof self
- && $right->conjunctive
- && \count($left->constraints) === 2
- && \count($right->constraints) === 2
- && ($left0 = (string) $left->constraints[0])
- && $left0[0] === '>' && $left0[1] === '='
- && ($left1 = (string) $left->constraints[1])
- && $left1[0] === '<'
- && ($right0 = (string) $right->constraints[0])
- && $right0[0] === '>' && $right0[1] === '='
- && ($right1 = (string) $right->constraints[1])
- && $right1[0] === '<'
- && substr($left1, 2) === substr($right0, 3)
- ) {
- $optimized = true;
- $left = new MultiConstraint(
- array(
- $left->constraints[0],
- $right->constraints[1],
- ),
- true);
- } else {
- $mergedConstraints[] = $left;
- $left = $right;
- }
- }
- if ($optimized) {
- $mergedConstraints[] = $left;
- return array($mergedConstraints, false);
- }
- }
-
- // TODO: Here's the place to put more optimizations
-
- return null;
- }
-
- /**
- * @return void
- */
- private function extractBounds()
- {
- if (null !== $this->lowerBound) {
- return;
- }
-
- foreach ($this->constraints as $constraint) {
- if (null === $this->lowerBound || null === $this->upperBound) {
- $this->lowerBound = $constraint->getLowerBound();
- $this->upperBound = $constraint->getUpperBound();
- continue;
- }
-
- if ($constraint->getLowerBound()->compareTo($this->lowerBound, $this->isConjunctive() ? '>' : '<')) {
- $this->lowerBound = $constraint->getLowerBound();
- }
-
- if ($constraint->getUpperBound()->compareTo($this->upperBound, $this->isConjunctive() ? '<' : '>')) {
- $this->upperBound = $constraint->getUpperBound();
- }
- }
- }
-}
diff --git a/vendor/composer/semver/src/Interval.php b/vendor/composer/semver/src/Interval.php
deleted file mode 100644
index 43d5a4f5..00000000
--- a/vendor/composer/semver/src/Interval.php
+++ /dev/null
@@ -1,98 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver;
-
-use Composer\Semver\Constraint\Constraint;
-
-class Interval
-{
- /** @var Constraint */
- private $start;
- /** @var Constraint */
- private $end;
-
- public function __construct(Constraint $start, Constraint $end)
- {
- $this->start = $start;
- $this->end = $end;
- }
-
- /**
- * @return Constraint
- */
- public function getStart()
- {
- return $this->start;
- }
-
- /**
- * @return Constraint
- */
- public function getEnd()
- {
- return $this->end;
- }
-
- /**
- * @return Constraint
- */
- public static function fromZero()
- {
- static $zero;
-
- if (null === $zero) {
- $zero = new Constraint('>=', '0.0.0.0-dev');
- }
-
- return $zero;
- }
-
- /**
- * @return Constraint
- */
- public static function untilPositiveInfinity()
- {
- static $positiveInfinity;
-
- if (null === $positiveInfinity) {
- $positiveInfinity = new Constraint('<', PHP_INT_MAX.'.0.0.0');
- }
-
- return $positiveInfinity;
- }
-
- /**
- * @return self
- */
- public static function any()
- {
- return new self(self::fromZero(), self::untilPositiveInfinity());
- }
-
- /**
- * @return array{'names': string[], 'exclude': bool}
- */
- public static function anyDev()
- {
- // any == exclude nothing
- return array('names' => array(), 'exclude' => true);
- }
-
- /**
- * @return array{'names': string[], 'exclude': bool}
- */
- public static function noDev()
- {
- // nothing == no names included
- return array('names' => array(), 'exclude' => false);
- }
-}
diff --git a/vendor/composer/semver/src/Intervals.php b/vendor/composer/semver/src/Intervals.php
deleted file mode 100644
index d889d0ad..00000000
--- a/vendor/composer/semver/src/Intervals.php
+++ /dev/null
@@ -1,478 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver;
-
-use Composer\Semver\Constraint\Constraint;
-use Composer\Semver\Constraint\ConstraintInterface;
-use Composer\Semver\Constraint\MatchAllConstraint;
-use Composer\Semver\Constraint\MatchNoneConstraint;
-use Composer\Semver\Constraint\MultiConstraint;
-
-/**
- * Helper class generating intervals from constraints
- *
- * This contains utilities for:
- *
- * - compacting an existing constraint which can be used to combine several into one
- * by creating a MultiConstraint out of the many constraints you have.
- *
- * - checking whether one subset is a subset of another.
- *
- * Note: You should call clear to free memoization memory usage when you are done using this class
- */
-class Intervals
-{
- /**
- * @phpstan-var array
- */
- private static $intervalsCache = array();
-
- /**
- * @phpstan-var array
- */
- private static $opSortOrder = array(
- '>=' => -3,
- '<' => -2,
- '>' => 2,
- '<=' => 3,
- );
-
- /**
- * Clears the memoization cache once you are done
- *
- * @return void
- */
- public static function clear()
- {
- self::$intervalsCache = array();
- }
-
- /**
- * Checks whether $candidate is a subset of $constraint
- *
- * @return bool
- */
- public static function isSubsetOf(ConstraintInterface $candidate, ConstraintInterface $constraint)
- {
- if ($constraint instanceof MatchAllConstraint) {
- return true;
- }
-
- if ($candidate instanceof MatchNoneConstraint || $constraint instanceof MatchNoneConstraint) {
- return false;
- }
-
- $intersectionIntervals = self::get(new MultiConstraint(array($candidate, $constraint), true));
- $candidateIntervals = self::get($candidate);
- if (\count($intersectionIntervals['numeric']) !== \count($candidateIntervals['numeric'])) {
- return false;
- }
-
- foreach ($intersectionIntervals['numeric'] as $index => $interval) {
- if (!isset($candidateIntervals['numeric'][$index])) {
- return false;
- }
-
- if ((string) $candidateIntervals['numeric'][$index]->getStart() !== (string) $interval->getStart()) {
- return false;
- }
-
- if ((string) $candidateIntervals['numeric'][$index]->getEnd() !== (string) $interval->getEnd()) {
- return false;
- }
- }
-
- if ($intersectionIntervals['branches']['exclude'] !== $candidateIntervals['branches']['exclude']) {
- return false;
- }
- if (\count($intersectionIntervals['branches']['names']) !== \count($candidateIntervals['branches']['names'])) {
- return false;
- }
- foreach ($intersectionIntervals['branches']['names'] as $index => $name) {
- if ($name !== $candidateIntervals['branches']['names'][$index]) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Checks whether $a and $b have any intersection, equivalent to $a->matches($b)
- *
- * @return bool
- */
- public static function haveIntersections(ConstraintInterface $a, ConstraintInterface $b)
- {
- if ($a instanceof MatchAllConstraint || $b instanceof MatchAllConstraint) {
- return true;
- }
-
- if ($a instanceof MatchNoneConstraint || $b instanceof MatchNoneConstraint) {
- return false;
- }
-
- $intersectionIntervals = self::generateIntervals(new MultiConstraint(array($a, $b), true), true);
-
- return \count($intersectionIntervals['numeric']) > 0 || $intersectionIntervals['branches']['exclude'] || \count($intersectionIntervals['branches']['names']) > 0;
- }
-
- /**
- * Attempts to optimize a MultiConstraint
- *
- * When merging MultiConstraints together they can get very large, this will
- * compact it by looking at the real intervals covered by all the constraints
- * and then creates a new constraint containing only the smallest amount of rules
- * to match the same intervals.
- *
- * @return ConstraintInterface
- */
- public static function compactConstraint(ConstraintInterface $constraint)
- {
- if (!$constraint instanceof MultiConstraint) {
- return $constraint;
- }
-
- $intervals = self::generateIntervals($constraint);
- $constraints = array();
- $hasNumericMatchAll = false;
-
- if (\count($intervals['numeric']) === 1 && (string) $intervals['numeric'][0]->getStart() === (string) Interval::fromZero() && (string) $intervals['numeric'][0]->getEnd() === (string) Interval::untilPositiveInfinity()) {
- $constraints[] = $intervals['numeric'][0]->getStart();
- $hasNumericMatchAll = true;
- } else {
- $unEqualConstraints = array();
- for ($i = 0, $count = \count($intervals['numeric']); $i < $count; $i++) {
- $interval = $intervals['numeric'][$i];
-
- // if current interval ends with < N and next interval begins with > N we can swap this out for != N
- // but this needs to happen as a conjunctive expression together with the start of the current interval
- // and end of next interval, so [>=M, N, [>=M, !=N,
getEnd()->getOperator() === '<' && $i+1 < $count) {
- $nextInterval = $intervals['numeric'][$i+1];
- if ($interval->getEnd()->getVersion() === $nextInterval->getStart()->getVersion() && $nextInterval->getStart()->getOperator() === '>') {
- // only add a start if we didn't already do so, can be skipped if we're looking at second
- // interval in [>=M, N, P, =M, !=N] already and we only want to add !=P right now
- if (\count($unEqualConstraints) === 0 && (string) $interval->getStart() !== (string) Interval::fromZero()) {
- $unEqualConstraints[] = $interval->getStart();
- }
- $unEqualConstraints[] = new Constraint('!=', $interval->getEnd()->getVersion());
- continue;
- }
- }
-
- if (\count($unEqualConstraints) > 0) {
- // this is where the end of the following interval of a != constraint is added as explained above
- if ((string) $interval->getEnd() !== (string) Interval::untilPositiveInfinity()) {
- $unEqualConstraints[] = $interval->getEnd();
- }
-
- // count is 1 if entire constraint is just one != expression
- if (\count($unEqualConstraints) > 1) {
- $constraints[] = new MultiConstraint($unEqualConstraints, true);
- } else {
- $constraints[] = $unEqualConstraints[0];
- }
-
- $unEqualConstraints = array();
- continue;
- }
-
- // convert back >= x - <= x intervals to == x
- if ($interval->getStart()->getVersion() === $interval->getEnd()->getVersion() && $interval->getStart()->getOperator() === '>=' && $interval->getEnd()->getOperator() === '<=') {
- $constraints[] = new Constraint('==', $interval->getStart()->getVersion());
- continue;
- }
-
- if ((string) $interval->getStart() === (string) Interval::fromZero()) {
- $constraints[] = $interval->getEnd();
- } elseif ((string) $interval->getEnd() === (string) Interval::untilPositiveInfinity()) {
- $constraints[] = $interval->getStart();
- } else {
- $constraints[] = new MultiConstraint(array($interval->getStart(), $interval->getEnd()), true);
- }
- }
- }
-
- $devConstraints = array();
-
- if (0 === \count($intervals['branches']['names'])) {
- if ($intervals['branches']['exclude']) {
- if ($hasNumericMatchAll) {
- return new MatchAllConstraint;
- }
- // otherwise constraint should contain a != operator and already cover this
- }
- } else {
- foreach ($intervals['branches']['names'] as $branchName) {
- if ($intervals['branches']['exclude']) {
- $devConstraints[] = new Constraint('!=', $branchName);
- } else {
- $devConstraints[] = new Constraint('==', $branchName);
- }
- }
-
- // excluded branches, e.g. != dev-foo are conjunctive with the interval, so
- // > 2.0 != dev-foo must return a conjunctive constraint
- if ($intervals['branches']['exclude']) {
- if (\count($constraints) > 1) {
- return new MultiConstraint(array_merge(
- array(new MultiConstraint($constraints, false)),
- $devConstraints
- ), true);
- }
-
- if (\count($constraints) === 1 && (string)$constraints[0] === (string)Interval::fromZero()) {
- if (\count($devConstraints) > 1) {
- return new MultiConstraint($devConstraints, true);
- }
- return $devConstraints[0];
- }
-
- return new MultiConstraint(array_merge($constraints, $devConstraints), true);
- }
-
- // otherwise devConstraints contains a list of == operators for branches which are disjunctive with the
- // rest of the constraint
- $constraints = array_merge($constraints, $devConstraints);
- }
-
- if (\count($constraints) > 1) {
- return new MultiConstraint($constraints, false);
- }
-
- if (\count($constraints) === 1) {
- return $constraints[0];
- }
-
- return new MatchNoneConstraint;
- }
-
- /**
- * Creates an array of numeric intervals and branch constraints representing a given constraint
- *
- * if the returned numeric array is empty it means the constraint matches nothing in the numeric range (0 - +inf)
- * if the returned branches array is empty it means no dev-* versions are matched
- * if a constraint matches all possible dev-* versions, branches will contain Interval::anyDev()
- *
- * @return array
- * @phpstan-return array{'numeric': Interval[], 'branches': array{'names': string[], 'exclude': bool}}
- */
- public static function get(ConstraintInterface $constraint)
- {
- $key = (string) $constraint;
-
- if (!isset(self::$intervalsCache[$key])) {
- self::$intervalsCache[$key] = self::generateIntervals($constraint);
- }
-
- return self::$intervalsCache[$key];
- }
-
- /**
- * @param bool $stopOnFirstValidInterval
- *
- * @phpstan-return array{'numeric': Interval[], 'branches': array{'names': string[], 'exclude': bool}}
- */
- private static function generateIntervals(ConstraintInterface $constraint, $stopOnFirstValidInterval = false)
- {
- if ($constraint instanceof MatchAllConstraint) {
- return array('numeric' => array(new Interval(Interval::fromZero(), Interval::untilPositiveInfinity())), 'branches' => Interval::anyDev());
- }
-
- if ($constraint instanceof MatchNoneConstraint) {
- return array('numeric' => array(), 'branches' => array('names' => array(), 'exclude' => false));
- }
-
- if ($constraint instanceof Constraint) {
- return self::generateSingleConstraintIntervals($constraint);
- }
-
- if (!$constraint instanceof MultiConstraint) {
- throw new \UnexpectedValueException('The constraint passed in should be an MatchAllConstraint, Constraint or MultiConstraint instance, got '.\get_class($constraint).'.');
- }
-
- $constraints = $constraint->getConstraints();
-
- $numericGroups = array();
- $constraintBranches = array();
- foreach ($constraints as $c) {
- $res = self::get($c);
- $numericGroups[] = $res['numeric'];
- $constraintBranches[] = $res['branches'];
- }
-
- if ($constraint->isDisjunctive()) {
- $branches = Interval::noDev();
- foreach ($constraintBranches as $b) {
- if ($b['exclude']) {
- if ($branches['exclude']) {
- // disjunctive constraint, so only exclude what's excluded in all constraints
- // !=a,!=b || !=b,!=c => !=b
- $branches['names'] = array_intersect($branches['names'], $b['names']);
- } else {
- // disjunctive constraint so exclude all names which are not explicitly included in the alternative
- // (==b || ==c) || !=a,!=b => !=a
- $branches['exclude'] = true;
- $branches['names'] = array_diff($b['names'], $branches['names']);
- }
- } else {
- if ($branches['exclude']) {
- // disjunctive constraint so exclude all names which are not explicitly included in the alternative
- // !=a,!=b || (==b || ==c) => !=a
- $branches['names'] = array_diff($branches['names'], $b['names']);
- } else {
- // disjunctive constraint, so just add all the other branches
- // (==a || ==b) || ==c => ==a || ==b || ==c
- $branches['names'] = array_merge($branches['names'], $b['names']);
- }
- }
- }
- } else {
- $branches = Interval::anyDev();
- foreach ($constraintBranches as $b) {
- if ($b['exclude']) {
- if ($branches['exclude']) {
- // conjunctive, so just add all branch names to be excluded
- // !=a && !=b => !=a,!=b
- $branches['names'] = array_merge($branches['names'], $b['names']);
- } else {
- // conjunctive, so only keep included names which are not excluded
- // (==a||==c) && !=a,!=b => ==c
- $branches['names'] = array_diff($branches['names'], $b['names']);
- }
- } else {
- if ($branches['exclude']) {
- // conjunctive, so only keep included names which are not excluded
- // !=a,!=b && (==a||==c) => ==c
- $branches['names'] = array_diff($b['names'], $branches['names']);
- $branches['exclude'] = false;
- } else {
- // conjunctive, so only keep names that are included in both
- // (==a||==b) && (==a||==c) => ==a
- $branches['names'] = array_intersect($branches['names'], $b['names']);
- }
- }
- }
- }
-
- $branches['names'] = array_unique($branches['names']);
-
- if (\count($numericGroups) === 1) {
- return array('numeric' => $numericGroups[0], 'branches' => $branches);
- }
-
- $borders = array();
- foreach ($numericGroups as $group) {
- foreach ($group as $interval) {
- $borders[] = array('version' => $interval->getStart()->getVersion(), 'operator' => $interval->getStart()->getOperator(), 'side' => 'start');
- $borders[] = array('version' => $interval->getEnd()->getVersion(), 'operator' => $interval->getEnd()->getOperator(), 'side' => 'end');
- }
- }
-
- $opSortOrder = self::$opSortOrder;
- usort($borders, function ($a, $b) use ($opSortOrder) {
- $order = version_compare($a['version'], $b['version']);
- if ($order === 0) {
- return $opSortOrder[$a['operator']] - $opSortOrder[$b['operator']];
- }
-
- return $order;
- });
-
- $activeIntervals = 0;
- $intervals = array();
- $index = 0;
- $activationThreshold = $constraint->isConjunctive() ? \count($numericGroups) : 1;
- $start = null;
- foreach ($borders as $border) {
- if ($border['side'] === 'start') {
- $activeIntervals++;
- } else {
- $activeIntervals--;
- }
- if (!$start && $activeIntervals >= $activationThreshold) {
- $start = new Constraint($border['operator'], $border['version']);
- } elseif ($start && $activeIntervals < $activationThreshold) {
- // filter out invalid intervals like > x - <= x, or >= x - < x
- if (
- version_compare($start->getVersion(), $border['version'], '=')
- && (
- ($start->getOperator() === '>' && $border['operator'] === '<=')
- || ($start->getOperator() === '>=' && $border['operator'] === '<')
- )
- ) {
- unset($intervals[$index]);
- } else {
- $intervals[$index] = new Interval($start, new Constraint($border['operator'], $border['version']));
- $index++;
-
- if ($stopOnFirstValidInterval) {
- break;
- }
- }
-
- $start = null;
- }
- }
-
- return array('numeric' => $intervals, 'branches' => $branches);
- }
-
- /**
- * @phpstan-return array{'numeric': Interval[], 'branches': array{'names': string[], 'exclude': bool}}
- */
- private static function generateSingleConstraintIntervals(Constraint $constraint)
- {
- $op = $constraint->getOperator();
-
- // handle branch constraints first
- if (strpos($constraint->getVersion(), 'dev-') === 0) {
- $intervals = array();
- $branches = array('names' => array(), 'exclude' => false);
-
- // != dev-foo means any numeric version may match, we treat >/< like != they are not really defined for branches
- if ($op === '!=') {
- $intervals[] = new Interval(Interval::fromZero(), Interval::untilPositiveInfinity());
- $branches = array('names' => array($constraint->getVersion()), 'exclude' => true);
- } elseif ($op === '==') {
- $branches['names'][] = $constraint->getVersion();
- }
-
- return array(
- 'numeric' => $intervals,
- 'branches' => $branches,
- );
- }
-
- if ($op[0] === '>') { // > & >=
- return array('numeric' => array(new Interval($constraint, Interval::untilPositiveInfinity())), 'branches' => Interval::noDev());
- }
- if ($op[0] === '<') { // < & <=
- return array('numeric' => array(new Interval(Interval::fromZero(), $constraint)), 'branches' => Interval::noDev());
- }
- if ($op === '!=') {
- // convert !=x to intervals of 0 - x - +inf + dev*
- return array('numeric' => array(
- new Interval(Interval::fromZero(), new Constraint('<', $constraint->getVersion())),
- new Interval(new Constraint('>', $constraint->getVersion()), Interval::untilPositiveInfinity()),
- ), 'branches' => Interval::anyDev());
- }
-
- // convert ==x to an interval of >=x - <=x
- return array('numeric' => array(
- new Interval(new Constraint('>=', $constraint->getVersion()), new Constraint('<=', $constraint->getVersion())),
- ), 'branches' => Interval::noDev());
- }
-}
diff --git a/vendor/composer/semver/src/Semver.php b/vendor/composer/semver/src/Semver.php
deleted file mode 100644
index 4d6de3c2..00000000
--- a/vendor/composer/semver/src/Semver.php
+++ /dev/null
@@ -1,129 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver;
-
-use Composer\Semver\Constraint\Constraint;
-
-class Semver
-{
- const SORT_ASC = 1;
- const SORT_DESC = -1;
-
- /** @var VersionParser */
- private static $versionParser;
-
- /**
- * Determine if given version satisfies given constraints.
- *
- * @param string $version
- * @param string $constraints
- *
- * @return bool
- */
- public static function satisfies($version, $constraints)
- {
- if (null === self::$versionParser) {
- self::$versionParser = new VersionParser();
- }
-
- $versionParser = self::$versionParser;
- $provider = new Constraint('==', $versionParser->normalize($version));
- $parsedConstraints = $versionParser->parseConstraints($constraints);
-
- return $parsedConstraints->matches($provider);
- }
-
- /**
- * Return all versions that satisfy given constraints.
- *
- * @param string[] $versions
- * @param string $constraints
- *
- * @return string[]
- */
- public static function satisfiedBy(array $versions, $constraints)
- {
- $versions = array_filter($versions, function ($version) use ($constraints) {
- return Semver::satisfies($version, $constraints);
- });
-
- return array_values($versions);
- }
-
- /**
- * Sort given array of versions.
- *
- * @param string[] $versions
- *
- * @return string[]
- */
- public static function sort(array $versions)
- {
- return self::usort($versions, self::SORT_ASC);
- }
-
- /**
- * Sort given array of versions in reverse.
- *
- * @param string[] $versions
- *
- * @return string[]
- */
- public static function rsort(array $versions)
- {
- return self::usort($versions, self::SORT_DESC);
- }
-
- /**
- * @param string[] $versions
- * @param int $direction
- *
- * @return string[]
- */
- private static function usort(array $versions, $direction)
- {
- if (null === self::$versionParser) {
- self::$versionParser = new VersionParser();
- }
-
- $versionParser = self::$versionParser;
- $normalized = array();
-
- // Normalize outside of usort() scope for minor performance increase.
- // Creates an array of arrays: [[normalized, key], ...]
- foreach ($versions as $key => $version) {
- $normalizedVersion = $versionParser->normalize($version);
- $normalizedVersion = $versionParser->normalizeDefaultBranch($normalizedVersion);
- $normalized[] = array($normalizedVersion, $key);
- }
-
- usort($normalized, function (array $left, array $right) use ($direction) {
- if ($left[0] === $right[0]) {
- return 0;
- }
-
- if (Comparator::lessThan($left[0], $right[0])) {
- return -$direction;
- }
-
- return $direction;
- });
-
- // Recreate input array, using the original indexes which are now in sorted order.
- $sorted = array();
- foreach ($normalized as $item) {
- $sorted[] = $versions[$item[1]];
- }
-
- return $sorted;
- }
-}
diff --git a/vendor/composer/semver/src/VersionParser.php b/vendor/composer/semver/src/VersionParser.php
deleted file mode 100644
index 9318629a..00000000
--- a/vendor/composer/semver/src/VersionParser.php
+++ /dev/null
@@ -1,586 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\Semver;
-
-use Composer\Semver\Constraint\ConstraintInterface;
-use Composer\Semver\Constraint\MatchAllConstraint;
-use Composer\Semver\Constraint\MultiConstraint;
-use Composer\Semver\Constraint\Constraint;
-
-/**
- * Version parser.
- *
- * @author Jordi Boggiano
- */
-class VersionParser
-{
- /**
- * Regex to match pre-release data (sort of).
- *
- * Due to backwards compatibility:
- * - Instead of enforcing hyphen, an underscore, dot or nothing at all are also accepted.
- * - Only stabilities as recognized by Composer are allowed to precede a numerical identifier.
- * - Numerical-only pre-release identifiers are not supported, see tests.
- *
- * |--------------|
- * [major].[minor].[patch] -[pre-release] +[build-metadata]
- *
- * @var string
- */
- private static $modifierRegex = '[._-]?(?:(stable|beta|b|RC|alpha|a|patch|pl|p)((?:[.-]?\d+)*+)?)?([.-]?dev)?';
-
- /** @var string */
- private static $stabilitiesRegex = 'stable|RC|beta|alpha|dev';
-
- /**
- * Returns the stability of a version.
- *
- * @param string $version
- *
- * @return string
- * @phpstan-return 'stable'|'RC'|'beta'|'alpha'|'dev'
- */
- public static function parseStability($version)
- {
- $version = (string) preg_replace('{#.+$}', '', (string) $version);
-
- if (strpos($version, 'dev-') === 0 || '-dev' === substr($version, -4)) {
- return 'dev';
- }
-
- preg_match('{' . self::$modifierRegex . '(?:\+.*)?$}i', strtolower($version), $match);
-
- if (!empty($match[3])) {
- return 'dev';
- }
-
- if (!empty($match[1])) {
- if ('beta' === $match[1] || 'b' === $match[1]) {
- return 'beta';
- }
- if ('alpha' === $match[1] || 'a' === $match[1]) {
- return 'alpha';
- }
- if ('rc' === $match[1]) {
- return 'RC';
- }
- }
-
- return 'stable';
- }
-
- /**
- * @param string $stability
- *
- * @return string
- */
- public static function normalizeStability($stability)
- {
- $stability = strtolower((string) $stability);
-
- return $stability === 'rc' ? 'RC' : $stability;
- }
-
- /**
- * Normalizes a version string to be able to perform comparisons on it.
- *
- * @param string $version
- * @param ?string $fullVersion optional complete version string to give more context
- *
- * @throws \UnexpectedValueException
- *
- * @return string
- */
- public function normalize($version, $fullVersion = null)
- {
- $version = trim((string) $version);
- $origVersion = $version;
- if (null === $fullVersion) {
- $fullVersion = $version;
- }
-
- // strip off aliasing
- if (preg_match('{^([^,\s]++) ++as ++([^,\s]++)$}', $version, $match)) {
- $version = $match[1];
- }
-
- // strip off stability flag
- if (preg_match('{@(?:' . self::$stabilitiesRegex . ')$}i', $version, $match)) {
- $version = substr($version, 0, strlen($version) - strlen($match[0]));
- }
-
- // normalize master/trunk/default branches to dev-name for BC with 1.x as these used to be valid constraints
- if (\in_array($version, array('master', 'trunk', 'default'), true)) {
- $version = 'dev-' . $version;
- }
-
- // if requirement is branch-like, use full name
- if (stripos($version, 'dev-') === 0) {
- return 'dev-' . substr($version, 4);
- }
-
- // strip off build metadata
- if (preg_match('{^([^,\s+]++)\+[^\s]++$}', $version, $match)) {
- $version = $match[1];
- }
-
- // match classical versioning
- if (preg_match('{^v?(\d{1,5}+)(\.\d++)?(\.\d++)?(\.\d++)?' . self::$modifierRegex . '$}i', $version, $matches)) {
- $version = $matches[1]
- . (!empty($matches[2]) ? $matches[2] : '.0')
- . (!empty($matches[3]) ? $matches[3] : '.0')
- . (!empty($matches[4]) ? $matches[4] : '.0');
- $index = 5;
- // match date(time) based versioning
- } elseif (preg_match('{^v?(\d{4}(?:[.:-]?\d{2}){1,6}(?:[.:-]?\d{1,3}){0,2})' . self::$modifierRegex . '$}i', $version, $matches)) {
- $version = (string) preg_replace('{\D}', '.', $matches[1]);
- $index = 2;
- }
-
- // add version modifiers if a version was matched
- if (isset($index)) {
- if (!empty($matches[$index])) {
- if ('stable' === $matches[$index]) {
- return $version;
- }
- $version .= '-' . $this->expandStability($matches[$index]) . (isset($matches[$index + 1]) && '' !== $matches[$index + 1] ? ltrim($matches[$index + 1], '.-') : '');
- }
-
- if (!empty($matches[$index + 2])) {
- $version .= '-dev';
- }
-
- return $version;
- }
-
- // match dev branches
- if (preg_match('{(.*?)[.-]?dev$}i', $version, $match)) {
- try {
- $normalized = $this->normalizeBranch($match[1]);
- // a branch ending with -dev is only valid if it is numeric
- // if it gets prefixed with dev- it means the branch name should
- // have had a dev- prefix already when passed to normalize
- if (strpos($normalized, 'dev-') === false) {
- return $normalized;
- }
- } catch (\Exception $e) {
- }
- }
-
- $extraMessage = '';
- if (preg_match('{ +as +' . preg_quote($version) . '(?:@(?:'.self::$stabilitiesRegex.'))?$}', $fullVersion)) {
- $extraMessage = ' in "' . $fullVersion . '", the alias must be an exact version';
- } elseif (preg_match('{^' . preg_quote($version) . '(?:@(?:'.self::$stabilitiesRegex.'))? +as +}', $fullVersion)) {
- $extraMessage = ' in "' . $fullVersion . '", the alias source must be an exact version, if it is a branch name you should prefix it with dev-';
- }
-
- throw new \UnexpectedValueException('Invalid version string "' . $origVersion . '"' . $extraMessage);
- }
-
- /**
- * Extract numeric prefix from alias, if it is in numeric format, suitable for version comparison.
- *
- * @param string $branch Branch name (e.g. 2.1.x-dev)
- *
- * @return string|false Numeric prefix if present (e.g. 2.1.) or false
- */
- public function parseNumericAliasPrefix($branch)
- {
- if (preg_match('{^(?P(\d++\\.)*\d++)(?:\.x)?-dev$}i', (string) $branch, $matches)) {
- return $matches['version'] . '.';
- }
-
- return false;
- }
-
- /**
- * Normalizes a branch name to be able to perform comparisons on it.
- *
- * @param string $name
- *
- * @return string
- */
- public function normalizeBranch($name)
- {
- $name = trim((string) $name);
-
- if (preg_match('{^v?(\d++)(\.(?:\d++|[xX*]))?(\.(?:\d++|[xX*]))?(\.(?:\d++|[xX*]))?$}i', $name, $matches)) {
- $version = '';
- for ($i = 1; $i < 5; ++$i) {
- $version .= isset($matches[$i]) ? str_replace(array('*', 'X'), 'x', $matches[$i]) : '.x';
- }
-
- return str_replace('x', '9999999', $version) . '-dev';
- }
-
- return 'dev-' . $name;
- }
-
- /**
- * Normalizes a default branch name (i.e. master on git) to 9999999-dev.
- *
- * @param string $name
- *
- * @return string
- *
- * @deprecated No need to use this anymore in theory, Composer 2 does not normalize any branch names to 9999999-dev anymore
- */
- public function normalizeDefaultBranch($name)
- {
- if ($name === 'dev-master' || $name === 'dev-default' || $name === 'dev-trunk') {
- return '9999999-dev';
- }
-
- return (string) $name;
- }
-
- /**
- * Parses a constraint string into MultiConstraint and/or Constraint objects.
- *
- * @param string $constraints
- *
- * @return ConstraintInterface
- */
- public function parseConstraints($constraints)
- {
- $prettyConstraint = (string) $constraints;
-
- $orConstraints = preg_split('{\s*\|\|?\s*}', trim((string) $constraints));
- if (false === $orConstraints) {
- throw new \RuntimeException('Failed to preg_split string: '.$constraints);
- }
- $orGroups = array();
-
- foreach ($orConstraints as $orConstraint) {
- $andConstraints = preg_split('{(?< ,]) *(? 1) {
- $constraintObjects = array();
- foreach ($andConstraints as $andConstraint) {
- foreach ($this->parseConstraint($andConstraint) as $parsedAndConstraint) {
- $constraintObjects[] = $parsedAndConstraint;
- }
- }
- } else {
- $constraintObjects = $this->parseConstraint($andConstraints[0]);
- }
-
- if (1 === \count($constraintObjects)) {
- $constraint = $constraintObjects[0];
- } else {
- $constraint = new MultiConstraint($constraintObjects);
- }
-
- $orGroups[] = $constraint;
- }
-
- $parsedConstraint = MultiConstraint::create($orGroups, false);
-
- $parsedConstraint->setPrettyString($prettyConstraint);
-
- return $parsedConstraint;
- }
-
- /**
- * @param string $constraint
- *
- * @throws \UnexpectedValueException
- *
- * @return array
- *
- * @phpstan-return non-empty-array
- */
- private function parseConstraint($constraint)
- {
- // strip off aliasing
- if (preg_match('{^([^,\s]++) ++as ++([^,\s]++)$}', $constraint, $match)) {
- $constraint = $match[1];
- }
-
- // strip @stability flags, and keep it for later use
- if (preg_match('{^([^,\s]*?)@(' . self::$stabilitiesRegex . ')$}i', $constraint, $match)) {
- $constraint = '' !== $match[1] ? $match[1] : '*';
- if ($match[2] !== 'stable') {
- $stabilityModifier = $match[2];
- }
- }
-
- // get rid of #refs as those are used by composer only
- if (preg_match('{^(dev-[^,\s@]+?|[^,\s@]+?\.x-dev)#.+$}i', $constraint, $match)) {
- $constraint = $match[1];
- }
-
- if (preg_match('{^(v)?[xX*](\.[xX*])*$}i', $constraint, $match)) {
- if (!empty($match[1]) || !empty($match[2])) {
- return array(new Constraint('>=', '0.0.0.0-dev'));
- }
-
- return array(new MatchAllConstraint());
- }
-
- $versionRegex = 'v?(\d++)(?:\.(\d++))?(?:\.(\d++))?(?:\.(\d++))?(?:' . self::$modifierRegex . '|\.([xX*][.-]?dev))(?:\+[^\s]+)?';
-
- // Tilde Range
- //
- // Like wildcard constraints, unsuffixed tilde constraints say that they must be greater than the previous
- // version, to ensure that unstable instances of the current version are allowed. However, if a stability
- // suffix is added to the constraint, then a >= match on the current version is used instead.
- if (preg_match('{^~>?' . $versionRegex . '$}i', $constraint, $matches)) {
- if (strpos($constraint, '~>') === 0) {
- throw new \UnexpectedValueException(
- 'Could not parse version constraint ' . $constraint . ': ' .
- 'Invalid operator "~>", you probably meant to use the "~" operator'
- );
- }
-
- // Work out which position in the version we are operating at
- if (isset($matches[4]) && '' !== $matches[4] && null !== $matches[4]) {
- $position = 4;
- } elseif (isset($matches[3]) && '' !== $matches[3] && null !== $matches[3]) {
- $position = 3;
- } elseif (isset($matches[2]) && '' !== $matches[2] && null !== $matches[2]) {
- $position = 2;
- } else {
- $position = 1;
- }
-
- // when matching 2.x-dev or 3.0.x-dev we have to shift the second or third number, despite no second/third number matching above
- if (!empty($matches[8])) {
- $position++;
- }
-
- // Calculate the stability suffix
- $stabilitySuffix = '';
- if (empty($matches[5]) && empty($matches[7]) && empty($matches[8])) {
- $stabilitySuffix .= '-dev';
- }
-
- $lowVersion = $this->normalize(substr($constraint . $stabilitySuffix, 1));
- $lowerBound = new Constraint('>=', $lowVersion);
-
- // For upper bound, we increment the position of one more significance,
- // but highPosition = 0 would be illegal
- $highPosition = max(1, $position - 1);
- $highVersion = $this->manipulateVersionString($matches, $highPosition, 1) . '-dev';
- $upperBound = new Constraint('<', $highVersion);
-
- return array(
- $lowerBound,
- $upperBound,
- );
- }
-
- // Caret Range
- //
- // Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch] tuple.
- // In other words, this allows patch and minor updates for versions 1.0.0 and above, patch updates for
- // versions 0.X >=0.1.0, and no updates for versions 0.0.X
- if (preg_match('{^\^' . $versionRegex . '($)}i', $constraint, $matches)) {
- // Work out which position in the version we are operating at
- if ('0' !== $matches[1] || '' === $matches[2] || null === $matches[2]) {
- $position = 1;
- } elseif ('0' !== $matches[2] || '' === $matches[3] || null === $matches[3]) {
- $position = 2;
- } else {
- $position = 3;
- }
-
- // Calculate the stability suffix
- $stabilitySuffix = '';
- if (empty($matches[5]) && empty($matches[7]) && empty($matches[8])) {
- $stabilitySuffix .= '-dev';
- }
-
- $lowVersion = $this->normalize(substr($constraint . $stabilitySuffix, 1));
- $lowerBound = new Constraint('>=', $lowVersion);
-
- // For upper bound, we increment the position of one more significance,
- // but highPosition = 0 would be illegal
- $highVersion = $this->manipulateVersionString($matches, $position, 1) . '-dev';
- $upperBound = new Constraint('<', $highVersion);
-
- return array(
- $lowerBound,
- $upperBound,
- );
- }
-
- // X Range
- //
- // Any of X, x, or * may be used to "stand in" for one of the numeric values in the [major, minor, patch] tuple.
- // A partial version range is treated as an X-Range, so the special character is in fact optional.
- if (preg_match('{^v?(\d++)(?:\.(\d++))?(?:\.(\d++))?(?:\.[xX*])++$}', $constraint, $matches)) {
- if (isset($matches[3]) && '' !== $matches[3] && null !== $matches[3]) {
- $position = 3;
- } elseif (isset($matches[2]) && '' !== $matches[2] && null !== $matches[2]) {
- $position = 2;
- } else {
- $position = 1;
- }
-
- $lowVersion = $this->manipulateVersionString($matches, $position) . '-dev';
- $highVersion = $this->manipulateVersionString($matches, $position, 1) . '-dev';
-
- if ($lowVersion === '0.0.0.0-dev') {
- return array(new Constraint('<', $highVersion));
- }
-
- return array(
- new Constraint('>=', $lowVersion),
- new Constraint('<', $highVersion),
- );
- }
-
- // Hyphen Range
- //
- // Specifies an inclusive set. If a partial version is provided as the first version in the inclusive range,
- // then the missing pieces are replaced with zeroes. If a partial version is provided as the second version in
- // the inclusive range, then all versions that start with the supplied parts of the tuple are accepted, but
- // nothing that would be greater than the provided tuple parts.
- if (preg_match('{^(?P' . $versionRegex . ') +- +(?P' . $versionRegex . ')($)}i', $constraint, $matches)) {
- // Calculate the stability suffix
- $lowStabilitySuffix = '';
- if (empty($matches[6]) && empty($matches[8]) && empty($matches[9])) {
- $lowStabilitySuffix = '-dev';
- }
-
- $lowVersion = $this->normalize($matches['from']);
- $lowerBound = new Constraint('>=', $lowVersion . $lowStabilitySuffix);
-
- $empty = function ($x) {
- return ($x === 0 || $x === '0') ? false : empty($x);
- };
-
- if ((!$empty($matches[12]) && !$empty($matches[13])) || !empty($matches[15]) || !empty($matches[17]) || !empty($matches[18])) {
- $highVersion = $this->normalize($matches['to']);
- $upperBound = new Constraint('<=', $highVersion);
- } else {
- $highMatch = array('', $matches[11], $matches[12], $matches[13], $matches[14]);
-
- // validate to version
- $this->normalize($matches['to']);
-
- $highVersion = $this->manipulateVersionString($highMatch, $empty($matches[12]) ? 1 : 2, 1) . '-dev';
- $upperBound = new Constraint('<', $highVersion);
- }
-
- return array(
- $lowerBound,
- $upperBound,
- );
- }
-
- // Basic Comparators
- if (preg_match('{^(<>|!=|>=?|<=?|==?)?\s*(.*)}', $constraint, $matches)) {
- try {
- try {
- $version = $this->normalize($matches[2]);
- } catch (\UnexpectedValueException $e) {
- // recover from an invalid constraint like foobar-dev which should be dev-foobar
- // except if the constraint uses a known operator, in which case it must be a parse error
- if (substr($matches[2], -4) === '-dev' && preg_match('{^[0-9a-zA-Z-./]+$}', $matches[2])) {
- $version = $this->normalize('dev-'.substr($matches[2], 0, -4));
- } else {
- throw $e;
- }
- }
-
- $op = $matches[1] ?: '=';
-
- if ($op !== '==' && $op !== '=' && !empty($stabilityModifier) && self::parseStability($version) === 'stable') {
- $version .= '-' . $stabilityModifier;
- } elseif ('<' === $op || '>=' === $op) {
- if (!preg_match('/-' . self::$modifierRegex . '$/', strtolower($matches[2]))) {
- if (strpos($matches[2], 'dev-') !== 0) {
- $version .= '-dev';
- }
- }
- }
-
- return array(new Constraint($matches[1] ?: '=', $version));
- } catch (\Exception $e) {
- }
- }
-
- $message = 'Could not parse version constraint ' . $constraint;
- if (isset($e)) {
- $message .= ': ' . $e->getMessage();
- }
-
- throw new \UnexpectedValueException($message);
- }
-
- /**
- * Increment, decrement, or simply pad a version number.
- *
- * Support function for {@link parseConstraint()}
- *
- * @param array $matches Array with version parts in array indexes 1,2,3,4
- * @param int $position 1,2,3,4 - which segment of the version to increment/decrement
- * @param int $increment
- * @param string $pad The string to pad version parts after $position
- *
- * @return string|null The new version
- *
- * @phpstan-param string[] $matches
- */
- private function manipulateVersionString(array $matches, $position, $increment = 0, $pad = '0')
- {
- for ($i = 4; $i > 0; --$i) {
- if ($i > $position) {
- $matches[$i] = $pad;
- } elseif ($i === $position && $increment) {
- $matches[$i] += $increment;
- // If $matches[$i] was 0, carry the decrement
- if ($matches[$i] < 0) {
- $matches[$i] = $pad;
- --$position;
-
- // Return null on a carry overflow
- if ($i === 1) {
- return null;
- }
- }
- }
- }
-
- return $matches[1] . '.' . $matches[2] . '.' . $matches[3] . '.' . $matches[4];
- }
-
- /**
- * Expand shorthand stability string to long version.
- *
- * @param string $stability
- *
- * @return string
- */
- private function expandStability($stability)
- {
- $stability = strtolower($stability);
-
- switch ($stability) {
- case 'a':
- return 'alpha';
- case 'b':
- return 'beta';
- case 'p':
- case 'pl':
- return 'patch';
- case 'rc':
- return 'RC';
- default:
- return $stability;
- }
- }
-}
diff --git a/vendor/composer/xdebug-handler/CHANGELOG.md b/vendor/composer/xdebug-handler/CHANGELOG.md
deleted file mode 100644
index c5b5bcf4..00000000
--- a/vendor/composer/xdebug-handler/CHANGELOG.md
+++ /dev/null
@@ -1,134 +0,0 @@
-## [Unreleased]
-
-## [3.0.3] - 2022-02-25
- * Added: support for composer/pcre versions 2 and 3.
-
-## [3.0.2] - 2022-02-24
- * Fixed: regression in 3.0.1 affecting Xdebug 2
-
-## [3.0.1] - 2022-01-04
- * Fixed: error when calling `isXdebugActive` before class instantiation.
-
-## [3.0.0] - 2021-12-23
- * Removed: support for legacy PHP versions (< PHP 7.2.5).
- * Added: type declarations to arguments and return values.
- * Added: strict typing to all classes.
-
-## [2.0.3] - 2021-12-08
- * Added: support, type annotations and refactoring for stricter PHPStan analysis.
-
-## [2.0.2] - 2021-07-31
- * Added: support for `xdebug_info('mode')` in Xdebug 3.1.
- * Added: support for Psr\Log versions 2 and 3.
- * Fixed: remove ini directives from non-cli HOST/PATH sections.
-
-## [2.0.1] - 2021-05-05
- * Fixed: don't restart if the cwd is a UNC path and cmd.exe will be invoked.
-
-## [2.0.0] - 2021-04-09
- * Break: this is a major release, see [UPGRADE.md](UPGRADE.md) for more information.
- * Break: removed optional `$colorOption` constructor param and passthru fallback.
- * Break: renamed `requiresRestart` param from `$isLoaded` to `$default`.
- * Break: changed `restart` param `$command` from a string to an array.
- * Added: support for Xdebug3 to only restart if Xdebug is not running with `xdebug.mode=off`.
- * Added: `isXdebugActive()` method to determine if Xdebug is still running in the restart.
- * Added: feature to bypass the shell in PHP-7.4+ by giving `proc_open` an array of arguments.
- * Added: Process utility class to the API.
-
-## [1.4.6] - 2021-03-25
- * Fixed: fail restart if `proc_open` has been disabled in `disable_functions`.
- * Fixed: enable Windows CTRL event handling in the restarted process.
-
-## [1.4.5] - 2020-11-13
- * Fixed: use `proc_open` when available for correct FD forwarding to the restarted process.
-
-## [1.4.4] - 2020-10-24
- * Fixed: exception if 'pcntl_signal' is disabled.
-
-## [1.4.3] - 2020-08-19
- * Fixed: restore SIGINT to default handler in restarted process if no other handler exists.
-
-## [1.4.2] - 2020-06-04
- * Fixed: ignore SIGINTs to let the restarted process handle them.
-
-## [1.4.1] - 2020-03-01
- * Fixed: restart fails if an ini file is empty.
-
-## [1.4.0] - 2019-11-06
- * Added: support for `NO_COLOR` environment variable: https://no-color.org
- * Added: color support for Hyper terminal: https://github.com/zeit/hyper
- * Fixed: correct capitalization of Xdebug (apparently).
- * Fixed: improved handling for uopz extension.
-
-## [1.3.3] - 2019-05-27
- * Fixed: add environment changes to `$_ENV` if it is being used.
-
-## [1.3.2] - 2019-01-28
- * Fixed: exit call being blocked by uopz extension, resulting in application code running twice.
-
-## [1.3.1] - 2018-11-29
- * Fixed: fail restart if `passthru` has been disabled in `disable_functions`.
- * Fixed: fail restart if an ini file cannot be opened, otherwise settings will be missing.
-
-## [1.3.0] - 2018-08-31
- * Added: `setPersistent` method to use environment variables for the restart.
- * Fixed: improved debugging by writing output to stderr.
- * Fixed: no restart when `php_ini_scanned_files` is not functional and is needed.
-
-## [1.2.1] - 2018-08-23
- * Fixed: fatal error with apc, when using `apc.mmap_file_mask`.
-
-## [1.2.0] - 2018-08-16
- * Added: debug information using `XDEBUG_HANDLER_DEBUG`.
- * Added: fluent interface for setters.
- * Added: `PhpConfig` helper class for calling PHP sub-processes.
- * Added: `PHPRC` original value to restart stettings, for use in a restarted process.
- * Changed: internal procedure to disable ini-scanning, using `-n` command-line option.
- * Fixed: replaced `escapeshellarg` usage to avoid locale problems.
- * Fixed: improved color-option handling to respect double-dash delimiter.
- * Fixed: color-option handling regression from main script changes.
- * Fixed: improved handling when checking main script.
- * Fixed: handling for standard input, that never actually did anything.
- * Fixed: fatal error when ctype extension is not available.
-
-## [1.1.0] - 2018-04-11
- * Added: `getRestartSettings` method for calling PHP processes in a restarted process.
- * Added: API definition and @internal class annotations.
- * Added: protected `requiresRestart` method for extending classes.
- * Added: `setMainScript` method for applications that change the working directory.
- * Changed: private `tmpIni` variable to protected for extending classes.
- * Fixed: environment variables not available in $_SERVER when restored in the restart.
- * Fixed: relative path problems caused by Phar::interceptFileFuncs.
- * Fixed: incorrect handling when script file cannot be found.
-
-## [1.0.0] - 2018-03-08
- * Added: PSR3 logging for optional status output.
- * Added: existing ini settings are merged to catch command-line overrides.
- * Added: code, tests and other artefacts to decouple from Composer.
- * Break: the following class was renamed:
- - `Composer\XdebugHandler` -> `Composer\XdebugHandler\XdebugHandler`
-
-[Unreleased]: https://github.com/composer/xdebug-handler/compare/3.0.3...HEAD
-[3.0.2]: https://github.com/composer/xdebug-handler/compare/3.0.2...3.0.3
-[3.0.2]: https://github.com/composer/xdebug-handler/compare/3.0.1...3.0.2
-[3.0.1]: https://github.com/composer/xdebug-handler/compare/3.0.0...3.0.1
-[3.0.0]: https://github.com/composer/xdebug-handler/compare/2.0.3...3.0.0
-[2.0.3]: https://github.com/composer/xdebug-handler/compare/2.0.2...2.0.3
-[2.0.2]: https://github.com/composer/xdebug-handler/compare/2.0.1...2.0.2
-[2.0.1]: https://github.com/composer/xdebug-handler/compare/2.0.0...2.0.1
-[2.0.0]: https://github.com/composer/xdebug-handler/compare/1.4.6...2.0.0
-[1.4.6]: https://github.com/composer/xdebug-handler/compare/1.4.5...1.4.6
-[1.4.5]: https://github.com/composer/xdebug-handler/compare/1.4.4...1.4.5
-[1.4.4]: https://github.com/composer/xdebug-handler/compare/1.4.3...1.4.4
-[1.4.3]: https://github.com/composer/xdebug-handler/compare/1.4.2...1.4.3
-[1.4.2]: https://github.com/composer/xdebug-handler/compare/1.4.1...1.4.2
-[1.4.1]: https://github.com/composer/xdebug-handler/compare/1.4.0...1.4.1
-[1.4.0]: https://github.com/composer/xdebug-handler/compare/1.3.3...1.4.0
-[1.3.3]: https://github.com/composer/xdebug-handler/compare/1.3.2...1.3.3
-[1.3.2]: https://github.com/composer/xdebug-handler/compare/1.3.1...1.3.2
-[1.3.1]: https://github.com/composer/xdebug-handler/compare/1.3.0...1.3.1
-[1.3.0]: https://github.com/composer/xdebug-handler/compare/1.2.1...1.3.0
-[1.2.1]: https://github.com/composer/xdebug-handler/compare/1.2.0...1.2.1
-[1.2.0]: https://github.com/composer/xdebug-handler/compare/1.1.0...1.2.0
-[1.1.0]: https://github.com/composer/xdebug-handler/compare/1.0.0...1.1.0
-[1.0.0]: https://github.com/composer/xdebug-handler/compare/d66f0d15cb57...1.0.0
diff --git a/vendor/composer/xdebug-handler/LICENSE b/vendor/composer/xdebug-handler/LICENSE
deleted file mode 100644
index 963618a1..00000000
--- a/vendor/composer/xdebug-handler/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2017 Composer
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/vendor/composer/xdebug-handler/README.md b/vendor/composer/xdebug-handler/README.md
deleted file mode 100644
index 56618fc1..00000000
--- a/vendor/composer/xdebug-handler/README.md
+++ /dev/null
@@ -1,298 +0,0 @@
-# composer/xdebug-handler
-
-[](https://packagist.org/packages/composer/xdebug-handler)
-[](https://github.com/composer/xdebug-handler/actions?query=branch:main)
-
-
-
-Restart a CLI process without loading the Xdebug extension, unless `xdebug.mode=off`.
-
-Originally written as part of [composer/composer](https://github.com/composer/composer),
-now extracted and made available as a stand-alone library.
-
-### Version 3
-
-Removed support for legacy PHP versions and added type declarations.
-
-Long term support for version 2 (PHP 5.3.2 - 7.2.4) follows [Composer 2.2 LTS](https://blog.packagist.com/composer-2-2/) policy.
-
-## Installation
-
-Install the latest version with:
-
-```bash
-$ composer require composer/xdebug-handler
-```
-
-## Requirements
-
-* PHP 7.2.5 minimum, although using the latest PHP version is highly recommended.
-
-## Basic Usage
-```php
-use Composer\XdebugHandler\XdebugHandler;
-
-$xdebug = new XdebugHandler('myapp');
-$xdebug->check();
-unset($xdebug);
-```
-
-The constructor takes a single parameter, `$envPrefix`, which is upper-cased and prepended to default base values to create two distinct environment variables. The above example enables the use of:
-
-- `MYAPP_ALLOW_XDEBUG=1` to override automatic restart and allow Xdebug
-- `MYAPP_ORIGINAL_INIS` to obtain ini file locations in a restarted process
-
-## Advanced Usage
-
-* [How it works](#how-it-works)
-* [Limitations](#limitations)
-* [Helper methods](#helper-methods)
-* [Setter methods](#setter-methods)
-* [Process configuration](#process-configuration)
-* [Troubleshooting](#troubleshooting)
-* [Extending the library](#extending-the-library)
-
-### How it works
-
-A temporary ini file is created from the loaded (and scanned) ini files, with any references to the Xdebug extension commented out. Current ini settings are merged, so that most ini settings made on the command-line or by the application are included (see [Limitations](#limitations))
-
-* `MYAPP_ALLOW_XDEBUG` is set with internal data to flag and use in the restart.
-* The command-line and environment are [configured](#process-configuration) for the restart.
-* The application is restarted in a new process.
- * The restart settings are stored in the environment.
- * `MYAPP_ALLOW_XDEBUG` is unset.
- * The application runs and exits.
-* The main process exits with the exit code from the restarted process.
-
-#### Signal handling
-Asynchronous signal handling is automatically enabled if the pcntl extension is loaded. `SIGINT` is set to `SIG_IGN` in the parent
-process and restored to `SIG_DFL` in the restarted process (if no other handler has been set).
-
-From PHP 7.4 on Windows, `CTRL+C` and `CTRL+BREAK` handling is automatically enabled in the restarted process and ignored in the parent process.
-
-### Limitations
-There are a few things to be aware of when running inside a restarted process.
-
-* Extensions set on the command-line will not be loaded.
-* Ini file locations will be reported as per the restart - see [getAllIniFiles()](#getallinifiles).
-* Php sub-processes may be loaded with Xdebug enabled - see [Process configuration](#process-configuration).
-
-### Helper methods
-These static methods provide information from the current process, regardless of whether it has been restarted or not.
-
-#### _getAllIniFiles(): array_
-Returns an array of the original ini file locations. Use this instead of calling `php_ini_loaded_file` and `php_ini_scanned_files`, which will report the wrong values in a restarted process.
-
-```php
-use Composer\XdebugHandler\XdebugHandler;
-
-$files = XdebugHandler::getAllIniFiles();
-
-# $files[0] always exists, it could be an empty string
-$loadedIni = array_shift($files);
-$scannedInis = $files;
-```
-
-These locations are also available in the `MYAPP_ORIGINAL_INIS` environment variable. This is a path-separated string comprising the location returned from `php_ini_loaded_file`, which could be empty, followed by locations parsed from calling `php_ini_scanned_files`.
-
-#### _getRestartSettings(): ?array_
-Returns an array of settings that can be used with PHP [sub-processes](#sub-processes), or null if the process was not restarted.
-
-```php
-use Composer\XdebugHandler\XdebugHandler;
-
-$settings = XdebugHandler::getRestartSettings();
-/**
- * $settings: array (if the current process was restarted,
- * or called with the settings from a previous restart), or null
- *
- * 'tmpIni' => the temporary ini file used in the restart (string)
- * 'scannedInis' => if there were any scanned inis (bool)
- * 'scanDir' => the original PHP_INI_SCAN_DIR value (false|string)
- * 'phprc' => the original PHPRC value (false|string)
- * 'inis' => the original inis from getAllIniFiles (array)
- * 'skipped' => the skipped version from getSkippedVersion (string)
- */
-```
-
-#### _getSkippedVersion(): string_
-Returns the Xdebug version string that was skipped by the restart, or an empty string if there was no restart (or Xdebug is still loaded, perhaps by an extending class restarting for a reason other than removing Xdebug).
-
-```php
-use Composer\XdebugHandler\XdebugHandler;
-
-$version = XdebugHandler::getSkippedVersion();
-# $version: '3.1.1' (for example), or an empty string
-```
-
-#### _isXdebugActive(): bool_
-Returns true if Xdebug is loaded and is running in an active mode (if it supports modes). Returns false if Xdebug is not loaded, or it is running with `xdebug.mode=off`.
-
-### Setter methods
-These methods implement a fluent interface and must be called before the main `check()` method.
-
-#### _setLogger(LoggerInterface $logger): self_
-Enables the output of status messages to an external PSR3 logger. All messages are reported with either `DEBUG` or `WARNING` log levels. For example (showing the level and message):
-
-```
-// No restart
-DEBUG Checking MYAPP_ALLOW_XDEBUG
-DEBUG The Xdebug extension is loaded (3.1.1) xdebug.mode=off
-DEBUG No restart (APP_ALLOW_XDEBUG=0) Allowed by xdebug.mode
-
-// Restart overridden
-DEBUG Checking MYAPP_ALLOW_XDEBUG
-DEBUG The Xdebug extension is loaded (3.1.1) xdebug.mode=coverage,debug,develop
-DEBUG No restart (MYAPP_ALLOW_XDEBUG=1)
-
-// Failed restart
-DEBUG Checking MYAPP_ALLOW_XDEBUG
-DEBUG The Xdebug extension is loaded (3.1.0)
-WARNING No restart (Unable to create temp ini file at: ...)
-```
-
-Status messages can also be output with `XDEBUG_HANDLER_DEBUG`. See [Troubleshooting](#troubleshooting).
-
-#### _setMainScript(string $script): self_
-Sets the location of the main script to run in the restart. This is only needed in more esoteric use-cases, or if the `argv[0]` location is inaccessible. The script name `--` is supported for standard input.
-
-#### _setPersistent(): self_
-Configures the restart using [persistent settings](#persistent-settings), so that Xdebug is not loaded in any sub-process.
-
-Use this method if your application invokes one or more PHP sub-process and the Xdebug extension is not needed. This avoids the overhead of implementing specific [sub-process](#sub-processes) strategies.
-
-Alternatively, this method can be used to set up a default _Xdebug-free_ environment which can be changed if a sub-process requires Xdebug, then restored afterwards:
-
-```php
-function SubProcessWithXdebug()
-{
- $phpConfig = new Composer\XdebugHandler\PhpConfig();
-
- # Set the environment to the original configuration
- $phpConfig->useOriginal();
-
- # run the process with Xdebug loaded
- ...
-
- # Restore Xdebug-free environment
- $phpConfig->usePersistent();
-}
-```
-
-### Process configuration
-The library offers two strategies to invoke a new PHP process without loading Xdebug, using either _standard_ or _persistent_ settings. Note that this is only important if the application calls a PHP sub-process.
-
-#### Standard settings
-Uses command-line options to remove Xdebug from the new process only.
-
-* The -n option is added to the command-line. This tells PHP not to scan for additional inis.
-* The temporary ini is added to the command-line with the -c option.
-
->_If the new process calls a PHP sub-process, Xdebug will be loaded in that sub-process (unless it implements xdebug-handler, in which case there will be another restart)._
-
-This is the default strategy used in the restart.
-
-#### Persistent settings
-Uses environment variables to remove Xdebug from the new process and persist these settings to any sub-process.
-
-* `PHP_INI_SCAN_DIR` is set to an empty string. This tells PHP not to scan for additional inis.
-* `PHPRC` is set to the temporary ini.
-
->_If the new process calls a PHP sub-process, Xdebug will not be loaded in that sub-process._
-
-This strategy can be used in the restart by calling [setPersistent()](#setpersistent).
-
-#### Sub-processes
-The `PhpConfig` helper class makes it easy to invoke a PHP sub-process (with or without Xdebug loaded), regardless of whether there has been a restart.
-
-Each of its methods returns an array of PHP options (to add to the command-line) and sets up the environment for the required strategy. The [getRestartSettings()](#getrestartsettings) method is used internally.
-
-* `useOriginal()` - Xdebug will be loaded in the new process.
-* `useStandard()` - Xdebug will **not** be loaded in the new process - see [standard settings](#standard-settings).
-* `userPersistent()` - Xdebug will **not** be loaded in the new process - see [persistent settings](#persistent-settings)
-
-If there was no restart, an empty options array is returned and the environment is not changed.
-
-```php
-use Composer\XdebugHandler\PhpConfig;
-
-$config = new PhpConfig;
-
-$options = $config->useOriginal();
-# $options: empty array
-# environment: PHPRC and PHP_INI_SCAN_DIR set to original values
-
-$options = $config->useStandard();
-# $options: [-n, -c, tmpIni]
-# environment: PHPRC and PHP_INI_SCAN_DIR set to original values
-
-$options = $config->usePersistent();
-# $options: empty array
-# environment: PHPRC=tmpIni, PHP_INI_SCAN_DIR=''
-```
-
-### Troubleshooting
-The following environment settings can be used to troubleshoot unexpected behavior:
-
-* `XDEBUG_HANDLER_DEBUG=1` Outputs status messages to `STDERR`, if it is defined, irrespective of any PSR3 logger. Each message is prefixed `xdebug-handler[pid]`, where pid is the process identifier.
-
-* `XDEBUG_HANDLER_DEBUG=2` As above, but additionally saves the temporary ini file and reports its location in a status message.
-
-### Extending the library
-The API is defined by classes and their accessible elements that are not annotated as @internal. The main class has two protected methods that can be overridden to provide additional functionality:
-
-#### _requiresRestart(bool $default): bool_
-By default the process will restart if Xdebug is loaded and not running with `xdebug.mode=off`. Extending this method allows an application to decide, by returning a boolean (or equivalent) value.
-It is only called if `MYAPP_ALLOW_XDEBUG` is empty, so it will not be called in the restarted process (where this variable contains internal data), or if the restart has been overridden.
-
-Note that the [setMainScript()](#setmainscriptscript) and [setPersistent()](#setpersistent) setters can be used here, if required.
-
-#### _restart(array $command): void_
-An application can extend this to modify the temporary ini file, its location given in the `tmpIni` property. New settings can be safely appended to the end of the data, which is `PHP_EOL` terminated.
-
-The `$command` parameter is an array of unescaped command-line arguments that will be used for the new process.
-
-Remember to finish with `parent::restart($command)`.
-
-#### Example
-This example demonstrates two ways to extend basic functionality:
-
-* To avoid the overhead of spinning up a new process, the restart is skipped if a simple help command is requested.
-
-* The application needs write-access to phar files, so it will force a restart if `phar.readonly` is set (regardless of whether Xdebug is loaded) and change this value in the temporary ini file.
-
-```php
-use Composer\XdebugHandler\XdebugHandler;
-use MyApp\Command;
-
-class MyRestarter extends XdebugHandler
-{
- private $required;
-
- protected function requiresRestart(bool $default): bool
- {
- if (Command::isHelp()) {
- # No need to disable Xdebug for this
- return false;
- }
-
- $this->required = (bool) ini_get('phar.readonly');
- return $this->required || $default;
- }
-
- protected function restart(array $command): void
- {
- if ($this->required) {
- # Add required ini setting to tmpIni
- $content = file_get_contents($this->tmpIni);
- $content .= 'phar.readonly=0'.PHP_EOL;
- file_put_contents($this->tmpIni, $content);
- }
-
- parent::restart($command);
- }
-}
-```
-
-## License
-composer/xdebug-handler is licensed under the MIT License, see the LICENSE file for details.
diff --git a/vendor/composer/xdebug-handler/composer.json b/vendor/composer/xdebug-handler/composer.json
deleted file mode 100644
index 6b649dab..00000000
--- a/vendor/composer/xdebug-handler/composer.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "name": "composer/xdebug-handler",
- "description": "Restarts a process without Xdebug.",
- "type": "library",
- "license": "MIT",
- "keywords": [
- "xdebug",
- "performance"
- ],
- "authors": [
- {
- "name": "John Stevenson",
- "email": "john-stevenson@blueyonder.co.uk"
- }
- ],
- "support": {
- "irc": "irc://irc.freenode.org/composer",
- "issues": "https://github.com/composer/xdebug-handler/issues"
- },
- "require": {
- "php": "^7.2.5 || ^8.0",
- "psr/log": "^1 || ^2 || ^3",
- "composer/pcre": "^1 || ^2 || ^3"
- },
- "require-dev": {
- "symfony/phpunit-bridge": "^6.0",
- "phpstan/phpstan": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.1"
- },
- "autoload": {
- "psr-4": {
- "Composer\\XdebugHandler\\": "src"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "Composer\\XdebugHandler\\Tests\\": "tests"
- }
- },
- "scripts": {
- "test": "@php vendor/bin/simple-phpunit",
- "phpstan": "@php vendor/bin/phpstan analyse"
- }
-}
diff --git a/vendor/composer/xdebug-handler/src/PhpConfig.php b/vendor/composer/xdebug-handler/src/PhpConfig.php
deleted file mode 100644
index 7edac888..00000000
--- a/vendor/composer/xdebug-handler/src/PhpConfig.php
+++ /dev/null
@@ -1,91 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-namespace Composer\XdebugHandler;
-
-/**
- * @author John Stevenson
- *
- * @phpstan-type restartData array{tmpIni: string, scannedInis: bool, scanDir: false|string, phprc: false|string, inis: string[], skipped: string}
- */
-class PhpConfig
-{
- /**
- * Use the original PHP configuration
- *
- * @return string[] Empty array of PHP cli options
- */
- public function useOriginal(): array
- {
- $this->getDataAndReset();
- return [];
- }
-
- /**
- * Use standard restart settings
- *
- * @return string[] PHP cli options
- */
- public function useStandard(): array
- {
- $data = $this->getDataAndReset();
- if ($data !== null) {
- return ['-n', '-c', $data['tmpIni']];
- }
-
- return [];
- }
-
- /**
- * Use environment variables to persist settings
- *
- * @return string[] Empty array of PHP cli options
- */
- public function usePersistent(): array
- {
- $data = $this->getDataAndReset();
- if ($data !== null) {
- $this->updateEnv('PHPRC', $data['tmpIni']);
- $this->updateEnv('PHP_INI_SCAN_DIR', '');
- }
-
- return [];
- }
-
- /**
- * Returns restart data if available and resets the environment
- *
- * @phpstan-return restartData|null
- */
- private function getDataAndReset(): ?array
- {
- $data = XdebugHandler::getRestartSettings();
- if ($data !== null) {
- $this->updateEnv('PHPRC', $data['phprc']);
- $this->updateEnv('PHP_INI_SCAN_DIR', $data['scanDir']);
- }
-
- return $data;
- }
-
- /**
- * Updates a restart settings value in the environment
- *
- * @param string $name
- * @param string|false $value
- */
- private function updateEnv(string $name, $value): void
- {
- Process::setEnv($name, false !== $value ? $value : null);
- }
-}
diff --git a/vendor/composer/xdebug-handler/src/Process.php b/vendor/composer/xdebug-handler/src/Process.php
deleted file mode 100644
index c612200b..00000000
--- a/vendor/composer/xdebug-handler/src/Process.php
+++ /dev/null
@@ -1,118 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-declare(strict_types=1);
-
-namespace Composer\XdebugHandler;
-
-use Composer\Pcre\Preg;
-
-/**
- * Process utility functions
- *
- * @author John Stevenson
- */
-class Process
-{
- /**
- * Escapes a string to be used as a shell argument.
- *
- * From https://github.com/johnstevenson/winbox-args
- * MIT Licensed (c) John Stevenson
- *
- * @param string $arg The argument to be escaped
- * @param bool $meta Additionally escape cmd.exe meta characters
- * @param bool $module The argument is the module to invoke
- */
- public static function escape(string $arg, bool $meta = true, bool $module = false): string
- {
- if (!defined('PHP_WINDOWS_VERSION_BUILD')) {
- return "'".str_replace("'", "'\\''", $arg)."'";
- }
-
- $quote = strpbrk($arg, " \t") !== false || $arg === '';
-
- $arg = Preg::replace('/(\\\\*)"/', '$1$1\\"', $arg, -1, $dquotes);
-
- if ($meta) {
- $meta = $dquotes || Preg::isMatch('/%[^%]+%/', $arg);
-
- if (!$meta) {
- $quote = $quote || strpbrk($arg, '^&|<>()') !== false;
- } elseif ($module && !$dquotes && $quote) {
- $meta = false;
- }
- }
-
- if ($quote) {
- $arg = '"'.(Preg::replace('/(\\\\*)$/', '$1$1', $arg)).'"';
- }
-
- if ($meta) {
- $arg = Preg::replace('/(["^&|<>()%])/', '^$1', $arg);
- }
-
- return $arg;
- }
-
- /**
- * Escapes an array of arguments that make up a shell command
- *
- * @param string[] $args Argument list, with the module name first
- */
- public static function escapeShellCommand(array $args): string
- {
- $command = '';
- $module = array_shift($args);
-
- if ($module !== null) {
- $command = self::escape($module, true, true);
-
- foreach ($args as $arg) {
- $command .= ' '.self::escape($arg);
- }
- }
-
- return $command;
- }
-
- /**
- * Makes putenv environment changes available in $_SERVER and $_ENV
- *
- * @param string $name
- * @param ?string $value A null value unsets the variable
- */
- public static function setEnv(string $name, ?string $value = null): bool
- {
- $unset = null === $value;
-
- if (!putenv($unset ? $name : $name.'='.$value)) {
- return false;
- }
-
- if ($unset) {
- unset($_SERVER[$name]);
- } else {
- $_SERVER[$name] = $value;
- }
-
- // Update $_ENV if it is being used
- if (false !== stripos((string) ini_get('variables_order'), 'E')) {
- if ($unset) {
- unset($_ENV[$name]);
- } else {
- $_ENV[$name] = $value;
- }
- }
-
- return true;
- }
-}
diff --git a/vendor/composer/xdebug-handler/src/Status.php b/vendor/composer/xdebug-handler/src/Status.php
deleted file mode 100644
index b434f859..00000000
--- a/vendor/composer/xdebug-handler/src/Status.php
+++ /dev/null
@@ -1,203 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-declare(strict_types=1);
-
-namespace Composer\XdebugHandler;
-
-use Psr\Log\LoggerInterface;
-use Psr\Log\LogLevel;
-
-/**
- * @author John Stevenson
- * @internal
- */
-class Status
-{
- const ENV_RESTART = 'XDEBUG_HANDLER_RESTART';
- const CHECK = 'Check';
- const ERROR = 'Error';
- const INFO = 'Info';
- const NORESTART = 'NoRestart';
- const RESTART = 'Restart';
- const RESTARTING = 'Restarting';
- const RESTARTED = 'Restarted';
-
- /** @var bool */
- private $debug;
-
- /** @var string */
- private $envAllowXdebug;
-
- /** @var string|null */
- private $loaded;
-
- /** @var LoggerInterface|null */
- private $logger;
-
- /** @var bool */
- private $modeOff;
-
- /** @var float */
- private $time;
-
- /**
- * @param string $envAllowXdebug Prefixed _ALLOW_XDEBUG name
- * @param bool $debug Whether debug output is required
- */
- public function __construct(string $envAllowXdebug, bool $debug)
- {
- $start = getenv(self::ENV_RESTART);
- Process::setEnv(self::ENV_RESTART);
- $this->time = is_numeric($start) ? round((microtime(true) - $start) * 1000) : 0;
-
- $this->envAllowXdebug = $envAllowXdebug;
- $this->debug = $debug && defined('STDERR');
- $this->modeOff = false;
- }
-
- /**
- * Activates status message output to a PSR3 logger
- *
- * @return void
- */
- public function setLogger(LoggerInterface $logger): void
- {
- $this->logger = $logger;
- }
-
- /**
- * Calls a handler method to report a message
- *
- * @throws \InvalidArgumentException If $op is not known
- */
- public function report(string $op, ?string $data): void
- {
- if ($this->logger !== null || $this->debug) {
- $callable = [$this, 'report'.$op];
-
- if (!is_callable($callable)) {
- throw new \InvalidArgumentException('Unknown op handler: '.$op);
- }
-
- $params = $data !== null ? [$data] : [];
- call_user_func_array($callable, $params);
- }
- }
-
- /**
- * Outputs a status message
- */
- private function output(string $text, ?string $level = null): void
- {
- if ($this->logger !== null) {
- $this->logger->log($level !== null ? $level: LogLevel::DEBUG, $text);
- }
-
- if ($this->debug) {
- fwrite(STDERR, sprintf('xdebug-handler[%d] %s', getmypid(), $text.PHP_EOL));
- }
- }
-
- /**
- * Checking status message
- */
- private function reportCheck(string $loaded): void
- {
- list($version, $mode) = explode('|', $loaded);
-
- if ($version !== '') {
- $this->loaded = '('.$version.')'.($mode !== '' ? ' xdebug.mode='.$mode : '');
- }
- $this->modeOff = $mode === 'off';
- $this->output('Checking '.$this->envAllowXdebug);
- }
-
- /**
- * Error status message
- */
- private function reportError(string $error): void
- {
- $this->output(sprintf('No restart (%s)', $error), LogLevel::WARNING);
- }
-
- /**
- * Info status message
- */
- private function reportInfo(string $info): void
- {
- $this->output($info);
- }
-
- /**
- * No restart status message
- */
- private function reportNoRestart(): void
- {
- $this->output($this->getLoadedMessage());
-
- if ($this->loaded !== null) {
- $text = sprintf('No restart (%s)', $this->getEnvAllow());
- if (!((bool) getenv($this->envAllowXdebug))) {
- $text .= ' Allowed by '.($this->modeOff ? 'xdebug.mode' : 'application');
- }
- $this->output($text);
- }
- }
-
- /**
- * Restart status message
- */
- private function reportRestart(): void
- {
- $this->output($this->getLoadedMessage());
- Process::setEnv(self::ENV_RESTART, (string) microtime(true));
- }
-
- /**
- * Restarted status message
- */
- private function reportRestarted(): void
- {
- $loaded = $this->getLoadedMessage();
- $text = sprintf('Restarted (%d ms). %s', $this->time, $loaded);
- $level = $this->loaded !== null ? LogLevel::WARNING : null;
- $this->output($text, $level);
- }
-
- /**
- * Restarting status message
- */
- private function reportRestarting(string $command): void
- {
- $text = sprintf('Process restarting (%s)', $this->getEnvAllow());
- $this->output($text);
- $text = 'Running '.$command;
- $this->output($text);
- }
-
- /**
- * Returns the _ALLOW_XDEBUG environment variable as name=value
- */
- private function getEnvAllow(): string
- {
- return $this->envAllowXdebug.'='.getenv($this->envAllowXdebug);
- }
-
- /**
- * Returns the Xdebug status and version
- */
- private function getLoadedMessage(): string
- {
- $loaded = $this->loaded !== null ? sprintf('loaded %s', $this->loaded) : 'not loaded';
- return 'The Xdebug extension is '.$loaded;
- }
-}
diff --git a/vendor/composer/xdebug-handler/src/XdebugHandler.php b/vendor/composer/xdebug-handler/src/XdebugHandler.php
deleted file mode 100644
index 9052bfa4..00000000
--- a/vendor/composer/xdebug-handler/src/XdebugHandler.php
+++ /dev/null
@@ -1,668 +0,0 @@
-
- *
- * For the full copyright and license information, please view
- * the LICENSE file that was distributed with this source code.
- */
-
-declare(strict_types=1);
-
-namespace Composer\XdebugHandler;
-
-use Composer\Pcre\Preg;
-use Psr\Log\LoggerInterface;
-
-/**
- * @author John Stevenson
- *
- * @phpstan-import-type restartData from PhpConfig
- */
-class XdebugHandler
-{
- const SUFFIX_ALLOW = '_ALLOW_XDEBUG';
- const SUFFIX_INIS = '_ORIGINAL_INIS';
- const RESTART_ID = 'internal';
- const RESTART_SETTINGS = 'XDEBUG_HANDLER_SETTINGS';
- const DEBUG = 'XDEBUG_HANDLER_DEBUG';
-
- /** @var string|null */
- protected $tmpIni;
-
- /** @var bool */
- private static $inRestart;
-
- /** @var string */
- private static $name;
-
- /** @var string|null */
- private static $skipped;
-
- /** @var bool */
- private static $xdebugActive;
-
- /** @var string|null */
- private static $xdebugMode;
-
- /** @var string|null */
- private static $xdebugVersion;
-
- /** @var bool */
- private $cli;
-
- /** @var string|null */
- private $debug;
-
- /** @var string */
- private $envAllowXdebug;
-
- /** @var string */
- private $envOriginalInis;
-
- /** @var bool */
- private $persistent;
-
- /** @var string|null */
- private $script;
-
- /** @var Status */
- private $statusWriter;
-
- /**
- * Constructor
- *
- * The $envPrefix is used to create distinct environment variables. It is
- * uppercased and prepended to the default base values. For example 'myapp'
- * would result in MYAPP_ALLOW_XDEBUG and MYAPP_ORIGINAL_INIS.
- *
- * @param string $envPrefix Value used in environment variables
- * @throws \RuntimeException If the parameter is invalid
- */
- public function __construct(string $envPrefix)
- {
- if ($envPrefix === '') {
- throw new \RuntimeException('Invalid constructor parameter');
- }
-
- self::$name = strtoupper($envPrefix);
- $this->envAllowXdebug = self::$name.self::SUFFIX_ALLOW;
- $this->envOriginalInis = self::$name.self::SUFFIX_INIS;
-
- self::setXdebugDetails();
- self::$inRestart = false;
-
- if ($this->cli = PHP_SAPI === 'cli') {
- $this->debug = (string) getenv(self::DEBUG);
- }
-
- $this->statusWriter = new Status($this->envAllowXdebug, (bool) $this->debug);
- }
-
- /**
- * Activates status message output to a PSR3 logger
- */
- public function setLogger(LoggerInterface $logger): self
- {
- $this->statusWriter->setLogger($logger);
- return $this;
- }
-
- /**
- * Sets the main script location if it cannot be called from argv
- */
- public function setMainScript(string $script): self
- {
- $this->script = $script;
- return $this;
- }
-
- /**
- * Persist the settings to keep Xdebug out of sub-processes
- */
- public function setPersistent(): self
- {
- $this->persistent = true;
- return $this;
- }
-
- /**
- * Checks if Xdebug is loaded and the process needs to be restarted
- *
- * This behaviour can be disabled by setting the MYAPP_ALLOW_XDEBUG
- * environment variable to 1. This variable is used internally so that
- * the restarted process is created only once.
- */
- public function check(): void
- {
- $this->notify(Status::CHECK, self::$xdebugVersion.'|'.self::$xdebugMode);
- $envArgs = explode('|', (string) getenv($this->envAllowXdebug));
-
- if (!((bool) $envArgs[0]) && $this->requiresRestart(self::$xdebugActive)) {
- // Restart required
- $this->notify(Status::RESTART);
-
- if ($this->prepareRestart()) {
- $command = $this->getCommand();
- $this->restart($command);
- }
- return;
- }
-
- if (self::RESTART_ID === $envArgs[0] && count($envArgs) === 5) {
- // Restarted, so unset environment variable and use saved values
- $this->notify(Status::RESTARTED);
-
- Process::setEnv($this->envAllowXdebug);
- self::$inRestart = true;
-
- if (self::$xdebugVersion === null) {
- // Skipped version is only set if Xdebug is not loaded
- self::$skipped = $envArgs[1];
- }
-
- $this->tryEnableSignals();
-
- // Put restart settings in the environment
- $this->setEnvRestartSettings($envArgs);
- return;
- }
-
- $this->notify(Status::NORESTART);
- $settings = self::getRestartSettings();
-
- if ($settings !== null) {
- // Called with existing settings, so sync our settings
- $this->syncSettings($settings);
- }
- }
-
- /**
- * Returns an array of php.ini locations with at least one entry
- *
- * The equivalent of calling php_ini_loaded_file then php_ini_scanned_files.
- * The loaded ini location is the first entry and may be empty.
- *
- * @return string[]
- */
- public static function getAllIniFiles(): array
- {
- if (self::$name !== null) {
- $env = getenv(self::$name.self::SUFFIX_INIS);
-
- if (false !== $env) {
- return explode(PATH_SEPARATOR, $env);
- }
- }
-
- $paths = [(string) php_ini_loaded_file()];
- $scanned = php_ini_scanned_files();
-
- if ($scanned !== false) {
- $paths = array_merge($paths, array_map('trim', explode(',', $scanned)));
- }
-
- return $paths;
- }
-
- /**
- * Returns an array of restart settings or null
- *
- * Settings will be available if the current process was restarted, or
- * called with the settings from an existing restart.
- *
- * @phpstan-return restartData|null
- */
- public static function getRestartSettings(): ?array
- {
- $envArgs = explode('|', (string) getenv(self::RESTART_SETTINGS));
-
- if (count($envArgs) !== 6
- || (!self::$inRestart && php_ini_loaded_file() !== $envArgs[0])) {
- return null;
- }
-
- return [
- 'tmpIni' => $envArgs[0],
- 'scannedInis' => (bool) $envArgs[1],
- 'scanDir' => '*' === $envArgs[2] ? false : $envArgs[2],
- 'phprc' => '*' === $envArgs[3] ? false : $envArgs[3],
- 'inis' => explode(PATH_SEPARATOR, $envArgs[4]),
- 'skipped' => $envArgs[5],
- ];
- }
-
- /**
- * Returns the Xdebug version that triggered a successful restart
- */
- public static function getSkippedVersion(): string
- {
- return (string) self::$skipped;
- }
-
- /**
- * Returns whether Xdebug is loaded and active
- *
- * true: if Xdebug is loaded and is running in an active mode.
- * false: if Xdebug is not loaded, or it is running with xdebug.mode=off.
- */
- public static function isXdebugActive(): bool
- {
- self::setXdebugDetails();
- return self::$xdebugActive;
- }
-
- /**
- * Allows an extending class to decide if there should be a restart
- *
- * The default is to restart if Xdebug is loaded and its mode is not "off".
- */
- protected function requiresRestart(bool $default): bool
- {
- return $default;
- }
-
- /**
- * Allows an extending class to access the tmpIni
- *
- * @param string[] $command *
- */
- protected function restart(array $command): void
- {
- $this->doRestart($command);
- }
-
- /**
- * Executes the restarted command then deletes the tmp ini
- *
- * @param string[] $command
- * @phpstan-return never
- */
- private function doRestart(array $command): void
- {
- $this->tryEnableSignals();
- $this->notify(Status::RESTARTING, implode(' ', $command));
-
- if (PHP_VERSION_ID >= 70400) {
- $cmd = $command;
- } else {
- $cmd = Process::escapeShellCommand($command);
- if (defined('PHP_WINDOWS_VERSION_BUILD')) {
- // Outer quotes required on cmd string below PHP 8
- $cmd = '"'.$cmd.'"';
- }
- }
-
- $process = proc_open($cmd, [], $pipes);
- if (is_resource($process)) {
- $exitCode = proc_close($process);
- }
-
- if (!isset($exitCode)) {
- // Unlikely that php or the default shell cannot be invoked
- $this->notify(Status::ERROR, 'Unable to restart process');
- $exitCode = -1;
- } else {
- $this->notify(Status::INFO, 'Restarted process exited '.$exitCode);
- }
-
- if ($this->debug === '2') {
- $this->notify(Status::INFO, 'Temp ini saved: '.$this->tmpIni);
- } else {
- @unlink((string) $this->tmpIni);
- }
-
- exit($exitCode);
- }
-
- /**
- * Returns true if everything was written for the restart
- *
- * If any of the following fails (however unlikely) we must return false to
- * stop potential recursion:
- * - tmp ini file creation
- * - environment variable creation
- */
- private function prepareRestart(): bool
- {
- $error = null;
- $iniFiles = self::getAllIniFiles();
- $scannedInis = count($iniFiles) > 1;
- $tmpDir = sys_get_temp_dir();
-
- if (!$this->cli) {
- $error = 'Unsupported SAPI: '.PHP_SAPI;
- } elseif (!$this->checkConfiguration($info)) {
- $error = $info;
- } elseif (!$this->checkMainScript()) {
- $error = 'Unable to access main script: '.$this->script;
- } elseif (!$this->writeTmpIni($iniFiles, $tmpDir, $error)) {
- $error = $error !== null ? $error : 'Unable to create temp ini file at: '.$tmpDir;
- } elseif (!$this->setEnvironment($scannedInis, $iniFiles)) {
- $error = 'Unable to set environment variables';
- }
-
- if ($error !== null) {
- $this->notify(Status::ERROR, $error);
- }
-
- return $error === null;
- }
-
- /**
- * Returns true if the tmp ini file was written
- *
- * @param string[] $iniFiles All ini files used in the current process
- */
- private function writeTmpIni(array $iniFiles, string $tmpDir, ?string &$error): bool
- {
- if (($tmpfile = @tempnam($tmpDir, '')) === false) {
- return false;
- }
-
- $this->tmpIni = $tmpfile;
-
- // $iniFiles has at least one item and it may be empty
- if ($iniFiles[0] === '') {
- array_shift($iniFiles);
- }
-
- $content = '';
- $sectionRegex = '/^\s*\[(?:PATH|HOST)\s*=/mi';
- $xdebugRegex = '/^\s*(zend_extension\s*=.*xdebug.*)$/mi';
-
- foreach ($iniFiles as $file) {
- // Check for inaccessible ini files
- if (($data = @file_get_contents($file)) === false) {
- $error = 'Unable to read ini: '.$file;
- return false;
- }
- // Check and remove directives after HOST and PATH sections
- if (Preg::isMatchWithOffsets($sectionRegex, $data, $matches, PREG_OFFSET_CAPTURE)) {
- $data = substr($data, 0, $matches[0][1]);
- }
- $content .= Preg::replace($xdebugRegex, ';$1', $data).PHP_EOL;
- }
-
- // Merge loaded settings into our ini content, if it is valid
- $config = parse_ini_string($content);
- $loaded = ini_get_all(null, false);
-
- if (false === $config || false === $loaded) {
- $error = 'Unable to parse ini data';
- return false;
- }
-
- $content .= $this->mergeLoadedConfig($loaded, $config);
-
- // Work-around for https://bugs.php.net/bug.php?id=75932
- $content .= 'opcache.enable_cli=0'.PHP_EOL;
-
- return (bool) @file_put_contents($this->tmpIni, $content);
- }
-
- /**
- * Returns the command line arguments for the restart
- *
- * @return string[]
- */
- private function getCommand(): array
- {
- $php = [PHP_BINARY];
- $args = array_slice($_SERVER['argv'], 1);
-
- if (!$this->persistent) {
- // Use command-line options
- array_push($php, '-n', '-c', $this->tmpIni);
- }
-
- return array_merge($php, [$this->script], $args);
- }
-
- /**
- * Returns true if the restart environment variables were set
- *
- * No need to update $_SERVER since this is set in the restarted process.
- *
- * @param string[] $iniFiles All ini files used in the current process
- */
- private function setEnvironment(bool $scannedInis, array $iniFiles): bool
- {
- $scanDir = getenv('PHP_INI_SCAN_DIR');
- $phprc = getenv('PHPRC');
-
- // Make original inis available to restarted process
- if (!putenv($this->envOriginalInis.'='.implode(PATH_SEPARATOR, $iniFiles))) {
- return false;
- }
-
- if ($this->persistent) {
- // Use the environment to persist the settings
- if (!putenv('PHP_INI_SCAN_DIR=') || !putenv('PHPRC='.$this->tmpIni)) {
- return false;
- }
- }
-
- // Flag restarted process and save values for it to use
- $envArgs = [
- self::RESTART_ID,
- self::$xdebugVersion,
- (int) $scannedInis,
- false === $scanDir ? '*' : $scanDir,
- false === $phprc ? '*' : $phprc,
- ];
-
- return putenv($this->envAllowXdebug.'='.implode('|', $envArgs));
- }
-
- /**
- * Logs status messages
- */
- private function notify(string $op, ?string $data = null): void
- {
- $this->statusWriter->report($op, $data);
- }
-
- /**
- * Returns default, changed and command-line ini settings
- *
- * @param mixed[] $loadedConfig All current ini settings
- * @param mixed[] $iniConfig Settings from user ini files
- *
- */
- private function mergeLoadedConfig(array $loadedConfig, array $iniConfig): string
- {
- $content = '';
-
- foreach ($loadedConfig as $name => $value) {
- // Value will either be null, string or array (HHVM only)
- if (!is_string($value)
- || strpos($name, 'xdebug') === 0
- || $name === 'apc.mmap_file_mask') {
- continue;
- }
-
- if (!isset($iniConfig[$name]) || $iniConfig[$name] !== $value) {
- // Double-quote escape each value
- $content .= $name.'="'.addcslashes($value, '\\"').'"'.PHP_EOL;
- }
- }
-
- return $content;
- }
-
- /**
- * Returns true if the script name can be used
- */
- private function checkMainScript(): bool
- {
- if ($this->script !== null) {
- // Allow an application to set -- for standard input
- return file_exists($this->script) || '--' === $this->script;
- }
-
- if (file_exists($this->script = $_SERVER['argv'][0])) {
- return true;
- }
-
- // Use a backtrace to resolve Phar and chdir issues.
- $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
- $main = end($trace);
-
- if ($main !== false && isset($main['file'])) {
- return file_exists($this->script = $main['file']);
- }
-
- return false;
- }
-
- /**
- * Adds restart settings to the environment
- *
- * @param string[] $envArgs
- */
- private function setEnvRestartSettings(array $envArgs): void
- {
- $settings = [
- php_ini_loaded_file(),
- $envArgs[2],
- $envArgs[3],
- $envArgs[4],
- getenv($this->envOriginalInis),
- self::$skipped,
- ];
-
- Process::setEnv(self::RESTART_SETTINGS, implode('|', $settings));
- }
-
- /**
- * Syncs settings and the environment if called with existing settings
- *
- * @phpstan-param restartData $settings
- */
- private function syncSettings(array $settings): void
- {
- if (false === getenv($this->envOriginalInis)) {
- // Called by another app, so make original inis available
- Process::setEnv($this->envOriginalInis, implode(PATH_SEPARATOR, $settings['inis']));
- }
-
- self::$skipped = $settings['skipped'];
- $this->notify(Status::INFO, 'Process called with existing restart settings');
- }
-
- /**
- * Returns true if there are no known configuration issues
- */
- private function checkConfiguration(?string &$info): bool
- {
- if (!function_exists('proc_open')) {
- $info = 'proc_open function is disabled';
- return false;
- }
-
- if (extension_loaded('uopz') && !((bool) ini_get('uopz.disable'))) {
- // uopz works at opcode level and disables exit calls
- if (function_exists('uopz_allow_exit')) {
- @uopz_allow_exit(true);
- } else {
- $info = 'uopz extension is not compatible';
- return false;
- }
- }
-
- // Check UNC paths when using cmd.exe
- if (defined('PHP_WINDOWS_VERSION_BUILD') && PHP_VERSION_ID < 70400) {
- $workingDir = getcwd();
-
- if ($workingDir === false) {
- $info = 'unable to determine working directory';
- return false;
- }
-
- if (0 === strpos($workingDir, '\\\\')) {
- $info = 'cmd.exe does not support UNC paths: '.$workingDir;
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Enables async signals and control interrupts in the restarted process
- *
- * Available on Unix PHP 7.1+ with the pcntl extension and Windows PHP 7.4+.
- */
- private function tryEnableSignals(): void
- {
- if (function_exists('pcntl_async_signals') && function_exists('pcntl_signal')) {
- pcntl_async_signals(true);
- $message = 'Async signals enabled';
-
- if (!self::$inRestart) {
- // Restarting, so ignore SIGINT in parent
- pcntl_signal(SIGINT, SIG_IGN);
- } elseif (is_int(pcntl_signal_get_handler(SIGINT))) {
- // Restarted, no handler set so force default action
- pcntl_signal(SIGINT, SIG_DFL);
- }
- }
-
- if (!self::$inRestart && function_exists('sapi_windows_set_ctrl_handler')) {
- // Restarting, so set a handler to ignore CTRL events in the parent.
- // This ensures that CTRL+C events will be available in the child
- // process without having to enable them there, which is unreliable.
- sapi_windows_set_ctrl_handler(function ($evt) {});
- }
- }
-
- /**
- * Sets static properties $xdebugActive, $xdebugVersion and $xdebugMode
- */
- private static function setXdebugDetails(): void
- {
- if (self::$xdebugActive !== null) {
- return;
- }
-
- self::$xdebugActive = false;
- if (!extension_loaded('xdebug')) {
- return;
- }
-
- $version = phpversion('xdebug');
- self::$xdebugVersion = $version !== false ? $version : 'unknown';
-
- if (version_compare(self::$xdebugVersion, '3.1', '>=')) {
- $modes = xdebug_info('mode');
- self::$xdebugMode = count($modes) === 0 ? 'off' : implode(',', $modes);
- self::$xdebugActive = self::$xdebugMode !== 'off';
- return;
- }
-
- // See if xdebug.mode is supported in this version
- $iniMode = ini_get('xdebug.mode');
- if ($iniMode === false) {
- self::$xdebugActive = true;
- return;
- }
-
- // Environment value wins but cannot be empty
- $envMode = (string) getenv('XDEBUG_MODE');
- if ($envMode !== '') {
- self::$xdebugMode = $envMode;
- } else {
- self::$xdebugMode = $iniMode !== '' ? $iniMode : 'off';
- }
-
- // An empty comma-separated list is treated as mode 'off'
- if (Preg::isMatch('/^,+$/', str_replace(' ', '', self::$xdebugMode))) {
- self::$xdebugMode = 'off';
- }
-
- self::$xdebugActive = self::$xdebugMode !== 'off';
- }
-}
diff --git a/vendor/doctrine/instantiator/.doctrine-project.json b/vendor/doctrine/instantiator/.doctrine-project.json
deleted file mode 100644
index 24ae36e0..00000000
--- a/vendor/doctrine/instantiator/.doctrine-project.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "active": true,
- "name": "Instantiator",
- "slug": "instantiator",
- "docsSlug": "doctrine-instantiator",
- "codePath": "/src",
- "versions": [
- {
- "name": "1.5",
- "branchName": "1.5.x",
- "slug": "latest",
- "upcoming": true
- },
- {
- "name": "1.4",
- "branchName": "1.4.x",
- "slug": "1.4",
- "aliases": [
- "current",
- "stable"
- ],
- "maintained": true,
- "current": true
- },
- {
- "name": "1.3",
- "branchName": "1.3.x",
- "slug": "1.3",
- "maintained": false
- },
- {
- "name": "1.2",
- "branchName": "1.2.x",
- "slug": "1.2"
- },
- {
- "name": "1.1",
- "branchName": "1.1.x",
- "slug": "1.1"
- },
- {
- "name": "1.0",
- "branchName": "1.0.x",
- "slug": "1.0"
- }
- ]
-}
diff --git a/vendor/doctrine/instantiator/CONTRIBUTING.md b/vendor/doctrine/instantiator/CONTRIBUTING.md
deleted file mode 100644
index c1a2c42e..00000000
--- a/vendor/doctrine/instantiator/CONTRIBUTING.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributing
-
- * Follow the [Doctrine Coding Standard](https://github.com/doctrine/coding-standard)
- * The project will follow strict [object calisthenics](http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php)
- * Any contribution must provide tests for additional introduced conditions
- * Any un-confirmed issue needs a failing test case before being accepted
- * Pull requests must be sent from a new hotfix/feature branch, not from `master`.
-
-## Installation
-
-To install the project and run the tests, you need to clone it first:
-
-```sh
-$ git clone git://github.com/doctrine/instantiator.git
-```
-
-You will then need to run a composer installation:
-
-```sh
-$ cd Instantiator
-$ curl -s https://getcomposer.org/installer | php
-$ php composer.phar update
-```
-
-## Testing
-
-The PHPUnit version to be used is the one installed as a dev- dependency via composer:
-
-```sh
-$ ./vendor/bin/phpunit
-```
-
-Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement
-won't be merged.
-
diff --git a/vendor/doctrine/instantiator/LICENSE b/vendor/doctrine/instantiator/LICENSE
deleted file mode 100644
index 4d983d1a..00000000
--- a/vendor/doctrine/instantiator/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2014 Doctrine Project
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/vendor/doctrine/instantiator/README.md b/vendor/doctrine/instantiator/README.md
deleted file mode 100644
index 1fa95679..00000000
--- a/vendor/doctrine/instantiator/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Instantiator
-
-This library provides a way of avoiding usage of constructors when instantiating PHP classes.
-
-[](https://travis-ci.org/doctrine/instantiator)
-[](https://codecov.io/gh/doctrine/instantiator/branch/master)
-[](https://www.versioneye.com/package/php--doctrine--instantiator)
-
-[](https://packagist.org/packages/doctrine/instantiator)
-[](https://packagist.org/packages/doctrine/instantiator)
-
-## Installation
-
-The suggested installation method is via [composer](https://getcomposer.org/):
-
-```sh
-composer require doctrine/instantiator
-```
-
-## Usage
-
-The instantiator is able to create new instances of any class without using the constructor or any API of the class
-itself:
-
-```php
-$instantiator = new \Doctrine\Instantiator\Instantiator();
-
-$instance = $instantiator->instantiate(\My\ClassName\Here::class);
-```
-
-## Contributing
-
-Please read the [CONTRIBUTING.md](CONTRIBUTING.md) contents if you wish to help out!
-
-## Credits
-
-This library was migrated from [ocramius/instantiator](https://github.com/Ocramius/Instantiator), which
-has been donated to the doctrine organization, and which is now deprecated in favour of this package.
diff --git a/vendor/doctrine/instantiator/composer.json b/vendor/doctrine/instantiator/composer.json
deleted file mode 100644
index 179145e8..00000000
--- a/vendor/doctrine/instantiator/composer.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "doctrine/instantiator",
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "type": "library",
- "license": "MIT",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
- "keywords": [
- "instantiate",
- "constructor"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "https://ocramius.github.io/"
- }
- ],
- "require": {
- "php": "^8.1"
- },
- "require-dev": {
- "ext-phar": "*",
- "ext-pdo": "*",
- "doctrine/coding-standard": "^11",
- "phpbench/phpbench": "^1.2",
- "phpstan/phpstan": "^1.9.4",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5.27",
- "vimeo/psalm": "^5.4"
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "autoload-dev": {
- "psr-0": {
- "DoctrineTest\\InstantiatorPerformance\\": "tests",
- "DoctrineTest\\InstantiatorTest\\": "tests",
- "DoctrineTest\\InstantiatorTestAsset\\": "tests"
- }
- },
- "config": {
- "allow-plugins": {
- "dealerdirect/phpcodesniffer-composer-installer": true
- }
- }
-}
diff --git a/vendor/doctrine/instantiator/docs/en/index.rst b/vendor/doctrine/instantiator/docs/en/index.rst
deleted file mode 100644
index 0c85da0b..00000000
--- a/vendor/doctrine/instantiator/docs/en/index.rst
+++ /dev/null
@@ -1,68 +0,0 @@
-Introduction
-============
-
-This library provides a way of avoiding usage of constructors when instantiating PHP classes.
-
-Installation
-============
-
-The suggested installation method is via `composer`_:
-
-.. code-block:: console
-
- $ composer require doctrine/instantiator
-
-Usage
-=====
-
-The instantiator is able to create new instances of any class without
-using the constructor or any API of the class itself:
-
-.. code-block:: php
-
- instantiate(User::class);
-
-Contributing
-============
-
-- Follow the `Doctrine Coding Standard`_
-- The project will follow strict `object calisthenics`_
-- Any contribution must provide tests for additional introduced
- conditions
-- Any un-confirmed issue needs a failing test case before being
- accepted
-- Pull requests must be sent from a new hotfix/feature branch, not from
- ``master``.
-
-Testing
-=======
-
-The PHPUnit version to be used is the one installed as a dev- dependency
-via composer:
-
-.. code-block:: console
-
- $ ./vendor/bin/phpunit
-
-Accepted coverage for new contributions is 80%. Any contribution not
-satisfying this requirement won’t be merged.
-
-Credits
-=======
-
-This library was migrated from `ocramius/instantiator`_, which has been
-donated to the doctrine organization, and which is now deprecated in
-favour of this package.
-
-.. _composer: https://getcomposer.org/
-.. _CONTRIBUTING.md: CONTRIBUTING.md
-.. _ocramius/instantiator: https://github.com/Ocramius/Instantiator
-.. _Doctrine Coding Standard: https://github.com/doctrine/coding-standard
-.. _object calisthenics: http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php
diff --git a/vendor/doctrine/instantiator/docs/en/sidebar.rst b/vendor/doctrine/instantiator/docs/en/sidebar.rst
deleted file mode 100644
index 0c364791..00000000
--- a/vendor/doctrine/instantiator/docs/en/sidebar.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-.. toctree::
- :depth: 3
-
- index
diff --git a/vendor/doctrine/instantiator/psalm.xml b/vendor/doctrine/instantiator/psalm.xml
deleted file mode 100644
index e9b622b3..00000000
--- a/vendor/doctrine/instantiator/psalm.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php b/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
deleted file mode 100644
index 1e591928..00000000
--- a/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,14 +0,0 @@
- $reflectionClass
- *
- * @template T of object
- */
- public static function fromAbstractClass(ReflectionClass $reflectionClass): self
- {
- return new self(sprintf(
- 'The provided class "%s" is abstract, and cannot be instantiated',
- $reflectionClass->getName(),
- ));
- }
-
- public static function fromEnum(string $className): self
- {
- return new self(sprintf(
- 'The provided class "%s" is an enum, and cannot be instantiated',
- $className,
- ));
- }
-}
diff --git a/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php b/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
deleted file mode 100644
index 4f70ded2..00000000
--- a/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
+++ /dev/null
@@ -1,61 +0,0 @@
- $reflectionClass
- *
- * @template T of object
- */
- public static function fromSerializationTriggeredException(
- ReflectionClass $reflectionClass,
- Exception $exception,
- ): self {
- return new self(
- sprintf(
- 'An exception was raised while trying to instantiate an instance of "%s" via un-serialization',
- $reflectionClass->getName(),
- ),
- 0,
- $exception,
- );
- }
-
- /**
- * @phpstan-param ReflectionClass $reflectionClass
- *
- * @template T of object
- */
- public static function fromUncleanUnSerialization(
- ReflectionClass $reflectionClass,
- string $errorString,
- int $errorCode,
- string $errorFile,
- int $errorLine,
- ): self {
- return new self(
- sprintf(
- 'Could not produce an instance of "%s" via un-serialization, since an error was triggered '
- . 'in file "%s" at line "%d"',
- $reflectionClass->getName(),
- $errorFile,
- $errorLine,
- ),
- 0,
- new Exception($errorString, $errorCode),
- );
- }
-}
diff --git a/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php b/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
deleted file mode 100644
index f803f89a..00000000
--- a/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
+++ /dev/null
@@ -1,255 +0,0 @@
- $className
- *
- * @phpstan-return T
- *
- * @throws ExceptionInterface
- *
- * @template T of object
- */
- public function instantiate(string $className): object
- {
- if (isset(self::$cachedCloneables[$className])) {
- /** @phpstan-var T */
- $cachedCloneable = self::$cachedCloneables[$className];
-
- return clone $cachedCloneable;
- }
-
- if (isset(self::$cachedInstantiators[$className])) {
- $factory = self::$cachedInstantiators[$className];
-
- return $factory();
- }
-
- return $this->buildAndCacheFromFactory($className);
- }
-
- /**
- * Builds the requested object and caches it in static properties for performance
- *
- * @phpstan-param class-string $className
- *
- * @phpstan-return T
- *
- * @template T of object
- */
- private function buildAndCacheFromFactory(string $className): object
- {
- $factory = self::$cachedInstantiators[$className] = $this->buildFactory($className);
- $instance = $factory();
-
- if ($this->isSafeToClone(new ReflectionClass($instance))) {
- self::$cachedCloneables[$className] = clone $instance;
- }
-
- return $instance;
- }
-
- /**
- * Builds a callable capable of instantiating the given $className without
- * invoking its constructor.
- *
- * @phpstan-param class-string $className
- *
- * @phpstan-return callable(): T
- *
- * @throws InvalidArgumentException
- * @throws UnexpectedValueException
- * @throws ReflectionException
- *
- * @template T of object
- */
- private function buildFactory(string $className): callable
- {
- $reflectionClass = $this->getReflectionClass($className);
-
- if ($this->isInstantiableViaReflection($reflectionClass)) {
- return [$reflectionClass, 'newInstanceWithoutConstructor'];
- }
-
- $serializedString = sprintf(
- '%s:%d:"%s":0:{}',
- is_subclass_of($className, Serializable::class) ? self::SERIALIZATION_FORMAT_USE_UNSERIALIZER : self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER,
- strlen($className),
- $className,
- );
-
- $this->checkIfUnSerializationIsSupported($reflectionClass, $serializedString);
-
- return static fn () => unserialize($serializedString);
- }
-
- /**
- * @phpstan-param class-string $className
- *
- * @phpstan-return ReflectionClass
- *
- * @throws InvalidArgumentException
- * @throws ReflectionException
- *
- * @template T of object
- */
- private function getReflectionClass(string $className): ReflectionClass
- {
- if (! class_exists($className)) {
- throw InvalidArgumentException::fromNonExistingClass($className);
- }
-
- if (enum_exists($className, false)) {
- throw InvalidArgumentException::fromEnum($className);
- }
-
- $reflection = new ReflectionClass($className);
-
- if ($reflection->isAbstract()) {
- throw InvalidArgumentException::fromAbstractClass($reflection);
- }
-
- return $reflection;
- }
-
- /**
- * @phpstan-param ReflectionClass $reflectionClass
- *
- * @throws UnexpectedValueException
- *
- * @template T of object
- */
- private function checkIfUnSerializationIsSupported(ReflectionClass $reflectionClass, string $serializedString): void
- {
- set_error_handler(static function (int $code, string $message, string $file, int $line) use ($reflectionClass, &$error): bool {
- $error = UnexpectedValueException::fromUncleanUnSerialization(
- $reflectionClass,
- $message,
- $code,
- $file,
- $line,
- );
-
- return true;
- });
-
- try {
- $this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString);
- } finally {
- restore_error_handler();
- }
-
- if ($error) {
- throw $error;
- }
- }
-
- /**
- * @phpstan-param ReflectionClass $reflectionClass
- *
- * @throws UnexpectedValueException
- *
- * @template T of object
- */
- private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, string $serializedString): void
- {
- try {
- unserialize($serializedString);
- } catch (Exception $exception) {
- throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception);
- }
- }
-
- /**
- * @phpstan-param ReflectionClass $reflectionClass
- *
- * @template T of object
- */
- private function isInstantiableViaReflection(ReflectionClass $reflectionClass): bool
- {
- return ! ($this->hasInternalAncestors($reflectionClass) && $reflectionClass->isFinal());
- }
-
- /**
- * Verifies whether the given class is to be considered internal
- *
- * @phpstan-param ReflectionClass $reflectionClass
- *
- * @template T of object
- */
- private function hasInternalAncestors(ReflectionClass $reflectionClass): bool
- {
- do {
- if ($reflectionClass->isInternal()) {
- return true;
- }
-
- $reflectionClass = $reflectionClass->getParentClass();
- } while ($reflectionClass);
-
- return false;
- }
-
- /**
- * Checks if a class is cloneable
- *
- * Classes implementing `__clone` cannot be safely cloned, as that may cause side-effects.
- *
- * @phpstan-param ReflectionClass $reflectionClass
- *
- * @template T of object
- */
- private function isSafeToClone(ReflectionClass $reflectionClass): bool
- {
- return $reflectionClass->isCloneable()
- && ! $reflectionClass->hasMethod('__clone')
- && ! $reflectionClass->isSubclassOf(ArrayIterator::class);
- }
-}
diff --git a/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php b/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
deleted file mode 100644
index c6ebe351..00000000
--- a/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
+++ /dev/null
@@ -1,24 +0,0 @@
- $className
- *
- * @phpstan-return T
- *
- * @throws ExceptionInterface
- *
- * @template T of object
- */
- public function instantiate(string $className): object;
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/CHANGELOG.md b/vendor/friendsofphp/php-cs-fixer/CHANGELOG.md
deleted file mode 100644
index ca87f947..00000000
--- a/vendor/friendsofphp/php-cs-fixer/CHANGELOG.md
+++ /dev/null
@@ -1,5381 +0,0 @@
-CHANGELOG for PHP CS Fixer
-==========================
-
-This file contains changelogs for stable releases only.
-
-Changelog for v3.51.0
----------------------
-
-* chore: add missing tests for non-documentation classes (#7848)
-* chore: do not perform type analysis in tests (#7852)
-* chore: list over array in more places (#7857)
-* chore: tests documentation classes (#7855)
-* feat: `@Symfony` - add nullable_type_declaration (#7856)
-* test: fix wrong type in param annotation (#7858)
-
-Changelog for v3.50.0
----------------------
-
-* chore: add missing types (#7842)
-* chore: BlocksAnalyzer - raise exception on invalid index (#7819)
-* chore: DataProviderAnalysis - expect list over array (#7800)
-* chore: do not use `@large` on method level (#7832)
-* chore: do not use `@medium` on method level (#7833)
-* chore: Fix typos (#7835)
-* chore: rename variables (#7847)
-* chore: some improvements around array typehints (#7799)
-* CI: fix PHP 8.4 job (#7829)
-* DX: Include `symfony/var-dumper` in dev tools (#7795)
-* feat: Ability to remove unused imports from multi-use statements (#7815)
-* feat: allow PHPUnit 11 (#7824)
-* feat: Allow shortening symbols from multi-use statements (only classes for now) (#7816)
-* feat: introduce `PhpdocArrayTypeFixer` (#7812)
-* feat: PhpUnitTestCaseStaticMethodCallsFixer - cover PHPUnit v11 methods (#7822)
-* feat: Support for multi-use statements in `NamespaceUsesAnalyzer` (#7814)
-* feat: `MbStrFunctionsFixer` - add support for `mb_trim`, `mb_ltrim` and `mb_rtrim` functions (#7840)
-* feat: `NoEmptyPhpdocFixer` - do not leave empty line after removing PHPDoc (#7820)
-* feat: `no_superfluous_phpdoc_tags` - introduce `allow_future_params` option (#7743)
-* fix: do not use wrongly named arguments in data providers (#7823)
-* fix: Ensure PCNTL extension is always installed in Docker (#7782)
-* fix: PhpdocListTypeFixer - support key types containing `<…>` (#7817)
-* fix: Proper build target for local Docker Compose (#7834)
-* fix: union PHPDoc support in `fully_qualified_strict_types` fixer (#7719)
-* fix: `ExecutorWithoutErrorHandler` - remove invalid PHP 7.4 type (#7845)
-* fix: `fully_qualified_strict_types` must honor template/local type identifiers (#7724)
-* fix: `MethodArgumentSpaceFixer` - do not break heredoc/nowdoc (#7828)
-* fix: `NumericLiteralSeparatorFixer` - do not change `float` to `int` when there is nothing after the dot (#7805)
-* fix: `PhpUnitStrictFixer` - do not crash on property having the name of method to fix (#7804)
-* fix: `SingleSpaceAroundConstructFixer` - correctly recognise multiple constants (#7700)
-* fix: `TypeExpression` - handle array shape key with dash (#7841)
-
-Changelog for v3.49.0
----------------------
-
-* chore(checkbashisms): update to 2.23.7 (#7780)
-* chore: add missing key types in PHPDoc types (#7779)
-* chore: Exclude `topic/core` issues/PRs from Stale Bot (#7788)
-* chore: `DescribeCommand` - better handling of deprecations (#7778)
-* docs: docker - use gitlab reporter in GitLab integration example (#7764)
-* docs: docker in CI - don't suggest command that overrides path from config file (#7763)
-* DX: check deprecations exactly (#7742)
-* feat: Add `ordered_types` to `@Symfony` (#7356)
-* feat: introduce `PhpdocListTypeFixer` (#7796)
-* feat: introduce `string_implicit_backslashes` as `escape_implicit_backslashes` replacement (#7669)
-* feat: update `Symfony.nullable_type_declaration_for_default_null_value` config (#7773)
-* feat: `@PhpCsFixer` ruleset - enable `php_unit_data_provider_static` (#7685)
-* fix: Allow using cache when running in Docker distribution (#7769)
-* fix: ClassDefinitionFixer for anonymous class with phpdoc/attribute on separate line (#7546)
-* fix: `ClassKeywordFixer` must run before `FullyQualifiedStrictTypesFixer` (#7767)
-* fix: `function_to_constant` `get_class()` replacement (#7770)
-* fix: `LowercaseStaticReferenceFixer` - do not change typed constants (#7775)
-* fix: `PhpdocTypesFixer` - handle more complex types (#7791)
-* fix: `TypeExpression` - do not break type using `walkTypes` method (#7785)
-
-Changelog for v3.48.0
----------------------
-
-* chore: `FullyQualifiedStrictTypesFixer` must run before `OrderedInterfacesFixer` (#7762)
-* docs: Add PHP-CS-Fixer integration in a GitHub Action step (#7757)
-* feat: `PhpdocTypesOrderFixer` Support DNF types (#7732)
-* fix: Support shebang in fixers operating on PHP opening tag (#7687)
-* fix: work correctly for a switch/case with ternary operator (#7756)
-* fix: `NoUselessConcatOperatorFixer` - do not remove new line (#7759)
-
-Changelog for v3.47.1
----------------------
-
-* fix: Do not override short name with relative reference (#7752)
-* fix: make `BinaryOperatorSpacesFixer` work as pre-v3.47 (#7751)
-* fix: Proper Docker image name suffix (#7739)
-* fix: `FullyQualifiedStrictTypesFixer` - do not change case of the symbol when there's name collision between imported class and imported function (#7750)
-* fix: `FullyQualifiedStrictTypesFixer` - do not modify statements with property fetch and `::` (#7749)
-
-Changelog for v3.47.0
----------------------
-
-* chore: better identify EXPERIMENTAL rules (#7729)
-* chore: fix issue detected by unlocked PHPStan + upgrade dev-tools (#7678)
-* chore: handle extract() (#7684)
-* chore: Mention contributors in app info (#7668)
-* chore: no need to mark private methods as internal (#7715)
-* chore: ProjectCodeTests - dry for function usage extractions (#7690)
-* chore: reduce PHPStan baseline (#7644)
-* chore: use numeric literal separator for PHP version IDs (#7712)
-* chore: use numeric_literal_separator for project (#7713)
-* chore: Utils::sortElements - better typing (#7646)
-* CI: Allow running Stale Bot on demand (#7711)
-* CI: Fix PHP 8.4 (#7702)
-* CI: Give write permissions to Stale Bot (#7716)
-* CI: Use `actions/stale` v9 (#7710)
-* docs: Add information about allowing maintainers to update PRs (#7683)
-* docs: CONTRIBUTING.md - update Opening a PR (#7691)
-* docs: Display/include tool info/version by default in commands and reports (#7733)
-* DX: fix deprecation tests warnings for PHP 7.4 (#7725)
-* DX: update `host.docker.internal` in Compose override template (#7661)
-* DX: `NumericLiteralSeparatorFixer` - change default strategy to `use_separator` (#7730)
-* feat: Add support for official Docker images of Fixer (#7555)
-* feat: Add `spacing` option to `PhpdocAlignFixer` (#6505)
-* feat: Add `union_types` option to `phpdoc_to_param_type`, `phpdoc_to_property_type`, and `phpdoc_to_return_type` fixers (#7672)
-* feat: Introduce `heredoc_closing_marker` fixer (#7660)
-* feat: Introduce `multiline_string_to_heredoc` fixer (#7665)
-* feat: Introduce `NumericLiteralSeparatorFixer` (#6761)
-* feat: no_superfluous_phpdoc_tags - support for arrow function (#7666)
-* feat: Simplify closing marker when possible in `heredoc_closing_marker` fixer (#7676)
-* feat: Support typed properties and attributes in `fully_qualified_strict_types` (#7659)
-* feat: `@PhpCsFixer` ruleset - enable no_whitespace_before_comma_in_array.after_heredoc (#7670)
-* fix: Improve progress bar visual layer (#7708)
-* fix: indentation of control structure body without braces (#7663)
-* fix: make sure all PHP extensions required by PHPUnit are installed (#7727)
-* fix: PhpdocToReturnTypeFixerTest - support for arrow functions (#7645)
-* fix: Several improvements for `fully_qualified_strict_types` (respect declared symbols, relative imports, leading backslash in global namespace) (#7679)
-* fix: SimplifiedNullReturnFixer - support array return typehint (#7728)
-* fix: Support numeric values without leading zero in `numeric_literal_separator` (#7735)
-* fix: `BinaryOperatorSpacesFixer` - align correctly when multiple shifts occurs in single line (#7593)
-* fix: `ClassReferenceNameCasingFixer` capitalizes the property name after the nullsafe operator (#7696)
-* fix: `fully_qualified_strict_types` with `leading_backslash_in_global_namespace` enabled - handle reserved types in phpDoc (#7648)
-* fix: `NoSpaceAroundDoubleColonFixer` must run before `MethodChainingIndentationFixer` (#7723)
-* fix: `no_superfluous_phpdoc_tags` must honor multiline docs (#7697)
-* fix: `numeric_literal_separator` - Handle zero-leading floats properly (#7737)
-* refactor: increase performance by ~7% thanks to `Tokens::block*Cache` hit increased by ~12% (#6176)
-* refactor: Tokens - fast check for non-block in 'detectBlockType', evaluate definitions only once in 'getBlockEdgeDefinitions' (#7655)
-* refactor: `Tokens::clearEmptyTokens` - play defensive with cache clearing (#7658)
-* test: ensure we do not forget to test any short_open_tag test (#7638)
-
-Changelog for v3.46.0
----------------------
-
-* chore: fix internal typehints in Tokens (#7656)
-* chore: reduce PHPStan baseline (#7643)
-* docs: Show class with unit tests and BC promise info (#7667)
-* feat: change default ruleset to `@PER-CS` (only behind PHP_CS_FIXER_FUTURE_MODE=1) (#7650)
-* feat: Support new/instanceof/use trait in `fully_qualified_strict_types` (#7653)
-* fix: FQCN parse phpdoc using full grammar regex (#7649)
-* fix: Handle FQCN properly with `leading_backslash_in_global_namespace` option enabled (#7654)
-* fix: PhpdocToParamTypeFixerTest - support for arrow functions (#7647)
-* fix: PHP_CS_FIXER_FUTURE_MODE - proper boolean validation (#7651)
-
-Changelog for v3.45.0
----------------------
-
-* feat: Enable symbol importing in `@PhpCsFixer` ruleset (#7629)
-* fix: NoUnneededBracesFixer - improve handling of global namespace (#7639)
-* test: run tests with "short_open_tag" enabled (#7637)
-
-Changelog for v3.44.0
----------------------
-
-* feat: Introduce percentage bar as new default progress output (#7603)
-
-Changelog for v3.43.1
----------------------
-
-* fix: Import only unique symbols' short names (#7635)
-
-Changelog for v3.43.0
----------------------
-
-* chore: change base of `@Symfony` set to `@PER-CS2.0` (#7627)
-* chore: PHPUnit - allow for v10 (#7606)
-* chore: Preg - rework catching the error (#7616)
-* chore: Revert unneeded peer-dep-pin and re-gen lock file (#7618)
-* docs: drop extra note about 8.0.0 bug in README.md (#7614)
-* feat: add cast_spaces into `@PER-CS2.0` (#7625)
-* feat: Configurable phpDoc tags for FQCN processing (#7628)
-* feat: StatementIndentationFixer - introduce stick_comment_to_next_continuous_control_statement config (#7624)
-* feat: UnaryOperatorSpacesFixer - introduce only_dec_inc config (#7626)
-* fix: FullyQualifiedStrictTypesFixer - better support annotations in inline {} (#7633)
-* fix: Improve how FQCN is handled in phpDoc (#7622)
-* fix: phpdoc_align - fix multiline tag alignment issue (#7630)
-
-Changelog for v3.42.0
----------------------
-
-* chore: aim to not rely on internal array pointer but use array_key_first (#7613)
-* chore: deprecate Token::isKeyCaseSensitive (#7599)
-* chore: deprecate Token::isKeyCaseSensitive, 2nd part (#7601)
-* chore: do not check PHP_VERSION_ID (#7602)
-* chore: FileFilterIteratorTest - more accurate type in docs (#7542)
-* chore: minor code cleanup (#7607)
-* chore: more types (#7598)
-* chore: PHPDoc key-value spacing (#7592)
-* chore: PHPUnit - run defects first (#7570)
-* chore: ProjectCodeTest - DRY on Tokens creation (#7574)
-* chore: ProjectCodeTest - prepare for symfony/console v7 (#7605)
-* chore: ProjectCodeTest::provide*ClassCases to return iterable with key for better tests execution log (#7572)
-* chore: ProjectCodeTest::testDataProvidersDeclaredReturnType - use better DataProvider to simplify test logic (#7573)
-* chore: TokensAnalyzer - string-enum for better typehinting (#7571)
-* chore: unify tests not agnostic of PHP version (#7581)
-* chore: use ::class more (#7545)
-* CI: Introduce `composer-unused` (#7536)
-* DX: add types to anonymous functions (#7561)
-* DX: Allow running smoke tests within Docker runtime (#7608)
-* DX: check fixer's options for wording (#7543)
-* DX: cleanup deprecation message (#7576)
-* DX: do not allow overriding constructor of `PHPUnit\Framework\TestCase` (#7563)
-* DX: do not import ExpectDeprecationTrait in UtilsTest (#7562)
-* DX: Enforce consistent naming in tests (#7556)
-* DX: fix checking test class extends `PhpCsFixer\Tests\TestCase` (#7567)
-* DX: make sure that exceptions in `AbstractFixerTestCase::testProperMethodNaming` are not already fixed (#7588)
-* DX: remove recursion from AbstractIntegrationTestCase::testIntegration (#7577)
-* DX: remove `PhpUnitNamespacedFixerTest::testClassIsFixed` (#7564)
-* DX: remove `symfony/phpunit-bridge` (#7578)
-* DX: replace fixture classes with anonymous ones (#7533)
-* DX: Unify Docker mount points and paths (#7549)
-* DX: unify fixer's test method names - quick wins (#7584)
-* DX: unify tests for casing fixers (#7558)
-* DX: use anonymous function over concrete classes (#7553)
-* feat(EXPERIMENTAL): ClassKeywordFixer (#2918)
-* feat(EXPERIMENTAL): ClassKeywordFixer, part 2 (#7550)
-* feat(PhpdocToCommentFixer): Add option to handle return as valid docblock usage (#7401) (#7402)
-* feat: Ability to import FQCNs found during analysis (#7597)
-* feat: add phpDoc support for `fully_qualified_strict_types` fixer (#5620)
-* feat: Handle deprecated rule sets similarly to deprecated fixers (#7288)
-* feat: PhpUnitTestCaseStaticMethodCallsFixer - cover PHPUnit v10 methods (#7604)
-* feat: Support more FQCNs cases in `fully_qualified_strict_types` (#7459)
-* fix: AbstractFixerTestCase - fix checking for correct casing (#7540)
-* fix: Better OS detection in integration tests (#7547)
-* fix: NativeTypeDeclarationCasingFixe - handle static property without type (#7589)
-* test: AutoReview - unify data provider returns (#7544)
-* test: check to have DataProviders code agnostic of PHP version (#7575)
-
-Changelog for v3.41.1
----------------------
-
-* DX: Change `@testWith` to `@dataProvider` (#7535)
-* DX: Introduce Markdownlint (#7534)
-* fix: NativeTypeDeclarationCasingFixer - do not crash on `var` keyword (#7538)
-
-Changelog for v3.41.0
----------------------
-
-* chore: Move `mb_str_functions` PHP 8.3 cases to separate test (#7505)
-* chore: Symfony v7 is now stable (#7469)
-* CI: drop PHP 8.3 hacks (#7519)
-* docs: Improve docs for `no_spaces_after_function_name` (#7520)
-* DX: Ability to run Sphinx linter locally (#7481)
-* DX: AbstractFixerTest - use anonymous classes (#7527)
-* DX: Add progress output for `cs:check` script (#7514)
-* DX: align doubles naming (#7525)
-* DX: remove AbstractFixerTestCase::getTestFile() (#7495)
-* DX: remove jangregor/phpstan-prophecy (#7524)
-* DX: remove Prophecy (#7509)
-* DX: replace Prophecy with anonymous classes in CacheTest (#7503)
-* DX: replace Prophecy with anonymous classes in ProcessLintingResultTest (#7501)
-* DX: Utilise auto-discovery for PHPStan formatter (#7490)
-* feat: Support `mb_str_pad` function in `mb_str_functions` rule (#7499)
-* fix: BinaryOperatorSpacesFixer - do not add whitespace inside short function (#7523)
-* fix: Downgrade PDepend to version not supporting Symfony 7 (#7513)
-* fix: GlobalNamespaceImportFixer - key in PHPDoc's array shape matching class name (#7522)
-* fix: SpacesInsideParenthesesFixer - handle class instantiation parentheses (#7531)
-* Update PHPstan to 1.10.48 (#7532)
-
-Changelog for v3.40.2
----------------------
-
-* docs: fix link to source classes (#7493)
-
-Changelog for v3.40.1
----------------------
-
-* chore: Delete stray file x (#7473)
-* chore: Fix editorconfig (#7478)
-* chore: Fix typos (#7474)
-* chore: Fix YAML line length (#7476)
-* chore: Indent JSON files with 4 spaces (#7480)
-* chore: Make YAML workflow git-based (#7477)
-* chore: Use stable XDebug (#7489)
-* CI: Lint docs (#7479)
-* CI: Use PHPStan's native Github error formatter (#7487)
-* DX: fix PHPStan error (#7488)
-* DX: PsrAutoloadingFixerTest - do not build mock in data provider (#7491)
-* DX: PsrAutoloadingFixerTest - merge all data providers into one (#7492)
-* DX: Update PHPStan to 1.10.46 (#7486)
-* fix: `NoSpacesAfterFunctionNameFixer` - do not remove space if the opening parenthesis part of an expression (#7430)
-
-Changelog for v3.40.0
----------------------
-
-* chore: officially support PHP 8.3 (#7466)
-* chore: update deps (#7471)
-* CI: add --no-update while dropping non-compat `facile-it/paraunit` (#7470)
-* CI: automate --ignore-platform-req=PHP (#7467)
-* CI: bump actions/github-script to v7 (#7468)
-* CI: move humbug/box out of dev-tools/composer.json (#7472)
-
-Changelog for v3.39.1
----------------------
-
-* DX: introduce SwitchAnalyzer (#7456)
-* fix: NoExtraBlankLinesFixer - do not remove blank line after `? : throw` (#7457)
-* fix: OrderedInterfacesFixer - do not comment out interface (#7464)
-* test: Improve `ExplicitIndirectVariableFixerTest` (#7451)
-
-Changelog for v3.39.0
----------------------
-
-* chore: Add support for Symfony 7 (#7453)
-* chore: IntegrationTest - move support of php< requirement to main Integration classes (#7448)
-* CI: drop Symfony ^7 incompat exceptions of php-coveralls and cli-executor (#7455)
-* CI: early compatibility checks with Symfony 7 (#7431)
-* docs: drop list.rst and code behind it (#7436)
-* docs: remove Gitter mentions (#7441)
-* DX: Ability to run Fixer on PHP8.3 for development (#7449)
-* DX: describe command - for rules, list also sets that are including them (#7419)
-* DX: Docker clean up (#7450)
-* DX: more usage of spaceship operator (#7438)
-* DX: Put `Preg`'s last error message in exception message (#7443)
-* feat: Introduce `@PHP83Migration` ruleset and PHP 8.3 integration test (#7439)
-* test: Improve `AbstractIntegrationTestCase` description (#7452)
-
-Changelog for v3.38.2
----------------------
-
-* docs: fix 'Could not lex literal_block as "php". Highlighting skipped.' (#7433)
-* docs: small unification between FixerDocumentGenerator and ListDocumentGenerator (#7435)
-* docs: unify ../ <> ./../ (#7434)
-
-Changelog for v3.38.1
----------------------
-
-* chore: ListSetsCommand::execute - add missing return type (#7432)
-* chore: PHPStan - add counter to dataProvider exception, so we do not increase the tech debt on it (#7425)
-* CI: Use `actions/checkout` v4 (#7423)
-* fix: ClassAttributesSeparationFixer - handle Disjunctive Normal Form types parentheses (#7428)
-* fix: Remove all variable names in `@var` callable signature (#7429)
-* fix: Satisfy `composer normalize` (#7424)
-
-Changelog for v3.38.0
----------------------
-
-* chore: upgrade phpstan (#7421)
-* CI: add curl and mbstring to build php (#7409)
-* CI: cache dev-tools/bin (#7416)
-* CI: Composer - move prefer-stable to file config (#7406)
-* CI: conditionally install flex (#7412)
-* CI: dev-tools/build.sh - no need to repeat 'prefer-stable', but let's use '--no-scripts' (#7408)
-* CI: Do not run post-autoload-dump on Composer install (#7403)
-* CI: general restructure (#7407)
-* CI: GitHub Actions - use actions/cache for Composer in composite action (#7415)
-* CI: Improve QA process - suplement (#7411)
-* CI: prevent Infection plugins during build time, as we do not use it (#7422)
-* CI: simplify setup-php config (#7404)
-* DX: Do not mark as stale issues/PRs with milestone assigned (#7398)
-* DX: Improve QA process (#7366)
-* feat: phpDoc to property/return/param Fixer - allow fixing mixed on PHP >= 8 (#6356)
-* feat: phpDoc to property/return/param Fixer - allow fixing union types on PHP >= 8 (#6359)
-* feat: Support for array destructuring in `array_indentation` (#7405)
-* feat: `@Symfony` - keep Annotation,NamedArgumentConstructor,Target annotations as single group (#7399)
-* fix(SelfAccessorFixer): do not touch references inside lambda and/or arrow function (#7349)
-* fix: long_to_shorthand_operator - mark as risky fixer (#7418)
-* fix: OrderedImportsFixer - handle non-grouped list of const/function imports (#7397)
-
-Changelog for v3.37.1
----------------------
-
-* docs: config file - provide better examples (#7396)
-* docs: config file - provide better link to Finder docs (#6992)
-
-Changelog for v3.37.0
----------------------
-
-* feat: add parallel cache support (#7131)
-
-Changelog for v3.36.0
----------------------
-
-* chore: disable `infection-installer` plugin, as we do not use `infection/*` yet (#7391)
-* chore: Run dev-tools on PHP 8.2 (#7389)
-* CI: Run Symfony 6 compat check on PHP 8.1 (#7383)
-* CI: use fast-linter when calculating code coverage (#7390)
-* docs: extend example for nullable_type_declaration (#7381)
-* DX: FixerFactoryTest - make assertion failing msg more descriptive (#7387)
-* feat: PhpdocSummaryFixer - support lists in description (#7385)
-* feat: PSR12 - configure unary_operator_spaces (#7388)
-* feat: StatementIndentationFixer - support comment for continuous control statement (#7384)
-
-Changelog for v3.35.1
----------------------
-
-* fix: Mark `PhpdocReadonlyClassCommentToKeywordFixer` as risky (#7372)
-
-Changelog for v3.35.0
----------------------
-
-* chore: Autoreview: test all formats are listed in `usage.rst` (#7357)
-* chore: no need for `phpunitgoodpractices/traits` anymore (#7362)
-* chore: Rename `indexes` to `indices` (#7368)
-* chore: stop using `phpunitgoodpractices/traits` (#7363)
-* chore: typo (#7367)
-* docs: Sort options in documentation (#7345)
-* feat(PhpdocReadonlyClassCommentToKeywordFixer): Introduction (#7353)
-* feat: Ability to keep/enforce leading `\` when in global namespace (#7186)
-* feat: Update `@PER-CS2.0` to match short closure space (#6970)
-* feat: use `ordered_types` in `@PhpCsFixer` (#7361)
-* fix(SingleLineThrowFixer): fixer goes out of range on close tag (#7369)
-
-Changelog for v3.34.1
----------------------
-
-* deps: revert "prevent using PHPCSFixer along with unfinalize package (#7343)" (#7348)
-
-Changelog for v3.34.0
----------------------
-
-* feat: Introduce `check` command (alias for `fix --dry-run`) (#7322)
-
-Changelog for v3.33.0
----------------------
-
-* feat: Introduce `native_type_declaration_casing` fixer (#7330)
-
-Changelog for v3.32.0
----------------------
-
-* deps: Prevent using PHPCSFixer along with `unfinalize` package (#7343)
-* feat: Deprecate `CompactNullableTypehintFixer` and proxy to `CompactNullableTypeDeclarationFixer` (#7339)
-* feat: Deprecate `CurlyBracesPositionFixer` and proxy to `BracesPositionFixer` (#7334)
-* feat: Deprecate `NewWithBracesFixer` and proxy to `NewWithParenthesesFixer` (#7331)
-* feat: Deprecate `NoUnneededCurlyBracesFixer` and proxy to `NoUnneededBracesFixer` (#7335)
-* feat: Rename `CurlyBraceTransformer` to `BraceTransformer` (#7333)
-
-Changelog for v3.31.0
----------------------
-
-* chore: Use type declaration instead of type hint (#7338)
-* feat: Introduce `attribute_placement` option for `MethodArgumentSpaceFixer` (#7320)
-* fix: Adjust wording related to deprecations (#7332)
-* fix: Correct deprecation header in rules' docs (#7337)
-* fix: Replace mention of bracket with parenthesis (#7336)
-* fix: `FunctionToConstantFixer` should run before `NativeConstantInvocationFixer` (#7344)
-
-Changelog for v3.30.0
----------------------
-
-* feat: Introduce `AttributeEmptyParenthesesFixer` (#7284)
-* fix(method_argument_space): inject new line after trailing space on current line (#7327)
-* fix(`YodaStyleFixer`): do not touch `require(_once)`, `include(_once)` and `yield from` statements (#7325)
-* fix: illegal offset type on file-wide return in `ReturnToYieldFromFixer` (#7318)
-
-Changelog for v3.29.0
----------------------
-
-* chore: fix TODO tasks about T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG support (#7316)
-* feat(`@PhpCsFixer:risky`): use newest `@PER-CS:risky` instead of locked `@PER-CS2.0:risky` (#7323)
-* feat: Introduce `@PER-CS` ruleset (#7321)
-* fix: priority issue between array_syntax and space after rules (#7324)
-
-Changelog for v3.28.0
----------------------
-
-* chore(prlint): allow for 'deps' type (#7304)
-* CI(prlint): allow for special chars in parentheses (#7308)
-* deps(dev-tools): update dev-tools (#7309)
-* DX: Bump XDebug version in Docker services (#7300)
-* feat(`@PER-CS2.0`): Add `concat_space` to the ruleset (#7302)
-
-Changelog for v3.27.0
----------------------
-
-* docs: cleanup old mention of `--show-progress=estimating` in docs (#7287)
-* DX: add Composer script for applying CS fixes in parallel (#7274)
-* feat: Clone PER-CS1.0 to PER-CS2.0 to prepare for adding new rules (#7249)
-* feat: Introduce `LongToShorthandOperatorFixer` (#7295)
-* feat: Mark PER-CS v1 as deprecated (#7283)
-* feat: Move `single_line_empty_body` to `@PER-CS2.0` (#7282)
-* fix: Priorities for fixers related to curly braces, empty lines and trailing whitespace (#7296)
-* fix: `OrderedTraitsFixer` - better support for multiple traits in one `use` statement (#7289)
-
-Changelog for v3.26.1
----------------------
-
-* fix: Handle superfluous asterisk in `no_superfluous_phpdoc_tags` (#7279)
-
-Changelog for v3.26.0
----------------------
-
-* chore(checkbashisms): update to 2.23.6 (#7276)
-* chore(phpstan): reduce baseline (#7275)
-* feat: Add `single_line_empty_body` to `@PhpCsFixer` (#7266)
-* fix(YieldFromArrayToYieldsFixer): mark as Risky (#7272)
-* fix(YieldFromArrayToYieldsFixer): skip touching empty array (#7273)
-* test: Introduce common way of creating fake Composer project in `InstallViaComposerTest` (#7265)
-
-Changelog for v3.25.1
----------------------
-
-* fix: PhpdocTypesFixer - do not crash for type followed by braces/brackets/chevrons/parentheses (#7268)
-
-Changelog for v3.25.0
----------------------
-
-* feat: Remove Doctrine dependencies (#7263)
-
-Changelog for v3.24.0
----------------------
-
-* chore: apply CS (#7240)
-* chore: apply static_lambda rule (#7239)
-* chore: Improve template for creating new issue (#7255)
-* CI: Conventional Commits support in PRLint config (#7037)
-* CI: Remove Travis leftovers (#7259)
-* docs: Add information about installing Fixer as dev dependency (#7129)
-* docs: document composer script aliases (#7230)
-* DX: Add script for running Composer Require Checker (#7252)
-* DX: composer script aliases - ensure templated description (#7235)
-* DX: composer-script - count PHPMD as static-analysis (#7231)
-* DX: do not allow version specific code sample with minimum PHP version lower than the lowest supported one (#7207)
-* DX: ensure version specific code samples are suitable for at least 1 supported PHP version (#7212)
-* DX: Improve contributing guide (#7241)
-* DX: More descriptive stale messages (#7236)
-* feat(@PhpCsFixer:risky): add static_lambda rule (#7237)
-* feat: Add literal separator support for `integer_literal_case` (#7081)
-* feat: Configurable case sensitivity for more ordering fixers (#7021)
-* feat: Support for attributes in `method_argument_space` (#7242)
-* fix: import detection for attributes at `NoUnusedImportsFixer` (#7246)
-* fix: `no_superfluous_phpdoc_tags` with `null` phpdoc (#7234)
-* fix: `phpdoc_types` must not lowercase literal types (#7108)
-* test: Add static methods from PHPUnit 9.6.11 (#7243)
-
-Changelog for v3.23.0
----------------------
-
-* bug: BlankLineBeforeStatementFixer - do not enforce/add a blank line when there is a blank line between the comment and the statement already (#7190)
-* bug: Fix detecting classy invocation in catch (#7191)
-* bug: Fix names resolving in `no_superfluous_phpdoc_tags` fixer (#7189)
-* bug: Fix various bugs in `FullyQualifiedStrictTypesFixer` fixer (#7188)
-* bug: Fixed line between general script documentation and require (#7177)
-* bug: Support annotations with arguments in `FinalInternalClassFixer` (#7160)
-* bug: YieldFromArrayToYieldsFixer - fix for `yield from` after `}` (#7169)
-* bug: YieldFromArrayToYieldsFixer - fix handling the comment before the first array element (#7193)
-* bug: `HeaderCommentFixer` must run before `BlankLinesBeforeNamespaceFixer` (#7205)
-* bug: `NoUselessReturnFixer` must run before `SingleLineEmptyBodyFixer` (#7226)
-* bug: `PhpdocInlineTagNormalizerFixer` - do not break tags (#7227)
-* docs: Add allowed values of tags in the `phpdoc_align` (#7120)
-* docs: Add extra information for GitLab reporter's integration with GitLab Code Quality (#7172)
-* docs: Change the single backticks to double in description of the rules option (#7173)
-* docs: Condensed output for rule sets' list that fixer is included in (#7182)
-* docs: Improve contributing guide (#7204)
-* docs: `MethodArgumentSpaceFixer` - mention PSR in Fixer definition (#7157)
-* DX: add first auto-review tests for composer.json file (#7210)
-* DX: add `YieldFromArrayToYieldsFixer` to `PhpCsFixer` set (#7115)
-* DX: Allow OS conditions for integration tests (#7161)
-* DX: Apply current CS rules (#7178)
-* DX: Apply suggestions from PR 7210 (#7213)
-* DX: apply `ReturnToYieldFromFixer` (#7181)
-* DX: Do not mark "long term ideas" as stale (#7206)
-* DX: enable `HeredocIndentationFixer` for the codebase (#7195)
-* DX: enable `UseArrowFunctionsFixer` for the codebase (#7194)
-* DX: few phpstan fixes (#7208)
-* DX: fix contravariant types in PHPDocs (#7167)
-* DX: Fix detecting trailing spaces (#7216)
-* DX: Fix some PHPStan issues (#7180)
-* DX: Get rid of deprecation warnings in Mess Detector (#7215)
-* DX: Improve Composer scripts (#7214)
-* DX: Improve Mess Detector Integration (#7224)
-* DX: Introduce Composer scripts as common DX (#6839)
-* DX: refactor `ErrorOutputTest` (#7183)
-* DX: remove unnecessary arrays from data providers (#7170)
-* DX: update `CurlyBracesPositionFixer` code samples (#7198)
-* DX: update `HeredocIndentationFixer` code samples (#7197)
-* DX: update `PhpdocToReturnTypeFixer` code samples (#7199)
-* feature: add at least one space around binary operators (#7175)
-* feature: BlankLineBeforeStatementFixer - take into account comment before statement (#7166)
-* feature: Introduce `ReturnToYieldFromFixer` (#7168)
-* feature: Introduce `SpacesInsideParenthesesFixer` (#5709)
-* feature: Support array destructuring in `trim_array_spaces` (#7218)
-* feature: `BlankLineBeforeStatementFixer` - skip enum cases (#7203)
-* minor: more arrow function usage (#7223)
-* minor: PhpdocAlignFixerTest - convert CUSTOM tags test to not rely on non-custom tag from TAGS_WITH_NAME (#7209)
-* minor: use JSON_THROW_ON_ERROR for trivial cases (#7221)
-* minor: use more spread operator (#7222)
-
-Changelog for v3.22.0
----------------------
-
-* DX: add proper test for `SelfAccessorFixer` must run before `SelfAccessorFixer` (#7153)
-* DX: FixerFactoryTest - apply CS (#7154)
-* feature: Introduce `PhpUnitDataProviderReturnTypeFixer` (#7156)
-* feature: Introduce `YieldFromArrayToYieldsFixer` (#7114)
-
-Changelog for v3.21.3
----------------------
-
-* Revert "DX: encourage to provide wider description" (#7155)
-
-Changelog for v3.21.2
----------------------
-
-* docs: check format of FixerDefinition::getDescription() (#7127)
-* DX: add phpstan/phpstan-strict-rules (#7143)
-* DX: allow for progressive cache (#7132)
-* DX: Copy-pasteable `class::getPriority` for phpDoc diffs (#7148)
-* DX: do not allow linebreak at the beginning of code sample (#7126)
-* DX: encourage to provide wider description (#7128)
-* DX: fix function calls (#7136)
-* DX: fix PHPDoc types issues (#7135)
-* DX: improve `Tokens` checking for found tokens (#7139)
-* DX: Make `AbstractFixerTestCase::getTestFile()` final (#7116)
-* DX: make `array_search` call strict (#7145)
-* DX: remove `empty` calls (#7138)
-* DX: store cache to file only if content will get modified (#7151)
-* DX: unify Preg:match in logical conditions (#7146)
-* DX: use booleans in conditions (#7149)
-* DX: Use ParaUnit to speed up tests (#6883)
-* DX: Use relative fixture path as integration test case's name (#7147)
-* DX: use strict assertions (#7144)
-* DX: `AbstractIntegrationTestCase::provideIntegrationCases` - yield over array, better typehinting (#7150)
-
-Changelog for v3.21.1
----------------------
-
-experimental release
-
-* Require PHP ^8.0.1
-
-Changelog for v3.21.0
----------------------
-
-* bug: Fix and enhance Gitlab reporter (#7089)
-* bug: Import with different case must not be removed by non-risky fixer (#7095)
-* bug: ordered imports fixer top group only (#7023)
-* bug: `FinalPublicMethodForAbstractClassFixer` - fix for readonly classes (#7123)
-* DX: do not nest ".editorconfig" files (#7112)
-* DX: exclude Dockerfile from dist (#7113)
-* DX: fix checkbashisms installation (#7102)
-* DX: fix Smoke tests for various git default branch name (#7119)
-* DX: Fix `FileRemovalTest` (do not fail when running it standalone) (#7104)
-* DX: Progress output refactor (#6848)
-* DX: Rename abstract test classes to `*TestCase` convention (#7100)
-* DX: test all PHPUnit migration sets (#7107)
-* DX: [Docker] Distinguish Alpine version between PHP versions (#7105)
-* feature: Create cache path if it does not exist (#7109)
-* feature: Introduce `NullableTypeDeclarationFixer` (#7002)
-* feature: Introduce `TypeDeclarationSpacesFixer` (#7001)
-* feature: `BlankLineBetweenImportGroupsFixer` - keep indent (#7122)
-* minor: Parse callable using full phpdoc grammar (#7094)
-* minor: PHP8.3 const type tokenizing (#7055)
-
-Changelog for v3.20.0
----------------------
-
-* DX: fix priority of `FinalClassFixer` (#7091)
-* DX: use FAST_LINT_TEST_CASES=1 for CI run on macOS (#7092)
-* feature: SingleLineEmptyBodyFixer - support interfaces, traits and enums (#7096)
-* feature: `NullableTypeDeclarationForDefaultNullValue` - support for nullability in union types (#5819)
-
-Changelog for v3.19.2
----------------------
-
-* bug: NoMultipleStatementsPerLineFixer must run before CurlyBracesPositionFixer (#7087)
-* bug: PhpdocAddMissingParamAnnotationFixer - fix for promoted properties (#7090)
-* DX: fix priority of SingleBlankLineBeforeNamespaceFixer (#7088)
-* minor: Parse all phpdoc types using full grammar (#7010)
-
-Changelog for v3.19.1
----------------------
-
-* bug: CurlyBracesPositionFixer must run before StatementIndentationFixer (#7085)
-
-Changelog for v3.19.0
----------------------
-
-* bug: SelfAccessorFixer - fix for union types (#7080)
-* DX: add `php_unit_data_provider_name` to `@PhpCsFixer:risky` set (#7069)
-* DX: make data providers return type "iterable" (#7072)
-* DX: rename tests and data providers (#7070)
-* feature: Introduce `PhpUnitDataProviderNameFixer` (#7057)
-
-Changelog for v3.18.0
----------------------
-
-* bug: Fix tokenizing of type hints (#7054)
-* bug: CompactNullableTypehintFixer - fix for whitespace between `?` and `static` (#6993)
-* bug: consider function modifiers for `statement_indentation` (#6978)
-* bug: Exclude `$this` from `TernaryToNullCoalescingFixer` (#7052)
-* bug: False positive on used imports when docblock includes it with mismatching case (#6909)
-* bug: Fix chained calls semicolon indent in switch case (#7045)
-* bug: Fix multiline_whitespace_before_semicolons for echo tags (#7019)
-* bug: Fix phpDoc align when there is inconsistent spacing after comment star (#7012)
-* bug: Fix phpDoc parsing without PCRE JIT (#7031)
-* bug: Fix PhpdocVarWithoutNameFixer with Closure with $this (#6979)
-* bug: Fix `return_assignment` not formatting when variables are used in `catch` and `finally` (#6960)
-* bug: Fix `TypeExpression::allowsNull()` with nullable (#7000)
-* bug: Improve definition of conflicting fixers (#7066)
-* bug: LambdaNotUsedImportFixer - fix for anonymous class with a string argument (#6972)
-* bug: ListFilesCommand - fix computing of relative path (#7028)
-* bug: make `php_unit_namespaced` less greedy (#6952)
-* bug: PhpdocToCommentFixer - fix for PHPDoc before fn (#6973)
-* bug: Restructure PER-CS rule sets (#6707)
-* bug: SelfStaticAccessor - fix static access inside enums (#7024)
-* bug: SingleSpaceAroundConstructFixer - fix more cases involving `static` (#6995)
-* bug: `FullyQualifiedStrictTypesFixer` - fix shortening when namespace is not empty and import exists (#7027)
-* bug: `NoUnneededControlParenthesesFixer` PHP8.0 null-safe operator (#7056)
-* bug: `PhpdocToCommentFixer` support for enum cases (#7040)
-* DX: add more tests to CommentsAnalyzer (#7041)
-* DX: Cleanup duplicate files in finder (#7042)
-* DX: ControlCaseStructuresAnalyzerTest - cleanup (#6874)
-* DX: Fix warning when running test on PHP<8 (#7008)
-* DX: handle `@` in PR title (#6982)
-* DX: officially deprecate internal Utils anti-pattern class (#7039)
-* DX: Remove Fabbot.io conditional configuration (#7038)
-* DX: rename data providers (#7058)
-* DX: Use `actions/stale` to handle stale issues and pull requests (#5085)
-* DX: Use `Utils::naturalLanguageJoin()` in implode calls (#7032)
-* feature: Add support for custom method placement in `ordered_class_elements` (#6360)
-* feature: Allow case sensitive order for OrderedClassElementsFixer (#7020)
-* feature: PHP8.3 - Add CT and block type for `Dynamic class constant fetch` (#7004)
-* feature: Support attributes in `FinalClassFixer` (#6893)
-* minor: "Callback" must not be fixed to "callback" by default (#7011)
-* minor: Add `Util::naturalLanguageJoin()` (#7022)
-* minor: ClassDefinitionFixer - handle attributes and `readonly` in anonymous class definitions (#7014)
-* minor: FixerFactory::getFixersConflicts - better type hinting (#7044)
-* minor: PHP8.3 - Fix TokensAnalyzer::isAnonymousClass support for `readonly` (#7013)
-* minor: PHP8.3 - Typed class constants - handle nullable by transformer (#7009)
-* minor: Reduce phpDoc type parser complexity from O(n^2) to O(nlog(n)) (#6988)
-* minor: ReturnAssignmentFixer - Better handling of anonymous classes (#7015)
-* minor: Transfer `HelpCommand::toString()` to `Utils` (#7034)
-* minor: Unify "blank lines before namespace" fixers (#7053)
-* minor: `SelfStaticAccessorFixer` improvements for enums (#7026)
-* minor: `SingleSpaceAroundConstructFixer` - support space before `as` (#7029)
-* minor: `UseArrowFunctionsFixer` - run before `FunctionDeclarationFixer` (#7065)
-
-Changelog for v3.17.0
----------------------
-
-* bug: Allow string quote to be escaped within phpdoc constant (#6798)
-* bug: ConfigurationResolver - fix running without cache (#6915)
-* bug: Fix array/object shape phpdoc type parse (#6962)
-* bug: Fix FullyQualifiedStrictTypesFixer common prefix bug (#6898)
-* bug: Fix non-parenthesized callable return type parse (#6961)
-* bug: Fix parsing of edge cases phpdoc types (#6977)
-* bug: FullyQualifiedStrictTypesFixer - fix for FQCN type with class with the same name being imported (#6923)
-* bug: GroupImportFixer - support for aliased imports (#6951)
-* bug: MultilineWhitespaceBeforeSemicolonsFixer - fix chained calls (#6926)
-* bug: MultilineWhitespaceBeforeSemicolonsFixer - fix for discovering multi line calls (#6938)
-* bug: NoBreakCommentFixer - fix for nested match (#6899)
-* bug: NoExtraBlankLinesFixer - fix for attribute in abstract function (#6920)
-* bug: PhpdocTypesFixer - handle types with no space between type and variable (#6922)
-* bug: PhpUnitMockShortWillReturnFixer - fix for trailing commas (#6900)
-* bug: StatementIndentationFixer - fix comments at the end of if/elseif/else blocks (#6918)
-* bug: StatementIndentationFixer - fix for multiline arguments starting with "new" keyword (#6913)
-* bug: StatementIndentationFixer - fix for multiline arguments starting with "new" keyword preceded by class instantiation (#6914)
-* bug: VoidReturnFixer - fix for intervening attributes (#6863)
-* docs: improve code samples for MultilineWhitespaceBeforeSemicolonsFixer (#6919)
-* docs: improve cookbook (#6880)
-* DX: add cache related tests (#6916)
-* DX: Apply `self_static_accessor` fixer to the project (again) (#6927)
-* DX: cancel running builds on subsequent pushes in CI (#6940)
-* DX: convert more `static` to `self` assert calls (#6931)
-* DX: fix GitHub Actions errors and warnings (#6917)
-* DX: fix Unsafe call to private method errors reported by PHPStan (#6879)
-* DX: Improve performance of FunctionsAnalyzer (#6939)
-* DX: improve test method names to avoid confusion (#6974)
-* DX: Include self_static_accessor fixer in PhpCsFixer set (#6882)
-* DX: make data providers static with straight-forward changes (#6907)
-* DX: Mark Tokens::getNamespaceDeclarations as @internal (#6949)
-* DX: PHPStan improvements (#6868)
-* DX: refactor PhpdocAlignFixerTest (#6925)
-* DX: Remove @inheritdoc PHPDoc (#6955)
-* DX: Run AutoReview tests only once (#6889)
-* DX: simplify EncodingFixer (#6956)
-* DX: update Symfony rule set (#6958)
-* DX: Use $tokens->getNamespaceDeclarations() to improve performance (#6942)
-* DX: use force option for php_unit_data_provider_static in PHPUnit 10.0 migration set (#6908)
-* DX: use only PHP modules that are required (#6954)
-* DX: use PHPUnit's "requires" instead of "if" condition (#6975)
-* feature: Add align_multiline_comment rule to @Symfony (#6875)
-* feature: Add no_null_property_initialization rule to @Symfony (#6876)
-* feature: Add operator_linebreak rule to @Symfony (#6877)
-* feature: add SingleLineEmptyBodyFixer (#6933)
-* feature: DescribeCommand - allow describing custom fixers (#6957)
-* feature: Introduce `OrderedTypesFixer` (#6571)
-* feature: Order of PHPDoc @param annotations (#3909)
-* feature: Parse parenthesized & conditional phpdoc type (#6796)
-* feature: PhpUnitInternalClassFixer - add empty line before PHPDoc (#6924)
-* feature: [PhpdocAlignFixer] Add support for every tag (#6564)
-* minor: align NoSuperfluousPhpdocTagsFixer with actual Symfony configuration (#6953)
-* minor: do not add empty line in PHPDoc when adding annotation in PHPUnit class (#6928)
-* minor: PhpdocAlignFixer - support cases with type and variable separated with no space (#6921)
-* minor: PhpdocSeparationFixer - add integration tests (#6929)
-* minor: update PHPStan (to fix CI on master branch) (#6901)
-* minor: Use single Dockerfile with multiple build targets (#6840)
-
-Changelog for v3.16.0
----------------------
-
-* bug: ControlStructureBracesFixer - handle closing tag (#6873)
-* bug: CurlyBracesPositionFixer - fix for callable return type (#6855)
-* bug: CurlyBracesPositionFixer - fix for DNF types (#6859)
-* bug: Fix MultilineWhitespaceBeforeSemicolonsFixer (#5126)
-* docs: Fix rule description (#6844)
-* DX: fix checkbashisms installation (#6843)
-* DX: make data providers static for fixer's tests (#6860)
-* DX: refactor PHPUnit fixers adding class-level annotation to use shared code (#6756)
-* DX: unify option's descriptions (#6856)
-* feature: AbstractPhpUnitFixer - support attribute detection in docblock insertion (#6858)
-* feature: add "force" option to PhpUnitDataProviderStaticFixer (#6757)
-* feature: introduce single_space_around_construct, deprecate single_space_after_construct (#6857)
-* feature: PhpUnitTestClassRequiresCoversFixer - support single-line PHPDocs (#6847)
-* minor: Deprecate BracesFixer (#4885)
-* minor: Fix autocompletion for `Tokens::offsetGet()` (#6838)
-* minor: PHP8.2 Docker runtime (#6833)
-* minor: Use Composer binary-only images instead of installer script (#6834)
-
-Changelog for v3.15.1
----------------------
-
-* bug: BinaryOperatorSpacesFixer - fix for static in type (#6835)
-* bug: BinaryOperatorSpacesFixer - fix parameters with union types passed by reference (#6826)
-* bug: NoUnusedImportsFixer - fix for splat operator (#6836)
-* DX: fix CI (#6837)
-* feature: Support for type casing in arrow functions (#6831)
-* minor: fix CI on PHP 8.3 (#6827)
-
-Changelog for v3.15.0
----------------------
-
-* bug: VisibilityRequiredFixer - handle DNF types (#6806)
-* DX: officially enable 8.2 support (#6825)
-
-Changelog for v3.14.5
----------------------
-
-* bug: EmptyLoopBodyFixer must keep comments inside (#6800)
-* bug: FunctionsAnalyzer - fix detecting global function (#6792)
-* bug: NativeFunctionTypeDeclarationCasingFixer - do not require T_STRING present in code (#6812)
-* bug: PhpdocTypesFixer - do not change case of array keys (#6810)
-* bug: PhpUnitTestAnnotationFixer - do not break single line @depends (#6824)
-* docs: Add supported PHP versions section to the README (#6768)
-* docs: drop Atom from readme, due to it's sunsetting (#6778)
-* DX: Add composer keywords (#6781)
-* DX: update PHPStan to 1.10.3 (#6805)
-* feature: [PHP8.2] Support for readonly classes (#6745)
-* minor: add custom tokens for Disjunctive Normal Form types parentheses (#6823)
-* minor: PHP8.2 - handle union and intersection types for DNF types (#6804)
-* minor: PHP8.2 - support property in const expressions (#6803)
-
-Changelog for v3.14.4
----------------------
-
-* bug: CurlyBracesPositionFixer - fix for open brace not preceded by space and followed by a comment (#6776)
-* docs: drop license end year (#6767)
-* DX: use numeric_literal_separator (#6766)
-* feature: Allow installation of `sebastian/diff:^5.0.0` (#6771)
-
-Changelog for v3.14.3
----------------------
-
-* DX: Drop doctrine/annotations 1, allow doctrine/lexer 3 (#6730)
-
-Changelog for v3.14.2
----------------------
-
-* DX: Drop support for doctrine/lexer 1 (#6729)
-
-Changelog for v3.14.1
----------------------
-
-* DX: Allow doctrine/annotations 2 (#6721)
-
-Changelog for v3.14.0
----------------------
-
-* bug: Fix indentation for comment at end of function followed by a comma (#6542)
-* bug: Fix PHPDoc alignment fixer containing callbacks using `\Closure` (#6746)
-* bug: Fix type error when using paths intersection mode (#6734)
-* bug: PhpdocSeparationFixer - Make groups handling more flexible (#6668)
-* docs: make bug_report.md template more explicit (#6736)
-* docs: PhpUnitTestCaseIndicator - fix docs (#6727)
-* DX: apply CS (#6759)
-* DX: bump doctrine/annotations to prevent installing version with unintentional BC break (#6739)
-* DX: update deps (#6760)
-* DX: upgrade dev-tools/composer.json (#6737)
-* DX: upgrade PHPStan to 1.9.7 (#6741)
-* feature: Add php 7.4 types to Cookbook docs (#6763)
-* feature: add PhpUnitDataProviderStaticFixer (#6702)
-* feature: binary_operator_spaces - Revert change about => alignment and use option instead (#6724)
-* feature: make OrderedInterfacesFixer non-risky (#6722)
-* feature: OctalNotationFixer - support _ notation (#6762)
-* fix: enum case "PARENT" must not be renamed (#6732)
-* minor: Follow PSR12 ordered imports in Symfony ruleset (#6712)
-* minor: improve rule sets order (#6738)
-
-Changelog for v3.13.2
----------------------
-
-* bug: Fix type error when using paths intersection mode (#6734)
-
-Changelog for v3.13.1
----------------------
-
-* bug: Align all the arrows inside the same array (#6590)
-* bug: Fix priority between `modernize_types_casting` and `no_unneeded_control_parentheses` (#6687)
-* bug: TrailingCommaInMultilineFixer - do not add trailing comma when there is no break line after last element (#6677)
-* docs: Fix docs for disabled rules in rulesets (#6679)
-* docs: fix the cookbook_fixers.rst (#6672)
-* docs: Update installation recommended commands for `mkdir` argument (`-p` insteadof `--parents`). (#6689)
-* Make static data providers that are not using dynamic calls (#6696)
-* minor: displaying number of checked files (#6674)
-
-Changelog for v3.13.0
----------------------
-
-* bug: BracesFixer - Fix unexpected extra blank line (#6667)
-* bug: fix CI on master branch (#6663)
-* bug: IsNullFixer - handle casting (#6661)
-* docs: feature or bug (#6652)
-* docs: Use case insensitive sorting for options (#6666)
-* docs: [DateTimeCreateFromFormatCallFixer] Fix typos in the code sample (#6671)
-* DX: update cli-executor (#6664)
-* DX: update dev-tools (#6665)
-* feature: Add global_namespace_import to @Symfony ruleset (#6662)
-* feature: Add separate option for closure_fn_spacing (#6658)
-* feature: general_phpdoc_annotation_remove - allow add case_sensitive option (#6660)
-* minor: AllowedValueSubset - possible values are sorted (#6651)
-* minor: Use md5 for file hashing to reduce possible collisions (#6597)
-
-Changelog for v3.12.0
----------------------
-
-* bug: SingleLineThrowFixer - Handle throw expression inside block (#6653)
-* DX: create TODO to change default ruleset for v4 (#6601)
-* DX: Fix SCA findings (#6626)
-* DX: HelpCommand - fix docblock (#6584)
-* DX: Narrow some docblock types (#6581)
-* DX: Remove redundant check for PHP <5.2.7 (#6620)
-* DX: Restore PHPDoc to type rules workflow step (#6615)
-* DX: SCA - scope down types (#6630)
-* DX: Specify value type in iterables in tests (#6594)
-* DX: Test on PHP 8.2 (#6558)
-* DX: Update GitHub Actions (#6606)
-* DX: Update PHPStan (#6616)
-* feature: Add `@PHP82Migration` ruleset (#6621)
-* feature: ArrayPushFixer now fix short arrays (#6639)
-* feature: NoSuperfluousPhpdocTagsFixer - support untyped and empty annotations in phpdoc (#5792)
-* feature: NoUselessConcatOperatorFixer - Introduction (#6447)
-* feature: Support for constants in traits (#6607)
-* feature: [PHP8.2] Support for new standalone types (`null`, `true`, `false`) (#6623)
-* minor: GitHub Workflows security hardening (#6644)
-* minor: prevent BC break in ErrorOutput (#6633)
-* minor: prevent BC break in Runner (#6634)
-* minor: Revert "minor: prevent BC break in Runner" (#6637)
-* minor: Update dev tools (#6554)
-
-Changelog for v3.11.0
----------------------
-
-* bug: DateTimeCreateFromFormatCallFixer - Mark as risky (#6575)
-* bug: Do not treat implements list comma as array comma (#6595)
-* bug: Fix MethodChainingIndentationFixer with arrow functions and class instantiation (#5587)
-* bug: MethodChainingIndentationFixer - Fix bug with attribute access (#6573)
-* bug: NoMultilineWhitespaceAroundDoubleArrowFixer - fix for single line comment (#6589)
-* bug: TypeAlternationTransformer - TypeIntersectionTransformer - Bug: handle attributes (#6579)
-* bug: [BinaryOperatorFixer] Fix more issues with scoped operators (#6559)
-* docs: Remove `$` from console command snippets (#6600)
-* docs: Remove `$` from console command snippets in documentation (#6599)
-* DX: AllowedValueSubset::getAllowedValues - fix method prototype (#6585)
-* DX: Narrow docblock types in FixerConfiguration (#6580)
-* DX: updagte @PhpCsFixer set config for phpdoc_order rule (#6555)
-* DX: Update PHPUnit config (#6566)
-* feature: Introduce configurability to PhpdocSeparationFixer (#6501)
-* feature: Introduce PER set (#6545)
-* feature: NoTrailingCommaInSinglelineFixer - Introduction (#6529)
-* feature: Support removing superfluous PHPDocs involving `self` (#6583)
-* minor: NoUnneededControlParenthesesFixer - Support instanceof static cases (#6587)
-* minor: PhpdocToCommentFixer - allow phpdoc comments before trait use statement. Fixes #6092 (#6565)
-
-Changelog for v3.10.0
----------------------
-
-* bug: Fix error in `regular_callable_call` with static property (#6539)
-* bug: Fix indentation for multiline class definition (#6540)
-* bug: Fix indentation for switch ending with empty case (#6538)
-* bug: Fix indentation of comment at end of switch case (#6493)
-* bug: PhpdocAlignFixer - fix static `@method` (#6366)
-* bug: SingleSpaceAfterConstructFixer - fix handling open tag (#6549)
-* bug: VisibilityRequiredFixer must run before ClassAttributesSeparationFixer (#6548)
-* DX: Assert dataproviders of tests of project itself return "array" or "iterable". (#6524)
-* feature: Introduce configurability to PhpdocOrderFixer (#6466)
-* feature: WhitespaceAfterCommaInArrayFixer - add option "ensure_single_space" (#6527)
-* minor: Add test for indentation of trait conflict resolution (#6541)
-* minor: Split BracesFixer (#4884)
-* minor: TrailingCommaInMultilineFixer - Add comma to multiline `new static` (#6380)
-
-Changelog for v3.9.6
---------------------
-
-* bug: BinaryOperatorSpacesFixer: Solve issues with scoped arrow and equal alignments (#6515)
-* bug: Fix 3 weird behavior about BinaryOperatorSpacesFixer (#6450)
-* docs: Add intersection type to types_spaces rule description (#6479)
-* DX: no need to use forked diff anymore (#6526)
-* DX: remove unused FixerFileProcessedEvent::STATUS_UNKNOWN (#6516)
-* Improve `statement_indentation` compatibility with `braces` (#6401)
-* minor: add test: multi-line comments before else indented correctly. (#3573)
-* minor: ReturnAssignmentFixer - Support for anonymous classes, lambda and match (#6391)
-
-Changelog for v3.9.5
---------------------
-
-* bug: AlternativeSyntaxAnalyzer - fix for nested else (#6495)
-* bug: Fix cases related to binary strings (#6432)
-* bug: Fix trailing whitespace after moving brace (#6489)
-* bug: NoUnneededControlParenthesesFixer - Fix some curly close cases (#6502)
-* bug: TypeColonTransformer - fix for backed enum types (#6494)
-* DX: Add tests for type colon in backed enums (#6497)
-* DX: Fix CI static analysis workflow (#6506)
-* DX: Fix PHPStan errors (#6504)
-* DX: Increase PHPStan level to 6 (#6468)
-* DX: Narrow docblock types in Runner and Report (#6465)
-* DX: Narrow docblock types in Tokenizer (#6293)
-* minor: extract NoMultipleStatementsPerLineFixer from BracesFixer (#6458)
-* minor: Let PhpdocLineSpan fixer detect docblocks when separator from token with attribute (#6343)
-
-Changelog for v3.9.4
---------------------
-
-* bug: Fix various indentation issues (#6480)
-* bug: Fix wrong brace position after static return type (#6485)
-* bug: Prevent breaking functions returning by reference (#6487)
-
-Changelog for v3.9.3
---------------------
-
-* bug: Fix BinaryOperatorSpacesFixer adding whitespace outside PHP blocks (#6476)
-* bug: Fix brace location after multiline function signature (#6475)
-
-Changelog for v3.9.2
---------------------
-
-* bug: Fix indentation after control structure in switch (#6473)
-
-Changelog for v3.9.1
---------------------
-
-* bug: Add attributes support to `statement_indentation` (#6429)
-* bug: BinaryOperatorSpacesFixer - Allow to align `=` inside array definitions (#6444)
-* bug: BinaryOperatorSpacesFixer - Fix align of operator with function declaration (#6445)
-* bug: ConstantCaseFixer - Do not touch enum case (#6367)
-* bug: CurlyBracesPositionFixer - multiple elseifs (#6459)
-* bug: Fix #6439 issue in `StaticLambda` fixer (#6440)
-* bug: FullOpeningTagFixer - fix substr check for pre PHP8 (#6388)
-* bug: IncrementStyleFixer - NoSpacesInsideParenthesisFixer - prio (#6416)
-* bug: LambdaNotUsedImportFixer must run before MethodArgumentSpaceFixer (#6453)
-* bug: MethodArgumentSpaceFixer - first element in same line, space before comma and inconsistent indent (#6438)
-* bug: NoSuperfluousPhpdocTagsFixer - fix for promoted properties (#6403)
-* bug: StatementIndentationFixer - Fix indentation for multiline traits use (#6402)
-* bug: StrictComparisonFixer must rune before ModernizeStrposFixer (#6455)
-* bug: TokensAnalyzer - fix intersection types considered as binary operator (#6414)
-* DX: `ISSUE_TEMPLATE` hints to check applied rules (#6398)
-* DX: Add more type hints (#6383)
-* DX: Fix CI/CD issues (#6411)
-* DX: cleanup test (#6410)
-* DX: integrate PRLint (#6406)
-* feature: BlankLineBetweenImportGroupsFixer - Introduction (#6365)
-* feature: DateTimeCreateFromFormatCallFixer - Add DateTimeImmutable support (#6350)
-* feature: Extract StatementIndentationFixer from BracesFixer (#5960)
-* feature: ModernizeStrposFixer - fix leading backslash with yoda (#6377)
-* feature: NoExtraBlankLinesFixer - Add `attributes` option - Fix support for `enum` `case` (#6426)
-* feature: NoUnneededControlParenthesesFixer - Fix more cases (#6409)
-* feature: NoUselessNullsafeOperatorFixer - Introduction (#6425)
-* feature: OrderedTrait - Move Phpdoc with trait import (#6361)
-* feature: PhpdocOrderByValueFixer - Allow sorting of mixin annotations by value (#6446)
-* feature: TrailingCommaInMultiline - Add `match` support (#6381)
-* minor: Allow Composer Normalize plugin (#6454)
-* minor: ExplicitStringVariableFixer - Fix to PHP8.2 compat code (#6424)
-* minor: Extract ControlStructureBracesFixer from BracesFixer (#6399)
-* minor: NoBinaryStringFixer - Fix more cases (#6442)
-* minor: NoSuperfluousPhpdocTagsFixer - Attribute handling (#6382)
-* minor: PhpCsFixerSet - Update blank_line_before_statement config (#6389)
-* minor: Remove unnecessary PHP version constraints (#6461)
-* minor: SingleImportPerStatementFixer - fix PSR12 set (#6415)
-* minor: SingleSpaceAfterConstructFixer - add option `type_colon` (#6434)
-* minor: SymfonySet - Add SimpleToComplexStringVariableFixer (#6423)
-* minor: Update PHPStan (#6467)
-* minor: extract CurlyBracesPositionFixer from BracesFixer (#6452)
-
-Changelog for v3.8.0
---------------------
-
-* bug #6322 PhpdocTypesFixer - fix recognizing callable (kubawerlos)
-* bug #6331 ClassReferenceNameCasingFixer - Fix false hits (SpacePossum)
-* bug #6333 BinaryOperatorSpacesFixer - Fix for alignment in `elseif` (paulbalandan, SpacePossum)
-* bug #6337 PhpdocTypesFixer - fix recognising callable without return type (kubawerlos)
-* feature #6286 DateTimeCreateFromFormatCallFixer - Introduction (liquid207)
-* feature #6312 TypesSpacesFixer - add option for CS of catching multiple types of exceptions (SpacePossum)
-* minor #6326 Bump migration sets used to PHP7.4 (SpacePossum)
-* minor #6328 DX: .gitignore ASC file (keradus)
-
-Changelog for v3.7.0
---------------------
-
-* bug #6112 [BinaryOperatorSpacesFixer] Fix align of `=` inside calls of methods (VincentLanglet)
-* bug #6279 ClassReferenceNameCasingFixer - Fix for double arrow (SpacePossum)
-* bug #6280 Fix bunch of enum issues (SpacePossum)
-* bug #6283 ClassReferenceNameCasingFixer - detect imports (SpacePossum)
-* feature #5892 NewWithBracesFixer - option to remove braces (jrmajor)
-* feature #6081 Allow multiline constructor arguments in an anonymous classes (jrmajor, SpacePossum)
-* feature #6274 SingleLineCommentSpacingFixer - Introduction (SpacePossum)
-* feature #6300 OrderedClassElementsFixer - handle enums (gharlan)
-* feature #6304 NoTrailingCommaInSinglelineFunctionCallFixer - Introduction (SpacePossum)
-* minor #6277 Add `is_scalar`, `sizeof`, `ini_get` in list of compiled functions (jderusse)
-* minor #6284 ClassReferenceNameCasingFixer - Update doc (SpacePossum)
-* minor #6289 PHP7.4 - clean up tests (SpacePossum)
-* minor #6290 PHP7.4 - properties types (SpacePossum)
-* minor #6291 PHP7.4 - remove run time checks (SpacePossum)
-* minor #6292 PhpUnitDedicateAssertFixer - Fix more count cases (SpacePossum)
-* minor #6294 PhpUnitDedicateAssertFixer - add assertInstanceOf support (SpacePossum)
-* minor #6295 PhpUnitTestCaseIndicator - Check if PHPUnit-test class extends anothe… (SpacePossum)
-* minor #6298 Fix checkbashisms download ans SCA violations (SpacePossum)
-* minor #6301 BracesFixer - handle enums (gharlan)
-* minor #6302 Bump checkbashisms version (kubawerlos)
-* minor #6303 PHP8 - Utilize "get_debug_type" (SpacePossum)
-* minor #6316 bump xdebug-handler (SpacePossum)
-* minor #6327 bump polyfills (SpacePossum)
-
-Changelog for v3.6.0
---------------------
-
-* bug #6063 PhpdocTypesOrderFixer - Improve nested types support (ruudk, julienfalque)
-* bug #6197 FullyQualifiedStrictTypesFixer - fix same classname is imported from … (SpacePossum)
-* bug #6241 NoSuperfluousPhpdocTagsFixer - fix for reference and splat operator (kubawerlos)
-* bug #6243 PhpdocTypesOrderFixer - fix for intersection types (kubawerlos)
-* bug #6254 PhpUnitDedicateAssertFixer - remove `is_resource`. (drupol)
-* bug #6264 TokensAnalyzer - fix isConstantInvocation detection for multiple exce… (SpacePossum)
-* bug #6265 NullableTypeDeclarationForDefaultNullValueFixer - handle "readonly" a… (SpacePossum)
-* bug #6266 SimplifiedIfReturnFixer - handle statement in loop without braces (SpacePossum)
-* feature #6262 ClassReferenceNameCasingFixer - introduction (SpacePossum)
-* feature #6267 NoUnneededImportAliasFixer - Introduction (SpacePossum)
-* minor #6199 HeaderCommentFixer - support monolithic files with shebang (kubawerlos, keradus)
-* minor #6231 Fix priority descriptions and tests. (SpacePossum)
-* minor #6237 DX: Application - better display version when displaying gitSha (keradus)
-* minor #6242 Annotation - improve on recognising types with reference and splat operator (kubawerlos)
-* minor #6250 Tokens - optimize cache clear (SpacePossum)
-* minor #6269 Docs: redo warnings in RST docs to fix issue on website docs (keradus)
-* minor #6270 ClassReferenceNameCasingFixer - Add missing test cases for catch (SpacePossum)
-* minor #6273 Add priority test (SpacePossum)
-
-Changelog for v3.5.0
---------------------
-
-* bug #6058 Fix `Tokens::insertSlices` not moving around all affected tokens (paulbalandan, SpacePossum)
-* bug #6160 NonPrintableCharacterFixer - fix for when removing non-printable character break PHP syntax (kubawerlos)
-* bug #6165 DeclareEqualNormalizeFixer - fix for declare having multiple directives (kubawerlos)
-* bug #6170 NonPrintableCharacterFixer - fix for string in single quotes, having non-breaking space, linebreak, and single quote inside (kubawerlos)
-* bug #6181 UseTransformer - Trait import in enum fix (PHP8.1) (SpacePossum)
-* bug #6188 `PhpdocTo(Param|Property|Return)TypeFixer` - fix for type intersections (kubawerlos)
-* bug #6202 SquareBraceTransformer - fix for destructing square brace after double arrow (kubawerlos)
-* bug #6209 OrderedClassElementsFixer - PHP8.0 support abstract private methods in traits (SpacePossum)
-* bug #6224 ArgumentsAnalyzer - support PHP8.1 readonly (SpacePossum)
-* feature #4571 BlankLineBeforeStatementFixer - can now add blank lines before doc-comments (addiks, SpacePossum)
-* feature #5953 GetClassToClassKeywordFixer - introduction (paulbalandan)
-* minor #6108 Drop support for Symfony v4 (keradus)
-* minor #6163 CI: update used PHP version (keradus)
-* minor #6167 SingleSpaceAfterConstructFixer - allow multiline const (y_ahiru, SpacePossum)
-* minor #6168 indexes -> indices (SpacePossum)
-* minor #6171 Fix tests and CS (SpacePossum)
-* minor #6172 DX: Tokens::insertSlices - groom code and fix tests (keradus)
-* minor #6174 PhpdocAlignFixer: fix property-read/property-write descriptions not getting aligned (antichris)
-* minor #6177 DX: chmod +x for benchmark.sh file (keradus)
-* minor #6180 gitlab reporter - add fixed severity to match format (cbourreau)
-* minor #6183 Simplify DiffConsoleFormatter (kubawerlos)
-* minor #6184 Do not support array of patterns in Preg methods (kubawerlos)
-* minor #6185 Upgrade PHPStan (kubawerlos)
-* minor #6189 Finder - fix usage of ignoreDotFiles (kubawerlos)
-* minor #6190 DX: DiffConsoleFormatter - escape - (keradus)
-* minor #6194 Update Docker setup (julienfalque)
-* minor #6196 clean ups (SpacePossum)
-* minor #6198 DX: format dot files (kubawerlos)
-* minor #6200 DX: Composer's branch-alias leftovers cleanup (kubawerlos)
-* minor #6203 Bump required PHP to 7.4 (keradus)
-* minor #6205 DX: bump PHPUnit to v9, PHPUnit bridge to v6 and Prophecy-PHPUnit to v2 (keradus)
-* minor #6210 NullableTypeDeclarationForDefaultNullValueFixer - fix tests (HypeMC)
-* minor #6212 bump year 2021 -> 2022 (SpacePossum)
-* minor #6215 DX: Doctrine\Annotation\Tokens - fix phpstan violations (keradus)
-* minor #6216 DX: Doctrine\Annotation\Tokens - drop unused methods (keradus)
-* minor #6217 DX: lock SCA tools for PR builds (keradus)
-* minor #6218 Use composer/xdebug-handler v3 (gharlan)
-* minor #6222 Show runtime on version command (SpacePossum)
-* minor #6229 Simplify Tokens::isMonolithicPhp tests (kubawerlos)
-* minor #6232 Use expectNotToPerformAssertions where applicable (SpacePossum)
-* minor #6233 Update Tokens::isMonolithicPhp (kubawerlos)
-* minor #6236 Annotation - improve getting variable name (kubawerlos)
-
-Changelog for v3.4.0
---------------------
-
-* bug #6117 SingleSpaceAfterConstruct - handle before destructuring close brace (liquid207)
-* bug #6122 NoMultilineWhitespaceAroundDoubleArrowFixer - must run before MethodArgumentSpaceFixer (kubawerlos)
-* bug #6130 StrictParamFixer - must run before MethodArgumentSpaceFixer (kubawerlos)
-* bug #6137 NewWithBracesFixer - must run before ClassDefinitionFixer (kubawerlos)
-* bug #6139 PhpdocLineSpanFixer - must run before NoSuperfluousPhpdocTagsFixer (kubawerlos)
-* bug #6143 OperatorLinebreakFixer - fix for alternative syntax (kubawerlos)
-* bug #6159 ImportTransformer - fix for grouped constant and function imports (kubawerlos)
-* bug #6161 NoUnreachableDefaultArgumentValueFixer - fix for attributes (kubawerlos)
-* feature #5776 DX: test on PHP 8.1 (kubawerlos)
-* feature #6152 PHP8.1 support (SpacePossum)
-* minor #6095 Allow Symfony 6 (derrabus, keradus)
-* minor #6107 Drop support of PHPUnit v7 dependency (keradus)
-* minor #6109 Add return type to `DummyTestSplFileInfo::getRealPath()` (derrabus)
-* minor #6115 Remove PHP 7.2 polyfill (derrabus)
-* minor #6116 CI: remove installation of mbstring polyfill in build script, it's required dependency now (keradus)
-* minor #6119 OrderedClassElementsFixer - PHPUnit `assert(Pre|Post)Conditions` methods support (meyerbaptiste)
-* minor #6121 Use Tokens::ensureWhitespaceAtIndex to simplify code (kubawerlos)
-* minor #6127 Remove 2nd parameter to XdebugHandler constructor (phil-davis)
-* minor #6129 clean ups (SpacePossum)
-* minor #6138 PHP8.1 - toString cannot return type hint void (SpacePossum)
-* minor #6146 PHP 8.1: add new_in_initializers to PHP 8.1 integration test (keradus)
-* minor #6147 DX: update composer-normalize (keradus)
-* minor #6156 DX: drop hack for Prophecy incompatibility (keradus)
-
-Changelog for v3.3.1
---------------------
-
-* minor #6067 Bump minimum PHP version to 7.2 (keradus)
-
-Changelog for v3.3.0
---------------------
-
-* bug #6054 Utils - Add multibyte and UTF-8 support (paulbalandan)
-* bug #6061 ModernizeStrposFixer - fix for negated with leading slash (kubawerlos)
-* bug #6064 SquareBraceTransformer - fix detect array destructing in foreach (SpacePossum)
-* bug #6082 PhpUnitDedicateAssertFixer must run before NoUnusedImportsFixer (kubawerlos)
-* bug #6089 TokensAnalyzer.php - Fix T_ENCAPSED_AND_WHITESPACE handling in isBina… (SpacePossum)
-* feature #5123 PhpdocTypesFixer - support generic types (kubawerlos)
-* minor #5775 DX: run static code analysis on PHP 8.0 (kubawerlos)
-* minor #6050 DX: TypeIntersectionTransformer - prove to not touch T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG (keradus)
-* minor #6051 NoExtraBlankLinesFixer - Improve deprecation message (paulbalandan)
-* minor #6060 DX: Add upgrade guide link when next Major is available (keradus)
-* minor #6066 Clean ups (SpacePossum, kubawerlos)
-* minor #6069 DX: cleanup stub file (keradus)
-* minor #6070 Update UPGRADE-v3.md with php_unit_test_annotation/case deprecation (kubawerlos)
-* minor #6072 Update usage doc to reflect change to PSR12 default. (hannob, keradus)
-* minor #6084 Change: Remove __constructor() from RuleSetDescriptionInterface (niklam)
-* minor #6085 Dx: reuse WhitespacesAnalyzer::detectIndent (kubawerlos)
-* minor #6087 AbstractProxyFixer - more tests (SpacePossum)
-
-Changelog for v3.2.1
----------------------
-
-experimental release
-
-* Require PHP 7.2
-
-Changelog for v3.2.0
---------------------
-
-* bug #5809 FunctionsAnalyzer - fix for recognizing global functions in attributes (kubawerlos)
-* bug #5909 NativeFunctionCasingFixer - fix for attributes and imported functions (kubawerlos)
-* bug #5920 ClassAttributesSeparationFixer - fixes & enhancements (SpacePossum)
-* bug #5923 TypeAlternationTransformer - fix for promoted properties (kubawerlos)
-* bug #5938 NoAliasFunctionsFixer - remove dir -> getdir mapping (SpacePossum)
-* bug #5941 TokensAnalyzer - isAnonymousClass bug on PHP8 (SpacePossum)
-* bug #5942 TokensAnalyzer - isConstantInvocation PHP 8 issue (SpacePossum)
-* bug #5943 NoUnusedImportsFixer - use in attribute (SpacePossum)
-* bug #5955 Fixed `class_attributes_separation` processing class with multiple trait imports (GrahamCampbell)
-* bug #5977 LowercaseStaticReference - SingleClassElementPerStatement - union types (SpacePossum)
-* bug #5984 RegularCallableCallFixer must run before NativeFunctionInvocationFixer (kubawerlos)
-* bug #5986 CurlyBraceTransformer - count T_CURLY_OPEN itself as level as well (SpacePossum)
-* bug #5989 NoAliasFunctionsFixer - Correct mapping (weshooper)
-* bug #6004 SwitchContinueToBreakFixer - Fix candidate check (SpacePossum)
-* bug #6005 CommentsAnalyzer - before static call (SpacePossum)
-* bug #6007 YodaStyleFixer - PHP8 named arguments support (liquid207)
-* bug #6015 CommentsAnalyzer - constructor property promotion support (liquid207)
-* bug #6020 RegularCallableCallFixer - case insensitive fixing (SpacePossum)
-* bug #6037 PhpdocLineSpanFixer - do not crash on trait imports (SpacePossum)
-* feature #4834 AssignNullCoalescingToCoalesceEqualFixer - introduction (SpacePossum)
-* feature #5754 ModernizeStrposFixer - introduction (derrabus, SpacePossum, keradus)
-* feature #5858 EmptyLoopConditionFixer - introduction (SpacePossum)
-* feature #5967 PHP8.1 - type "never" support (SpacePossum)
-* feature #5968 PHP8.1 - "readonly" property modifier support (SpacePossum)
-* feature #5970 IntegerLiteralCaseFixer - introduction (SpacePossum)
-* feature #5971 PHP8.1 - Explicit octal integer literal notation (SpacePossum)
-* feature #5997 NoSuperfluousPhpdocTagsFixer - Add union types support (julienfalque)
-* feature #6026 TypeIntersectionTransformer - introduction (kubawerlos, SpacePossum)
-* feature #6031 NoSpaceAroundDoubleColonFixer - introduction (SpacePossum)
-* feature #6047 StringLengthToEmptyFixer - introduction (SpacePossum)
-* minor #5773 NoAlternativeSyntaxFixer - Add option to not fix non-monolithic PHP code (paulbalandan)
-* minor #5887 Detect renamed rules in configuration resolver (shakaran)
-* minor #5901 DX: update PHPStan (kubawerlos)
-* minor #5906 Remove references to PHP 7.0 in tests (with updates) (kubawerlos)
-* minor #5918 Remove PHP version specific code sample constraint when not needed (kubawerlos)
-* minor #5924 PSR12 - ClassDefinition - space_before_parenthesis (SpacePossum)
-* minor #5925 DX: ProjectCodeTest - fix detection by testExpectedInputOrder (keradus)
-* minor #5926 DX: remove not needed requirements from fixtures (kubawerlos)
-* minor #5927 Symfonyset - EmptyLoopBody (SpacePossum)
-* minor #5928 PhpdocTo*TypeFixer - add more test cases (keradus)
-* minor #5929 Remove not needed PHP version checks (kubawerlos)
-* minor #5930 simplify code, more tests (SpacePossum)
-* minor #5931 logo copyright - bump year (SpacePossum)
-* minor #5932 Extract ControlStructureContinuationPositionFixer from BracesFixer (julienfalque)
-* minor #5933 Consistency invalid configuration exception for test (shakaran)
-* minor #5934 Add return types (SpacePossum)
-* minor #5949 Removed PHP 5 exception catch (GrahamCampbell)
-* minor #5952 ClassAttributesSeparationFixer - Re-add omitted `only_if_meta` option (paulbalandan)
-* minor #5957 Keep PHPStan cache between Docker runs (julienfalque)
-* minor #5958 Fix STDIN test when path is one level deep (julienfalque)
-* minor #5959 SymfonySet - add EmptyLoopConditionFixer (SpacePossum)
-* minor #5961 Remove duplicated method (julienfalque)
-* minor #5962 DX: Add return types (kubawerlos)
-* minor #5963 DX: extract config for special CI jobs (keradus)
-* minor #5964 DX: use modernize_strpos (keradus)
-* minor #5965 CI: don't try to execute jobs with Symfony:^3 (keradus)
-* minor #5972 PHP8.1 - FirstClassCallable (SpacePossum)
-* minor #5973 PHP8.1 - "final const" support (SpacePossum)
-* minor #5975 Tree shake PHP8.1 PRs (SpacePossum)
-* minor #5978 PHP8.1 - Enum (start) (SpacePossum)
-* minor #5982 Fix test warning (SpacePossum)
-* minor #5987 PHP8.1 - Enum (start) (SpacePossum)
-* minor #5995 Fix link to Code Climate SPEC.md in GitlabReporter (astehlik)
-* minor #5996 Fix URL to Doctrine Annotations documentation (astehlik)
-* minor #6000 Prevent PHP CS Fixer from fixing PHPStan cache files (julienfalque)
-* minor #6006 SCA/utilize PHP8.1 (SpacePossum)
-* minor #6008 SCA (SpacePossum)
-* minor #6010 SCA (SpacePossum)
-* minor #6011 NoSuperfluousPhpdocTagsFixer - Remove superfluous annotation `@abstract` and `@final` (liquid207, SpacePossum)
-* minor #6018 PhpdocLineSpan - Allow certain types to be ignored (devfrey)
-* minor #6019 Improve test coverage (SpacePossum)
-* minor #6021 Linter/*Exception - Tag as final (SpacePossum)
-* minor #6023 OrderedClassElementsFixer - PHP8.1 readonly properties support (SpacePossum)
-* minor #6027 MbStrFunctionsFixer - more details about risky (SpacePossum)
-* minor #6028 BinaryOperatorSpacesFixer - list all operators in doc (SpacePossum)
-* minor #6029 PhpUnitDedicateAssertFixer - add "assertStringContainsString" and "as… (SpacePossum)
-* minor #6030 SingleSpaceAfterConstructFixer - Add `switch` support (SpacePossum)
-* minor #6033 ArgumentsAnalyzerTest - add more tests (SpacePossum)
-* minor #6034 Cleanup tests for PHP 7.0 and 7.1 (SpacePossum)
-* minor #6035 Documentation generation split up and add list. (SpacePossum)
-* minor #6048 Fix "can not" spelling (mvorisek)
-
-Changelog for v3.1.0
---------------------
-
-* feature #5572 PhpdocToCommentFixer - Add `ignored_tags` option (VincentLanglet)
-* feature #5588 NoAliasFunctionsFixer - Add more function aliases (danog)
-* feature #5704 ClassAttributesSeparationFixer - Introduce `only_if_meta` spacing option (paulbalandan)
-* feature #5734 TypesSpacesFixer - Introduction (kubawerlos)
-* feature #5745 EmptyLoopBodyFixer - introduction (SpacePossum, keradus)
-* feature #5751 Extract DeclareParenthesesFixer from BracesFixer (julienfalque, keradus)
-* feature #5877 ClassDefinitionFixer - PSR12 for anonymous class (SpacePossum)
-* minor #5875 EmptyLoopBodyFixer - NoTrailingWhitespaceFixer - priority test (SpacePossum)
-* minor #5914 Deprecate ClassKeywordRemoveFixer (kubawerlos)
-
-Changelog for v3.0.3
---------------------
-
-* bug #4927 PhpdocAlignFixer - fix for whitespace in type (kubawerlos)
-* bug #5720 NoUnusedImportsFixer - Fix undetected unused imports when type mismatch (julienfalque, SpacePossum)
-* bug #5806 DoctrineAnnotationFixer - Add template to ignored_tags (akalineskou)
-* bug #5849 PhpdocTagTypeFixer - must not remove inlined tags within other tags (boesing)
-* bug #5853 BracesFixer - handle alternative short foreach with if (SpacePossum)
-* bug #5855 GlobalNamespaceImportFixer - fix for attributes imported as constants (kubawerlos)
-* bug #5881 SelfUpdateCommand - fix link to UPGRADE docs (keradus)
-* bug #5884 CurlyBraceTransformer - fix handling dynamic property with string with variable (kubawerlos, keradus)
-* bug #5912 TypeAlternationTransformer - fix for "callable" type (kubawerlos)
-* bug #5913 SingleSpaceAfterConstructFixer - improve comma handling (keradus)
-* minor #5829 DX: Fix SCA with PHPMD (paulbalandan)
-* minor #5838 PHP7 - use spaceship (SpacePossum, keradus)
-* minor #5848 Docs: update PhpStorm integration link (keradus)
-* minor #5856 Add AttributeAnalyzer (kubawerlos)
-* minor #5857 DX: PHPMD - exclude fixtures (keradus)
-* minor #5859 Various fixes (kubawerlos)
-* minor #5864 DX: update dev tools (kubawerlos)
-* minor #5876 AttributeTransformerTest - add more tests (SpacePossum)
-* minor #5879 Update UPGRADE-v3.md adding relative links (shakaran, keradus)
-* minor #5882 Docs: don't use v2 for installation example (keradus)
-* minor #5883 Docs: typo (brianteeman, keradus)
-* minor #5890 DX: use PHP 8.1 polyfill (keradus)
-* minor #5902 Remove references to PHP 7.0 in tests (only removing lines) (kubawerlos)
-* minor #5905 DX: Use "yield from" in tests (kubawerlos, keradus)
-* minor #5917 Use `@PHP71Migration` rules (kubawerlos, keradus)
-
-Changelog for v3.0.2
---------------------
-
-* bug #5816 FullyQualifiedStrictTypesFixer - fix for union types (kubawerlos, keradus)
-* bug #5835 PhpdocTypesOrderFixer: fix for array shapes (kubawerlos)
-* bug #5837 SingleImportPerStatementFixer - fix const and function imports (SpacePossum)
-* bug #5844 PhpdocTypesOrderFixer: handle callable() type (Slamdunk)
-* minor #5839 DX: automate checking 7.0 types on project itself (keradus)
-* minor #5840 DX: drop v2 compatible config in project itself (keradus)
-
-Changelog for v3.0.1
---------------------
-
-* bug #5395 PhpdocTagTypeFixer: Do not modify array shapes (localheinz, julienfalque)
-* bug #5678 UseArrowFunctionsFixer - fix for return without value (kubawerlos)
-* bug #5679 PhpUnitNamespacedFixer - do not try to fix constant usage (kubawerlos)
-* bug #5681 RegularCallableCallFixer - fix for function name with escaped slash (kubawerlos)
-* bug #5687 FinalInternalClassFixer - fix for annotation with space after "@" (kubawerlos)
-* bug #5688 ArrayIndentationFixer - fix for really long arrays (kubawerlos)
-* bug #5690 PhpUnitNoExpectationAnnotationFixer - fix "expectedException" annotation with message below (kubawerlos)
-* bug #5693 YodaStyleFixer - fix for assignment operators (kubawerlos)
-* bug #5697 StrictParamFixer - fix for method definition (kubawerlos)
-* bug #5702 CommentToPhpdocFixer - fix for single line comments starting with more than 2 slashes (kubawerlos)
-* bug #5703 DateTimeImmutableFixer - fix for method definition (kubawerlos)
-* bug #5718 VoidReturnFixer - do not break syntax with magic methods (kubawerlos)
-* bug #5727 SingleSpaceAfterConstructFixer - Add support for `namespace` (julienfalque)
-* bug #5730 Fix transforming deprecations into exceptions (julienfalque)
-* bug #5738 TokensAnalyzer - fix for union types (kubawerlos)
-* bug #5741 Fix constant invocation detection cases (kubawerlos)
-* bug #5769 Fix priority between `phpdoc_to_property_type` and `no_superfluous_phpdoc_tags` (julienfalque)
-* bug #5774 FunctionsAnalyzer::isTheSameClassCall - fix for $this with double colon following (kubawerlos)
-* bug #5779 SingleLineThrowFixer - fix for throw in match (kubawerlos)
-* bug #5781 ClassDefinition - fix for anonymous class with trailing comma (kubawerlos)
-* bug #5783 StaticLambdaFixer - consider parent:: as a possible reference to $this (fancyweb)
-* bug #5791 NoBlankLinesAfterPhpdoc - Add T_NAMESPACE in array of forbidden successors (paulbalandan)
-* bug #5799 TypeAlternationTransformer - fix for multiple function parameters (kubawerlos)
-* bug #5804 NoBreakCommentFixer - fix for "default" in "match" (kubawerlos)
-* bug #5805 SingleLineCommentStyleFixer - run after HeaderCommentFixer (kubawerlos)
-* bug #5817 NativeFunctionTypeDeclarationCasingFixer - fix for union types (kubawerlos)
-* bug #5823 YodaStyleFixer - yield support (SpacePossum)
-* minor #4914 Improve PHPDoc types support (julienfalque, keradus)
-* minor #5592 Fix checking for default config used in rule sets (kubawerlos)
-* minor #5675 Docs: extend Upgrade Guide (keradus)
-* minor #5680 DX: benchmark.sh - ensure deps are updated to enable script working across less-similar branches (keradus)
-* minor #5689 Calculate code coverage on PHP 8 (kubawerlos)
-* minor #5694 DX: fail on risky tests (kubawerlos)
-* minor #5695 Utils - save only unique deprecations to avoid memory issues (PetrHeinz)
-* minor #5710 [typo] add correct backquotes (PhilETaylor)
-* minor #5711 Fix doc, "run-in" show-progress option is no longer present (mvorisek)
-* minor #5713 Upgrade-Guide: fix typo (staabm)
-* minor #5717 Run migration rules on PHP 8 (kubawerlos, keradus)
-* minor #5721 Fix reStructuredText markup (julienfalque)
-* minor #5725 Update LICENSE (exussum12)
-* minor #5731 CI - Fix checkbashisms installation (julienfalque)
-* minor #5736 Remove references to PHP 5.6 (kubawerlos, keradus)
-* minor #5739 DX: more typehinting (keradus)
-* minor #5740 DX: more type-related docblocks (keradus)
-* minor #5746 Config - Improve deprecation message with details (SpacePossum)
-* minor #5747 RandomApiMigrationFixer - better docs and better "random_int" support (SpacePossum)
-* minor #5748 Updated the link to netbeans plugins page (cyberguroo)
-* minor #5750 Test all const are in uppercase (SpacePossum)
-* minor #5752 NoNullPropertyInitializationFixer - fix static properties as well (HypeMC)
-* minor #5756 Fix rule sets descriptions (kubawerlos)
-* minor #5761 Fix links in custom rules documentation (julienfalque)
-* minor #5771 doc(config): change set's name (Kocal)
-* minor #5777 DX: update PHPStan (kubawerlos)
-* minor #5789 DX: update PHPStan (kubawerlos)
-* minor #5808 Update PHPStan to 0.12.92 (kubawerlos)
-* minor #5813 Docs: point to v3 in installation description (Jimbolino)
-* minor #5824 Deprecate v2 (keradus)
-* minor #5825 DX: update checkbashisms to v2.21.3 (keradus)
-* minor #5826 SCA: check both composer files (keradus)
-* minor #5827 ClassAttributesSeparationFixer - Add `trait_import` support (SpacePossum)
-* minor #5831 DX: fix SCA violations (keradus)
-
-Changelog for v3.0.0
---------------------
-
-* bug #5164 Differ - surround file name with double quotes if it contains spacing. (SpacePossum)
-* bug #5560 PSR2: require visibility only for properties and methods (kubawerlos)
-* bug #5576 ClassAttributesSeparationFixer: do not allow using v2 config (kubawerlos)
-* feature #4979 Pass file to differ (paulhenri-l, SpacePossum)
-* minor #3374 show-progress option: drop run-in and estimating, rename estimating-max to dots (keradus)
-* minor #3375 Fixers - stop exposing extra properties/consts (keradus)
-* minor #3376 Tokenizer - remove deprecations and legacy mode (keradus)
-* minor #3377 rules - change default options (keradus)
-* minor #3378 SKIP_LINT_TEST_CASES - drop env (keradus)
-* minor #3379 MethodArgumentSpaceFixer - fixSpace is now private (keradus)
-* minor #3380 rules - drop rootless configurations (keradus)
-* minor #3381 rules - drop deprecated configurations (keradus)
-* minor #3382 DefinedFixerInterface - incorporate into FixerInterface (keradus)
-* minor #3383 FixerDefinitionInterface - drop getConfigurationDescription and getDefaultConfiguration (keradus)
-* minor #3384 diff-format option: drop sbd diff, use udiffer by default, drop SebastianBergmannDiffer and SebastianBergmannShortDiffer classes (keradus)
-* minor #3385 ConfigurableFixerInterface::configure - param is now not nullable and not optional (keradus)
-* minor #3386 ConfigurationDefinitionFixerInterface - incorporate into ConfigurableFixerInterface (keradus)
-* minor #3387 FixCommand - forbid passing 'config' and 'rules' options together (keradus)
-* minor #3388 Remove Helpers (keradus)
-* minor #3389 AccessibleObject - drop class (keradus)
-* minor #3390 Drop deprecated rules: blank_line_before_return, hash_to_slash_comment, method_separation, no_extra_consecutive_blank_lines, no_multiline_whitespace_before_semicolons and pre_increment (keradus)
-* minor #3456 AutoReview - drop references to removed rule (keradus)
-* minor #3659 use php-cs-fixer/diff ^2.0 (SpacePossum)
-* minor #3681 CiIntegrationTest - fix incompatibility from 2.x line (keradus)
-* minor #3740 NoUnusedImportsFixer - remove SF exception (SpacePossum)
-* minor #3771 UX: always set error_reporting in entry file, not Application (keradus)
-* minor #3922 Make some more classes final (ntzm, SpacePossum)
-* minor #3995 Change default config of native_function_invocation (dunglas, SpacePossum)
-* minor #4432 DX: remove empty sets from RuleSet (kubawerlos)
-* minor #4489 Fix ruleset @PHPUnit50Migration:risky (kubawerlos)
-* minor #4620 DX: cleanup additional, not used parameters (keradus)
-* minor #4666 Remove deprecated rules: lowercase_constants, php_unit_ordered_covers, silenced_deprecation_error (keradus)
-* minor #4697 Remove deprecated no_short_echo_tag rule (julienfalque)
-* minor #4851 fix phpstan on 3.0 (SpacePossum)
-* minor #4901 Fix SCA (SpacePossum)
-* minor #5069 Fixed failing tests on 3.0 due to unused import after merge (GrahamCampbell)
-* minor #5096 NativeFunctionInvocationFixer - BacktickToShellExecFixer - fix integration test (SpacePossum)
-* minor #5171 Fix test (SpacePossum)
-* minor #5245 Fix CI for 3.0 line (keradus)
-* minor #5351 clean ups (SpacePossum)
-* minor #5364 DX: Do not display runtime twice on 3.0 line (keradus)
-* minor #5412 3.0 - cleanup (SpacePossum, keradus)
-* minor #5417 Further BC cleanup for 3.0 (keradus)
-* minor #5418 Drop src/Test namespace (keradus)
-* minor #5436 Drop mapping of strings to boolean option other than yes/no (keradus)
-* minor #5440 Change default ruleset to PSR-12 (keradus)
-* minor #5477 Drop diff-format (keradus)
-* minor #5478 Docs: Cleanup UPGRADE markdown files (keradus)
-* minor #5479 ArraySyntaxFixer, ListSyntaxFixer - change default syntax to short (keradus)
-* minor #5480 Tokens::findBlockEnd - drop deprecated argument (keradus)
-* minor #5485 ClassAttributesSeparationFixer - drop deprecated flat list configuration (keradus)
-* minor #5486 CI: drop unused env variables (keradus)
-* minor #5488 Do not distribute documentation (szepeviktor)
-* minor #5513 DX: Tokens::warnPhp8SplFixerArrayChange - drop unused method (keradus)
-* minor #5520 DX: Drop IsIdenticalConstraint (keradus)
-* minor #5521 DX: apply rules configuration cleanups for PHP 7.1+ (keradus)
-* minor #5524 DX: drop support of very old deps (keradus)
-* minor #5525 Drop phpunit-legacy-adapter (keradus)
-* minor #5527 Bump required PHP to 7.1 (keradus)
-* minor #5529 DX: bump required PHPUnit to v7+ (keradus)
-* minor #5532 Apply PHP 7.1 typing (keradus)
-* minor #5541 RuleSet - disallow null usage to disable the rule (keradus)
-* minor #5555 DX: further typing improvements (keradus)
-* minor #5562 Fix table row rendering for default values of array_syntax and list_syntax (derrabus)
-* minor #5608 DX: new cache filename (keradus)
-* minor #5609 Forbid old config filename usage (keradus)
-* minor #5638 DX: remove Utils::calculateBitmask (keradus)
-* minor #5641 DX: use constants for PHPUnit version on 3.0 line (keradus)
-* minor #5643 FixCommand - simplify help (keradus)
-* minor #5644 Token::toJson() - remove parameter (keradus)
-* minor #5645 DX: YodaStyleFixerTest - fix CI (keradus)
-* minor #5649 DX: YodaStyleFixerTest - fix 8.0 compat (keradus)
-* minor #5650 DX: FixCommand - drop outdated/duplicated docs (keradus)
-* minor #5656 DX: mark some constants as internal or private (keradus)
-* minor #5657 DX: convert some properties to constants (keradus)
-* minor #5669 Remove TrailingCommaInMultilineArrayFixer (kubawerlos, keradus)
-
-Changelog for v2.19.3
----------------------
-
-* minor #6060 DX: Add upgrade guide link when next Major is available (keradus)
-
-Changelog for v2.19.2
----------------------
-
-* bug #5881 SelfUpdateCommand - fix link to UPGRADE docs (keradus)
-
-Changelog for v2.19.1
----------------------
-
-* bug #5395 PhpdocTagTypeFixer: Do not modify array shapes (localheinz, julienfalque)
-* bug #5678 UseArrowFunctionsFixer - fix for return without value (kubawerlos)
-* bug #5679 PhpUnitNamespacedFixer - do not try to fix constant usage (kubawerlos)
-* bug #5681 RegularCallableCallFixer - fix for function name with escaped slash (kubawerlos)
-* bug #5687 FinalInternalClassFixer - fix for annotation with space after "@" (kubawerlos)
-* bug #5688 ArrayIndentationFixer - fix for really long arrays (kubawerlos)
-* bug #5690 PhpUnitNoExpectationAnnotationFixer - fix "expectedException" annotation with message below (kubawerlos)
-* bug #5693 YodaStyleFixer - fix for assignment operators (kubawerlos)
-* bug #5697 StrictParamFixer - fix for method definition (kubawerlos)
-* bug #5702 CommentToPhpdocFixer - fix for single line comments starting with more than 2 slashes (kubawerlos)
-* bug #5703 DateTimeImmutableFixer - fix for method definition (kubawerlos)
-* bug #5718 VoidReturnFixer - do not break syntax with magic methods (kubawerlos)
-* bug #5727 SingleSpaceAfterConstructFixer - Add support for `namespace` (julienfalque)
-* bug #5730 Fix transforming deprecations into exceptions (julienfalque)
-* bug #5738 TokensAnalyzer - fix for union types (kubawerlos)
-* bug #5741 Fix constant invocation detection cases (kubawerlos)
-* bug #5769 Fix priority between `phpdoc_to_property_type` and `no_superfluous_phpdoc_tags` (julienfalque)
-* bug #5774 FunctionsAnalyzer::isTheSameClassCall - fix for $this with double colon following (kubawerlos)
-* bug #5779 SingleLineThrowFixer - fix for throw in match (kubawerlos)
-* bug #5781 ClassDefinition - fix for anonymous class with trailing comma (kubawerlos)
-* bug #5783 StaticLambdaFixer - consider parent:: as a possible reference to $this (fancyweb)
-* bug #5791 NoBlankLinesAfterPhpdoc - Add T_NAMESPACE in array of forbidden successors (paulbalandan)
-* bug #5799 TypeAlternationTransformer - fix for multiple function parameters (kubawerlos)
-* bug #5804 NoBreakCommentFixer - fix for "default" in "match" (kubawerlos)
-* bug #5805 SingleLineCommentStyleFixer - run after HeaderCommentFixer (kubawerlos)
-* bug #5817 NativeFunctionTypeDeclarationCasingFixer - fix for union types (kubawerlos)
-* bug #5823 YodaStyleFixer - yield support (SpacePossum)
-* minor #4914 Improve PHPDoc types support (julienfalque, keradus)
-* minor #5680 DX: benchmark.sh - ensure deps are updated to enable script working across less-similar branches (keradus)
-* minor #5689 Calculate code coverage on PHP 8 (kubawerlos)
-* minor #5694 DX: fail on risky tests (kubawerlos)
-* minor #5695 Utils - save only unique deprecations to avoid memory issues (PetrHeinz)
-* minor #5710 [typo] add correct backquotes (PhilETaylor)
-* minor #5717 Run migration rules on PHP 8 (kubawerlos, keradus)
-* minor #5721 Fix reStructuredText markup (julienfalque)
-* minor #5725 Update LICENSE (exussum12)
-* minor #5731 CI - Fix checkbashisms installation (julienfalque)
-* minor #5740 DX: more type-related docblocks (keradus)
-* minor #5746 Config - Improve deprecation message with details (SpacePossum)
-* minor #5747 RandomApiMigrationFixer - better docs and better "random_int" support (SpacePossum)
-* minor #5748 Updated the link to netbeans plugins page (cyberguroo)
-* minor #5750 Test all const are in uppercase (SpacePossum)
-* minor #5752 NoNullPropertyInitializationFixer - fix static properties as well (HypeMC)
-* minor #5756 Fix rule sets descriptions (kubawerlos)
-* minor #5761 Fix links in custom rules documentation (julienfalque)
-* minor #5777 DX: update PHPStan (kubawerlos)
-* minor #5789 DX: update PHPStan (kubawerlos)
-* minor #5808 Update PHPStan to 0.12.92 (kubawerlos)
-* minor #5824 Deprecate v2 (keradus)
-* minor #5825 DX: update checkbashisms to v2.21.3 (keradus)
-* minor #5826 SCA: check both composer files (keradus)
-* minor #5827 ClassAttributesSeparationFixer - Add `trait_import` support (SpacePossum)
-
-Changelog for v2.19.0
----------------------
-
-* feature #4238 TrailingCommaInMultilineFixer - introduction (kubawerlos)
-* feature #4592 PhpdocToPropertyTypeFixer - introduction (julienfalque)
-* feature #5390 feature #4024 added a `list-files` command (clxmstaab, keradus)
-* feature #5635 Add list-sets command (keradus)
-* feature #5674 UX: Display deprecations to end-user (keradus)
-* minor #5601 Always stop when "PHP_CS_FIXER_FUTURE_MODE" is used (kubawerlos)
-* minor #5607 DX: new config filename (keradus)
-* minor #5613 DX: UtilsTest - add missing teardown (keradus)
-* minor #5631 DX: config deduplication (keradus)
-* minor #5633 fix typos (staabm)
-* minor #5642 Deprecate parameter of Token::toJson() (keradus)
-* minor #5672 DX: do not test deprecated fixer (kubawerlos)
-
-Changelog for v2.18.7
----------------------
-
-* bug #5593 SingleLineThrowFixer - fix handling anonymous classes (kubawerlos)
-* bug #5654 SingleLineThrowFixer - fix for match expression (kubawerlos)
-* bug #5660 TypeAlternationTransformer - fix for "array" type in type alternation (kubawerlos)
-* bug #5665 NullableTypeDeclarationForDefaultNullValueFixer - fix for nullable with attribute (kubawerlos)
-* bug #5670 PhpUnitNamespacedFixer - do not try to fix constant (kubawerlos)
-* bug #5671 PhpdocToParamTypeFixer - do not change function call (kubawerlos)
-* bug #5673 GroupImportFixer - Fix failing case (julienfalque)
-* minor #4591 Refactor conversion of PHPDoc to type declarations (julienfalque, keradus)
-* minor #5611 DX: use method expectDeprecation from Symfony Bridge instead of annotation (kubawerlos)
-* minor #5658 DX: use constants in tests for Fixer configuration (keradus)
-* minor #5661 DX: remove PHPStan exceptions for "tests" from phpstan.neon (kubawerlos)
-* minor #5662 Change wording from "merge" to "intersect" (jschaedl)
-* minor #5663 DX: do not abuse "inheritdoc" tag (kubawerlos)
-* minor #5664 DX: code grooming (keradus)
-
-Changelog for v2.18.6
----------------------
-
-* bug #5586 Add support for nullsafe object operator ("?->") (kubawerlos)
-* bug #5597 Tokens - fix for checking block edges (kubawerlos)
-* bug #5604 Custom annotations @type changed into @var (Leprechaunz)
-* bug #5606 DoctrineAnnotationBracesFixer false positive (Leprechaunz)
-* bug #5610 BracesFixer - fix braces of match expression (Leprechaunz)
-* bug #5615 GroupImportFixer severely broken (Leprechaunz)
-* bug #5617 ClassAttributesSeparationFixer - fix for using visibility for class elements (kubawerlos)
-* bug #5618 GroupImportFixer - fix removal of import type when mixing multiple types (Leprechaunz)
-* bug #5622 Exclude Doctrine documents from final fixer (ossinkine)
-* bug #5630 PhpdocTypesOrderFixer - handle complex keys (Leprechaunz)
-* minor #5554 DX: use tmp file in sys_temp_dir for integration tests (keradus)
-* minor #5564 DX: make integration tests matching entries in FixerFactoryTest (kubawerlos)
-* minor #5603 DX: DocumentationGenerator - no need to re-configure Differ (keradus)
-* minor #5612 DX: use ::class whenever possible (kubawerlos)
-* minor #5619 DX: allow XDebugHandler v2 (keradus)
-* minor #5623 DX: when displaying app version, don't put extra space if there is no CODENAME available (keradus)
-* minor #5626 DX: update PHPStan and way of ignoring flickering PHPStan exception (keradus)
-* minor #5629 DX: fix CiIntegrationTest (keradus)
-* minor #5636 DX: remove 'create' method in internal classes (keradus)
-* minor #5637 DX: do not calculate bitmap via helper anymore (keradus)
-* minor #5639 Move fix reports (classes and schemas) (keradus)
-* minor #5640 DX: use constants for PHPUnit version (keradus)
-* minor #5646 Cleanup YodaStyleFixerTest (kubawerlos)
-
-Changelog for v2.18.5
----------------------
-
-* bug #5561 NoMixedEchoPrintFixer: fix for conditions without curly brackets (kubawerlos)
-* bug #5563 Priority fix: SingleSpaceAfterConstructFixer must run before BracesFixer (kubawerlos)
-* bug #5567 Fix order of BracesFixer and ClassDefinitionFixer (Daeroni)
-* bug #5596 NullableTypeTransformer - fix for attributes (kubawerlos, jrmajor)
-* bug #5598 GroupImportFixer - fix breaking code when fixing root classes (Leprechaunz)
-* minor #5571 DX: add test to make sure SingleSpaceAfterConstructFixer runs before FunctionDeclarationFixer (kubawerlos)
-* minor #5577 Extend priority test for "class_definition" vs "braces" (kubawerlos)
-* minor #5585 DX: make doc examples prettier (kubawerlos)
-* minor #5590 Docs: HeaderCommentFixer - document example how to remove header comment (keradus)
-* minor #5602 DX: regenerate docs (keradus)
-
-Changelog for v2.18.4
----------------------
-
-* bug #4085 Priority: AlignMultilineComment should run before every PhpdocFixer (dmvdbrugge)
-* bug #5421 PsrAutoloadingFixer - Fix PSR autoloading outside configured directory (kelunik, keradus)
-* bug #5464 NativeFunctionInvocationFixer - PHP 8 attributes (HypeMC, keradus)
-* bug #5548 NullableTypeDeclarationForDefaultNullValueFixer - fix handling promoted properties (jrmajor, keradus)
-* bug #5550 TypeAlternationTransformer - fix for typed static properties (kubawerlos)
-* bug #5551 ClassAttributesSeparationFixer - fix for properties with type alternation (kubawerlos, keradus)
-* bug #5552 DX: test relation between function_declaration and method_argument_space (keradus)
-* minor #5540 DX: RuleSet - convert null handling to soft-warning (keradus)
-* minor #5545 DX: update checkbashisms (keradus)
-
-Changelog for v2.18.3
----------------------
-
-* bug #5484 NullableTypeDeclarationForDefaultNullValueFixer - handle mixed pseudotype (keradus)
-* minor #5470 Disable CI fail-fast (mvorisek)
-* minor #5491 Support php8 static return type for NoSuperfluousPhpdocTagsFixer (tigitz)
-* minor #5494 BinaryOperatorSpacesFixer - extend examples (keradus)
-* minor #5499 DX: add TODOs for PHP requirements cleanup (keradus)
-* minor #5500 DX: Test that Transformers are adding only CustomTokens that they define and nothing else (keradus)
-* minor #5507 Fix quoting in exception message (gquemener)
-* minor #5514 DX: PHP 7.0 integration test - solve TODO for random_api_migration usage (keradus)
-* minor #5515 DX: do not override getConfigurationDefinition (keradus)
-* minor #5516 DX: AbstractDoctrineAnnotationFixer - no need for import aliases (keradus)
-* minor #5518 DX: minor typing and validation fixes (keradus)
-* minor #5522 Token - add handling json_encode crash (keradus)
-* minor #5523 DX: EregToPregFixer - fix sorting (keradus)
-* minor #5528 DX: code cleanup (keradus)
-
-Changelog for v2.18.2
----------------------
-
-* bug #5466 Fix runtime check of PHP version (keradus)
-* minor #4250 POC Tokens::insertSlices (keradus)
-
-Changelog for v2.18.1
----------------------
-
-* bug #5447 switch_case_semicolon_to_colon should skip match/default statements (derrabus)
-* bug #5453 SingleSpaceAfterConstructFixer - better handling of closing parenthesis and brace (keradus)
-* bug #5454 NullableTypeDeclarationForDefaultNullValueFixer - support property promotion via constructor (keradus)
-* bug #5455 PhpdocToCommentFixer - add support for attributes (keradus)
-* bug #5462 NullableTypeDeclarationForDefaultNullValueFixer - support union types (keradus)
-* minor #5444 Fix PHP version number in PHP54MigrationSet description (jdreesen, keradus)
-* minor #5445 DX: update usage of old TraversableContains in tests (keradus)
-* minor #5456 DX: Fix CiIntegrationTest (keradus)
-* minor #5457 CI: fix params order (keradus)
-* minor #5458 CI: fix migration workflow (keradus)
-* minor #5459 DX: cleanup PHP Migration rulesets (keradus)
-
-Changelog for v2.18.0
----------------------
-
-* feature #4943 Add PSR12 ruleset (julienfalque, keradus)
-* feature #5426 Update Symfony ruleset (keradus)
-* feature #5428 Add/Change PHP.MigrationSet to update array/list syntax to short one (keradus)
-* minor #5441 Allow execution under PHP 8 (keradus)
-
-Changelog for v2.17.5
----------------------
-
-* bug #5447 switch_case_semicolon_to_colon should skip match/default statements (derrabus)
-* bug #5453 SingleSpaceAfterConstructFixer - better handling of closing parenthesis and brace (keradus)
-* bug #5454 NullableTypeDeclarationForDefaultNullValueFixer - support property promotion via constructor (keradus)
-* bug #5455 PhpdocToCommentFixer - add support for attributes (keradus)
-* bug #5462 NullableTypeDeclarationForDefaultNullValueFixer - support union types (keradus)
-* minor #5445 DX: update usage of old TraversableContains in tests (keradus)
-* minor #5456 DX: Fix CiIntegrationTest (keradus)
-* minor #5457 CI: fix params order (keradus)
-* minor #5459 DX: cleanup PHP Migration rulesets (keradus)
-
-Changelog for v2.17.4
----------------------
-
-* bug #5379 PhpUnitMethodCasingFixer - Do not modify class name (localheinz)
-* bug #5404 NullableTypeTransformer - constructor property promotion support (Wirone)
-* bug #5433 PhpUnitTestCaseStaticMethodCallsFixer - fix for abstract static method (kubawerlos)
-* minor #5234 DX: Add Docker dev setup (julienfalque, keradus)
-* minor #5391 PhpdocOrderByValueFixer - Add additional annotations to sort (localheinz)
-* minor #5392 PhpdocScalarFixer - Fix description (localheinz)
-* minor #5397 NoExtraBlankLinesFixer - PHP8 throw support (SpacePossum)
-* minor #5399 Add PHP8 integration test (keradus)
-* minor #5405 TypeAlternationTransformer - add support for PHP8 (SpacePossum)
-* minor #5406 SingleSpaceAfterConstructFixer - Attributes, comments and PHPDoc support (SpacePossum)
-* minor #5407 TokensAnalyzer::getClassyElements - return trait imports (SpacePossum)
-* minor #5410 minors (SpacePossum)
-* minor #5411 bump year in LICENSE file (SpacePossum)
-* minor #5414 TypeAlternationTransformer - T_FN support (SpacePossum)
-* minor #5415 Forbid execution under PHP 8.0.0 (keradus)
-* minor #5416 Drop Travis CI (keradus)
-* minor #5419 CI: separate SCA checks to dedicated jobs (keradus)
-* minor #5420 DX: unblock PHPUnit 9.5 (keradus)
-* minor #5423 DX: PHPUnit - disable verbose by default (keradus)
-* minor #5425 Cleanup 3.0 todos (keradus)
-* minor #5427 Plan changing defaults for array_syntax and list_syntax in 3.0 release (keradus)
-* minor #5429 DX: Drop speedtrap PHPUnit listener (keradus)
-* minor #5432 Don't allow unserializing classes with a destructor (jderusse)
-* minor #5435 DX: PHPUnit - groom configuration of time limits (keradus)
-* minor #5439 VisibilityRequiredFixer - support type alternation for properties (keradus)
-* minor #5442 DX: FunctionsAnalyzerTest - add missing 7.0 requirement (keradus)
-
-Changelog for v2.17.3
----------------------
-
-* bug #5384 PsrAutoloadingFixer - do not remove directory structure from the Class name (kubawerlos, keradus)
-* bug #5385 SingleLineCommentStyleFixer- run before NoUselessReturnFixer (kubawerlos)
-* bug #5387 SingleSpaceAfterConstructFixer - do not touch multi line implements (SpacePossum)
-* minor #5329 DX: collect coverage with Github Actions (kubawerlos)
-* minor #5380 PhpdocOrderByValueFixer - Allow sorting of throws annotations by value (localheinz, keradus)
-* minor #5383 DX: fail PHPUnit tests on warning (kubawerlos)
-* minor #5386 DX: remove incorrect priority relations (kubawerlos)
-
-Changelog for v2.17.2
----------------------
-
-* bug #5345 CleanNamespaceFixer - preserve trailing comments (SpacePossum)
-* bug #5348 PsrAutoloadingFixer - fix for class without namespace (kubawerlos)
-* bug #5362 SingleSpaceAfterConstructFixer: Do not adjust whitespace before multiple multi-line extends (localheinz, SpacePossum)
-* minor #5314 Enable testing with PHPUnit 9.x (sanmai)
-* minor #5319 Clean ups (SpacePossum)
-* minor #5338 clean ups (SpacePossum)
-* minor #5339 NoEmptyStatementFixer - fix more cases (SpacePossum)
-* minor #5340 NamedArgumentTransformer - Introduction (SpacePossum)
-* minor #5344 Update docs: do not use deprecated create method (SpacePossum)
-* minor #5353 Fix typo in issue template (stof)
-* minor #5355 OrderedTraitsFixer - mark as risky (SpacePossum)
-* minor #5356 RuleSet description fixes (SpacePossum)
-* minor #5359 Add application version to "fix" out put when verbosity flag is set (SpacePossum)
-* minor #5360 DX: clean up detectIndent methods (kubawerlos)
-* minor #5363 Added missing self return type to ConfigInterface::registerCustomFixers() (vudaltsov)
-* minor #5366 PhpUnitDedicateAssertInternalTypeFixer - recover target option (keradus)
-* minor #5368 DX: PHPUnit 9 compatibility for 2.17 (keradus)
-* minor #5370 DX: update PHPUnit usage to use external Prophecy trait and solve warning (keradus)
-* minor #5371 Update documentation about PHP_CS_FIXER_IGNORE_ENV (SanderSander, keradus)
-* minor #5373 DX: MagicMethodCasingFixerTest - fix test case description (keradus)
-* minor #5374 DX: PhpUnitDedicateAssertInternalTypeFixer - add code sample for non-default config (keradus)
-
-Changelog for v2.17.1
----------------------
-
-* bug #5325 NoBreakCommentFixer - better throw handling (SpacePossum)
-* bug #5327 StaticLambdaFixer - fix for arrow function used in class with $this (kubawerlos, SpacePossum)
-* bug #5332 Fix file missing for php8 (jderusse)
-* bug #5333 Fix file missing for php8 (jderusse)
-* minor #5328 Fixed deprecation message version (GrahamCampbell)
-* minor #5330 DX: cleanup Github Actions configs (kubawerlos)
-
-Changelog for v2.17.0
----------------------
-
-* bug #4752 SimpleLambdaCallFixer - bug fixes (SpacePossum)
-* bug #4794 TernaryToElvisOperatorFixer - fix open tag with echo (SpacePossum)
-* bug #5084 Fix for variables within string interpolation in lambda_not_used_import (GrahamCampbell)
-* bug #5094 SwitchContinueToBreakFixer - do not support alternative syntax (SpacePossum)
-* feature #2619 PSR-5 @inheritDoc support (julienfalque)
-* feature #3253 Add SimplifiedIfReturnFixer (Slamdunk, SpacePossum)
-* feature #4005 GroupImportFixer - introduction (greeflas)
-* feature #4012 BracesFixer - add "allow_single_line_anonymous_class_with_empty_body" option (kubawerlos)
-* feature #4021 OperatorLinebreakFixer - Introduction (kubawerlos, SpacePossum)
-* feature #4259 PsrAutoloadingFixer - introduction (kubawerlos)
-* feature #4375 extend ruleset "@PHP73Migration" (gharlan)
-* feature #4435 SingleSpaceAfterConstructFixer - Introduction (localheinz)
-* feature #4493 Add echo_tag_syntax rule (mlocati, kubawerlos)
-* feature #4544 SimpleLambdaCallFixer - introduction (keradus)
-* feature #4569 PhpdocOrderByValueFixer - Introduction (localheinz)
-* feature #4590 SwitchContinueToBreakFixer - Introduction (SpacePossum)
-* feature #4679 NativeConstantInvocationFixer - add "strict" flag (kubawerlos)
-* feature #4701 OrderedTraitsFixer - introduction (julienfalque)
-* feature #4704 LambdaNotUsedImportFixer - introduction (SpacePossum)
-* feature #4740 NoAliasLanguageConstructCallFixer - introduction (SpacePossum)
-* feature #4741 TernaryToElvisOperatorFixer - introduction (SpacePossum)
-* feature #4778 UseArrowFunctionsFixer - introduction (gharlan)
-* feature #4790 ArrayPushFixer - introduction (SpacePossum)
-* feature #4800 NoUnneededFinalMethodFixer - Add "private_methods" option (SpacePossum)
-* feature #4831 BlankLineBeforeStatementFixer - add yield from (SpacePossum)
-* feature #4832 NoUnneededControlParenthesesFixer - add yield from (SpacePossum)
-* feature #4863 NoTrailingWhitespaceInStringFixer - introduction (gharlan)
-* feature #4875 ClassAttributesSeparationFixer - add option for no new lines between properties (adri, ruudk)
-* feature #4880 HeredocIndentationFixer - config option for indentation level (gharlan)
-* feature #4908 PhpUnitExpectationFixer - update for Phpunit 8.4 (ktomk)
-* feature #4942 OrderedClassElementsFixer - added support for abstract method sorting (carlalexander, SpacePossum)
-* feature #4947 NativeConstantInvocation - Add "PHP_INT_SIZE" to SF rule set (kubawerlos)
-* feature #4953 Add support for custom differ (paulhenri-l, SpacePossum)
-* feature #5264 CleanNamespaceFixer - Introduction (SpacePossum)
-* feature #5280 NoUselessSprintfFixer - Introduction (SpacePossum)
-* minor #4634 Make all options snake_case (kubawerlos)
-* minor #4667 PhpUnitOrderedCoversFixer - stop using deprecated fixer (keradus)
-* minor #4673 FinalStaticAccessFixer - deprecate (julienfalque)
-* minor #4762 Rename simple_lambda_call to regular_callable_call (julienfalque)
-* minor #4782 Update RuleSets (SpacePossum)
-* minor #4802 Master cleanup (SpacePossum)
-* minor #4828 Deprecate Config::create() (DocFX)
-* minor #4872 Update RuleSet SF and PHP-CS-Fixer with new config for `no_extra_blan… (SpacePossum)
-* minor #4900 Move "no_trailing_whitespace_in_string" to SF ruleset. (SpacePossum)
-* minor #4903 Docs: extend regular_callable_call rule docs (keradus, SpacePossum)
-* minor #4910 Add use_arrow_functions rule to PHP74Migration:risky set (keradus)
-* minor #5025 PhpUnitDedicateAssertInternalTypeFixer - deprecate "target" option (kubawerlos)
-* minor #5037 FinalInternalClassFixer- Rename option (SpacePossum)
-* minor #5093 LambdaNotUsedImportFixer - add heredoc test (SpacePossum)
-* minor #5163 Fix CS (SpacePossum)
-* minor #5169 PHP8 care package master (SpacePossum)
-* minor #5186 Fix tests (SpacePossum)
-* minor #5192 GotoLabelAnalyzer - introduction (SpacePossum)
-* minor #5230 Fix: Reference (localheinz)
-* minor #5240 PHP8 - Allow trailing comma in parameter list support (SpacePossum)
-* minor #5244 Fix 2.17 build (keradus)
-* minor #5251 PHP8 - match support (SpacePossum)
-* minor #5252 Update RuleSets (SpacePossum)
-* minor #5278 PHP8 constructor property promotion support (SpacePossum)
-* minor #5284 PHP8 - Attribute support (SpacePossum)
-* minor #5323 NoUselessSprintfFixer - Fix test on PHP5.6 (SpacePossum)
-* minor #5326 DX: relax composer requirements to not block installation under PHP v8, support for PHP v8 is not yet ready (keradus)
-
-Changelog for v2.16.10
-----------------------
-
-* minor #5314 Enable testing with PHPUnit 9.x (sanmai)
-* minor #5338 clean ups (SpacePossum)
-* minor #5339 NoEmptyStatementFixer - fix more cases (SpacePossum)
-* minor #5340 NamedArgumentTransformer - Introduction (SpacePossum)
-* minor #5344 Update docs: do not use deprecated create method (SpacePossum)
-* minor #5356 RuleSet description fixes (SpacePossum)
-* minor #5360 DX: clean up detectIndent methods (kubawerlos)
-* minor #5370 DX: update PHPUnit usage to use external Prophecy trait and solve warning (keradus)
-* minor #5373 DX: MagicMethodCasingFixerTest - fix test case description (keradus)
-* minor #5374 DX: PhpUnitDedicateAssertInternalTypeFixer - add code sample for non-default config (keradus)
-
-Changelog for v2.16.9
----------------------
-
-* bug #5095 Annotation - fix for Windows line endings (SpacePossum)
-* bug #5221 NoSuperfluousPhpdocTagsFixer - fix for single line PHPDoc (kubawerlos)
-* bug #5225 TernaryOperatorSpacesFixer - fix for alternative control structures (kubawerlos)
-* bug #5235 ArrayIndentationFixer - fix for nested arrays (kubawerlos)
-* bug #5248 NoBreakCommentFixer - fix throw detect (SpacePossum)
-* bug #5250 SwitchAnalyzer - fix for semicolon after case/default (kubawerlos)
-* bug #5253 IO - fix cache info message (SpacePossum)
-* bug #5273 Fix PHPDoc line span fixer when property has array typehint (ossinkine)
-* bug #5274 TernaryToNullCoalescingFixer - concat precedence fix (SpacePossum)
-* feature #5216 Add RuleSets to docs (SpacePossum)
-* minor #5226 Applied CS fixes from 2.17-dev (GrahamCampbell)
-* minor #5229 Fixed incorrect phpdoc (GrahamCampbell)
-* minor #5231 CS: unify styling with younger branches (keradus)
-* minor #5232 PHP8 - throw expression support (SpacePossum)
-* minor #5233 DX: simplify check_file_permissions.sh (kubawerlos)
-* minor #5236 Improve handling of unavailable code samples (julienfalque, keradus)
-* minor #5239 PHP8 - Allow trailing comma in parameter list support (SpacePossum)
-* minor #5254 PHP8 - mixed type support (SpacePossum)
-* minor #5255 Tests: do not skip documentation test (keradus)
-* minor #5256 Docs: phpdoc_to_return_type - add new example in docs (keradus)
-* minor #5261 Do not update Composer twice (sanmai)
-* minor #5263 PHP8 support (SpacePossum)
-* minor #5266 PhpUnitTestCaseStaticMethodCallsFixer - PHPUnit 9.x support (sanmai)
-* minor #5267 Improve InstallViaComposerTest (sanmai)
-* minor #5268 Add GitHub Workflows CI, including testing on PHP 8 and on macOS/Windows/Ubuntu (sanmai)
-* minor #5269 Prep work to migrate to PHPUnit 9.x (sanmai, keradus)
-* minor #5275 remove not supported verbose options (SpacePossum)
-* minor #5276 PHP8 - add NoUnreachableDefaultArgumentValueFixer to risky set (SpacePossum)
-* minor #5277 PHP8 - Constructor Property Promotion support (SpacePossum)
-* minor #5292 Disable blank issue template and expose community chat (keradus)
-* minor #5293 Add documentation to "yoda_style" sniff to convert Yoda style to non-Yoda style (Luc45)
-* minor #5295 Run static code analysis off GitHub Actions (sanmai)
-* minor #5298 Add yamllint workflow, validates .yaml files (sanmai)
-* minor #5302 SingleLineCommentStyleFixer - do not fix possible attributes (PHP8) (SpacePossum)
-* minor #5303 Drop CircleCI and AppVeyor (keradus)
-* minor #5304 DX: rename TravisTest, as we no longer test only Travis there (keradus)
-* minor #5305 Groom GitHub CI and move some checks from TravisCI to GitHub CI (keradus)
-* minor #5308 Only run yamllint when a YAML file is changed (julienfalque, keradus)
-* minor #5309 CICD: create yamllint config file (keradus)
-* minor #5311 OrderedClassElementsFixer - PHPUnit Bridge support (ktomk)
-* minor #5316 PHP8 - Attribute support (SpacePossum)
-* minor #5321 DX: little code grooming (keradus)
-
-Changelog for v2.16.8
----------------------
-
-* bug #5325 NoBreakCommentFixer - better throw handling (SpacePossum)
-* bug #5327 StaticLambdaFixer - fix for arrow function used in class with $this (kubawerlos, SpacePossum)
-* bug #5333 Fix file missing for php8 (jderusse)
-* minor #5328 Fixed deprecation message version (GrahamCampbell)
-* minor #5330 DX: cleanup Github Actions configs (kubawerlos)
-
-Changelog for v2.16.5
----------------------
-
-* bug #4378 PhpUnitNoExpectationAnnotationFixer - annotation in single line doc comment (kubawerlos)
-* bug #4936 HeaderCommentFixer - Fix unexpected removal of regular comments (julienfalque)
-* bug #5006 PhpdocToParamTypeFixer - fix for breaking PHP syntax for type having reserved name (kubawerlos)
-* bug #5016 NoSuperfluousPhpdocTagsFixer - fix for @return with @inheritDoc in description (kubawerlos)
-* bug #5017 PhpdocTrimConsecutiveBlankLineSeparationFixer - must run after AlignMultilineCommentFixer (kubawerlos)
-* bug #5032 SingleLineAfterImportsFixer - fix for line after import (and before another import) already added using CRLF (kubawerlos)
-* bug #5033 VoidReturnFixer - must run after NoSuperfluousPhpdocTagsFixer (kubawerlos)
-* bug #5038 HelpCommandTest - toString nested array (SpacePossum)
-* bug #5040 LinebreakAfterOpeningTagFixer - do not change code if linebreak already present (kubawerlos)
-* bug #5044 StandardizeIncrementFixer - fix handling static properties (kubawerlos)
-* bug #5045 BacktickToShellExecFixer - add priority relation to NativeFunctionInvocationFixer and SingleQuoteFixer (kubawerlos)
-* bug #5054 PhpdocTypesFixer - fix for multidimensional array (kubawerlos)
-* bug #5065 TernaryOperatorSpacesFixer - fix for discovering ":" correctly (kubawerlos)
-* bug #5068 Fixed php-cs-fixer crashes on input file syntax error (GrahamCampbell)
-* bug #5087 NoAlternativeSyntaxFixer - add support for switch and declare (SpacePossum)
-* bug #5092 PhpdocToParamTypeFixer - remove not used option (SpacePossum)
-* bug #5105 ClassKeywordRemoveFixer - fix for fully qualified class (kubawerlos)
-* bug #5113 TernaryOperatorSpacesFixer - handle goto labels (SpacePossum)
-* bug #5124 Fix TernaryToNullCoalescingFixer when dealing with object properties (HypeMC)
-* bug #5137 DoctrineAnnotationSpacesFixer - fix for typed properties (kubawerlos)
-* bug #5180 Always lint test cases with the stricter process linter (GrahamCampbell)
-* bug #5190 PhpUnit*Fixers - Only fix in unit test class scope (SpacePossum)
-* bug #5195 YodaStyle - statements in braces should be treated as variables in strict … (SpacePossum)
-* bug #5220 NoUnneededFinalMethodFixer - do not fix private constructors (SpacePossum)
-* feature #3475 Rework documentation (julienfalque, SpacePossum)
-* feature #5166 PHP8 (SpacePossum)
-* minor #4878 ArrayIndentationFixer - refactor (julienfalque)
-* minor #5031 CI: skip_cleanup: true (keradus)
-* minor #5035 PhpdocToParamTypeFixer - Rename attribute (SpacePossum)
-* minor #5048 Allow composer/semver ^2.0 and ^3.0 (thomasvargiu)
-* minor #5050 DX: moving integration test for braces, indentation_type and no_break_comment into right place (kubawerlos)
-* minor #5051 DX: move all tests from AutoReview\FixerTest to Test\AbstractFixerTestCase (kubawerlos)
-* minor #5053 DX: cleanup FunctionTypehintSpaceFixer (kubawerlos)
-* minor #5056 DX: add missing priority test for indentation_type and phpdoc_indent (kubawerlos)
-* minor #5077 DX: add missing priority test between NoUnsetCastFixer and BinaryOperatorSpacesFixer (kubawerlos)
-* minor #5083 Update composer.json to prevent issue #5030 (mvorisek)
-* minor #5088 NoBreakCommentFixer - NoUselessElseFixer - priority test (SpacePossum)
-* minor #5100 Fixed invalid PHP 5.6 syntax (GrahamCampbell)
-* minor #5106 Symfony's finder already ignores vcs and dot files by default (GrahamCampbell)
-* minor #5112 DX: check file permissions (kubawerlos, SpacePossum)
-* minor #5122 Show runtime PHP version (kubawerlos)
-* minor #5132 Do not allow assignments in if statements (SpacePossum)
-* minor #5133 RuleSetTest - Early return for boolean and detect more defaults (SpacePossum)
-* minor #5139 revert some unneeded exclusions (SpacePossum)
-* minor #5148 Upgrade Xcode (kubawerlos)
-* minor #5149 NoUnsetOnPropertyFixer - risky description tweaks (SpacePossum)
-* minor #5161 minors (SpacePossum)
-* minor #5170 Fix test on PHP8 (SpacePossum)
-* minor #5172 Remove accidentally inserted newlines (GrahamCampbell)
-* minor #5173 Fix PHP8 RuleSet inherit (SpacePossum)
-* minor #5174 Corrected linting error messages (GrahamCampbell)
-* minor #5177 PHP8 (SpacePossum)
-* minor #5178 Fix tests (SpacePossum)
-* minor #5184 [FinalStaticAccessFixer] Handle new static() in final class (localheinz)
-* minor #5188 DX: Update sibling debs to version supporting PHP8/PHPUnit9 (keradus)
-* minor #5189 Create temporary linting file in system temp dir (keradus)
-* minor #5191 MethodArgumentSpaceFixer - support use/import of anonymous functions. (undefinedor)
-* minor #5193 DX: add AbstractPhpUnitFixer (kubawerlos)
-* minor #5204 DX: cleanup NullableTypeTransformerTest (kubawerlos)
-* minor #5207 Add © for logo (keradus)
-* minor #5208 DX: cleanup php-cs-fixer entry file (keradus)
-* minor #5210 CICD - temporarily disable problematic test (keradus)
-* minor #5211 CICD: fix file permissions (keradus)
-* minor #5213 DX: move report schemas to dedicated dir (keradus)
-* minor #5214 CICD: fix file permissions (keradus)
-* minor #5215 CICD: update checkbashisms (keradus)
-* minor #5217 CICD: use Composer v2 and drop hirak/prestissimo plugin (keradus)
-* minor #5218 DX: .gitignore - add .phpunit.result.cache (keradus)
-* minor #5222 Upgrade Xcode (kubawerlos)
-* minor #5223 Docs: regenerate docs on 2.16 line (keradus)
-
-Changelog for v2.16.4
----------------------
-
-* bug #3893 Fix handling /** and */ on the same line as the first and/or last annotation (dmvdbrugge)
-* bug #4919 PhpUnitTestAnnotationFixer - fix function starting with "test" and having lowercase letter after (kubawerlos)
-* bug #4929 YodaStyleFixer - handling equals empty array (kubawerlos)
-* bug #4934 YodaStyleFixer - fix for conditions weird are (kubawerlos)
-* bug #4958 OrderedImportsFixer - fix for trailing comma in group (kubawerlos)
-* bug #4959 BlankLineBeforeStatementFixer - handle comment case (SpacePossum)
-* bug #4962 MethodArgumentSpaceFixer - must run after MethodChainingIndentationFixer (kubawerlos)
-* bug #4963 PhpdocToReturnTypeFixer - fix for breaking PHP syntax for type having reserved name (kubawerlos, Slamdunk)
-* bug #4978 ArrayIndentationFixer - must run after MethodArgumentSpaceFixer (kubawerlos)
-* bug #4994 FinalInternalClassFixer - must run before ProtectedToPrivateFixer (kubawerlos)
-* bug #4996 NoEmptyCommentFixer - handle multiline comments (kubawerlos)
-* bug #4999 BlankLineBeforeStatementFixer - better comment handling (SpacePossum)
-* bug #5009 NoEmptyCommentFixer - better handle comments sequence (kubawerlos)
-* bug #5010 SimplifiedNullReturnFixer - must run before VoidReturnFixer (kubawerlos)
-* bug #5011 SingleClassElementPerStatementFixer - must run before ClassAttributesSeparationFixer (kubawerlos)
-* bug #5012 StrictParamFixer - must run before NativeFunctionInvocationFixer (kubawerlos)
-* bug #5014 PhpdocToParamTypeFixer - fix for void as param (kubawerlos)
-* bug #5018 PhpdocScalarFixer - fix for comment with Windows line endings (kubawerlos)
-* bug #5029 SingleLineAfterImportsFixer - fix for line after import already added using CRLF (kubawerlos)
-* minor #4904 Increase PHPStan level to 8 with strict rules (julienfalque)
-* minor #4920 Enhancement: Use DocBlock itself to make it multi-line (localheinz)
-* minor #4930 DX: ensure PhpUnitNamespacedFixer handles all classes (kubawerlos)
-* minor #4931 DX: add test to ensure each target version in PhpUnitTargetVersion has its set in RuleSet (kubawerlos)
-* minor #4932 DX: Travis CI config - fix warnings and infos (kubawerlos)
-* minor #4940 Reject empty path (julienfalque)
-* minor #4944 Fix grammar (julienfalque)
-* minor #4946 Allow "const" option on PHP <7.1 (julienfalque)
-* minor #4948 Added describe command to readme (david, 8ctopus)
-* minor #4949 Fixed build readme on Windows fails if using Git Bash (Mintty) (8ctopus)
-* minor #4954 Config - Trim path (julienfalque)
-* minor #4957 DX: Check trailing spaces in project files only (ktomk)
-* minor #4961 Assert all project source files are monolithic. (SpacePossum)
-* minor #4964 Fix PHPStan baseline (julienfalque)
-* minor #4965 Fix PHPStan baseline (julienfalque)
-* minor #4973 DX: test "isRisky" method in fixer tests, not as auto review (kubawerlos)
-* minor #4974 Minor: Fix typo (ktomk)
-* minor #4975 Revert PHPStan level to 5 (julienfalque)
-* minor #4976 Add instructions for PHPStan (julienfalque)
-* minor #4980 Introduce new issue templates (julienfalque)
-* minor #4981 Prevent error in CTTest::testConstants (for PHP8) (guilliamxavier)
-* minor #4982 Remove PHIVE (kubawerlos)
-* minor #4985 Fix tests with Symfony 5.1 (julienfalque)
-* minor #4987 PhpdocAnnotationWithoutDotFixer - handle unicode characters using mb_* (SpacePossum)
-* minor #5008 Enhancement: Social justification applied (gbyrka-fingo)
-* minor #5023 Fix issue templates (kubawerlos)
-* minor #5024 DX: add missing non-default code samples (kubawerlos)
-
-Changelog for v2.16.3
----------------------
-
-* bug #4915 Fix handling property PHPDocs with unsupported type (julienfalque)
-* minor #4916 Fix AppVeyor build (julienfalque)
-* minor #4917 CircleCI - Bump xcode to 11.4 (GrahamCampbell)
-* minor #4918 DX: do not fix ".phpt" files by default (kubawerlos)
-
-Changelog for v2.16.2
----------------------
-
-* bug #3820 Braces - (re)indenting comment issues (SpacePossum)
-* bug #3911 PhpdocVarWithoutNameFixer - fix for properties only (dmvdbrugge)
-* bug #4601 ClassKeywordRemoveFixer - Fix for namespace (yassine-ah, kubawerlos)
-* bug #4630 FullyQualifiedStrictTypesFixer - Ignore partial class names which look like FQCNs (localheinz, SpacePossum)
-* bug #4661 ExplicitStringVariableFixer - variables pair if one is already explicit (kubawerlos)
-* bug #4675 NonPrintableCharacterFixer - fix for backslash and quotes when changing to escape sequences (kubawerlos)
-* bug #4678 TokensAnalyzer::isConstantInvocation - fix for importing multiple classes with single "use" (kubawerlos)
-* bug #4682 Fix handling array type declaration in properties (julienfalque)
-* bug #4685 Improve Symfony 5 compatibility (keradus)
-* bug #4688 TokensAnalyzer::isConstantInvocation - Fix detection for fully qualified return type (julienfalque)
-* bug #4689 DeclareStrictTypesFixer - fix for "strict_types" set to "0" (kubawerlos)
-* bug #4690 PhpdocVarAnnotationCorrectOrderFixer - fix for multiline `@var` without type (kubawerlos)
-* bug #4710 SingleTraitInsertPerStatement - fix formatting for multiline "use" (kubawerlos)
-* bug #4711 Ensure that files from "tests" directory in release are autoloaded (kubawerlos)
-* bug #4749 TokensAnalyze::isUnaryPredecessorOperator fix for CT::T_ARRAY_INDEX_C… (SpacePossum)
-* bug #4759 Add more priority cases (SpacePossum)
-* bug #4761 NoSuperfluousElseifFixer - handle single line (SpacePossum)
-* bug #4783 NoSuperfluousPhpdocTagsFixer - fix for really big PHPDoc (kubawerlos, mvorisek)
-* bug #4787 NoUnneededFinalMethodFixer - Mark as risky (SpacePossum)
-* bug #4795 OrderedClassElementsFixer - Fix (SpacePossum)
-* bug #4801 GlobalNamespaceImportFixer - fix docblock handling (gharlan)
-* bug #4804 TokensAnalyzer::isUnarySuccessorOperator fix for array curly braces (SpacePossum)
-* bug #4807 IncrementStyleFixer - handle after ")" (SpacePossum)
-* bug #4808 Modernize types casting fixer array curly (SpacePossum)
-* bug #4809 Fix "braces" and "method_argument_space" priority (julienfalque)
-* bug #4813 BracesFixer - fix invalid code generation on alternative syntax (SpacePossum)
-* bug #4822 fix 2 bugs in phpdoc_line_span (lmichelin)
-* bug #4823 ReturnAssignmentFixer - repeat fix (SpacePossum)
-* bug #4824 NoUnusedImportsFixer - SingleLineAfterImportsFixer - fix priority (SpacePossum)
-* bug #4825 GlobalNamespaceImportFixer - do not import global into global (SpacePossum)
-* bug #4829 YodaStyleFixer - fix precedence for T_MOD_EQUAL and T_COALESCE_EQUAL (SpacePossum)
-* bug #4830 TernaryToNullCoalescingFixer - handle yield from (SpacePossum)
-* bug #4835 Remove duplicate "function_to_constant" from RuleSet (SpacePossum)
-* bug #4840 LineEndingFixer - T_CLOSE_TAG support, StringLineEndingFixer - T_INLI… (SpacePossum)
-* bug #4846 FunctionsAnalyzer - better isGlobalFunctionCall detection (SpacePossum)
-* bug #4852 Priority issues (SpacePossum)
-* bug #4870 HeaderCommentFixer - do not remove class docs (gharlan)
-* bug #4871 NoExtraBlankLinesFixer - handle cases on same line (SpacePossum)
-* bug #4895 Fix conflict between header_comment and declare_strict_types (BackEndTea, julienfalque)
-* bug #4911 PhpdocSeparationFixer - fix regression with lack of next line (keradus)
-* feature #4742 FunctionToConstantFixer - get_class($this) support (SpacePossum)
-* minor #4377 CommentsAnalyzer - fix for declare before header comment (kubawerlos)
-* minor #4636 DX: do not check for PHPDBG when collecting coverage (kubawerlos)
-* minor #4644 Docs: add info about "-vv..." (voku)
-* minor #4691 Run Travis CI on stable PHP 7.4 (kubawerlos)
-* minor #4693 Increase Travis CI Git clone depth (julienfalque)
-* minor #4699 LineEndingFixer - handle "\r\r\n" (kubawerlos)
-* minor #4703 NoSuperfluousPhpdocTagsFixer,PhpdocAddMissingParamAnnotationFixer - p… (SpacePossum)
-* minor #4707 Fix typos (TysonAndre)
-* minor #4712 NoBlankLinesAfterPhpdocFixer — Do not strip newline between docblock and use statements (mollierobbert)
-* minor #4715 Enhancement: Install ergebnis/composer-normalize via Phive (localheinz)
-* minor #4722 Fix Circle CI build (julienfalque)
-* minor #4724 DX: Simplify installing PCOV (kubawerlos)
-* minor #4736 NoUnusedImportsFixer - do not match variable name as import (SpacePossum)
-* minor #4746 NoSuperfluousPhpdocTagsFixer - Remove for typed properties (PHP 7.4) (ruudk)
-* minor #4753 Do not apply any text/.git filters to fixtures (mvorisek)
-* minor #4757 Test $expected is used before $input (SpacePossum)
-* minor #4758 Autoreview the PHPDoc of *Fixer::getPriority based on the priority map (SpacePossum)
-* minor #4765 Add test on some return types (SpacePossum)
-* minor #4766 Remove false test skip (SpacePossum)
-* minor #4767 Remove useless priority comments (kubawerlos)
-* minor #4769 DX: add missing priority tests (kubawerlos)
-* minor #4772 NoUnneededFinalMethodFixer - update description (kubawerlos)
-* minor #4774 DX: simplify Utils::camelCaseToUnderscore (kubawerlos)
-* minor #4781 NoUnneededCurlyBracesFixer - handle namespaces (SpacePossum)
-* minor #4784 Travis CI - Use multiple keyservers (ktomk)
-* minor #4785 Improve static analysis (enumag)
-* minor #4788 Configurable fixers code sample (SpacePossum)
-* minor #4791 Increase PHPStan level to 3 (julienfalque)
-* minor #4797 clean ups (SpacePossum)
-* minor #4803 FinalClassFixer - Doctrine\ORM\Mapping as ORM alias should not be required (localheinz)
-* minor #4839 2.15 - clean ups (SpacePossum)
-* minor #4842 ReturnAssignmentFixer - Support more cases (julienfalque)
-* minor #4843 NoSuperfluousPhpdocTagsFixer - fix typo in option description (OndraM)
-* minor #4844 Same requirements for descriptions (SpacePossum)
-* minor #4849 Increase PHPStan level to 5 (julienfalque)
-* minor #4850 Fix phpstan (SpacePossum)
-* minor #4857 Fixed the unit tests (GrahamCampbell)
-* minor #4865 Use latest xcode image (GrahamCampbell)
-* minor #4892 CombineNestedDirnameFixer - Add space after comma (julienfalque)
-* minor #4894 DX: PhpdocToParamTypeFixer - improve typing (keradus)
-* minor #4898 FixerTest - yield the data in AutoReview (Nyholm)
-* minor #4899 Fix exception message format for fabbot.io (SpacePossum)
-* minor #4905 Support composer v2 installed.json files (GrahamCampbell)
-* minor #4906 CI: use Composer stable release for AppVeyor (kubawerlos)
-* minor #4909 DX: HeaderCommentFixer - use non-aliased version of option name in code (keradus)
-* minor #4912 CI: Fix AppVeyor integration (keradus)
-
-Changelog for v2.16.1
----------------------
-
-* bug #4476 FunctionsAnalyzer - add "isTheSameClassCall" for correct verifying of function calls (kubawerlos)
-* bug #4605 PhpdocToParamTypeFixer - cover more cases (keradus, julienfalque)
-* bug #4626 FinalPublicMethodForAbstractClassFixer - Do not attempt to mark abstract public methods as final (localheinz)
-* bug #4632 NullableTypeDeclarationForDefaultNullValueFixer - fix for not lowercase "null" (kubawerlos)
-* bug #4638 Ensure compatibility with PHP 7.4 (julienfalque)
-* bug #4641 Add typed properties test to VisibilityRequiredFixerTest (GawainLynch, julienfalque)
-* bug #4654 ArrayIndentationFixer - Fix array indentation for multiline values (julienfalque)
-* bug #4660 TokensAnalyzer::isConstantInvocation - fix for extending multiple interfaces (kubawerlos)
-* bug #4668 TokensAnalyzer::isConstantInvocation - fix for interface method return type (kubawerlos)
-* minor #4608 Allow Symfony 5 components (l-vo)
-* minor #4622 Disallow PHP 7.4 failures on Travis CI (julienfalque)
-* minor #4623 README - Mark up as code (localheinz)
-* minor #4637 PHP 7.4 integration test (GawainLynch, julienfalque)
-* minor #4643 DX: Update .gitattributes and move ci-integration.sh to root of the project (kubawerlos, keradus)
-* minor #4645 Check PHP extensions on runtime (kubawerlos)
-* minor #4655 Improve docs - README (mvorisek)
-* minor #4662 DX: generate headers in README.rst (kubawerlos)
-* minor #4669 Enable execution under PHP 7.4 (keradus)
-* minor #4670 TravisTest - rewrite tests to allow last supported by tool PHP version to be snapshot (keradus)
-* minor #4671 TravisTest - rewrite tests to allow last supported by tool PHP version to be snapshot (keradus)
-
-Changelog for v2.16.0
----------------------
-
-* feature #3810 PhpdocLineSpanFixer - Introduction (BackEndTea)
-* feature #3928 Add FinalPublicMethodForAbstractClassFixer (Slamdunk)
-* feature #4000 FinalStaticAccessFixer - Introduction (ntzm)
-* feature #4275 Issue #4274: Let lowercase_constants directive to be configurable. (drupol)
-* feature #4355 GlobalNamespaceImportFixer - Introduction (gharlan)
-* feature #4358 SelfStaticAccessorFixer - Introduction (SpacePossum)
-* feature #4385 CommentToPhpdocFixer - allow to ignore tags (kubawerlos)
-* feature #4401 Add NullableTypeDeclarationForDefaultNullValueFixer (HypeMC)
-* feature #4452 Add SingleLineThrowFixer (kubawerlos)
-* feature #4500 NoSuperfluousPhpdocTags - Add remove_inheritdoc option (julienfalque)
-* feature #4505 NoSuperfluousPhpdocTagsFixer - allow params that aren't on the signature (azjezz)
-* feature #4531 PhpdocAlignFixer - add "property-read" and "property-write" to allowed tags (kubawerlos)
-* feature #4583 Phpdoc to param type fixer rebase (jg-development)
-* minor #4033 Raise deprecation warnings on usage of deprecated aliases (ntzm)
-* minor #4423 DX: update branch alias (keradus)
-* minor #4537 SelfStaticAccessor - extend itests (keradus)
-* minor #4607 Configure no_superfluous_phpdoc_tags for Symfony (keradus)
-* minor #4618 DX: fix usage of deprecated options (0x450x6c)
-* minor #4619 Fix PHP 7.3 strict mode warnings (keradus)
-* minor #4621 Add single_line_throw to Symfony ruleset (keradus)
-
-Changelog for v2.15.10
-----------------------
-
-* bug #5095 Annotation - fix for Windows line endings (SpacePossum)
-* bug #5221 NoSuperfluousPhpdocTagsFixer - fix for single line PHPDoc (kubawerlos)
-* bug #5225 TernaryOperatorSpacesFixer - fix for alternative control structures (kubawerlos)
-* bug #5235 ArrayIndentationFixer - fix for nested arrays (kubawerlos)
-* bug #5248 NoBreakCommentFixer - fix throw detect (SpacePossum)
-* bug #5250 SwitchAnalyzer - fix for semicolon after case/default (kubawerlos)
-* bug #5253 IO - fix cache info message (SpacePossum)
-* bug #5274 TernaryToNullCoalescingFixer - concat precedence fix (SpacePossum)
-* feature #5216 Add RuleSets to docs (SpacePossum)
-* minor #5226 Applied CS fixes from 2.17-dev (GrahamCampbell)
-* minor #5229 Fixed incorrect phpdoc (GrahamCampbell)
-* minor #5231 CS: unify styling with younger branches (keradus)
-* minor #5232 PHP8 - throw expression support (SpacePossum)
-* minor #5233 DX: simplify check_file_permissions.sh (kubawerlos)
-* minor #5236 Improve handling of unavailable code samples (julienfalque, keradus)
-* minor #5239 PHP8 - Allow trailing comma in parameter list support (SpacePossum)
-* minor #5254 PHP8 - mixed type support (SpacePossum)
-* minor #5255 Tests: do not skip documentation test (keradus)
-* minor #5261 Do not update Composer twice (sanmai)
-* minor #5263 PHP8 support (SpacePossum)
-* minor #5266 PhpUnitTestCaseStaticMethodCallsFixer - PHPUnit 9.x support (sanmai)
-* minor #5267 Improve InstallViaComposerTest (sanmai)
-* minor #5276 PHP8 - add NoUnreachableDefaultArgumentValueFixer to risky set (SpacePossum)
-
-Changelog for v2.15.9
----------------------
-
-* bug #4378 PhpUnitNoExpectationAnnotationFixer - annotation in single line doc comment (kubawerlos)
-* bug #4936 HeaderCommentFixer - Fix unexpected removal of regular comments (julienfalque)
-* bug #5017 PhpdocTrimConsecutiveBlankLineSeparationFixer - must run after AlignMultilineCommentFixer (kubawerlos)
-* bug #5033 VoidReturnFixer - must run after NoSuperfluousPhpdocTagsFixer (kubawerlos)
-* bug #5038 HelpCommandTest - toString nested array (SpacePossum)
-* bug #5040 LinebreakAfterOpeningTagFixer - do not change code if linebreak already present (kubawerlos)
-* bug #5044 StandardizeIncrementFixer - fix handling static properties (kubawerlos)
-* bug #5045 BacktickToShellExecFixer - add priority relation to NativeFunctionInvocationFixer and SingleQuoteFixer (kubawerlos)
-* bug #5054 PhpdocTypesFixer - fix for multidimensional array (kubawerlos)
-* bug #5065 TernaryOperatorSpacesFixer - fix for discovering ":" correctly (kubawerlos)
-* bug #5068 Fixed php-cs-fixer crashes on input file syntax error (GrahamCampbell)
-* bug #5087 NoAlternativeSyntaxFixer - add support for switch and declare (SpacePossum)
-* bug #5105 ClassKeywordRemoveFixer - fix for fully qualified class (kubawerlos)
-* bug #5113 TernaryOperatorSpacesFixer - handle goto labels (SpacePossum)
-* bug #5124 Fix TernaryToNullCoalescingFixer when dealing with object properties (HypeMC)
-* bug #5137 DoctrineAnnotationSpacesFixer - fix for typed properties (kubawerlos)
-* bug #5180 Always lint test cases with the stricter process linter (GrahamCampbell)
-* bug #5190 PhpUnit*Fixers - Only fix in unit test class scope (SpacePossum)
-* bug #5195 YodaStyle - statements in braces should be treated as variables in strict … (SpacePossum)
-* bug #5220 NoUnneededFinalMethodFixer - do not fix private constructors (SpacePossum)
-* feature #3475 Rework documentation (julienfalque, SpacePossum)
-* feature #5166 PHP8 (SpacePossum)
-* minor #4878 ArrayIndentationFixer - refactor (julienfalque)
-* minor #5031 CI: skip_cleanup: true (keradus)
-* minor #5048 Allow composer/semver ^2.0 and ^3.0 (thomasvargiu)
-* minor #5050 DX: moving integration test for braces, indentation_type and no_break_comment into right place (kubawerlos)
-* minor #5051 DX: move all tests from AutoReview\FixerTest to Test\AbstractFixerTestCase (kubawerlos)
-* minor #5053 DX: cleanup FunctionTypehintSpaceFixer (kubawerlos)
-* minor #5056 DX: add missing priority test for indentation_type and phpdoc_indent (kubawerlos)
-* minor #5077 DX: add missing priority test between NoUnsetCastFixer and BinaryOperatorSpacesFixer (kubawerlos)
-* minor #5083 Update composer.json to prevent issue #5030 (mvorisek)
-* minor #5088 NoBreakCommentFixer - NoUselessElseFixer - priority test (SpacePossum)
-* minor #5100 Fixed invalid PHP 5.6 syntax (GrahamCampbell)
-* minor #5106 Symfony's finder already ignores vcs and dot files by default (GrahamCampbell)
-* minor #5112 DX: check file permissions (kubawerlos, SpacePossum)
-* minor #5122 Show runtime PHP version (kubawerlos)
-* minor #5132 Do not allow assignments in if statements (SpacePossum)
-* minor #5133 RuleSetTest - Early return for boolean and detect more defaults (SpacePossum)
-* minor #5139 revert some unneeded exclusions (SpacePossum)
-* minor #5148 Upgrade Xcode (kubawerlos)
-* minor #5149 NoUnsetOnPropertyFixer - risky description tweaks (SpacePossum)
-* minor #5161 minors (SpacePossum)
-* minor #5172 Remove accidentally inserted newlines (GrahamCampbell)
-* minor #5173 Fix PHP8 RuleSet inherit (SpacePossum)
-* minor #5174 Corrected linting error messages (GrahamCampbell)
-* minor #5177 PHP8 (SpacePossum)
-* minor #5188 DX: Update sibling debs to version supporting PHP8/PHPUnit9 (keradus)
-* minor #5189 Create temporary linting file in system temp dir (keradus)
-* minor #5191 MethodArgumentSpaceFixer - support use/import of anonymous functions. (undefinedor)
-* minor #5193 DX: add AbstractPhpUnitFixer (kubawerlos)
-* minor #5204 DX: cleanup NullableTypeTransformerTest (kubawerlos)
-* minor #5207 Add © for logo (keradus)
-* minor #5208 DX: cleanup php-cs-fixer entry file (keradus)
-* minor #5210 CICD - temporarily disable problematic test (keradus)
-* minor #5211 CICD: fix file permissions (keradus)
-* minor #5213 DX: move report schemas to dedicated dir (keradus)
-* minor #5214 CICD: fix file permissions (keradus)
-* minor #5215 CICD: update checkbashisms (keradus)
-* minor #5217 CICD: use Composer v2 and drop hirak/prestissimo plugin (keradus)
-* minor #5218 DX: .gitignore - add .phpunit.result.cache (keradus)
-* minor #5222 Upgrade Xcode (kubawerlos)
-
-Changelog for v2.15.8
----------------------
-
-* bug #3893 Fix handling /** and */ on the same line as the first and/or last annotation (dmvdbrugge)
-* bug #4919 PhpUnitTestAnnotationFixer - fix function starting with "test" and having lowercase letter after (kubawerlos)
-* bug #4929 YodaStyleFixer - handling equals empty array (kubawerlos)
-* bug #4934 YodaStyleFixer - fix for conditions weird are (kubawerlos)
-* bug #4958 OrderedImportsFixer - fix for trailing comma in group (kubawerlos)
-* bug #4959 BlankLineBeforeStatementFixer - handle comment case (SpacePossum)
-* bug #4962 MethodArgumentSpaceFixer - must run after MethodChainingIndentationFixer (kubawerlos)
-* bug #4963 PhpdocToReturnTypeFixer - fix for breaking PHP syntax for type having reserved name (kubawerlos, Slamdunk)
-* bug #4978 ArrayIndentationFixer - must run after MethodArgumentSpaceFixer (kubawerlos)
-* bug #4994 FinalInternalClassFixer - must run before ProtectedToPrivateFixer (kubawerlos)
-* bug #4996 NoEmptyCommentFixer - handle multiline comments (kubawerlos)
-* bug #4999 BlankLineBeforeStatementFixer - better comment handling (SpacePossum)
-* bug #5009 NoEmptyCommentFixer - better handle comments sequence (kubawerlos)
-* bug #5010 SimplifiedNullReturnFixer - must run before VoidReturnFixer (kubawerlos)
-* bug #5011 SingleClassElementPerStatementFixer - must run before ClassAttributesSeparationFixer (kubawerlos)
-* bug #5012 StrictParamFixer - must run before NativeFunctionInvocationFixer (kubawerlos)
-* bug #5029 SingleLineAfterImportsFixer - fix for line after import already added using CRLF (kubawerlos)
-* minor #4904 Increase PHPStan level to 8 with strict rules (julienfalque)
-* minor #4930 DX: ensure PhpUnitNamespacedFixer handles all classes (kubawerlos)
-* minor #4931 DX: add test to ensure each target version in PhpUnitTargetVersion has its set in RuleSet (kubawerlos)
-* minor #4932 DX: Travis CI config - fix warnings and infos (kubawerlos)
-* minor #4940 Reject empty path (julienfalque)
-* minor #4944 Fix grammar (julienfalque)
-* minor #4946 Allow "const" option on PHP <7.1 (julienfalque)
-* minor #4948 Added describe command to readme (david, 8ctopus)
-* minor #4949 Fixed build readme on Windows fails if using Git Bash (Mintty) (8ctopus)
-* minor #4954 Config - Trim path (julienfalque)
-* minor #4957 DX: Check trailing spaces in project files only (ktomk)
-* minor #4961 Assert all project source files are monolithic. (SpacePossum)
-* minor #4964 Fix PHPStan baseline (julienfalque)
-* minor #4973 DX: test "isRisky" method in fixer tests, not as auto review (kubawerlos)
-* minor #4974 Minor: Fix typo (ktomk)
-* minor #4975 Revert PHPStan level to 5 (julienfalque)
-* minor #4976 Add instructions for PHPStan (julienfalque)
-* minor #4980 Introduce new issue templates (julienfalque)
-* minor #4981 Prevent error in CTTest::testConstants (for PHP8) (guilliamxavier)
-* minor #4982 Remove PHIVE (kubawerlos)
-* minor #4985 Fix tests with Symfony 5.1 (julienfalque)
-* minor #4987 PhpdocAnnotationWithoutDotFixer - handle unicode characters using mb_* (SpacePossum)
-* minor #5008 Enhancement: Social justification applied (gbyrka-fingo)
-* minor #5023 Fix issue templates (kubawerlos)
-* minor #5024 DX: add missing non-default code samples (kubawerlos)
-
-Changelog for v2.15.7
----------------------
-
-* bug #4915 Fix handling property PHPDocs with unsupported type (julienfalque)
-* minor #4916 Fix AppVeyor build (julienfalque)
-* minor #4917 CircleCI - Bump xcode to 11.4 (GrahamCampbell)
-* minor #4918 DX: do not fix ".phpt" files by default (kubawerlos)
-
-Changelog for v2.15.6
----------------------
-
-* bug #3820 Braces - (re)indenting comment issues (SpacePossum)
-* bug #3911 PhpdocVarWithoutNameFixer - fix for properties only (dmvdbrugge)
-* bug #4601 ClassKeywordRemoveFixer - Fix for namespace (yassine-ah, kubawerlos)
-* bug #4630 FullyQualifiedStrictTypesFixer - Ignore partial class names which look like FQCNs (localheinz, SpacePossum)
-* bug #4661 ExplicitStringVariableFixer - variables pair if one is already explicit (kubawerlos)
-* bug #4675 NonPrintableCharacterFixer - fix for backslash and quotes when changing to escape sequences (kubawerlos)
-* bug #4678 TokensAnalyzer::isConstantInvocation - fix for importing multiple classes with single "use" (kubawerlos)
-* bug #4682 Fix handling array type declaration in properties (julienfalque)
-* bug #4685 Improve Symfony 5 compatibility (keradus)
-* bug #4688 TokensAnalyzer::isConstantInvocation - Fix detection for fully qualified return type (julienfalque)
-* bug #4689 DeclareStrictTypesFixer - fix for "strict_types" set to "0" (kubawerlos)
-* bug #4690 PhpdocVarAnnotationCorrectOrderFixer - fix for multiline `@var` without type (kubawerlos)
-* bug #4710 SingleTraitInsertPerStatement - fix formatting for multiline "use" (kubawerlos)
-* bug #4711 Ensure that files from "tests" directory in release are autoloaded (kubawerlos)
-* bug #4749 TokensAnalyze::isUnaryPredecessorOperator fix for CT::T_ARRAY_INDEX_C… (SpacePossum)
-* bug #4759 Add more priority cases (SpacePossum)
-* bug #4761 NoSuperfluousElseifFixer - handle single line (SpacePossum)
-* bug #4783 NoSuperfluousPhpdocTagsFixer - fix for really big PHPDoc (kubawerlos, mvorisek)
-* bug #4787 NoUnneededFinalMethodFixer - Mark as risky (SpacePossum)
-* bug #4795 OrderedClassElementsFixer - Fix (SpacePossum)
-* bug #4804 TokensAnalyzer::isUnarySuccessorOperator fix for array curly braces (SpacePossum)
-* bug #4807 IncrementStyleFixer - handle after ")" (SpacePossum)
-* bug #4808 Modernize types casting fixer array curly (SpacePossum)
-* bug #4809 Fix "braces" and "method_argument_space" priority (julienfalque)
-* bug #4813 BracesFixer - fix invalid code generation on alternative syntax (SpacePossum)
-* bug #4823 ReturnAssignmentFixer - repeat fix (SpacePossum)
-* bug #4824 NoUnusedImportsFixer - SingleLineAfterImportsFixer - fix priority (SpacePossum)
-* bug #4829 YodaStyleFixer - fix precedence for T_MOD_EQUAL and T_COALESCE_EQUAL (SpacePossum)
-* bug #4830 TernaryToNullCoalescingFixer - handle yield from (SpacePossum)
-* bug #4835 Remove duplicate "function_to_constant" from RuleSet (SpacePossum)
-* bug #4840 LineEndingFixer - T_CLOSE_TAG support, StringLineEndingFixer - T_INLI… (SpacePossum)
-* bug #4846 FunctionsAnalyzer - better isGlobalFunctionCall detection (SpacePossum)
-* bug #4852 Priority issues (SpacePossum)
-* bug #4870 HeaderCommentFixer - do not remove class docs (gharlan)
-* bug #4871 NoExtraBlankLinesFixer - handle cases on same line (SpacePossum)
-* bug #4895 Fix conflict between header_comment and declare_strict_types (BackEndTea, julienfalque)
-* bug #4911 PhpdocSeparationFixer - fix regression with lack of next line (keradus)
-* feature #4742 FunctionToConstantFixer - get_class($this) support (SpacePossum)
-* minor #4377 CommentsAnalyzer - fix for declare before header comment (kubawerlos)
-* minor #4636 DX: do not check for PHPDBG when collecting coverage (kubawerlos)
-* minor #4644 Docs: add info about "-vv..." (voku)
-* minor #4691 Run Travis CI on stable PHP 7.4 (kubawerlos)
-* minor #4693 Increase Travis CI Git clone depth (julienfalque)
-* minor #4699 LineEndingFixer - handle "\r\r\n" (kubawerlos)
-* minor #4703 NoSuperfluousPhpdocTagsFixer,PhpdocAddMissingParamAnnotationFixer - p… (SpacePossum)
-* minor #4707 Fix typos (TysonAndre)
-* minor #4712 NoBlankLinesAfterPhpdocFixer — Do not strip newline between docblock and use statements (mollierobbert)
-* minor #4715 Enhancement: Install ergebnis/composer-normalize via Phive (localheinz)
-* minor #4722 Fix Circle CI build (julienfalque)
-* minor #4724 DX: Simplify installing PCOV (kubawerlos)
-* minor #4736 NoUnusedImportsFixer - do not match variable name as import (SpacePossum)
-* minor #4746 NoSuperfluousPhpdocTagsFixer - Remove for typed properties (PHP 7.4) (ruudk)
-* minor #4753 Do not apply any text/.git filters to fixtures (mvorisek)
-* minor #4757 Test $expected is used before $input (SpacePossum)
-* minor #4758 Autoreview the PHPDoc of *Fixer::getPriority based on the priority map (SpacePossum)
-* minor #4765 Add test on some return types (SpacePossum)
-* minor #4766 Remove false test skip (SpacePossum)
-* minor #4767 Remove useless priority comments (kubawerlos)
-* minor #4769 DX: add missing priority tests (kubawerlos)
-* minor #4772 NoUnneededFinalMethodFixer - update description (kubawerlos)
-* minor #4774 DX: simplify Utils::camelCaseToUnderscore (kubawerlos)
-* minor #4781 NoUnneededCurlyBracesFixer - handle namespaces (SpacePossum)
-* minor #4784 Travis CI - Use multiple keyservers (ktomk)
-* minor #4785 Improve static analysis (enumag)
-* minor #4788 Configurable fixers code sample (SpacePossum)
-* minor #4791 Increase PHPStan level to 3 (julienfalque)
-* minor #4797 clean ups (SpacePossum)
-* minor #4803 FinalClassFixer - Doctrine\ORM\Mapping as ORM alias should not be required (localheinz)
-* minor #4839 2.15 - clean ups (SpacePossum)
-* minor #4842 ReturnAssignmentFixer - Support more cases (julienfalque)
-* minor #4844 Same requirements for descriptions (SpacePossum)
-* minor #4849 Increase PHPStan level to 5 (julienfalque)
-* minor #4857 Fixed the unit tests (GrahamCampbell)
-* minor #4865 Use latest xcode image (GrahamCampbell)
-* minor #4892 CombineNestedDirnameFixer - Add space after comma (julienfalque)
-* minor #4898 FixerTest - yield the data in AutoReview (Nyholm)
-* minor #4899 Fix exception message format for fabbot.io (SpacePossum)
-* minor #4905 Support composer v2 installed.json files (GrahamCampbell)
-* minor #4906 CI: use Composer stable release for AppVeyor (kubawerlos)
-* minor #4909 DX: HeaderCommentFixer - use non-aliased version of option name in code (keradus)
-* minor #4912 CI: Fix AppVeyor integration (keradus)
-
-Changelog for v2.15.5
----------------------
-
-* bug #4476 FunctionsAnalyzer - add "isTheSameClassCall" for correct verifying of function calls (kubawerlos)
-* bug #4641 Add typed properties test to VisibilityRequiredFixerTest (GawainLynch, julienfalque)
-* bug #4654 ArrayIndentationFixer - Fix array indentation for multiline values (julienfalque)
-* bug #4660 TokensAnalyzer::isConstantInvocation - fix for extending multiple interfaces (kubawerlos)
-* bug #4668 TokensAnalyzer::isConstantInvocation - fix for interface method return type (kubawerlos)
-* minor #4608 Allow Symfony 5 components (l-vo)
-* minor #4622 Disallow PHP 7.4 failures on Travis CI (julienfalque)
-* minor #4637 PHP 7.4 integration test (GawainLynch, julienfalque)
-* minor #4643 DX: Update .gitattributes and move ci-integration.sh to root of the project (kubawerlos, keradus)
-* minor #4645 Check PHP extensions on runtime (kubawerlos)
-* minor #4655 Improve docs - README (mvorisek)
-* minor #4662 DX: generate headers in README.rst (kubawerlos)
-* minor #4669 Enable execution under PHP 7.4 (keradus)
-* minor #4671 TravisTest - rewrite tests to allow last supported by tool PHP version to be snapshot (keradus)
-
-Changelog for v2.15.4
----------------------
-
-* bug #4183 IndentationTypeFixer - fix handling 2 spaces indent (kubawerlos)
-* bug #4406 NoSuperfluousElseifFixer - fix invalid escape sequence in character class (remicollet, SpacePossum)
-* bug #4416 NoUnusedImports - Fix imports detected as used in namespaces (julienfalque, SpacePossum)
-* bug #4518 PhpUnitNoExpectationAnnotationFixer - fix handling expect empty exception message (ktomk)
-* bug #4548 HeredocIndentationFixer - remove whitespace in empty lines (gharlan)
-* bug #4556 ClassKeywordRemoveFixer - fix for self,static and parent keywords (kubawerlos)
-* bug #4572 TokensAnalyzer - handle nested anonymous classes (SpacePossum)
-* bug #4573 CombineConsecutiveIssetsFixer - fix stop based on precedence (SpacePossum)
-* bug #4577 Fix command exit code on lint error after fixing fix. (SpacePossum)
-* bug #4581 FunctionsAnalyzer: fix for comment in type (kubawerlos)
-* bug #4586 BracesFixer - handle dynamic static method call (SpacePossum)
-* bug #4594 Braces - fix both single line comment styles (SpacePossum)
-* bug #4609 PhpdocTypesOrderFixer - Prevent unexpected default value change (laurent35240)
-* minor #4458 Add PHPStan (julienfalque)
-* minor #4479 IncludeFixer - remove braces when the statement is wrapped in block (kubawerlos)
-* minor #4490 Allow running if installed as project specific (ticktackk)
-* minor #4517 Verify PCRE pattern before use (ktomk)
-* minor #4521 Remove superfluous leading backslash, closes 4520 (ktomk)
-* minor #4532 DX: ensure data providers are used (kubawerlos)
-* minor #4534 Redo PHP7.4 - Add "str_split" => "mb_str_split" mapping (keradus, Slamdunk)
-* minor #4536 DX: use PHIVE for dev tools (keradus)
-* minor #4538 Docs: update Cookbook (keradus)
-* minor #4541 Enhancement: Use default name property to configure command names (localheinz)
-* minor #4546 DX: removing unnecessary variable initialization (kubawerlos)
-* minor #4549 DX: use ::class whenever possible (keradus, kubawerlos)
-* minor #4550 DX: travis_retry for dev-tools install (ktomk, keradus)
-* minor #4559 Allow 7.4snapshot to fail due to a bug on it (kubawerlos)
-* minor #4563 GitlabReporter - fix report output (mjanser)
-* minor #4564 Move readme-update command to Section 3 (iwasherefirst2)
-* minor #4566 Update symfony ruleset (gharlan)
-* minor #4570 Command::execute() should always return an integer (derrabus)
-* minor #4580 Add support for true/false return type hints. (SpacePossum)
-* minor #4584 Increase PHPStan level to 1 (julienfalque)
-* minor #4585 Fix deprecation notices (julienfalque)
-* minor #4587 Output details - Explain why a file was skipped (SpacePossum)
-* minor #4588 Fix STDIN test when path is one level deep (julienfalque)
-* minor #4589 PhpdocToReturnType - Add support for Foo[][] (SpacePossum)
-* minor #4593 Ensure compatibility with PHP 7.4 typed properties (julienfalque)
-* minor #4595 Import cannot be used after `::` so can be removed (SpacePossum)
-* minor #4596 Ensure compatibility with PHP 7.4 numeric literal separator (julienfalque)
-* minor #4597 Fix PHP 7.4 deprecation notices (julienfalque)
-* minor #4600 Ensure compatibility with PHP 7.4 arrow functions (julienfalque)
-* minor #4602 Ensure compatibility with PHP 7.4 spread operator in array expression (julienfalque)
-* minor #4603 Ensure compatibility with PHP 7.4 null coalescing assignment operator (julienfalque)
-* minor #4606 Configure no_superfluous_phpdoc_tags for Symfony (keradus)
-* minor #4610 Travis CI - Update known files list (julienfalque)
-* minor #4615 Remove workaround for dev-tools install reg. Phive (ktomk)
-
-Changelog for v2.15.3
----------------------
-
-* bug #4533 Revert PHP7.4 - Add "str_split" => "mb_str_split" mapping (keradus)
-* minor #4264 DX: AutoReview - ensure Travis handle all needed PHP versions (keradus)
-* minor #4524 MethodArgumentSpaceFixerTest - make explicit configuration to prevent fail on configuration change (keradus)
-
-Changelog for v2.15.2
----------------------
-
-* bug #4132 BlankLineAfterNamespaceFixer - do not remove indent, handle comments (kubawerlos)
-* bug #4384 MethodArgumentSpaceFixer - fix for on_multiline:ensure_fully_multiline with trailing comma in function call (kubawerlos)
-* bug #4404 FileLintingIterator - fix current value on end/invalid (SpacePossum)
-* bug #4421 FunctionTypehintSpaceFixer - Ensure single space between type declaration and parameter (localheinz)
-* bug #4436 MethodArgumentSpaceFixer - handle misplaced ) (keradus)
-* bug #4439 NoLeadingImportSlashFixer - Add space if needed (SpacePossum)
-* bug #4440 SimpleToComplexStringVariableFixer - Fix $ bug (dmvdbrugge)
-* bug #4453 Fix preg_match error on 7.4snapshot (kubawerlos)
-* bug #4461 IsNullFixer - fix null coalescing operator handling (linniksa)
-* bug #4467 ToolInfo - fix access to reference without checking existence (black-silence)
-* bug #4472 Fix non-static closure unbinding this on PHP 7.4 (kelunik)
-* minor #3726 Use Box 3 to build the PHAR (theofidry, keradus)
-* minor #4412 PHP 7.4 - Tests for support (SpacePossum)
-* minor #4431 DX: test that default config is not passed in RuleSet (kubawerlos)
-* minor #4433 DX: test to ensure @PHPUnitMigration rule sets are correctly defined (kubawerlos)
-* minor #4445 DX: static call of markTestSkippedOrFail (kubawerlos)
-* minor #4463 Add apostrophe to possessive "team's" (ChandlerSwift)
-* minor #4471 ReadmeCommandTest - use CommandTester (kubawerlos)
-* minor #4477 DX: control names of public methods in test's classes (kubawerlos)
-* minor #4483 NewWithBracesFixer - Fix object operator and curly brace open cases (SpacePossum)
-* minor #4484 fix typos in README (Sven Ludwig)
-* minor #4494 DX: Fix shell script syntax in order to fix Travis builds (drupol)
-* minor #4516 DX: Lock binary SCA tools versions (keradus)
-
-Changelog for v2.15.1
----------------------
-
-* bug #4418 PhpUnitNamespacedFixer - properly translate classes which do not follow translation pattern (ktomk)
-* bug #4419 PhpUnitTestCaseStaticMethodCallsFixer - skip anonymous classes and lambda (SpacePossum)
-* bug #4420 MethodArgumentSpaceFixer - PHP7.3 trailing commas in function calls (SpacePossum)
-* minor #4345 Travis: PHP 7.4 isn't allowed to fail anymore (Slamdunk)
-* minor #4403 LowercaseStaticReferenceFixer - Fix invalid PHP version in example (HypeMC)
-* minor #4424 DX: cleanup of composer.json - no need for branch-alias (keradus)
-* minor #4425 DX: assertions are static, adjust custom assertions (keradus)
-* minor #4426 DX: handle deprecations of symfony/event-dispatcher:4.3 (keradus)
-* minor #4427 DX: stop using reserved T_FN in code samples (keradus)
-* minor #4428 DX: update dev-tools (keradus)
-* minor #4429 DX: MethodArgumentSpaceFixerTest - fix hidden merge conflict (keradus)
-
-Changelog for v2.15.0
----------------------
-
-* feature #3927 Add FinalClassFixer (Slamdunk)
-* feature #3939 Add PhpUnitSizeClassFixer (Jefersson Nathan)
-* feature #3942 SimpleToComplexStringVariableFixer - Introduction (dmvdbrugge, SpacePossum)
-* feature #4113 OrderedInterfacesFixer - Introduction (dmvdbrugge)
-* feature #4121 SingleTraitInsertPerStatementFixer - Introduction (SpacePossum)
-* feature #4126 NativeFunctionTypeDeclarationCasingFixer - Introduction (SpacePossum)
-* feature #4167 PhpUnitMockShortWillReturnFixer - Introduction (michadam-pearson)
-* feature #4191 [7.3] NoWhitespaceBeforeCommaInArrayFixer - fix comma after heredoc-end (gharlan)
-* feature #4288 Add Gitlab Reporter (hco)
-* feature #4328 Add PhpUnitDedicateAssertInternalTypeFixer (Slamdunk)
-* feature #4341 [7.3] TrailingCommaInMultilineArrayFixer - fix comma after heredoc-end (gharlan)
-* feature #4342 [7.3] MethodArgumentSpaceFixer - fix comma after heredoc-end (gharlan)
-* minor #4112 NoSuperfluousPhpdocTagsFixer - Add missing code sample, groom tests (keradus, SpacePossum)
-* minor #4360 Add gitlab as output format in the README/help doc. (SpacePossum)
-* minor #4386 Add PhpUnitMockShortWillReturnFixer to @Symfony:risky rule set (kubawerlos)
-* minor #4398 New ruleset "@PHP73Migration" (gharlan)
-* minor #4399 Fix 2.15 line (keradus)
-
-Changelog for v2.14.6
----------------------
-
-* bug #4533 Revert PHP7.4 - Add "str_split" => "mb_str_split" mapping (keradus)
-* minor #4264 DX: AutoReview - ensure Travis handle all needed PHP versions (keradus)
-* minor #4524 MethodArgumentSpaceFixerTest - make explicit configuration to prevent fail on configuration change (keradus)
-
-Changelog for v2.14.5
----------------------
-
-* bug #4132 BlankLineAfterNamespaceFixer - do not remove indent, handle comments (kubawerlos)
-* bug #4384 MethodArgumentSpaceFixer - fix for on_multiline:ensure_fully_multiline with trailing comma in function call (kubawerlos)
-* bug #4404 FileLintingIterator - fix current value on end/invalid (SpacePossum)
-* bug #4421 FunctionTypehintSpaceFixer - Ensure single space between type declaration and parameter (localheinz)
-* bug #4436 MethodArgumentSpaceFixer - handle misplaced ) (keradus)
-* bug #4439 NoLeadingImportSlashFixer - Add space if needed (SpacePossum)
-* bug #4453 Fix preg_match error on 7.4snapshot (kubawerlos)
-* bug #4461 IsNullFixer - fix null coalescing operator handling (linniksa)
-* bug #4467 ToolInfo - fix access to reference without checking existence (black-silence)
-* bug #4472 Fix non-static closure unbinding this on PHP 7.4 (kelunik)
-* minor #3726 Use Box 3 to build the PHAR (theofidry, keradus)
-* minor #4412 PHP 7.4 - Tests for support (SpacePossum)
-* minor #4431 DX: test that default config is not passed in RuleSet (kubawerlos)
-* minor #4433 DX: test to ensure @PHPUnitMigration rule sets are correctly defined (kubawerlos)
-* minor #4445 DX: static call of markTestSkippedOrFail (kubawerlos)
-* minor #4463 Add apostrophe to possessive "team's" (ChandlerSwift)
-* minor #4471 ReadmeCommandTest - use CommandTester (kubawerlos)
-* minor #4477 DX: control names of public methods in test's classes (kubawerlos)
-* minor #4483 NewWithBracesFixer - Fix object operator and curly brace open cases (SpacePossum)
-* minor #4484 fix typos in README (Sven Ludwig)
-* minor #4494 DX: Fix shell script syntax in order to fix Travis builds (drupol)
-* minor #4516 DX: Lock binary SCA tools versions (keradus)
-
-Changelog for v2.14.4
----------------------
-
-* bug #4418 PhpUnitNamespacedFixer - properly translate classes which do not follow translation pattern (ktomk)
-* bug #4419 PhpUnitTestCaseStaticMethodCallsFixer - skip anonymous classes and lambda (SpacePossum)
-* bug #4420 MethodArgumentSpaceFixer - PHP7.3 trailing commas in function calls (SpacePossum)
-* minor #4345 Travis: PHP 7.4 isn't allowed to fail anymore (Slamdunk)
-* minor #4403 LowercaseStaticReferenceFixer - Fix invalid PHP version in example (HypeMC)
-* minor #4425 DX: assertions are static, adjust custom assertions (keradus)
-* minor #4426 DX: handle deprecations of symfony/event-dispatcher:4.3 (keradus)
-* minor #4427 DX: stop using reserved T_FN in code samples (keradus)
-* minor #4428 DX: update dev-tools (keradus)
-
-Changelog for v2.14.3
----------------------
-
-* bug #4298 NoTrailingWhitespaceInCommentFixer - fix for non-Unix line separators (kubawerlos)
-* bug #4303 FullyQualifiedStrictTypesFixer - Fix the short type detection when a question mark (nullable) is prefixing it. (drupol)
-* bug #4313 SelfAccessorFixer - fix for part qualified class name (kubawerlos, SpacePossum)
-* bug #4314 PhpUnitTestCaseStaticMethodCallsFixer - fix for having property with name as method to update (kubawerlos, SpacePossum)
-* bug #4316 NoUnsetCastFixer - Test for higher-precedence operators (SpacePossum)
-* bug #4327 TokensAnalyzer - add concat operator to list of binary operators (SpacePossum)
-* bug #4335 Cache - add indent and line ending to cache signature (dmvdbrugge)
-* bug #4344 VoidReturnFixer - handle yield from (SpacePossum)
-* bug #4346 BracesFixer - Do not pull close tag onto same line as a comment (SpacePossum)
-* bug #4350 StrictParamFixer - Don't detect functions in use statements (bolmstedt)
-* bug #4357 Fix short list syntax detection. (SpacePossum)
-* bug #4365 Fix output escaping of diff for text format when line is not changed (SpacePossum)
-* bug #4370 PhpUnitConstructFixer - Fix handle different casing (SpacePossum)
-* bug #4379 ExplicitStringVariableFixer - add test case for variable as an array key (kubawerlos, Slamdunk)
-* feature #4337 PhpUnitTestCaseStaticMethodCallsFixer - prepare for PHPUnit 8 (kubawerlos)
-* minor #3799 DX: php_unit_test_case_static_method_calls - use default config (keradus)
-* minor #4103 NoExtraBlankLinesFixer - fix candidate detection (SpacePossum)
-* minor #4245 LineEndingFixer - BracesFixer - Priority (dmvdbrugge)
-* minor #4325 Use lowercase mikey179/vfsStream in composer.json (lolli42)
-* minor #4336 Collect coverage with PCOV (kubawerlos)
-* minor #4338 Fix wording (kmvan, kubawerlos)
-* minor #4339 Change BracesFixer to avoid indenting PHP inline braces (alecgeatches)
-* minor #4340 Travis: build against 7.4snapshot instead of nightly (Slamdunk)
-* minor #4351 code grooming (SpacePossum)
-* minor #4353 Add more priority tests (SpacePossum)
-* minor #4364 DX: MethodChainingIndentationFixer - remove unnecessary loop (Sijun Zhu)
-* minor #4366 Unset the auxiliary variable $a (GrahamCampbell)
-* minor #4368 Fixed TypeShortNameResolverTest::testResolver (GrahamCampbell)
-* minor #4380 PHP7.4 - Add "str_split" => "mb_str_split" mapping. (SpacePossum)
-* minor #4381 PHP7.4 - Add support for magic methods (un)serialize. (SpacePossum)
-* minor #4393 DX: add missing explicit return types (kubawerlos)
-
-Changelog for v2.14.2
----------------------
-
-* minor #4306 DX: Drop HHVM conflict on Composer level to help Composer with HHVM compatibility, we still prevent HHVM on runtime (keradus)
-
-Changelog for v2.14.1
----------------------
-
-* bug #4240 ModernizeTypesCastingFixer - fix for operators with higher precedence (kubawerlos)
-* bug #4254 PhpUnitDedicateAssertFixer - fix for count with additional operations (kubawerlos)
-* bug #4260 Psr0Fixer and Psr4Fixer - fix for multiple classes in file with anonymous class (kubawerlos)
-* bug #4262 FixCommand - fix help (keradus)
-* bug #4276 MethodChainingIndentationFixer, ArrayIndentationFixer - Fix priority issue (dmvdbrugge)
-* bug #4280 MethodArgumentSpaceFixer - Fix method argument alignment (Billz95)
-* bug #4286 IncrementStyleFixer - fix for static statement (kubawerlos)
-* bug #4291 ArrayIndentationFixer - Fix indentation after trailing spaces (julienfalque, keradus)
-* bug #4292 NoSuperfluousPhpdocTagsFixer - Make null only type not considered superfluous (julienfalque)
-* minor #4204 DX: Tokens - do not unregister/register found tokens when collection is not changing (kubawerlos)
-* minor #4235 DX: more specific @param types (kubawerlos)
-* minor #4263 DX: AppVeyor - bump PHP version (keradus)
-* minor #4293 Add official support for PHP 7.3 (keradus)
-* minor #4295 DX: MethodArgumentSpaceFixerTest - fix edge case for handling different line ending when only expected code is provided (keradus)
-* minor #4296 DX: cleanup testing with fixer config (keradus)
-* minor #4299 NativeFunctionInvocationFixer - add array_key_exists (deguif, keradus)
-* minor #4300 DX: cleanup testing with fixer config (keradus)
-
-Changelog for v2.14.0
----------------------
-
-* bug #4220 NativeFunctionInvocationFixer - namespaced strict to remove backslash (kubawerlos)
-* feature #3881 Add PhpdocVarAnnotationCorrectOrderFixer (kubawerlos)
-* feature #3915 Add HeredocIndentationFixer (gharlan)
-* feature #4002 NoSuperfluousPhpdocTagsFixer - Allow `mixed` in superfluous PHPDoc by configuration (MortalFlesh)
-* feature #4030 Add get_required_files and user_error aliases (ntzm)
-* feature #4043 NativeFunctionInvocationFixer - add option to remove redundant backslashes (kubawerlos)
-* feature #4102 Add NoUnsetCastFixer (SpacePossum)
-* minor #4025 Add phpdoc_types_order rule to Symfony's ruleset (carusogabriel)
-* minor #4213 [7.3] PHP7.3 integration tests (SpacePossum)
-* minor #4233 Add official support for PHP 7.3 (keradus)
-
-Changelog for v2.13.3
----------------------
-
-* bug #4216 Psr4Fixer - fix for multiple classy elements in file (keradus, kubawerlos)
-* bug #4217 Psr0Fixer - class with anonymous class (kubawerlos)
-* bug #4219 NativeFunctionCasingFixer - handle T_RETURN_REF (kubawerlos)
-* bug #4224 FunctionToConstantFixer - handle T_RETURN_REF (SpacePossum)
-* bug #4229 IsNullFixer - fix parenthesis not closed (guilliamxavier)
-* minor #4193 [7.3] CombineNestedDirnameFixer - support PHP 7.3 (kubawerlos)
-* minor #4198 [7.3] PowToExponentiationFixer - adding to PHP7.3 integration test (kubawerlos)
-* minor #4199 [7.3] MethodChainingIndentationFixer - add tests for PHP 7.3 (kubawerlos)
-* minor #4200 [7.3] ModernizeTypesCastingFixer - support PHP 7.3 (kubawerlos)
-* minor #4201 [7.3] MultilineWhitespaceBeforeSemicolonsFixer - add tests for PHP 7.3 (kubawerlos)
-* minor #4202 [7.3] ErrorSuppressionFixer - support PHP 7.3 (kubawerlos)
-* minor #4205 DX: PhpdocAlignFixer - refactor to use DocBlock (kubawerlos)
-* minor #4206 DX: enable multiline_whitespace_before_semicolons (keradus)
-* minor #4207 [7.3] RandomApiMigrationFixerTest - tests for 7.3 (SpacePossum)
-* minor #4208 [7.3] NativeFunctionCasingFixerTest - tests for 7.3 (SpacePossum)
-* minor #4209 [7.3] PhpUnitStrictFixerTest - tests for 7.3 (SpacePossum)
-* minor #4210 [7.3] PhpUnitConstructFixer - add test for PHP 7.3 (kubawerlos)
-* minor #4211 [7.3] PhpUnitDedicateAssertFixer - support PHP 7.3 (kubawerlos)
-* minor #4214 [7.3] NoUnsetOnPropertyFixerTest - tests for 7.3 (SpacePossum)
-* minor #4222 [7.3] PhpUnitExpectationFixer - support PHP 7.3 (kubawerlos)
-* minor #4223 [7.3] PhpUnitMockFixer - add tests for PHP 7.3 (kubawerlos)
-* minor #4230 [7.3] IsNullFixer - fix trailing comma (guilliamxavier)
-* minor #4232 DX: remove Utils::splitLines (kubawerlos)
-* minor #4234 [7.3] Test that "LITERAL instanceof X" is valid (guilliamxavier)
-
-Changelog for v2.13.2
----------------------
-
-* bug #3968 SelfAccessorFixer - support FQCN (kubawerlos)
-* bug #3974 Psr4Fixer - class with anonymous class (kubawerlos)
-* bug #3987 Run HeaderCommentFixer after NoBlankLinesAfterPhpdocFixer (StanAngeloff)
-* bug #4009 TypeAlternationTransformer - Fix pipes in function call with constants being classified incorrectly (ntzm, SpacePossum)
-* bug #4022 NoUnsetOnPropertyFixer - refactor and bugfixes (kubawerlos)
-* bug #4036 ExplicitStringVariableFixer - fixes for backticks and for 2 variables next to each other (kubawerlos, Slamdunk)
-* bug #4038 CommentToPhpdocFixer - handling nested PHPDoc (kubawerlos)
-* bug #4064 Ignore invalid mode strings, add option to remove the "b" flag. (SpacePossum)
-* bug #4071 DX: do not insert Token when calling removeLeadingWhitespace/removeTrailingWhitespace from Tokens (kubawerlos)
-* bug #4073 IsNullFixer - fix function detection (kubawerlos)
-* bug #4074 FileFilterIterator - do not filter out files that need fixing (SpacePossum)
-* bug #4076 EregToPregFixer - fix function detection (kubawerlos)
-* bug #4084 MethodChainingIndentation - fix priority with Braces (dmvdbrugge)
-* bug #4099 HeaderCommentFixer - throw exception on invalid header configuration (SpacePossum)
-* bug #4100 PhpdocAddMissingParamAnnotationFixer - Handle variable number of arguments and pass by reference cases (SpacePossum)
-* bug #4101 ReturnAssignmentFixer - do not touch invalid code (SpacePossum)
-* bug #4104 Change transformers order, fixing untransformed T_USE (dmvdbrugge)
-* bug #4107 Preg::split - fix for non-UTF8 subject (ostrolucky, kubawerlos)
-* bug #4109 NoBlankLines*: fix removing lines consisting only of spaces (kubawerlos, keradus)
-* bug #4114 VisibilityRequiredFixer - don't remove comments (kubawerlos)
-* bug #4116 OrderedImportsFixer - fix sorting without any grouping (SpacePossum)
-* bug #4119 PhpUnitNoExpectationAnnotationFixer - fix extracting content from annotation (kubawerlos)
-* bug #4127 LowercaseConstantsFixer - Fix case with properties using constants as their name (srathbone)
-* bug #4134 [7.3] SquareBraceTransformer - nested array destructuring not handled correctly (SpacePossum)
-* bug #4153 PhpUnitFqcnAnnotationFixer - handle only PhpUnit classes (kubawerlos)
-* bug #4169 DirConstantFixer - Fixes for PHP7.3 syntax (SpacePossum)
-* bug #4181 MultilineCommentOpeningClosingFixer - fix handling empty comment (kubawerlos)
-* bug #4186 Tokens - fix removal of leading/trailing whitespace with empty token in collection (kubawerlos)
-* minor #3436 Add a handful of integration tests (BackEndTea)
-* minor #3774 PhpUnitTestClassRequiresCoversFixer - Remove unneeded loop and use phpunit indicator class (BackEndTea, SpacePossum)
-* minor #3778 DX: Throw an exception if FileReader::read fails (ntzm)
-* minor #3916 New ruleset "@PhpCsFixer" (gharlan)
-* minor #4007 Fixes cookbook for fixers (greeflas)
-* minor #4031 Correct FixerOptionBuilder::getOption return type (ntzm)
-* minor #4046 Token - Added fast isset() path to token->equals() (staabm)
-* minor #4047 Token - inline $other->getPrototype() to speedup equals() (staabm, keradus)
-* minor #4048 Tokens - inlined extractTokenKind() call on the hot path (staabm)
-* minor #4069 DX: Add dev-tools directory to gitattributes as export-ignore (alexmanno)
-* minor #4070 Docs: Add link to a VS Code extension in readme (jakebathman)
-* minor #4077 DX: cleanup - NoAliasFunctionsFixer - use FunctionsAnalyzer (kubawerlos)
-* minor #4088 Add Travis test with strict types (kubawerlos)
-* minor #4091 Adjust misleading sentence in CONTRIBUTING.md (ostrolucky)
-* minor #4092 UseTransformer - simplify/optimize (SpacePossum)
-* minor #4095 DX: Use ::class (keradus)
-* minor #4096 DX: fixing typo (kubawerlos)
-* minor #4097 DX: namespace casing (kubawerlos)
-* minor #4110 Enhancement: Update localheinz/composer-normalize (localheinz)
-* minor #4115 Changes for upcoming Travis' infra migration (sergeyklay)
-* minor #4122 DX: AppVeyor - Update Composer download link (SpacePossum)
-* minor #4128 DX: cleanup - AbstractFunctionReferenceFixer - use FunctionsAnalyzer (SpacePossum, kubawerlos)
-* minor #4129 Fix: Symfony 4.2 deprecations (kubawerlos)
-* minor #4139 DX: Fix CircleCI (kubawerlos)
-* minor #4142 [7.3] NoAliasFunctionsFixer - mbregex_encoding' => 'mb_regex_encoding (SpacePossum)
-* minor #4143 PhpUnitTestCaseStaticMethodCallsFixer - Add PHPUnit 7.5 new assertions (Slamdunk)
-* minor #4149 [7.3] ArgumentsAnalyzer - PHP7.3 support (SpacePossum)
-* minor #4161 DX: CI - show packages installed via Composer (keradus)
-* minor #4162 DX: Drop symfony/lts (keradus)
-* minor #4166 DX: do not use AbstractFunctionReferenceFixer when no need to (kubawerlos)
-* minor #4168 DX: FopenFlagsFixer - remove useless proxy method (SpacePossum)
-* minor #4171 Fix CircleCI cache (kubawerlos)
-* minor #4173 [7.3] PowToExponentiationFixer - add support for PHP7.3 (SpacePossum)
-* minor #4175 Fixing typo (kubawerlos)
-* minor #4177 CI: Check that tag is matching version of PHP CS Fixer during deployment (keradus)
-* minor #4180 Fixing typo (kubawerlos)
-* minor #4182 DX: update php-cs-fixer file style (kubawerlos)
-* minor #4185 [7.3] ImplodeCallFixer - add tests for PHP7.3 (kubawerlos)
-* minor #4187 [7.3] IsNullFixer - support PHP 7.3 (kubawerlos)
-* minor #4188 DX: cleanup (keradus)
-* minor #4189 Travis - add PHP 7.3 job (keradus)
-* minor #4190 Travis CI - fix config (kubawerlos)
-* minor #4192 [7.3] MagicMethodCasingFixer - add tests for PHP 7.3 (kubawerlos)
-* minor #4194 [7.3] NativeFunctionInvocationFixer - add tests for PHP 7.3 (kubawerlos)
-* minor #4195 [7.3] SetTypeToCastFixer - support PHP 7.3 (kubawerlos)
-* minor #4196 Update website (keradus)
-* minor #4197 [7.3] StrictParamFixer - support PHP 7.3 (kubawerlos)
-
-Changelog for v2.13.1
----------------------
-
-* bug #3977 NoSuperfluousPhpdocTagsFixer - Fix handling of description with variable (julienfalque)
-* bug #4027 PhpdocAnnotationWithoutDotFixer - add failing cases (keradus)
-* bug #4028 PhpdocNoEmptyReturnFixer - handle single line PHPDoc (kubawerlos)
-* bug #4034 PhpUnitTestCaseIndicator - handle anonymous class (kubawerlos)
-* bug #4037 NativeFunctionInvocationFixer - fix function detection (kubawerlos)
-* feature #4019 PhpdocTypesFixer - allow for configuration (keradus)
-* minor #3980 Clarifies allow-risky usage (josephzidell)
-* minor #4016 Bump console component due to it's bug (keradus)
-* minor #4023 Enhancement: Update localheinz/composer-normalize (localheinz)
-* minor #4049 use parent::offset*() methods when moving items around in insertAt() (staabm)
-
-Changelog for v2.13.0
----------------------
-
-* feature #3739 Add MagicMethodCasingFixer (SpacePossum)
-* feature #3812 Add FopenFlagOrderFixer & FopenFlagsFixer (SpacePossum)
-* feature #3826 Add CombineNestedDirnameFixer (gharlan)
-* feature #3833 BinaryOperatorSpacesFixer - Add "no space" fix strategy (SpacePossum)
-* feature #3841 NoAliasFunctionsFixer - add opt in option for ext-mbstring aliases (SpacePossum)
-* feature #3876 NativeConstantInvocationFixer - add the scope option (stof, keradus)
-* feature #3886 Add PhpUnitMethodCasingFixer (Slamdunk)
-* feature #3907 Add ImplodeCallFixer (kubawerlos)
-* feature #3914 NoUnreachableDefaultArgumentValueFixer - remove `null` for nullable typehints (gharlan, keradus)
-* minor #3813 PhpUnitDedicateAssertFixer - fix "sizeOf" same as "count". (SpacePossum)
-* minor #3873 Add the native_function_invocation fixer in the Symfony:risky ruleset (stof)
-* minor #3979 DX: enable php_unit_method_casing (keradus)
-
-Changelog for v2.12.12
-----------------------
-
-* bug #4533 Revert PHP7.4 - Add "str_split" => "mb_str_split" mapping (keradus)
-* minor #4264 DX: AutoReview - ensure Travis handle all needed PHP versions (keradus)
-* minor #4524 MethodArgumentSpaceFixerTest - make explicit configuration to prevent fail on configuration change (keradus)
-
-Changelog for v2.12.11
-----------------------
-
-* bug #4132 BlankLineAfterNamespaceFixer - do not remove indent, handle comments (kubawerlos)
-* bug #4384 MethodArgumentSpaceFixer - fix for on_multiline:ensure_fully_multiline with trailing comma in function call (kubawerlos)
-* bug #4404 FileLintingIterator - fix current value on end/invalid (SpacePossum)
-* bug #4421 FunctionTypehintSpaceFixer - Ensure single space between type declaration and parameter (localheinz)
-* bug #4436 MethodArgumentSpaceFixer - handle misplaced ) (keradus)
-* bug #4439 NoLeadingImportSlashFixer - Add space if needed (SpacePossum)
-* bug #4453 Fix preg_match error on 7.4snapshot (kubawerlos)
-* bug #4461 IsNullFixer - fix null coalescing operator handling (linniksa)
-* bug #4467 ToolInfo - fix access to reference without checking existence (black-silence)
-* bug #4472 Fix non-static closure unbinding this on PHP 7.4 (kelunik)
-* minor #3726 Use Box 3 to build the PHAR (theofidry, keradus)
-* minor #4412 PHP 7.4 - Tests for support (SpacePossum)
-* minor #4431 DX: test that default config is not passed in RuleSet (kubawerlos)
-* minor #4433 DX: test to ensure @PHPUnitMigration rule sets are correctly defined (kubawerlos)
-* minor #4445 DX: static call of markTestSkippedOrFail (kubawerlos)
-* minor #4463 Add apostrophe to possessive "team's" (ChandlerSwift)
-* minor #4471 ReadmeCommandTest - use CommandTester (kubawerlos)
-* minor #4477 DX: control names of public methods in test's classes (kubawerlos)
-* minor #4483 NewWithBracesFixer - Fix object operator and curly brace open cases (SpacePossum)
-* minor #4484 fix typos in README (Sven Ludwig)
-* minor #4494 DX: Fix shell script syntax in order to fix Travis builds (drupol)
-* minor #4516 DX: Lock binary SCA tools versions (keradus)
-
-Changelog for v2.12.10
-----------------------
-
-* bug #4418 PhpUnitNamespacedFixer - properly translate classes which do not follow translation pattern (ktomk)
-* bug #4419 PhpUnitTestCaseStaticMethodCallsFixer - skip anonymous classes and lambda (SpacePossum)
-* bug #4420 MethodArgumentSpaceFixer - PHP7.3 trailing commas in function calls (SpacePossum)
-* minor #4345 Travis: PHP 7.4 isn't allowed to fail anymore (Slamdunk)
-* minor #4403 LowercaseStaticReferenceFixer - Fix invalid PHP version in example (HypeMC)
-* minor #4425 DX: assertions are static, adjust custom assertions (keradus)
-* minor #4426 DX: handle deprecations of symfony/event-dispatcher:4.3 (keradus)
-* minor #4427 DX: stop using reserved T_FN in code samples (keradus)
-
-Changelog for v2.12.9
----------------------
-
-* bug #4298 NoTrailingWhitespaceInCommentFixer - fix for non-Unix line separators (kubawerlos)
-* bug #4303 FullyQualifiedStrictTypesFixer - Fix the short type detection when a question mark (nullable) is prefixing it. (drupol)
-* bug #4313 SelfAccessorFixer - fix for part qualified class name (kubawerlos, SpacePossum)
-* bug #4314 PhpUnitTestCaseStaticMethodCallsFixer - fix for having property with name as method to update (kubawerlos, SpacePossum)
-* bug #4327 TokensAnalyzer - add concat operator to list of binary operators (SpacePossum)
-* bug #4335 Cache - add indent and line ending to cache signature (dmvdbrugge)
-* bug #4344 VoidReturnFixer - handle yield from (SpacePossum)
-* bug #4346 BracesFixer - Do not pull close tag onto same line as a comment (SpacePossum)
-* bug #4350 StrictParamFixer - Don't detect functions in use statements (bolmstedt)
-* bug #4357 Fix short list syntax detection. (SpacePossum)
-* bug #4365 Fix output escaping of diff for text format when line is not changed (SpacePossum)
-* bug #4370 PhpUnitConstructFixer - Fix handle different casing (SpacePossum)
-* bug #4379 ExplicitStringVariableFixer - add test case for variable as an array key (kubawerlos, Slamdunk)
-* feature #4337 PhpUnitTestCaseStaticMethodCallsFixer - prepare for PHPUnit 8 (kubawerlos)
-* minor #3799 DX: php_unit_test_case_static_method_calls - use default config (keradus)
-* minor #4103 NoExtraBlankLinesFixer - fix candidate detection (SpacePossum)
-* minor #4245 LineEndingFixer - BracesFixer - Priority (dmvdbrugge)
-* minor #4325 Use lowercase mikey179/vfsStream in composer.json (lolli42)
-* minor #4336 Collect coverage with PCOV (kubawerlos)
-* minor #4338 Fix wording (kmvan, kubawerlos)
-* minor #4339 Change BracesFixer to avoid indenting PHP inline braces (alecgeatches)
-* minor #4340 Travis: build against 7.4snapshot instead of nightly (Slamdunk)
-* minor #4351 code grooming (SpacePossum)
-* minor #4353 Add more priority tests (SpacePossum)
-* minor #4364 DX: MethodChainingIndentationFixer - remove unnecessary loop (Sijun Zhu)
-* minor #4366 Unset the auxiliary variable $a (GrahamCampbell)
-* minor #4368 Fixed TypeShortNameResolverTest::testResolver (GrahamCampbell)
-* minor #4380 PHP7.4 - Add "str_split" => "mb_str_split" mapping. (SpacePossum)
-* minor #4393 DX: add missing explicit return types (kubawerlos)
-
-Changelog for v2.12.8
----------------------
-
-* minor #4306 DX: Drop HHVM conflict on Composer level to help Composer with HHVM compatibility, we still prevent HHVM on runtime (keradus)
-
-Changelog for v2.12.7
----------------------
-
-* bug #4240 ModernizeTypesCastingFixer - fix for operators with higher precedence (kubawerlos)
-* bug #4254 PhpUnitDedicateAssertFixer - fix for count with additional operations (kubawerlos)
-* bug #4260 Psr0Fixer and Psr4Fixer - fix for multiple classes in file with anonymous class (kubawerlos)
-* bug #4262 FixCommand - fix help (keradus)
-* bug #4276 MethodChainingIndentationFixer, ArrayIndentationFixer - Fix priority issue (dmvdbrugge)
-* bug #4280 MethodArgumentSpaceFixer - Fix method argument alignment (Billz95)
-* bug #4286 IncrementStyleFixer - fix for static statement (kubawerlos)
-* bug #4291 ArrayIndentationFixer - Fix indentation after trailing spaces (julienfalque, keradus)
-* bug #4292 NoSuperfluousPhpdocTagsFixer - Make null only type not considered superfluous (julienfalque)
-* minor #4204 DX: Tokens - do not unregister/register found tokens when collection is not changing (kubawerlos)
-* minor #4235 DX: more specific @param types (kubawerlos)
-* minor #4263 DX: AppVeyor - bump PHP version (keradus)
-* minor #4293 Add official support for PHP 7.3 (keradus)
-* minor #4295 DX: MethodArgumentSpaceFixerTest - fix edge case for handling different line ending when only expected code is provided (keradus)
-* minor #4296 DX: cleanup testing with fixer config (keradus)
-* minor #4299 NativeFunctionInvocationFixer - add array_key_exists (deguif, keradus)
-
-Changelog for v2.12.6
----------------------
-
-* bug #4216 Psr4Fixer - fix for multiple classy elements in file (keradus, kubawerlos)
-* bug #4217 Psr0Fixer - class with anonymous class (kubawerlos)
-* bug #4219 NativeFunctionCasingFixer - handle T_RETURN_REF (kubawerlos)
-* bug #4224 FunctionToConstantFixer - handle T_RETURN_REF (SpacePossum)
-* bug #4229 IsNullFixer - fix parenthesis not closed (guilliamxavier)
-* minor #4198 [7.3] PowToExponentiationFixer - adding to PHP7.3 integration test (kubawerlos)
-* minor #4199 [7.3] MethodChainingIndentationFixer - add tests for PHP 7.3 (kubawerlos)
-* minor #4200 [7.3] ModernizeTypesCastingFixer - support PHP 7.3 (kubawerlos)
-* minor #4201 [7.3] MultilineWhitespaceBeforeSemicolonsFixer - add tests for PHP 7.3 (kubawerlos)
-* minor #4202 [7.3] ErrorSuppressionFixer - support PHP 7.3 (kubawerlos)
-* minor #4205 DX: PhpdocAlignFixer - refactor to use DocBlock (kubawerlos)
-* minor #4206 DX: enable multiline_whitespace_before_semicolons (keradus)
-* minor #4207 [7.3] RandomApiMigrationFixerTest - tests for 7.3 (SpacePossum)
-* minor #4208 [7.3] NativeFunctionCasingFixerTest - tests for 7.3 (SpacePossum)
-* minor #4209 [7.3] PhpUnitStrictFixerTest - tests for 7.3 (SpacePossum)
-* minor #4210 [7.3] PhpUnitConstructFixer - add test for PHP 7.3 (kubawerlos)
-* minor #4211 [7.3] PhpUnitDedicateAssertFixer - support PHP 7.3 (kubawerlos)
-* minor #4214 [7.3] NoUnsetOnPropertyFixerTest - tests for 7.3 (SpacePossum)
-* minor #4222 [7.3] PhpUnitExpectationFixer - support PHP 7.3 (kubawerlos)
-* minor #4223 [7.3] PhpUnitMockFixer - add tests for PHP 7.3 (kubawerlos)
-* minor #4230 [7.3] IsNullFixer - fix trailing comma (guilliamxavier)
-* minor #4232 DX: remove Utils::splitLines (kubawerlos)
-* minor #4234 [7.3] Test that "LITERAL instanceof X" is valid (guilliamxavier)
-
-Changelog for v2.12.5
----------------------
-
-* bug #3968 SelfAccessorFixer - support FQCN (kubawerlos)
-* bug #3974 Psr4Fixer - class with anonymous class (kubawerlos)
-* bug #3987 Run HeaderCommentFixer after NoBlankLinesAfterPhpdocFixer (StanAngeloff)
-* bug #4009 TypeAlternationTransformer - Fix pipes in function call with constants being classified incorrectly (ntzm, SpacePossum)
-* bug #4022 NoUnsetOnPropertyFixer - refactor and bugfixes (kubawerlos)
-* bug #4036 ExplicitStringVariableFixer - fixes for backticks and for 2 variables next to each other (kubawerlos, Slamdunk)
-* bug #4038 CommentToPhpdocFixer - handling nested PHPDoc (kubawerlos)
-* bug #4071 DX: do not insert Token when calling removeLeadingWhitespace/removeTrailingWhitespace from Tokens (kubawerlos)
-* bug #4073 IsNullFixer - fix function detection (kubawerlos)
-* bug #4074 FileFilterIterator - do not filter out files that need fixing (SpacePossum)
-* bug #4076 EregToPregFixer - fix function detection (kubawerlos)
-* bug #4084 MethodChainingIndentation - fix priority with Braces (dmvdbrugge)
-* bug #4099 HeaderCommentFixer - throw exception on invalid header configuration (SpacePossum)
-* bug #4100 PhpdocAddMissingParamAnnotationFixer - Handle variable number of arguments and pass by reference cases (SpacePossum)
-* bug #4101 ReturnAssignmentFixer - do not touch invalid code (SpacePossum)
-* bug #4104 Change transformers order, fixing untransformed T_USE (dmvdbrugge)
-* bug #4107 Preg::split - fix for non-UTF8 subject (ostrolucky, kubawerlos)
-* bug #4109 NoBlankLines*: fix removing lines consisting only of spaces (kubawerlos, keradus)
-* bug #4114 VisibilityRequiredFixer - don't remove comments (kubawerlos)
-* bug #4116 OrderedImportsFixer - fix sorting without any grouping (SpacePossum)
-* bug #4119 PhpUnitNoExpectationAnnotationFixer - fix extracting content from annotation (kubawerlos)
-* bug #4127 LowercaseConstantsFixer - Fix case with properties using constants as their name (srathbone)
-* bug #4134 [7.3] SquareBraceTransformer - nested array destructuring not handled correctly (SpacePossum)
-* bug #4153 PhpUnitFqcnAnnotationFixer - handle only PhpUnit classes (kubawerlos)
-* bug #4169 DirConstantFixer - Fixes for PHP7.3 syntax (SpacePossum)
-* bug #4181 MultilineCommentOpeningClosingFixer - fix handling empty comment (kubawerlos)
-* bug #4186 Tokens - fix removal of leading/trailing whitespace with empty token in collection (kubawerlos)
-* minor #3436 Add a handful of integration tests (BackEndTea)
-* minor #3774 PhpUnitTestClassRequiresCoversFixer - Remove unneeded loop and use phpunit indicator class (BackEndTea, SpacePossum)
-* minor #3778 DX: Throw an exception if FileReader::read fails (ntzm)
-* minor #3916 New ruleset "@PhpCsFixer" (gharlan)
-* minor #4007 Fixes cookbook for fixers (greeflas)
-* minor #4031 Correct FixerOptionBuilder::getOption return type (ntzm)
-* minor #4046 Token - Added fast isset() path to token->equals() (staabm)
-* minor #4047 Token - inline $other->getPrototype() to speedup equals() (staabm, keradus)
-* minor #4048 Tokens - inlined extractTokenKind() call on the hot path (staabm)
-* minor #4069 DX: Add dev-tools directory to gitattributes as export-ignore (alexmanno)
-* minor #4070 Docs: Add link to a VS Code extension in readme (jakebathman)
-* minor #4077 DX: cleanup - NoAliasFunctionsFixer - use FunctionsAnalyzer (kubawerlos)
-* minor #4088 Add Travis test with strict types (kubawerlos)
-* minor #4091 Adjust misleading sentence in CONTRIBUTING.md (ostrolucky)
-* minor #4092 UseTransformer - simplify/optimize (SpacePossum)
-* minor #4095 DX: Use ::class (keradus)
-* minor #4097 DX: namespace casing (kubawerlos)
-* minor #4110 Enhancement: Update localheinz/composer-normalize (localheinz)
-* minor #4115 Changes for upcoming Travis' infra migration (sergeyklay)
-* minor #4122 DX: AppVeyor - Update Composer download link (SpacePossum)
-* minor #4128 DX: cleanup - AbstractFunctionReferenceFixer - use FunctionsAnalyzer (SpacePossum, kubawerlos)
-* minor #4129 Fix: Symfony 4.2 deprecations (kubawerlos)
-* minor #4139 DX: Fix CircleCI (kubawerlos)
-* minor #4143 PhpUnitTestCaseStaticMethodCallsFixer - Add PHPUnit 7.5 new assertions (Slamdunk)
-* minor #4149 [7.3] ArgumentsAnalyzer - PHP7.3 support (SpacePossum)
-* minor #4161 DX: CI - show packages installed via Composer (keradus)
-* minor #4162 DX: Drop symfony/lts (keradus)
-* minor #4166 DX: do not use AbstractFunctionReferenceFixer when no need to (kubawerlos)
-* minor #4171 Fix CircleCI cache (kubawerlos)
-* minor #4173 [7.3] PowToExponentiationFixer - add support for PHP7.3 (SpacePossum)
-* minor #4175 Fixing typo (kubawerlos)
-* minor #4177 CI: Check that tag is matching version of PHP CS Fixer during deployment (keradus)
-* minor #4182 DX: update php-cs-fixer file style (kubawerlos)
-* minor #4187 [7.3] IsNullFixer - support PHP 7.3 (kubawerlos)
-* minor #4188 DX: cleanup (keradus)
-* minor #4189 Travis - add PHP 7.3 job (keradus)
-* minor #4190 Travis CI - fix config (kubawerlos)
-* minor #4194 [7.3] NativeFunctionInvocationFixer - add tests for PHP 7.3 (kubawerlos)
-* minor #4195 [7.3] SetTypeToCastFixer - support PHP 7.3 (kubawerlos)
-* minor #4196 Update website (keradus)
-* minor #4197 [7.3] StrictParamFixer - support PHP 7.3 (kubawerlos)
-
-Changelog for v2.12.4
----------------------
-
-* bug #3977 NoSuperfluousPhpdocTagsFixer - Fix handling of description with variable (julienfalque)
-* bug #4027 PhpdocAnnotationWithoutDotFixer - add failing cases (keradus)
-* bug #4028 PhpdocNoEmptyReturnFixer - handle single line PHPDoc (kubawerlos)
-* bug #4034 PhpUnitTestCaseIndicator - handle anonymous class (kubawerlos)
-* bug #4037 NativeFunctionInvocationFixer - fix function detection (kubawerlos)
-* feature #4019 PhpdocTypesFixer - allow for configuration (keradus)
-* minor #3980 Clarifies allow-risky usage (josephzidell)
-* minor #4016 Bump console component due to it's bug (keradus)
-* minor #4023 Enhancement: Update localheinz/composer-normalize (localheinz)
-* minor #4049 use parent::offset*() methods when moving items around in insertAt() (staabm)
-
-Changelog for v2.12.3
----------------------
-
-* bug #3867 PhpdocAnnotationWithoutDotFixer - Handle trailing whitespaces (kubawerlos)
-* bug #3884 NoSuperfluousPhpdocTagsFixer - handle null in every position (dmvdbrugge, julienfalque)
-* bug #3885 AlignMultilineCommentFixer - ArrayIndentationFixer - Priority (dmvdbrugge)
-* bug #3887 ArrayIndentFixer - Don't indent empty lines (dmvdbrugge)
-* bug #3888 NoExtraBlankLinesFixer - remove blank lines after open tag (kubawerlos)
-* bug #3890 StrictParamFixer - make it case-insensitive (kubawerlos)
-* bug #3895 FunctionsAnalyzer - false positive for constant and function definition (kubawerlos)
-* bug #3908 StrictParamFixer - fix edge case (kubawerlos)
-* bug #3910 FunctionsAnalyzer - fix isGlobalFunctionCall (gharlan)
-* bug #3912 FullyQualifiedStrictTypesFixer - NoSuperfluousPhpdocTagsFixer - adjust priority (dmvdbrugge)
-* bug #3913 TokensAnalyzer - fix isConstantInvocation (gharlan, keradus)
-* bug #3921 TypeAnalysis - Fix iterable not being detected as a reserved type (ntzm)
-* bug #3924 FullyQualifiedStrictTypesFixer - space bug (dmvdbrugge)
-* bug #3937 LowercaseStaticReferenceFixer - Fix "Parent" word in namespace (kubawerlos)
-* bug #3944 ExplicitStringVariableFixer - fix array handling (gharlan)
-* bug #3951 NoSuperfluousPhpdocTagsFixer - do not call strtolower with null (SpacePossum)
-* bug #3954 NoSuperfluousPhpdocTagsFixer - Index invalid or out of range (kubawerlos)
-* bug #3957 NoTrailingWhitespaceFixer - trim space after opening tag (kubawerlos)
-* minor #3798 DX: enable native_function_invocation (keradus)
-* minor #3882 PhpdocAnnotationWithoutDotFixer - Handle empty line in comment (kubawerlos)
-* minor #3889 DX: Cleanup - remove unused variables (kubawerlos, SpacePossum)
-* minor #3891 PhpdocNoEmptyReturnFixer - account for null[] (dmvdbrugge)
-* minor #3892 PhpdocNoEmptyReturnFixer - fix docs (keradus)
-* minor #3897 DX: FunctionsAnalyzer - simplifying return expression (kubawerlos)
-* minor #3903 DX: cleanup - remove special treatment for PHP <5.6 (kubawerlos)
-* minor #3905 DX: Upgrade composer-require-checker to stable version (keradus)
-* minor #3919 Simplify single uses of Token::isGivenKind (ntzm)
-* minor #3920 Docs: Fix typo (ntzm)
-* minor #3940 DX: fix phpdoc parameter type (malukenho)
-* minor #3948 DX: cleanup - remove redundant @param annotations (kubawerlos)
-* minor #3950 Circle CI v2 yml (siad007)
-* minor #3952 DX: AbstractFixerTestCase - drop testing method already provided by trait (keradus)
-* minor #3973 Bump xdebug-handler (keradus)
-
-Changelog for v2.12.2
----------------------
-
-* bug #3823 NativeConstantInvocationFixer - better constant detection (gharlan, SpacePossum, keradus)
-* bug #3832 "yield from" as keyword (SpacePossum)
-* bug #3835 Fix priority between PHPDoc return type fixers (julienfalque, keradus)
-* bug #3839 MethodArgumentSpaceFixer - add empty line incorrectly (SpacePossum)
-* bug #3866 SpaceAfterSemicolonFixer - loop over all tokens (SpacePossum)
-* minor #3817 Update integrations tests (SpacePossum)
-* minor #3829 Fix typos in changelog (mnabialek)
-* minor #3848 Add install/update instructions for PHIVE to the README (SpacePossum)
-* minor #3877 NamespacesAnalyzer - Optimize performance (stof)
-* minor #3878 NativeFunctionInvocationFixer - use the NamespacesAnalyzer to remove duplicated code (stof)
-
-Changelog for v2.12.1
----------------------
-
-* bug #3808 LowercaseStaticReferenceFixer - Fix constants handling (kubawerlos, keradus)
-* bug #3815 NoSuperfluousPhpdocTagsFixer - support array/callable type hints (gharlan)
-* minor #3824 DX: Support PHPUnit 7.2 (keradus)
-* minor #3825 UX: Provide full diff for code samples (keradus)
-
-Changelog for v2.12.0
----------------------
-
-* feature #2577 Add LogicalOperatorsFixer (hkdobrev, keradus)
-* feature #3060 Add ErrorSuppressionFixer (kubawerlos)
-* feature #3127 Add NativeConstantInvocationFixer (Slamdunk, keradus)
-* feature #3223 NativeFunctionInvocationFixer - add namespace scope and include sets (SpacePossum)
-* feature #3453 PhpdocAlignFixer - add align option (robert.ahmerov)
-* feature #3476 Add PhpUnitTestCaseStaticMethodCallsFixer (Slamdunk, keradus)
-* feature #3524 MethodArgumentSpaceFixer - Add ensure_single_line option (julienfalque, keradus)
-* feature #3534 MultilineWhitespaceBeforeSemicolonsFixer - support static calls (ntzm)
-* feature #3585 Add ReturnAssignmentFixer (SpacePossum, keradus)
-* feature #3640 Add PhpdocToReturnTypeFixer (Slamdunk, keradus)
-* feature #3691 Add PhpdocTrimAfterDescriptionFixer (nobuf, keradus)
-* feature #3698 YodaStyleFixer - Add always_move_variable option (julienfalque, SpacePossum)
-* feature #3709 Add SetTypeToCastFixer (SpacePossum)
-* feature #3724 BlankLineBeforeStatementFixer - Add case and default as options (dmvdbrugge)
-* feature #3734 Add NoSuperfluousPhpdocTagsFixer (julienfalque)
-* feature #3735 Add LowercaseStaticReferenceFixer (kubawerlos, SpacePossum)
-* feature #3737 Add NoUnsetOnPropertyFixer (BackEndTea, SpacePossum)
-* feature #3745 Add PhpUnitInternalClassFixer (BackEndTea, SpacePossum, keradus)
-* feature #3766 Add NoBinaryStringFixer (ntzm, SpacePossum, keradus)
-* feature #3780 ShortScalarCastFixer - Change binary cast to string cast as well (ntzm)
-* feature #3785 PhpUnitDedicateAssertFixer - fix to assertCount too (SpacePossum)
-* feature #3802 Convert PhpdocTrimAfterDescriptionFixer into PhpdocTrimConsecutiveBlankLineSeparationFixer (keradus)
-* minor #3738 ReturnAssignmentFixer description update (kubawerlos)
-* minor #3761 Application: when run with FUTURE_MODE, error_reporting(-1) is done in entry file instead (keradus)
-* minor #3772 DX: use PhpUnitTestCaseIndicator->isPhpUnitClass to discover PHPUnit classes (keradus)
-* minor #3783 CI: Split COLLECT_COVERAGE job (keradus)
-* minor #3789 DX: ProjectCodeTest.testThatDataProvidersAreCorrectlyNamed - performance optimization (keradus)
-* minor #3791 DX: Fix collecting code coverage (keradus)
-* minor #3792 DX: Upgrade DX deps (keradus)
-* minor #3797 DX: ProjectCodeTest - shall not depends on xdebug/phpdbg anymore (keradus, SpacePossum)
-* minor #3800 Symfony:risky ruleset: include set_type_to_cast rule (keradus)
-* minor #3801 NativeFunctionInvocationFixer - fix buggy config validation (keradus, SpacePossum)
-
-Changelog for v2.11.2
----------------------
-
-* bug #3233 PhpdocAlignFixer - Fix linebreak inconsistency (SpacePossum, keradus)
-* bug #3445 Rewrite NoUnusedImportsFixer (kubawerlos, julienfalque)
-* bug #3528 MethodChainingIndentationFixer - nested params bugfix (Slamdunk)
-* bug #3547 MultilineWhitespaceBeforeSemicolonsFixer - chained call for a return fix (egircys, keradus)
-* bug #3597 DeclareStrictTypesFixer - fix bug of removing line (kubawerlos, keradus)
-* bug #3605 DoctrineAnnotationIndentationFixer - Fix indentation with mixed lines (julienfalque)
-* bug #3606 PhpdocToCommentFixer - allow multiple ( (SpacePossum)
-* bug #3614 Refactor PhpdocToCommentFixer - extract checking to CommentsAnalyzer (kubawerlos)
-* bug #3668 Rewrite NoUnusedImportsFixer (kubawerlos, julienfalque)
-* bug #3670 PhpdocTypesOrderFixer - Fix ordering of nested generics (julienfalque)
-* bug #3671 ArrayIndentationFixer - Fix indentation in HTML (julienfalque)
-* bug #3673 PhpdocScalarFixer - Add "types" option (julienfalque, keradus)
-* bug #3674 YodaStyleFixer - Fix variable detection for multidimensional arrays (julienfalque, SpacePossum)
-* bug #3684 PhpUnitStrictFixer - Do not fix if not correct # of arguments are used (SpacePossum)
-* bug #3708 EscapeImplicitBackslashesFixer - Fix escaping multiple backslashes (julienfalque)
-* bug #3715 SingleImportPerStatementFixer - Fix handling whitespace before opening brace (julienfalque)
-* bug #3731 PhpdocIndentFixer - crash fix (SpacePossum)
-* bug #3755 YodaStyleFixer - handle space between var name and index (SpacePossum)
-* bug #3765 Fix binary-prefixed double-quoted strings to single quotes (ntzm)
-* bug #3770 Handle binary flags in heredoc_to_nowdoc (ntzm)
-* bug #3776 ExplicitStringVariableFixer - handle binary strings (ntzm)
-* bug #3777 EscapeImplicitBackslashesFixer - handle binary strings (ntzm)
-* bug #3790 ProcessLinter - don't execute external process without timeout! It can freeze! (keradus)
-* minor #3188 AppVeyor - add PHP 7.x (keradus, julienfalque)
-* minor #3451 Update findPHPUnit functions (BackEndTea, SpacePossum, keradus)
-* minor #3548 Make shell scripts POSIX-compatible (EvgenyOrekhov, keradus)
-* minor #3568 New Autoreview: Correct option casing (ntzm)
-* minor #3578 Add interface for deprecated options (julienfalque, keradus)
-* minor #3590 Use XdebugHandler to avoid perormance penalty (AJenbo, keradus)
-* minor #3607 PhpdocVarWithoutNameFixer - update sample with @ type (SpacePossum)
-* minor #3617 Tests stability patches (Tom Klingenberg, keradus)
-* minor #3622 Docs: Update descriptions (localheinz)
-* minor #3627 Fix tests execution under phpdbg (keradus)
-* minor #3629 ProjectFixerConfigurationTest - test rules are sorted (SpacePossum)
-* minor #3639 DX: use benefits of symfony/force-lowest (keradus)
-* minor #3641 Update check_trailing_spaces script with upstream (keradus)
-* minor #3646 Extract SameStringsConstraint and XmlMatchesXsdConstraint (keradus)
-* minor #3647 DX: Add CachingLinter for tests (keradus)
-* minor #3649 Update check_trailing_spaces script with upstream (keradus)
-* minor #3652 CiIntegrationTest - run tests with POSIX sh, not Bash (keradus)
-* minor #3656 DX: Clean ups (SpacePossum)
-* minor #3657 update phpunitgoodpractices/traits (SpacePossum, keradus)
-* minor #3658 DX: Clean ups (SpacePossum)
-* minor #3660 Fix do not rely on order of fixing in CiIntegrationTest (kubawerlos)
-* minor #3661 Fix: covers annotation for NoAlternativeSyntaxFixerTest (kubawerlos)
-* minor #3662 DX: Add Smoke/InstallViaComposerTest (keradus)
-* minor #3663 DX: During deployment, run all smoke tests and don't allow to skip phar-related ones (keradus)
-* minor #3665 CircleCI fix (kubawerlos)
-* minor #3666 Use "set -eu" in shell scripts (EvgenyOrekhov)
-* minor #3669 Document possible values for subset options (julienfalque, keradus)
-* minor #3672 Remove SameStringsConstraint and XmlMatchesXsdConstraint (keradus)
-* minor #3676 RunnerTest - workaround for failing Symfony v2.8.37 (kubawerlos)
-* minor #3680 DX: Tokens - removeLeadingWhitespace and removeTrailingWhitespace must act in same way (SpacePossum)
-* minor #3686 README.rst - Format all code-like strings in fixer descriptions (ntzm, keradus)
-* minor #3692 DX: Optimize tests (julienfalque)
-* minor #3700 README.rst - Format all code-like strings in fixer description (ntzm)
-* minor #3701 Use correct casing for "PHPDoc" (ntzm)
-* minor #3703 DX: InstallViaComposerTest - groom naming (keradus)
-* minor #3704 DX: Tokens - fix naming (keradus)
-* minor #3706 Update homebrew installation instructions (ntzm)
-* minor #3713 Use HTTPS whenever possible (fabpot)
-* minor #3723 Extend tests coverage (ntzm)
-* minor #3733 Disable Composer optimized autoloader by default (julienfalque)
-* minor #3748 PhpUnitStrictFixer - extend risky note (jnvsor)
-* minor #3749 Make sure PHPUnit is cased correctly in fixers descriptions (kubawerlos)
-* minor #3768 Improve deprecation messages (julienfalque, SpacePossum)
-* minor #3773 AbstractFixerWithAliasedOptionsTestCase - don't export (keradus)
-* minor #3775 Add tests for binary strings in string_line_ending (ntzm)
-* minor #3779 Misc fixes (ntzm, keradus)
-* minor #3796 DX: StdinTest - do not assume name of folder, into which project was cloned (keradus)
-* minor #3803 NoEmptyPhpdocFixer/PhpdocAddMissingParamAnnotationFixer - missing priority test (SpacePossum, keradus)
-* minor #3804 Cleanup: remove useless constructor comment (kubawerlos)
-* minor #3805 Cleanup: add missing @param type (kubawerlos, keradus)
-
-Changelog for v2.11.1
----------------------
-
-* bug #3626 ArrayIndentationFixer: priority bug with BinaryOperatorSpacesFixer and MethodChainingIndentationFixer (Slamdunk)
-* bug #3632 DateTimeImmutableFixer bug with adding tokens while iterating over them (kubawerlos)
-* minor #3478 PhpUnitDedicateAssertFixer: handle static calls (Slamdunk)
-* minor #3618 DateTimeImmutableFixer - grooming (keradus)
-
-Changelog for v2.11.0
----------------------
-
-* feature #3135 Add ArrayIndentationFixer (julienfalque)
-* feature #3235 Implement StandardizeIncrementFixer (ntzm, SpacePossum)
-* feature #3260 Add DateTimeImmutableFixer (kubawerlos)
-* feature #3276 Transform Fully Qualified parameters and return types to short version (veewee, keradus)
-* feature #3299 SingleQuoteFixer - fix single quote char (Slamdunk)
-* feature #3340 Verbose LintingException after fixing (Slamdunk)
-* feature #3423 FunctionToConstantFixer - add fix "get_called_class" option (SpacePossum)
-* feature #3434 Add PhpUnitSetUpTearDownVisibilityFixer (BackEndTea, SpacePossum)
-* feature #3442 Add CommentToPhpdocFixer (kubawerlos, keradus)
-* feature #3448 OrderedClassElementsFixer - added sortAlgorithm option (meridius)
-* feature #3454 Add StringLineEndingFixer (iluuu1994, SpacePossum, keradus, julienfalque)
-* feature #3477 PhpUnitStrictFixer: handle static calls (Slamdunk)
-* feature #3479 PhpUnitConstructFixer: handle static calls (Slamdunk)
-* feature #3507 Add PhpUnitOrderedCoversFixer (Slamdunk)
-* feature #3545 Add the 'none' sort algorithm to OrderedImportsFixer (EvgenyOrekhov)
-* feature #3588 Add NoAlternativeSyntaxFixer (eddmash, keradus)
-* minor #3414 DescribeCommand: add fixer class when verbose (Slamdunk)
-* minor #3432 ConfigurationDefinitionFixerInterface - fix deprecation notice (keradus)
-* minor #3527 Deprecate last param of Tokens::findBlockEnd (ntzm, keradus)
-* minor #3539 Update UnifiedDiffOutputBuilder from gecko-packages/gecko-diff-output-builder usage after it was incorporated into sebastian/diff (keradus)
-* minor #3549 DescribeCommand - use our Differ wrapper class, not external one directly (keradus)
-* minor #3592 Support PHPUnit 7 (keradus)
-* minor #3619 Travis - extend additional files list (keradus)
-
-Changelog for v2.10.5
----------------------
-
-* bug #3344 Fix method chaining indentation in HTML (julienfalque)
-* bug #3594 ElseifFixer - Bug with alternative syntax (kubawerlos)
-* bug #3600 StrictParamFixer - Fix issue when functions are imported (ntzm, keradus)
-* minor #3589 FixerFactoryTest - add missing test (SpacePossum, keradus)
-* minor #3610 make phar extension optional (Tom Klingenberg, keradus)
-* minor #3612 Travis - allow for hhvm failures (keradus)
-* minor #3615 Detect fabbot.io (julienfalque, keradus)
-* minor #3616 FixerFactoryTest - Don't rely on autovivification (keradus)
-* minor #3621 FixerFactoryTest - apply CS (keradus)
-
-Changelog for v2.10.4
----------------------
-
-* bug #3446 Add PregWrapper (kubawerlos)
-* bug #3464 IncludeFixer - fix incorrect order of fixing (kubawerlos, SpacePossum)
-* bug #3496 Bug in Tokens::removeLeadingWhitespace (kubawerlos, SpacePossum, keradus)
-* bug #3557 AbstractDoctrineAnnotationFixer: edge case bugfix (Slamdunk)
-* bug #3574 GeneralPhpdocAnnotationRemoveFixer - remove PHPDoc if no content is left (SpacePossum)
-* minor #3563 DX add missing covers annotations (keradus)
-* minor #3564 Use ::class keyword when possible (keradus)
-* minor #3565 Use EventDispatcherInterface instead of EventDispatcher when possible (keradus)
-* minor #3566 Update PHPUnitGoodPractices\Traits (keradus)
-* minor #3572 DX: allow for more phpunit-speedtrap versions to support more PHPUnit versions (keradus)
-* minor #3576 Fix Doctrine Annotation test cases merging (julienfalque)
-* minor #3577 DoctrineAnnotationArrayAssignmentFixer - Add test case (julienfalque)
-
-Changelog for v2.10.3
----------------------
-
-* bug #3504 NoBlankLinesAfterPhpdocFixer - allow blank line before declare statement (julienfalque)
-* bug #3522 Remove LOCK_EX (SpacePossum)
-* bug #3560 SelfAccessorFixer is risky (Slamdunk)
-* minor #3435 Add tests for general_phpdoc_annotation_remove (BackEndTea)
-* minor #3484 Create Tokens::findBlockStart (ntzm)
-* minor #3512 Add missing array typehints (ntzm)
-* minor #3513 Making AppVeyor happy (kubawerlos)
-* minor #3516 Use `null|type` instead of `?type` in PHPDocs (ntzm)
-* minor #3518 FixerFactoryTest - Test each priority test file is listed as test (SpacePossum)
-* minor #3519 Fix typo (SpacePossum)
-* minor #3520 Fix typos: ran vs. run (SpacePossum)
-* minor #3521 Use HTTPS (carusogabriel)
-* minor #3526 Remove gecko dependency (SpacePossum, keradus, julienfalque)
-* minor #3531 Backport PHPMD to LTS version to ease maintainability (keradus)
-* minor #3532 Implement Tokens::findOppositeBlockEdge (ntzm)
-* minor #3533 DX: SCA - drop src/Resources exclusion (keradus)
-* minor #3538 Don't use third parameter of Tokens::findBlockStart (ntzm)
-* minor #3542 Enhancement: Run composer-normalize on Travis CI (localheinz, keradus)
-* minor #3550 AutoReview\FixerFactoryTest - fix missing priority test, mark not fully valid test as incomplete (keradus)
-* minor #3555 DX: composer.json - drop branch-alias, branch is already following the version (keradus)
-* minor #3556 DX: Add AutoReview/ComposerTest (keradus)
-* minor #3559 Don't expose new files under Test namespace (keradus)
-* minor #3561 PHPUnit5 - add in place missing compat layer for PHPUnit6 (keradus)
-
-Changelog for v2.10.2
----------------------
-
-* bug #3502 Fix missing file in export (keradus)
-
-Changelog for v2.10.1
----------------------
-
-* bug #3265 YodaFixer - fix problems of block statements followed by ternary statements (weareoutman, keradus, SpacePossum)
-* bug #3367 NoUnusedImportsFixer - fix comment handling (SpacePossum, keradus)
-* bug #3438 PhpUnitTestAnnotationFixer: Do not prepend with test if method is test() (localheinz, SpacePossum)
-* bug #3455 NoEmptyCommentFixer - comment block detection for line ending different than LF (kubawerlos, SpacePossum)
-* bug #3458 SilencedDeprecationErrorFixer - fix edge cases (kubawerlos)
-* bug #3466 no_whitespace_in_blank_line and no_blank_lines_after_phpdoc fixers bug (kubawerlos, keradus)
-* bug #3472 YodaStyleFixer - do not un-Yoda if right side is assignment (SpacePossum, keradus)
-* bug #3492 PhpdocScalarFixer - Add callback pesudo-type to callable type (carusogabriel)
-* minor #3354 Added missing types to the PhpdocTypesFixer (GrahamCampbell)
-* minor #3406 Fix for escaping in README (kubawerlos)
-* minor #3430 Fix integration test (SpacePossum)
-* minor #3431 Add missing tests (SpacePossum)
-* minor #3440 Add a handful of integration tests (BackEndTea)
-* minor #3443 ConfigurableFixerInterface - not deprecated but TODO (SpacePossum)
-* minor #3444 IntegrationTest - ensure tests in priority dir are priority tests indeed (keradus)
-* minor #3494 Add missing PHPDoc param type (ntzm)
-* minor #3495 Swap @var type and element (ntzm)
-* minor #3498 NoUnusedImportsFixer - fix deprecation (keradus)
-
-Changelog for v2.10.0
----------------------
-
-* feature #3290 Add PhpdocOpeningClosingFixer (Slamdunk, keradus)
-* feature #3327 Add MultilineWhitespaceBeforeSemicolonsFixer (egircys, keradus)
-* feature #3351 PhuUnit: migrate getMock to createPartialMock when arguments count is 2 (Slamdunk)
-* feature #3362 Add BacktickToShellExecFixer (Slamdunk)
-* minor #3285 PHPUnit - use protective traits (keradus)
-* minor #3329 ConfigurationResolver - detect deprecated fixers (keradus, SpacePossum)
-* minor #3343 Tokens - improve block end lookup (keradus)
-* minor #3360 Adjust Symfony ruleset (keradus)
-* minor #3361 no_extra_consecutive_blank_lines - rename to no_extra_blank_lines (with BC layer) (keradus)
-* minor #3363 progress-type - name main option value 'dots' (keradus)
-* minor #3404 Deprecate "use_yoda_style" in IsNullFixer (kubawerlos, keradus)
-* minor #3418 ConfigurableFixerInterface, ConfigurationDefinitionFixerInterface - update deprecations (keradus)
-* minor #3419 Dont use deprecated fixer in itest (keradus)
-
-Changelog for v2.9.3
---------------------
-
-* bug #3502 Fix missing file in export (keradus)
-
-Changelog for v2.9.2
---------------------
-
-* bug #3265 YodaFixer - fix problems of block statements followed by ternary statements (weareoutman, keradus, SpacePossum)
-* bug #3367 NoUnusedImportsFixer - fix comment handling (SpacePossum, keradus)
-* bug #3438 PhpUnitTestAnnotationFixer: Do not prepend with test if method is test() (localheinz, SpacePossum)
-* bug #3455 NoEmptyCommentFixer - comment block detection for line ending different than LF (kubawerlos, SpacePossum)
-* bug #3458 SilencedDeprecationErrorFixer - fix edge cases (kubawerlos)
-* bug #3466 no_whitespace_in_blank_line and no_blank_lines_after_phpdoc fixers bug (kubawerlos, keradus)
-* bug #3472 YodaStyleFixer - do not un-Yoda if right side is assignment (SpacePossum, keradus)
-* minor #3354 Added missing types to the PhpdocTypesFixer (GrahamCampbell)
-* minor #3406 Fix for escaping in README (kubawerlos)
-* minor #3430 Fix integration test (SpacePossum)
-* minor #3431 Add missing tests (SpacePossum)
-* minor #3440 Add a handful of integration tests (BackEndTea)
-* minor #3444 IntegrationTest - ensure tests in priority dir are priority tests indeed (keradus)
-* minor #3494 Add missing PHPDoc param type (ntzm)
-* minor #3495 Swap @var type and element (ntzm)
-* minor #3498 NoUnusedImportsFixer - fix deprecation (keradus)
-
-Changelog for v2.9.1
---------------------
-
-* bug #3298 DiffConsoleFormatter - fix output escaping. (SpacePossum)
-* bug #3312 PhpUnitTestAnnotationFixer: Only remove prefix if it really is a prefix (localheinz)
-* bug #3318 SingleLineCommentStyleFixer - fix closing tag inside comment causes an error (kubawerlos)
-* bug #3334 ExplicitStringVariableFixer: handle parsed array and object (Slamdunk)
-* bug #3337 BracesFixer: nowdoc bug on template files (Slamdunk)
-* bug #3349 Fix stdin handling and add tests for it (keradus)
-* bug #3350 PhpUnitNoExpectationAnnotationFixer - fix handling of multiline expectedExceptionMessage annotation (Slamdunk)
-* bug #3352 FunctionToConstantFixer - bugfix for get_class with leading backslash (kubawerlos)
-* bug #3359 BracesFixer - handle comment for content outside of given block (keradus)
-* bug #3371 IsNullFixer must be run before YodaStyleFixer (kubawerlos)
-* bug #3373 PhpdocAlignFixer - Fix removing of everything after @ when there is a space after the @ (ntzm)
-* bug #3415 FileFilterIterator - input checks and utests (SpacePossum, keradus)
-* bug #3420 SingleLineCommentStyleFixer - fix 'strpos() expects parameter 1 to be string, boolean given' (keradus, SpacePossum)
-* bug #3428 Fix archive analysing (keradus)
-* bug #3429 Fix archive analysing (keradus)
-* minor #3137 PHPUnit - use common base class (keradus)
-* minor #3311 FinalInternalClassFixer - fix typo (localheinz)
-* minor #3328 Remove duplicated space in exceptions (keradus)
-* minor #3342 PhpUnitDedicateAssertFixer - Remove unexistent method is_boolean (carusogabriel)
-* minor #3345 StdinFileInfo - fix __toString (keradus)
-* minor #3346 StdinFileInfo - drop getContents (keradus)
-* minor #3347 DX: reapply newest CS (keradus)
-* minor #3365 COOKBOOK-FIXERS.md - update to provide definition instead of description (keradus)
-* minor #3370 AbstractFixer - FQCN in in exceptions (Slamdunk)
-* minor #3372 ProjectCodeTest - fix comment (keradus)
-* minor #3393 Method call typos (Slamdunk, keradus)
-* minor #3402 Always provide delimiter to `preg_quote` calls (ntzm)
-* minor #3403 Remove unused import (ntzm)
-* minor #3405 Fix `fopen` mode (ntzm)
-* minor #3407 CombineConsecutiveIssetsFixer - Improve description (kubawerlos)
-* minor #3408 Improving fixers descriptions (kubawerlos)
-* minor #3409 move itests from misc to priority (keradus)
-* minor #3411 Better type hinting for AbstractFixerTestCase::$fixer (kubawerlos)
-* minor #3412 Convert `strtolower` inside `strpos` to just `stripos` (ntzm)
-* minor #3421 DX: Use ::class (keradus)
-* minor #3424 AbstractFixerTest: fix expectException arguments (Slamdunk, keradus)
-* minor #3425 FixerFactoryTest - test that priority pair fixers have itest (keradus, SpacePossum)
-* minor #3427 ConfigurationResolver: fix @return annotation (Slamdunk)
-
-Changelog for v2.9.0
---------------------
-
-* feature #3063 Method chaining indentation fixer (boliev, julienfalque)
-* feature #3076 Add ExplicitStringVariableFixer (Slamdunk, keradus)
-* feature #3098 MethodSeparationFixer - add class elements separation options (SpacePossum, keradus)
-* feature #3155 Add EscapeImplicitBackslashesFixer (Slamdunk)
-* feature #3164 Add ExplicitIndirectVariableFixer (Slamdunk, keradus)
-* feature #3183 FinalInternalClassFixer introduction (keradus, SpacePossum)
-* feature #3187 StaticLambdaFixer - introduction (SpacePossum, keradus)
-* feature #3209 PhpdocAlignFixer - Make @method alignable (ntzm)
-* feature #3275 Add PhpUnitTestAnnotationFixer (BackEndTea, keradus)
-
-Changelog for v2.8.4
---------------------
-
-* bug #3281 SelfAccessorFixer - stop modifying traits (kubawerlos)
-* minor #3195 Add self-update command test (julienfalque)
-* minor #3287 FileCacheManagerTest - drop duplicated line (keradus)
-* minor #3292 PHPUnit - set memory limit (veewee)
-* minor #3306 Token - better input validation (keradus)
-* minor #3310 Upgrade PHP Coveralls (keradus)
-
-Changelog for v2.8.3
---------------------
-
-* bug #3173 SimplifiedNullReturnFixer - handle nullable return types (Slamdunk)
-* bug #3268 PhpUnitNoExpectationAnnotationFixer - add case with backslashes (keradus, Slamdunk)
-* bug #3272 PhpdocTrimFixer - unicode support (SpacePossum)
-
-Changelog for v2.8.2
---------------------
-
-* bug #3225 PhpdocTrimFixer - Fix handling of lines without leading asterisk (julienfalque)
-* bug #3241 NoExtraConsecutiveBlankLinesFixer - do not crash on ^M LF only (SpacePossum)
-* bug #3242 PhpUnitNoExpectationAnnotationFixer - fix ' handling (keradus)
-* bug #3243 PhpUnitExpectationFixer - don't create ->expectExceptionMessage(null) (keradus)
-* bug #3244 PhpUnitNoExpectationAnnotationFixer - expectation extracted from annotation shall be separated from rest of code with one blank line (keradus)
-* bug #3259 PhpUnitNamespacedFixer - fix isCandidate to not rely on class declaration (keradus)
-* bug #3261 PhpUnitNamespacedFixer - properly fix next usage of already fixed class (keradus)
-* bug #3262 ToolInfo - support installation by branch as well (keradus)
-* bug #3263 NoBreakCommentFixer - Fix handling comment text with PCRE characters (julienfalque)
-* bug #3266 PhpUnitConstructFixer - multiple asserts bug (kubawerlos)
-* minor #3239 Improve contributing guide and issue template (julienfalque)
-* minor #3246 Make ToolInfo methods non-static (julienfalque)
-* minor #3249 PhpUnitNoExpectationAnnotationFixerTest - fix hidden conflict (keradus)
-* minor #3250 Travis: fail early, spare resources, save the Earth (Slamdunk, keradus)
-* minor #3251 Create Title for config file docs section (IanEdington)
-* minor #3254 AutoReview/FixerFactoryTest::testFixersPriority: verbose assertion message (Slamdunk)
-* minor #3255 IntegrationTest: output exception stack trace (Slamdunk)
-* minor #3257 README.rst - Fixed bullet list formatting (moebrowne)
-
-Changelog for v2.8.1
---------------------
-
-* bug #3199 TokensAnalyzer - getClassyElements (SpacePossum)
-* bug #3208 BracesFixer - Fix for instantiation in control structures (julienfalque, SpacePossum)
-* bug #3215 BinaryOperatorSpacesFixer - Fix spaces around multiple exception catching (ntzm)
-* bug #3216 AbstractLinesBeforeNamespaceFixer - add min. and max. option, not only single target count (SpacePossum)
-* bug #3217 TokenizerLinter - fix lack of linting when code is cached (SpacePossum, keradus)
-* minor #3200 Skip slow test when Xdebug is loaded (julienfalque)
-* minor #3211 Use udiff format in CI (julienfalque)
-* minor #3212 Handle rulesets unknown to fabbot.io (julienfalque)
-* minor #3219 Normalise references to GitHub in docs (ntzm)
-* minor #3226 Remove unused imports (ntzm)
-* minor #3231 Fix typos (ntzm)
-* minor #3234 Simplify Cache\Signature::equals (ntzm)
-* minor #3237 UnconfigurableFixer - use only LF (keradus)
-* minor #3238 AbstractFixerTest - fix @cover annotation (keradus)
-
-Changelog for v2.8.0
---------------------
-
-* feature #3065 Add IncrementStyleFixer (kubawerlos)
-* feature #3119 Feature checkstyle reporter (K-Phoen)
-* feature #3162 Add udiff as diff format (SpacePossum, keradus)
-* feature #3170 Add CompactNullableTypehintFixer (jfcherng)
-* feature #3189 Add PHP_CS_FIXER_FUTURE_MODE env (keradus)
-* feature #3201 Add PHPUnit Migration rulesets and fixers (keradus)
-* minor #3149 AbstractProxyFixer - Support multiple proxied fixers (julienfalque)
-* minor #3160 Add DeprecatedFixerInterface (kubawerlos)
-* minor #3185 IndentationTypeFixerTest - clean up (SpacePossum, keradus)
-* minor #3198 Cleanup: add test that there is no deprecated fixer in rule set (kubawerlos)
-
-Changelog for v2.7.5
---------------------
-
-* bug #3225 PhpdocTrimFixer - Fix handling of lines without leading asterisk (julienfalque)
-* bug #3241 NoExtraConsecutiveBlankLinesFixer - do not crash on ^M LF only (SpacePossum)
-* bug #3262 ToolInfo - support installation by branch as well (keradus)
-* bug #3263 NoBreakCommentFixer - Fix handling comment text with PCRE characters (julienfalque)
-* bug #3266 PhpUnitConstructFixer - multiple asserts bug (kubawerlos)
-* minor #3239 Improve contributing guide and issue template (julienfalque)
-* minor #3246 Make ToolInfo methods non-static (julienfalque)
-* minor #3250 Travis: fail early, spare resources, save the Earth (Slamdunk, keradus)
-* minor #3251 Create Title for config file docs section (IanEdington)
-* minor #3254 AutoReview/FixerFactoryTest::testFixersPriority: verbose assertion message (Slamdunk)
-* minor #3255 IntegrationTest: output exception stack trace (Slamdunk)
-
-Changelog for v2.7.4
---------------------
-
-* bug #3199 TokensAnalyzer - getClassyElements (SpacePossum)
-* bug #3208 BracesFixer - Fix for instantiation in control structures (julienfalque, SpacePossum)
-* bug #3215 BinaryOperatorSpacesFixer - Fix spaces around multiple exception catching (ntzm)
-* bug #3216 AbstractLinesBeforeNamespaceFixer - add min. and max. option, not only single target count (SpacePossum)
-* bug #3217 TokenizerLinter - fix lack of linting when code is cached (SpacePossum, keradus)
-* minor #3200 Skip slow test when Xdebug is loaded (julienfalque)
-* minor #3219 Normalise references to GitHub in docs (ntzm)
-* minor #3226 Remove unused imports (ntzm)
-* minor #3231 Fix typos (ntzm)
-* minor #3234 Simplify Cache\Signature::equals (ntzm)
-* minor #3237 UnconfigurableFixer - use only LF (keradus)
-* minor #3238 AbstractFixerTest - fix @cover annotation (keradus)
-
-Changelog for v2.7.3
---------------------
-
-* bug #3114 SelfAccessorFixer - Fix type declarations replacement (julienfalque)
-
-Changelog for v2.7.2
---------------------
-
-* bug #3062 BraceClassInstantiationTransformer - Fix instantiation inside method call braces case (julienfalque, keradus)
-* bug #3083 SingleBlankLineBeforeNamespaceFixer - Fix handling namespace right after opening tag (mlocati)
-* bug #3109 SwitchCaseSemicolonToColonFixer - Fix bug with nested constructs (SpacePossum)
-* bug #3117 Multibyte character in array key makes alignment incorrect (kubawerlos)
-* bug #3123 Cache - File permissions (SpacePossum)
-* bug #3138 NoHomoglyphNamesFixer - fix crash on non-ascii but not mapped either (SpacePossum)
-* bug #3172 IndentationTypeFixer - do not touch whitespace that is not indentation (SpacePossum)
-* bug #3176 NoMultilineWhitespaceBeforeSemicolonsFixer - SpaceAfterSemicolonFixer - priority fix (SpacePossum)
-* bug #3193 TokensAnalyzer::getClassyElements - sort result before returning (SpacePossum)
-* bug #3196 SelfUpdateCommand - fix exit status when can't determine newest version (julienfalque)
-* minor #3107 ConfigurationResolver - improve error message when rule is not found (SpacePossum)
-* minor #3113 Add WordMatcher (keradus)
-* minor #3128 README: remove deprecated rule from CLI examples (chteuchteu)
-* minor #3133 Unify Reporter tests (keradus)
-* minor #3134 Allow Symfony 4 (keradus, garak)
-* minor #3136 PHPUnit - call hooks from parent class as well (keradus)
-* minor #3141 Unify description of deprecated fixer (kubawerlos)
-* minor #3144 PhpUnitDedicateAssertFixer - Sort map and array by function name (localheinz)
-* minor #3145 misc - Typo (localheinz)
-* minor #3150 Fix CircleCI (julienfalque)
-* minor #3151 Update gitattributes to ignore next file (keradus)
-* minor #3156 Update php-coveralls (keradus)
-* minor #3166 README - add link to new gitter channel. (SpacePossum)
-* minor #3174 Update UPGRADE.md (vitek-rostislav)
-* minor #3180 Fix usage of static variables (kubawerlos)
-* minor #3182 Add support for PHPUnit 6, drop PHPUnit 4 (keradus)
-* minor #3184 Code grooming - sort content of arrays (keradus)
-* minor #3191 Travis - add nightly build to allow_failures due to Travis issues (keradus)
-* minor #3197 DX groom CS (keradus)
-
-Changelog for v2.7.1
---------------------
-
-* bug #3115 NoUnneededFinalMethodFixer - fix edge case (Slamdunk)
-
-Changelog for v2.7.0
---------------------
-
-* feature #2573 BinaryOperatorSpaces reworked (SpacePossum, keradus)
-* feature #3073 SpaceAfterSemicolonFixer - Add option to remove space in empty for expressions (julienfalque)
-* feature #3089 NoAliasFunctionsFixer - add imap aliases (Slamdunk)
-* feature #3093 NoUnneededFinalMethodFixer - Remove final keyword from private methods (localheinz, keradus)
-* minor #3068 Symfony:risky ruleset - add no_homoglyph_names (keradus)
-* minor #3074 [IO] Replace Diff with fork version (SpacePossum)
-
-Changelog for v2.6.1
---------------------
-
-* bug #3052 Fix false positive warning about paths overridden by provided as command arguments (kubawerlos)
-* bug #3053 CombineConsecutiveIssetsFixer - fix priority (SpacePossum)
-* bug #3058 IsNullFixer - fix whitespace handling (roukmoute)
-* bug #3069 MethodArgumentSpaceFixer - new test case (keradus)
-* bug #3072 IsNullFixer - fix non_yoda_style edge case (keradus)
-* bug #3088 Drop dedicated Phar stub (keradus)
-* bug #3100 NativeFunctionInvocationFixer - Fix test if previous token is already namespace separator (SpacePossum)
-* bug #3104 DoctrineAnnotationIndentationFixer - Fix str_repeat() error (julienfalque)
-* minor #3038 Support PHP 7.2 (SpacePossum, keradus)
-* minor #3064 Fix couple of typos (KKSzymanowski)
-* minor #3070 YodaStyleFixer - Clarify configuration parameters (SteveJobzniak)
-* minor #3078 ConfigurationResolver - hide context while including config file (keradus)
-* minor #3080 Direct function call instead of by string (kubawerlos)
-* minor #3085 CiIntegrationTest - skip when no git is available (keradus)
-* minor #3087 phar-stub.php - allow PHP 7.2 (keradus)
-* minor #3092 .travis.yml - fix matrix for PHP 7.1 (keradus)
-* minor #3094 NoUnneededFinalMethodFixer - Add test cases (julienfalque)
-* minor #3111 DoctrineAnnotationIndentationFixer - Restore test case (julienfalque)
-
-Changelog for v2.6.0
---------------------
-
-* bug #3039 YodaStyleFixer - Fix echo case (SpacePossum, keradus)
-* feature #2446 Add YodaStyleFixer (SpacePossum)
-* feature #2940 Add NoHomoglyphNamesFixer (mcfedr, keradus)
-* feature #3012 Add CombineConsecutiveIssetsFixer (SpacePossum)
-* minor #3037 Update SF rule set (SpacePossum)
-
-Changelog for v2.5.1
---------------------
-
-* bug #3002 Bugfix braces (mnabialek)
-* bug #3010 Fix handling of Github releases (julienfalque, keradus)
-* bug #3015 Fix exception arguments (julienfalque)
-* bug #3016 Verify phar file (keradus)
-* bug #3021 Risky rules cleanup (kubawerlos)
-* bug #3023 RandomApiMigrationFixer - "rand();" to "random_int(0, getrandmax());" fixing (SpacePossum)
-* bug #3024 ConfigurationResolver - Handle empty "rules" value (SpacePossum, keradus)
-* bug #3031 IndentationTypeFixer - fix handling tabs in indented comments (keradus)
-* minor #2999 Notice when paths from config file are overridden by command arguments (julienfalque, keradus)
-* minor #3007 Add PHP 7.2 to Travis build matrix (Jean85)
-* minor #3009 CiIntegrationTest - run local (SpacePossum)
-* minor #3013 Adjust phpunit configuration (localheinz)
-* minor #3017 Fix: Risky tests (localheinz)
-* minor #3018 Fix: Make sure that data providers are named correctly (localheinz, keradus)
-* minor #3032 .php_cs.dist - handling UnexpectedValueException (keradus)
-* minor #3033 Use ::class (keradus)
-* minor #3034 Follow newest CS (keradus)
-* minor #3036 Drop not existing Standalone group from PHPUnit configuration and duplicated internal tags (keradus)
-* minor #3042 Update gitter address (keradus)
-
-Changelog for v2.5.0
---------------------
-
-* feature #2770 DoctrineAnnotationSpaces - split assignments options (julienfalque)
-* feature #2843 Add estimating-max progress output type (julienfalque)
-* feature #2885 Add NoSuperfluousElseifFixer (julienfalque)
-* feature #2929 Add NoUnneededCurlyBracesFixer (SpacePossum)
-* feature #2944 FunctionToConstantFixer - handle get_class() -> __CLASS__ as well (SpacePossum)
-* feature #2953 BlankLineBeforeStatementFixer - Add more statements (localheinz, keradus)
-* feature #2972 Add NoUnneededFinalMethodFixer (Slamdunk, keradus)
-* feature #2992 Add Doctrine Annotation ruleset (julienfalque)
-* minor #2926 Token::getNameForId (SpacePossum)
-
-Changelog for v2.4.2
---------------------
-
-* bug #3002 Bugfix braces (mnabialek)
-* bug #3010 Fix handling of Github releases (julienfalque, keradus)
-* bug #3015 Fix exception arguments (julienfalque)
-* bug #3016 Verify phar file (keradus)
-* bug #3021 Risky rules cleanup (kubawerlos)
-* bug #3023 RandomApiMigrationFixer - "rand();" to "random_int(0, getrandmax());" fixing (SpacePossum)
-* bug #3024 ConfigurationResolver - Handle empty "rules" value (SpacePossum, keradus)
-* bug #3031 IndentationTypeFixer - fix handling tabs in indented comments (keradus)
-* minor #2999 Notice when paths from config file are overridden by command arguments (julienfalque, keradus)
-* minor #3007 Add PHP 7.2 to Travis build matrix (Jean85)
-* minor #3009 CiIntegrationTest - run local (SpacePossum)
-* minor #3013 Adjust phpunit configuration (localheinz)
-* minor #3017 Fix: Risky tests (localheinz)
-* minor #3018 Fix: Make sure that data providers are named correctly (localheinz, keradus)
-* minor #3032 .php_cs.dist - handling UnexpectedValueException (keradus)
-* minor #3033 Use ::class (keradus)
-* minor #3034 Follow newest CS (keradus)
-* minor #3036 Drop not existing Standalone group from PHPUnit configuration and duplicated internal tags (keradus)
-* minor #3042 Update gitter address (keradus)
-
-Changelog for v2.4.1
---------------------
-
-* bug #2925 Improve CI integration suggestion (julienfalque)
-* bug #2928 TokensAnalyzer::getClassyElements - Anonymous class support (SpacePossum)
-* bug #2931 Psr0Fixer, Psr4Fixer - ignore "new class" syntax (dg, keradus)
-* bug #2934 Config - fix handling rule without value (keradus, SpacePossum)
-* bug #2939 NoUnusedImportsFixer - Fix extra blank line (julienfalque)
-* bug #2941 PHP 7.2 - Group imports with trailing comma support (SpacePossum, julienfalque)
-* bug #2954 NoBreakCommentFixer - Disable case sensitivity (julienfalque)
-* bug #2959 MethodArgumentSpaceFixer - Skip body of fixed function (greg0ire)
-* bug #2984 AlignMultilineCommentFixer - handle uni code (SpacePossum)
-* bug #2987 Fix incorrect indentation of comments in `braces` fixer (rob006)
-* minor #2924 Add missing Token deprecations (julienfalque)
-* minor #2927 WhiteSpaceConfig - update message copy and more strict tests (SpacePossum, keradus)
-* minor #2930 Trigger website build (keradus)
-* minor #2932 Integrate CircleCI (keradus, aidantwoods)
-* minor #2933 ProcessLinterTest - Ensure Windows test only runs on Windows, add a Mac test execution (aidantwoods)
-* minor #2935 special handling of fabbot.io service if it's using too old PHP CS Fixer version (keradus)
-* minor #2937 Travis: execute 5.3 job on precise (keradus)
-* minor #2938 Tests fix configuration of project (SpacePossum, keradus)
-* minor #2943 FunctionToConstantFixer - test with diff. arguments than fixable (SpacePossum)
-* minor #2945 BlankLineBeforeStatementFixerTest - Fix covered class (julienfalque)
-* minor #2946 Detect extra old installations (keradus)
-* minor #2947 Test suggested CI integration (keradus)
-* minor #2951 AccessibleObject - remove most of usage (keradus)
-* minor #2952 BlankLineBeforeStatementFixer - Reference fixer instead of test class (localheinz)
-* minor #2955 Travis - stop using old TASK_SCA residue (keradus)
-* minor #2968 AssertTokensTrait - don't use AccessibleObject (keradus)
-* minor #2969 Shrink down AccessibleObject usage (keradus)
-* minor #2982 TrailingCommaInMultilineArrayFixer - simplify isMultilineArray condition (TomasVotruba)
-* minor #2989 CiIntegrationTest - fix min supported PHP versions (keradus)
-
-Changelog for v2.4.0
---------------------
-
-* bug #2880 NoBreakCommentFixer - fix edge case (julienfalque)
-* bug #2900 VoidReturnFixer - handle functions containing anonymous functions/classes (bendavies, keradus)
-* bug #2902 Fix test classes constructor (julienfalque)
-* feature #2384 Add BlankLineBeforeStatementFixer (localheinz, keradus, SpacePossum)
-* feature #2440 MethodArgumentSpaceFixer - add ensure_fully_multiline option (greg0ire)
-* feature #2649 PhpdocAlignFixer - make fixer configurable (ntzm)
-* feature #2664 Add DoctrineAnnotationArrayAssignmentFixer (julienfalque)
-* feature #2667 Add NoBreakCommentFixer (julienfalque)
-* feature #2684 BracesFixer - new options for braces position after control structures and anonymous constructs (aidantwoods, keradus)
-* feature #2701 NoExtraConsecutiveBlankLinesFixer - Add more configuration options related to switch statements (SpacePossum)
-* feature #2740 Add VoidReturnFixer (mrmark)
-* feature #2765 DoctrineAnnotationIndentationFixer - add option to indent mixed lines (julienfalque)
-* feature #2815 NonPrintableCharacterFixer - Add option to replace with escape sequences (julienfalque, keradus)
-* feature #2822 Add NoNullPropertyInitializationFixer (ntzm, julienfalque, SpacePossum)
-* feature #2825 Add PhpdocTypesOrderFixer (julienfalque, keradus)
-* feature #2856 CastSpacesFixer - add space option (kubawerlos, keradus)
-* feature #2857 Add AlignMultilineCommentFixer (Slamdunk, keradus)
-* feature #2866 Add SingleLineCommentStyleFixer, deprecate HashToSlashCommentFixer (Slamdunk, keradus)
-* minor #2773 Travis - use stages (keradus)
-* minor #2794 Drop HHVM support (keradus, julienfalque)
-* minor #2801 ProjectCodeTest - Fix typo in deprecation message (SpacePossum)
-* minor #2818 Token become immutable, performance optimizations (keradus)
-* minor #2877 Fix PHPMD report (julienfalque)
-* minor #2894 NonPrintableCharacterFixer - fix handling required PHP version on PHPUnit 4.x (keradus)
-* minor #2921 InvalidForEnvFixerConfigurationException - fix handling in tests on 2.4 line (keradus)
-
-Changelog for v2.3.3
---------------------
-
-* bug #2807 NoUselessElseFixer - Fix detection of conditional block (SpacePossum)
-* bug #2809 Phar release - fix readme generation (SpacePossum, keradus)
-* bug #2827 MethodArgumentSpaceFixer - Always remove trailing spaces (julienfalque)
-* bug #2835 SelfAccessorFixer - class property fix (mnabialek)
-* bug #2848 PhpdocIndentFixer - fix edge case with inline phpdoc (keradus)
-* bug #2849 BracesFixer - Fix indentation issues with comments (julienfalque)
-* bug #2851 Tokens - ensureWhitespaceAtIndex (GrahamCampbell, SpacePossum)
-* bug #2854 NoLeadingImportSlashFixer - Removing leading slash from import even when in global space (kubawerlos)
-* bug #2858 Support generic types (keradus)
-* bug #2869 Fix handling required configuration (keradus)
-* bug #2881 NoUnusedImportsFixer - Bug when trying to insert empty token (GrahamCampbell, keradus)
-* bug #2882 DocBlock\Annotation - Fix parsing of collections with multiple key types (julienfalque)
-* bug #2886 NoSpacesInsideParenthesisFixer - Do not remove whitespace if next token is comment (SpacePossum)
-* bug #2888 SingleImportPerStatementFixer - Add support for function and const (SpacePossum)
-* bug #2901 Add missing files to archive files (keradus)
-* bug #2914 HeredocToNowdocFixer - works with CRLF line ending (dg)
-* bug #2920 RuleSet - Update deprecated configuration of fixers (SpacePossum, keradus)
-* minor #1531 Update docs for few generic types (keradus)
-* minor #2793 COOKBOOK-FIXERS.md - update to current version, fix links (keradus)
-* minor #2812 ProcessLinter - compatibility with Symfony 3.3 (keradus)
-* minor #2816 Tokenizer - better docs and validation (keradus)
-* minor #2817 Tokenizer - use future-compatible interface (keradus)
-* minor #2819 Fix benchmark (keradus)
-* minor #2820 MagicConstantCasingFixer - Remove defined check (SpacePossum)
-* minor #2823 Tokenizer - use future-compatible interface (keradus)
-* minor #2824 code grooming (keradus)
-* minor #2826 Exceptions - provide utests (localheinz)
-* minor #2828 Enhancement: Reference phpunit.xsd from phpunit.xml.dist (localheinz)
-* minor #2830 Differs - add tests (localheinz)
-* minor #2832 Fix: Use all the columns (localheinz)
-* minor #2833 Doctrine\Annotation\Token - provide utests (localheinz)
-* minor #2839 Use PHP 7.2 polyfill instead of xml one (keradus)
-* minor #2842 Move null to first position in PHPDoc types (julienfalque)
-* minor #2850 ReadmeCommandTest - Prevent diff output (julienfalque)
-* minor #2859 Fixed typo and dead code removal (GrahamCampbell)
-* minor #2863 FileSpecificCodeSample - add tests (localheinz)
-* minor #2864 WhitespacesAwareFixerInterface clean up (Slamdunk)
-* minor #2865 AutoReview\FixerTest - test configuration samples (SpacePossum, keradus)
-* minor #2867 VersionSpecification - Fix copy-paste typo (SpacePossum)
-* minor #2870 Tokens - ensureWhitespaceAtIndex - Clear tokens before compare. (SpacePossum)
-* minor #2874 LineTest - fix typo (keradus)
-* minor #2875 HelpCommand - recursive layout fix (SpacePossum)
-* minor #2883 DescribeCommand - Show which sample uses the default configuration (SpacePossum)
-* minor #2887 Housekeeping - Strict whitespace checks (SpacePossum)
-* minor #2895 ProjectCodeTest - check that classes in no-tests exception exist (keradus)
-* minor #2896 Move testing related classes from src to tests (keradus)
-* minor #2904 Reapply CS (keradus)
-* minor #2910 PhpdocAnnotationWithoutDotFixer - Restrict lowercasing (oschwald)
-* minor #2913 Tests - tweaks (SpacePossum, keradus)
-* minor #2916 FixerFactory - drop return in sortFixers(), never used (TomasVotruba)
-
-Changelog for v2.3.2
---------------------
-
-* bug #2682 DoctrineAnnotationIndentationFixer - fix handling nested annotations (edhgoose, julienfalque)
-* bug #2700 Fix Doctrine Annotation end detection (julienfalque)
-* bug #2715 OrderedImportsFixer - handle indented groups (pilgerone)
-* bug #2732 HeaderCommentFixer - fix handling blank lines (s7b4)
-* bug #2745 Fix Doctrine Annotation newlines (julienfalque)
-* bug #2752 FixCommand - fix typo in warning message (mnapoli)
-* bug #2757 GeckoPHPUnit is not dev dependency (keradus)
-* bug #2759 Update gitattributes (SpacePossum)
-* bug #2763 Fix describe command with PSR-0 fixer (julienfalque)
-* bug #2768 Tokens::ensureWhitespaceAtIndex - clean up comment check, add check for T_OPEN (SpacePossum)
-* bug #2783 Tokens::ensureWhitespaceAtIndex - Fix handling line endings (SpacePossum)
-* minor #2304 DX: use PHPMD (keradus)
-* minor #2663 Use colors for keywords in commands output (julienfalque, keradus)
-* minor #2706 Update README (SpacePossum)
-* minor #2714 README.rst - fix wrong value in example (mleko)
-* minor #2718 Remove old Symfony exception message expectation (julienfalque)
-* minor #2721 Update phpstorm article link to a fresh blog post (valeryan)
-* minor #2725 Use method chaining for configuration definitions (julienfalque)
-* minor #2727 PHPUnit - use speedtrap (keradus)
-* minor #2728 SelfUpdateCommand - verify that it's possible to replace current file (keradus)
-* minor #2729 DescribeCommand - add decorated output test (julienfalque)
-* minor #2731 BracesFixer - properly pass config in utest dataProvider (keradus)
-* minor #2738 Upgrade tests to use new, namespaced PHPUnit TestCase class (keradus)
-* minor #2742 Code cleanup (GrahamCampbell, keradus)
-* minor #2743 Fixing example and description for GeneralPhpdocAnnotationRemoveFixer (kubawerlos)
-* minor #2744 AbstractDoctrineAnnotationFixerTestCase - split fixers test cases (julienfalque)
-* minor #2755 Fix compatibility with PHPUnit 5.4.x (keradus)
-* minor #2758 Readme - improve CI integration guidelines (keradus)
-* minor #2769 Psr0Fixer - remove duplicated example (julienfalque)
-* minor #2774 AssertTokens Trait (keradus)
-* minor #2775 NoExtraConsecutiveBlankLinesFixer - remove duplicate code sample. (SpacePossum)
-* minor #2778 AutoReview - watch that code samples are unique (keradus)
-* minor #2787 Add warnings about missing dom ext and require json ext (keradus)
-* minor #2792 Use composer-require-checker (keradus)
-* minor #2796 Update .gitattributes (SpacePossum)
-* minor #2797 Update .gitattributes (SpacePossum)
-* minor #2800 PhpdocTypesFixerTest - Fix typo in covers annotation (SpacePossum)
-
-Changelog for v2.3.1
---------------------
-
-Port of v2.2.3.
-
-* bug #2724 Revert #2554 Add short diff. output format (keradus)
-
-Changelog for v2.3.0
---------------------
-
-* feature #2450 Add ListSyntaxFixer (SpacePossum)
-* feature #2708 Add PhpUnitTestClassRequiresCoversFixer (keradus)
-* minor #2568 Require PHP 5.6+ (keradus)
-* minor #2672 Bump symfony/* deps (keradus)
-
-Changelog for v2.2.20
----------------------
-
-* bug #3233 PhpdocAlignFixer - Fix linebreak inconsistency (SpacePossum, keradus)
-* bug #3445 Rewrite NoUnusedImportsFixer (kubawerlos, julienfalque)
-* bug #3597 DeclareStrictTypesFixer - fix bug of removing line (kubawerlos, keradus)
-* bug #3605 DoctrineAnnotationIndentationFixer - Fix indentation with mixed lines (julienfalque)
-* bug #3606 PhpdocToCommentFixer - allow multiple ( (SpacePossum)
-* bug #3684 PhpUnitStrictFixer - Do not fix if not correct # of arguments are used (SpacePossum)
-* bug #3715 SingleImportPerStatementFixer - Fix handling whitespace before opening brace (julienfalque)
-* bug #3731 PhpdocIndentFixer - crash fix (SpacePossum)
-* bug #3765 Fix binary-prefixed double-quoted strings to single quotes (ntzm)
-* bug #3770 Handle binary flags in heredoc_to_nowdoc (ntzm)
-* bug #3790 ProcessLinter - don't execute external process without timeout! It can freeze! (keradus)
-* minor #3548 Make shell scripts POSIX-compatible (EvgenyOrekhov, keradus)
-* minor #3568 New Autoreview: Correct option casing (ntzm)
-* minor #3590 Use XdebugHandler to avoid performance penalty (AJenbo, keradus)
-* minor #3607 PhpdocVarWithoutNameFixer - update sample with @ type (SpacePossum)
-* minor #3617 Tests stability patches (Tom Klingenberg, keradus)
-* minor #3627 Fix tests execution under phpdbg (keradus)
-* minor #3629 ProjectFixerConfigurationTest - test rules are sorted (SpacePossum)
-* minor #3639 DX: use benefits of symfony/force-lowest (keradus)
-* minor #3641 Update check_trailing_spaces script with upstream (keradus)
-* minor #3646 Extract SameStringsConstraint and XmlMatchesXsdConstraint (keradus)
-* minor #3647 DX: Add CachingLinter for tests (keradus)
-* minor #3649 Update check_trailing_spaces script with upstream (keradus)
-* minor #3652 CiIntegrationTest - run tests with POSIX sh, not Bash (keradus)
-* minor #3656 DX: Clean ups (SpacePossum)
-* minor #3660 Fix do not rely on order of fixing in CiIntegrationTest (kubawerlos)
-* minor #3662 DX: Add Smoke/InstallViaComposerTest (keradus)
-* minor #3663 DX: During deployment, run all smoke tests and don't allow to skip phar-related ones (keradus)
-* minor #3665 CircleCI fix (kubawerlos)
-* minor #3666 Use "set -eu" in shell scripts (EvgenyOrekhov)
-* minor #3669 Document possible values for subset options (julienfalque, keradus)
-* minor #3676 RunnerTest - workaround for failing Symfony v2.8.37 (kubawerlos)
-* minor #3680 DX: Tokens - removeLeadingWhitespace and removeTrailingWhitespace must act in same way (SpacePossum)
-* minor #3686 README.rst - Format all code-like strings in fixer descriptions (ntzm, keradus)
-* minor #3692 DX: Optimize tests (julienfalque)
-* minor #3701 Use correct casing for "PHPDoc" (ntzm)
-* minor #3703 DX: InstallViaComposerTets - groom naming (keradus)
-* minor #3704 DX: Tokens - fix naming (keradus)
-* minor #3706 Update homebrew installation instructions (ntzm)
-* minor #3713 Use HTTPS whenever possible (fabpot)
-* minor #3723 Extend tests coverage (ntzm)
-* minor #3733 Disable Composer optimized autoloader by default (julienfalque)
-* minor #3748 PhpUnitStrictFixer - extend risky note (jnvsor)
-* minor #3749 Make sure PHPUnit is cased correctly in fixers descriptions (kubawerlos)
-* minor #3773 AbstractFixerWithAliasedOptionsTestCase - don't export (keradus)
-* minor #3796 DX: StdinTest - do not assume name of folder, into which project was cloned (keradus)
-* minor #3803 NoEmptyPhpdocFixer/PhpdocAddMissingParamAnnotationFixer - missing priority test (SpacePossum, keradus)
-* minor #3804 Cleanup: remove useless constructor comment (kubawerlos)
-
-Changelog for v2.2.19
----------------------
-
-* bug #3594 ElseifFixer - Bug with alternative syntax (kubawerlos)
-* bug #3600 StrictParamFixer - Fix issue when functions are imported (ntzm, keradus)
-* minor #3589 FixerFactoryTest - add missing test (SpacePossum, keradus)
-* minor #3610 make phar extension optional (Tom Klingenberg, keradus)
-* minor #3612 Travis - allow for hhvm failures (keradus)
-* minor #3615 Detect fabbot.io (julienfalque, keradus)
-* minor #3616 FixerFactoryTest - Don't rely on autovivification (keradus)
-
-Changelog for v2.2.18
----------------------
-
-* bug #3446 Add PregWrapper (kubawerlos)
-* bug #3464 IncludeFixer - fix incorrect order of fixing (kubawerlos, SpacePossum)
-* bug #3496 Bug in Tokens::removeLeadingWhitespace (kubawerlos, SpacePossum, keradus)
-* bug #3557 AbstractDoctrineAnnotationFixer: edge case bugfix (Slamdunk)
-* bug #3574 GeneralPhpdocAnnotationRemoveFixer - remove PHPDoc if no content is left (SpacePossum)
-* minor #3563 DX add missing covers annotations (keradus)
-* minor #3565 Use EventDispatcherInterface instead of EventDispatcher when possible (keradus)
-* minor #3572 DX: allow for more phpunit-speedtrap versions to support more PHPUnit versions (keradus)
-* minor #3576 Fix Doctrine Annotation test cases merging (julienfalque)
-
-Changelog for v2.2.17
----------------------
-
-* bug #3504 NoBlankLinesAfterPhpdocFixer - allow blank line before declare statement (julienfalque)
-* bug #3522 Remove LOCK_EX (SpacePossum)
-* bug #3560 SelfAccessorFixer is risky (Slamdunk)
-* minor #3435 Add tests for general_phpdoc_annotation_remove (BackEndTea)
-* minor #3484 Create Tokens::findBlockStart (ntzm)
-* minor #3512 Add missing array typehints (ntzm)
-* minor #3516 Use `null|type` instead of `?type` in PHPDocs (ntzm)
-* minor #3518 FixerFactoryTest - Test each priority test file is listed as test (SpacePossum)
-* minor #3520 Fix typos: ran vs. run (SpacePossum)
-* minor #3521 Use HTTPS (carusogabriel)
-* minor #3526 Remove gecko dependency (SpacePossum, keradus, julienfalque)
-* minor #3531 Backport PHPMD to LTS version to ease maintainability (keradus)
-* minor #3532 Implement Tokens::findOppositeBlockEdge (ntzm)
-* minor #3533 DX: SCA - drop src/Resources exclusion (keradus)
-* minor #3538 Don't use third parameter of Tokens::findBlockStart (ntzm)
-* minor #3542 Enhancement: Run composer-normalize on Travis CI (localheinz, keradus)
-* minor #3555 DX: composer.json - drop branch-alias, branch is already following the version (keradus)
-* minor #3556 DX: Add AutoReview/ComposerTest (keradus)
-* minor #3559 Don't expose new files under Test namespace (keradus)
-
-Changelog for v2.2.16
----------------------
-
-* bug #3502 Fix missing file in export (keradus)
-
-Changelog for v2.2.15
----------------------
-
-* bug #3367 NoUnusedImportsFixer - fix comment handling (SpacePossum, keradus)
-* bug #3455 NoEmptyCommentFixer - comment block detection for line ending different than LF (kubawerlos, SpacePossum)
-* bug #3458 SilencedDeprecationErrorFixer - fix edge cases (kubawerlos)
-* bug #3466 no_whitespace_in_blank_line and no_blank_lines_after_phpdoc fixers bug (kubawerlos, keradus)
-* minor #3354 Added missing types to the PhpdocTypesFixer (GrahamCampbell)
-* minor #3406 Fix for escaping in README (kubawerlos)
-* minor #3431 Add missing tests (SpacePossum)
-* minor #3440 Add a handful of integration tests (BackEndTea)
-* minor #3444 IntegrationTest - ensure tests in priority dir are priority tests indeed (keradus)
-* minor #3494 Add missing PHPDoc param type (ntzm)
-* minor #3495 Swap @var type and element (ntzm)
-* minor #3498 NoUnusedImportsFixer - fix deprecation (keradus)
-
-Changelog for v2.2.14
----------------------
-
-* bug #3298 DiffConsoleFormatter - fix output escaping. (SpacePossum)
-* bug #3337 BracesFixer: nowdoc bug on template files (Slamdunk)
-* bug #3349 Fix stdin handling and add tests for it (keradus)
-* bug #3359 BracesFixer - handle comment for content outside of given block (keradus)
-* bug #3415 FileFilterIterator - input checks and utests (SpacePossum, keradus)
-* bug #3429 Fix archive analysing (keradus)
-* minor #3137 PHPUnit - use common base class (keradus)
-* minor #3342 PhpUnitDedicateAssertFixer - Remove unexistent method is_boolean (carusogabriel)
-* minor #3345 StdinFileInfo - fix `__toString` (keradus)
-* minor #3346 StdinFileInfo - drop getContents (keradus)
-* minor #3347 DX: reapply newest CS (keradus)
-* minor #3365 COOKBOOK-FIXERS.md - update to provide definition instead of description (keradus)
-* minor #3370 AbstractFixer - FQCN in in exceptions (Slamdunk)
-* minor #3372 ProjectCodeTest - fix comment (keradus)
-* minor #3402 Always provide delimiter to `preg_quote` calls (ntzm)
-* minor #3403 Remove unused import (ntzm)
-* minor #3405 Fix `fopen` mode (ntzm)
-* minor #3408 Improving fixers descriptions (kubawerlos)
-* minor #3409 move itests from misc to priority (keradus)
-* minor #3411 Better type hinting for AbstractFixerTestCase::$fixer (kubawerlos)
-* minor #3412 Convert `strtolower` inside `strpos` to just `stripos` (ntzm)
-* minor #3425 FixerFactoryTest - test that priority pair fixers have itest (keradus, SpacePossum)
-* minor #3427 ConfigurationResolver: fix @return annotation (Slamdunk)
-
-Changelog for v2.2.13
----------------------
-
-* bug #3281 SelfAccessorFixer - stop modifying traits (kubawerlos)
-* minor #3195 Add self-update command test (julienfalque)
-* minor #3292 PHPUnit - set memory limit (veewee)
-* minor #3306 Token - better input validation (keradus)
-
-Changelog for v2.2.12
----------------------
-
-* bug #3173 SimplifiedNullReturnFixer - handle nullable return types (Slamdunk)
-* bug #3272 PhpdocTrimFixer - unicode support (SpacePossum)
-
-Changelog for v2.2.11
----------------------
-
-* bug #3225 PhpdocTrimFixer - Fix handling of lines without leading asterisk (julienfalque)
-* bug #3262 ToolInfo - support installation by branch as well (keradus)
-* bug #3266 PhpUnitConstructFixer - multiple asserts bug (kubawerlos)
-* minor #3239 Improve contributing guide and issue template (julienfalque)
-* minor #3246 Make ToolInfo methods non-static (julienfalque)
-* minor #3250 Travis: fail early, spare resources, save the Earth (Slamdunk, keradus)
-* minor #3251 Create Title for config file docs section (IanEdington)
-* minor #3254 AutoReview/FixerFactoryTest::testFixersPriority: verbose assertion message (Slamdunk)
-
-Changelog for v2.2.10
----------------------
-
-* bug #3199 TokensAnalyzer - getClassyElements (SpacePossum)
-* bug #3208 BracesFixer - Fix for instantiation in control structures (julienfalque, SpacePossum)
-* bug #3215 BinaryOperatorSpacesFixer - Fix spaces around multiple exception catching (ntzm)
-* bug #3216 AbstractLinesBeforeNamespaceFixer - add min. and max. option, not only single target count (SpacePossum)
-* bug #3217 TokenizerLinter - fix lack of linting when code is cached (SpacePossum, keradus)
-* minor #3200 Skip slow test when Xdebug is loaded (julienfalque)
-* minor #3219 Normalise references to GitHub in docs (ntzm)
-* minor #3226 Remove unused imports (ntzm)
-* minor #3231 Fix typos (ntzm)
-* minor #3234 Simplify Cache\Signature::equals (ntzm)
-* minor #3237 UnconfigurableFixer - use only LF (keradus)
-* minor #3238 AbstractFixerTest - fix @cover annotation (keradus)
-
-Changelog for v2.2.9
---------------------
-
-* bug #3062 BraceClassInstantiationTransformer - Fix instantiation inside method call braces case (julienfalque, keradus)
-* bug #3083 SingleBlankLineBeforeNamespaceFixer - Fix handling namespace right after opening tag (mlocati)
-* bug #3109 SwitchCaseSemicolonToColonFixer - Fix bug with nested constructs (SpacePossum)
-* bug #3123 Cache - File permissions (SpacePossum)
-* bug #3172 IndentationTypeFixer - do not touch whitespace that is not indentation (SpacePossum)
-* bug #3176 NoMultilineWhitespaceBeforeSemicolonsFixer - SpaceAfterSemicolonFixer - priority fix (SpacePossum)
-* bug #3193 TokensAnalyzer::getClassyElements - sort result before returning (SpacePossum)
-* bug #3196 SelfUpdateCommand - fix exit status when can't determine newest version (julienfalque)
-* minor #3107 ConfigurationResolver - improve error message when rule is not found (SpacePossum)
-* minor #3113 Add WordMatcher (keradus)
-* minor #3133 Unify Reporter tests (keradus)
-* minor #3134 Allow Symfony 4 (keradus, garak)
-* minor #3136 PHPUnit - call hooks from parent class as well (keradus)
-* minor #3145 misc - Typo (localheinz)
-* minor #3150 Fix CircleCI (julienfalque)
-* minor #3151 Update gitattributes to ignore next file (keradus)
-* minor #3156 Update php-coveralls (keradus)
-* minor #3166 README - add link to new gitter channel. (SpacePossum)
-* minor #3174 Update UPGRADE.md (vitek-rostislav)
-* minor #3180 Fix usage of static variables (kubawerlos)
-* minor #3184 Code grooming - sort content of arrays (keradus)
-* minor #3191 Travis - add nightly build to allow_failures due to Travis issues (keradus)
-* minor #3197 DX groom CS (keradus)
-
-Changelog for v2.2.8
---------------------
-
-* bug #3052 Fix false positive warning about paths overridden by provided as command arguments (kubawerlos)
-* bug #3058 IsNullFixer - fix whitespace handling (roukmoute)
-* bug #3072 IsNullFixer - fix non_yoda_style edge case (keradus)
-* bug #3088 Drop dedicated Phar stub (keradus)
-* bug #3100 NativeFunctionInvocationFixer - Fix test if previous token is already namespace separator (SpacePossum)
-* bug #3104 DoctrineAnnotationIndentationFixer - Fix str_repeat() error (julienfalque)
-* minor #3038 Support PHP 7.2 (SpacePossum, keradus)
-* minor #3064 Fix couple of typos (KKSzymanowski)
-* minor #3078 ConfigurationResolver - hide context while including config file (keradus)
-* minor #3080 Direct function call instead of by string (kubawerlos)
-* minor #3085 CiIntegrationTest - skip when no git is available (keradus)
-* minor #3087 phar-stub.php - allow PHP 7.2 (keradus)
-
-Changelog for v2.2.7
---------------------
-
-* bug #3002 Bugfix braces (mnabialek)
-* bug #3010 Fix handling of Github releases (julienfalque, keradus)
-* bug #3015 Fix exception arguments (julienfalque)
-* bug #3016 Verify phar file (keradus)
-* bug #3021 Risky rules cleanup (kubawerlos)
-* bug #3023 RandomApiMigrationFixer - "rand();" to "random_int(0, getrandmax());" fixing (SpacePossum)
-* bug #3024 ConfigurationResolver - Handle empty "rules" value (SpacePossum, keradus)
-* bug #3031 IndentationTypeFixer - fix handling tabs in indented comments (keradus)
-* minor #2999 Notice when paths from config file are overridden by command arguments (julienfalque, keradus)
-* minor #3007 Add PHP 7.2 to Travis build matrix (Jean85)
-* minor #3009 CiIntegrationTest - run local (SpacePossum)
-* minor #3013 Adjust phpunit configuration (localheinz)
-* minor #3017 Fix: Risky tests (localheinz)
-* minor #3018 Fix: Make sure that data providers are named correctly (localheinz, keradus)
-* minor #3032 .php_cs.dist - handling UnexpectedValueException (keradus)
-* minor #3034 Follow newest CS (keradus)
-* minor #3036 Drop not existing Standalone group from PHPUnit configuration and duplicated internal tags (keradus)
-* minor #3042 Update gitter address (keradus)
-
-Changelog for v2.2.6
---------------------
-
-* bug #2925 Improve CI integration suggestion (julienfalque)
-* bug #2928 TokensAnalyzer::getClassyElements - Anonymous class support (SpacePossum)
-* bug #2931 Psr0Fixer, Psr4Fixer - ignore "new class" syntax (dg, keradus)
-* bug #2934 Config - fix handling rule without value (keradus, SpacePossum)
-* bug #2939 NoUnusedImportsFixer - Fix extra blank line (julienfalque)
-* bug #2941 PHP 7.2 - Group imports with trailing comma support (SpacePossum, julienfalque)
-* bug #2987 Fix incorrect indentation of comments in `braces` fixer (rob006)
-* minor #2927 WhiteSpaceConfig - update message copy and more strict tests (SpacePossum, keradus)
-* minor #2930 Trigger website build (keradus)
-* minor #2932 Integrate CircleCI (keradus, aidantwoods)
-* minor #2933 ProcessLinterTest - Ensure Windows test only runs on Windows, add a Mac test execution (aidantwoods)
-* minor #2935 special handling of fabbot.io service if it's using too old PHP CS Fixer version (keradus)
-* minor #2937 Travis: execute 5.3 job on precise (keradus)
-* minor #2938 Tests fix configuration of project (SpacePossum, keradus)
-* minor #2943 FunctionToConstantFixer - test with diff. arguments than fixable (SpacePossum)
-* minor #2946 Detect extra old installations (keradus)
-* minor #2947 Test suggested CI integration (keradus)
-* minor #2951 AccessibleObject - remove most of usage (keradus)
-* minor #2969 Shrink down AccessibleObject usage (keradus)
-* minor #2982 TrailingCommaInMultilineArrayFixer - simplify isMultilineArray condition (TomasVotruba)
-
-Changelog for v2.2.5
---------------------
-
-* bug #2807 NoUselessElseFixer - Fix detection of conditional block (SpacePossum)
-* bug #2809 Phar release - fix readme generation (SpacePossum, keradus)
-* bug #2827 MethodArgumentSpaceFixer - Always remove trailing spaces (julienfalque)
-* bug #2835 SelfAccessorFixer - class property fix (mnabialek)
-* bug #2848 PhpdocIndentFixer - fix edge case with inline phpdoc (keradus)
-* bug #2849 BracesFixer - Fix indentation issues with comments (julienfalque)
-* bug #2851 Tokens - ensureWhitespaceAtIndex (GrahamCampbell, SpacePossum)
-* bug #2854 NoLeadingImportSlashFixer - Removing leading slash from import even when in global space (kubawerlos)
-* bug #2858 Support generic types (keradus)
-* bug #2869 Fix handling required configuration (keradus)
-* bug #2881 NoUnusedImportsFixer - Bug when trying to insert empty token (GrahamCampbell, keradus)
-* bug #2882 DocBlock\Annotation - Fix parsing of collections with multiple key types (julienfalque)
-* bug #2886 NoSpacesInsideParenthesisFixer - Do not remove whitespace if next token is comment (SpacePossum)
-* bug #2888 SingleImportPerStatementFixer - Add support for function and const (SpacePossum)
-* bug #2901 Add missing files to archive files (keradus)
-* bug #2914 HeredocToNowdocFixer - works with CRLF line ending (dg)
-* bug #2920 RuleSet - Update deprecated configuration of fixers (SpacePossum, keradus)
-* minor #1531 Update docs for few generic types (keradus)
-* minor #2793 COOKBOOK-FIXERS.md - update to current version, fix links (keradus)
-* minor #2812 ProcessLinter - compatibility with Symfony 3.3 (keradus)
-* minor #2816 Tokenizer - better docs and validation (keradus)
-* minor #2817 Tokenizer - use future-compatible interface (keradus)
-* minor #2819 Fix benchmark (keradus)
-* minor #2824 code grooming (keradus)
-* minor #2826 Exceptions - provide utests (localheinz)
-* minor #2828 Enhancement: Reference phpunit.xsd from phpunit.xml.dist (localheinz)
-* minor #2830 Differs - add tests (localheinz)
-* minor #2832 Fix: Use all the columns (localheinz)
-* minor #2833 Doctrine\Annotation\Token - provide utests (localheinz)
-* minor #2839 Use PHP 7.2 polyfill instead of xml one (keradus)
-* minor #2842 Move null to first position in PHPDoc types (julienfalque)
-* minor #2850 ReadmeCommandTest - Prevent diff output (julienfalque)
-* minor #2859 Fixed typo and dead code removal (GrahamCampbell)
-* minor #2863 FileSpecificCodeSample - add tests (localheinz)
-* minor #2864 WhitespacesAwareFixerInterface clean up (Slamdunk)
-* minor #2865 AutoReview\FixerTest - test configuration samples (SpacePossum, keradus)
-* minor #2867 VersionSpecification - Fix copy-paste typo (SpacePossum)
-* minor #2874 LineTest - fix typo (keradus)
-* minor #2875 HelpCommand - recursive layout fix (SpacePossum)
-* minor #2883 DescribeCommand - Show which sample uses the default configuration (SpacePossum)
-* minor #2887 Housekeeping - Strict whitespace checks (SpacePossum)
-* minor #2895 ProjectCodeTest - check that classes in no-tests exception exist (keradus)
-* minor #2896 Move testing related classes from src to tests (keradus)
-* minor #2904 Reapply CS (keradus)
-* minor #2910 PhpdocAnnotationWithoutDotFixer - Restrict lowercasing (oschwald)
-* minor #2913 Tests - tweaks (SpacePossum, keradus)
-* minor #2916 FixerFactory - drop return in sortFixers(), never used (TomasVotruba)
-
-Changelog for v2.2.4
---------------------
-
-* bug #2682 DoctrineAnnotationIndentationFixer - fix handling nested annotations (edhgoose, julienfalque)
-* bug #2700 Fix Doctrine Annotation end detection (julienfalque)
-* bug #2715 OrderedImportsFixer - handle indented groups (pilgerone)
-* bug #2732 HeaderCommentFixer - fix handling blank lines (s7b4)
-* bug #2745 Fix Doctrine Annotation newlines (julienfalque)
-* bug #2752 FixCommand - fix typo in warning message (mnapoli)
-* bug #2757 GeckoPHPUnit is not dev dependency (keradus)
-* bug #2759 Update gitattributes (SpacePossum)
-* bug #2763 Fix describe command with PSR-0 fixer (julienfalque)
-* bug #2768 Tokens::ensureWhitespaceAtIndex - clean up comment check, add check for T_OPEN (SpacePossum)
-* bug #2783 Tokens::ensureWhitespaceAtIndex - Fix handling line endings (SpacePossum)
-* minor #2663 Use colors for keywords in commands output (julienfalque, keradus)
-* minor #2706 Update README (SpacePossum)
-* minor #2714 README.rst - fix wrong value in example (mleko)
-* minor #2721 Update phpstorm article link to a fresh blog post (valeryan)
-* minor #2727 PHPUnit - use speedtrap (keradus)
-* minor #2728 SelfUpdateCommand - verify that it's possible to replace current file (keradus)
-* minor #2729 DescribeCommand - add decorated output test (julienfalque)
-* minor #2731 BracesFixer - properly pass config in utest dataProvider (keradus)
-* minor #2738 Upgrade tests to use new, namespaced PHPUnit TestCase class (keradus)
-* minor #2743 Fixing example and description for GeneralPhpdocAnnotationRemoveFixer (kubawerlos)
-* minor #2744 AbstractDoctrineAnnotationFixerTestCase - split fixers test cases (julienfalque)
-* minor #2755 Fix compatibility with PHPUnit 5.4.x (keradus)
-* minor #2758 Readme - improve CI integration guidelines (keradus)
-* minor #2769 Psr0Fixer - remove duplicated example (julienfalque)
-* minor #2775 NoExtraConsecutiveBlankLinesFixer - remove duplicate code sample. (SpacePossum)
-* minor #2778 AutoReview - watch that code samples are unique (keradus)
-* minor #2787 Add warnings about missing dom ext and require json ext (keradus)
-* minor #2792 Use composer-require-checker (keradus)
-* minor #2796 Update .gitattributes (SpacePossum)
-* minor #2800 PhpdocTypesFixerTest - Fix typo in covers annotation (SpacePossum)
-
-Changelog for v2.2.3
---------------------
-
-* bug #2724 Revert #2554 Add short diff. output format (keradus)
-
-Changelog for v2.2.2
---------------------
-
-Warning, this release breaks BC due to introduction of:
-
-* minor #2554 Add short diff. output format (SpacePossum, keradus)
-
-That PR was reverted in v2.2.3, which should be used instead of v2.2.2.
-
-* bug #2545 RuleSet - change resolvement (SpacePossum)
-* bug #2686 Commands readme and describe - fix rare casing when not displaying some possible options of configuration (keradus)
-* bug #2711 FixCommand - fix diff optional value handling (keradus)
-* minor #2688 AppVeyor - Remove github oauth (keradus)
-* minor #2703 Clean ups - No mixed annotations (SpacePossum)
-* minor #2704 Create PHP70Migration:risky ruleset (keradus)
-* minor #2707 Deprecate other than "yes" or "no" for input options (SpacePossum)
-* minor #2709 code grooming (keradus)
-* minor #2710 Travis - run more rules on TASK_SCA (keradus)
-
-Changelog for v2.2.1
---------------------
-
-* bug #2621 Tokenizer - fix edge cases with empty code, registered found tokens and code hash (SpacePossum, keradus)
-* bug #2674 SemicolonAfterInstructionFixer - Fix case where block ends with an opening curly brace (ntzm)
-* bug #2675 ProcessOutputTest - update tests to pass on newest Symfony components under Windows (keradus)
-* minor #2651 Fix UPGRADE.md table syntax so it works in GitHub (ntzm, keradus)
-* minor #2665 Travis - Improve trailing spaces detection (julienfalque)
-* minor #2666 TransformersTest - move test to auto-review group (keradus)
-* minor #2668 add covers annotation (keradus)
-* minor #2669 TokensTest - grooming (SpacePossum)
-* minor #2670 AbstractFixer: use applyFix instead of fix (Slamdunk)
-* minor #2677 README: Correct progressbar option support (Laurens St�tzel)
-
-Changelog for v2.2.0
---------------------
-
-* bug #2640 NoExtraConsecutiveBlankLinesFixer - Fix single indent characters not working (ntzm)
-* feature #2220 Doctrine annotation fixers (julienfalque)
-* feature #2431 MethodArgumentSpaceFixer: allow to retain multiple spaces after comma (Slamdunk)
-* feature #2459 BracesFixer - Add option for keeping opening brackets on the same line (jtojnar, SpacePossum)
-* feature #2486 Add FunctionToConstantFixer (SpacePossum, keradus)
-* feature #2505 FunctionDeclarationFixer - Make space after anonymous function configurable (jtojnar, keradus)
-* feature #2509 FullOpeningTagFixer - Ensure opening PHP tag is lowercase (jtojnar)
-* feature #2532 FixCommand - add stop-on-violation option (keradus)
-* feature #2591 Improve process output (julienfalque)
-* feature #2603 Add InvisibleSymbols Fixer (ivan1986, keradus)
-* feature #2642 Add MagicConstantCasingFixer (ntzm)
-* feature #2657 PhpdocToCommentFixer - Allow phpdoc for language constructs (ceeram, SpacePossum)
-* minor #2500 Configuration resolver (julienfalque, SpacePossum, keradus)
-* minor #2566 Show more details on errors and exceptions. (SpacePossum, julienfalque)
-* minor #2597 HHVM - bump required version to 3.18 (keradus)
-* minor #2606 FixCommand - fix missing comment close tag (keradus)
-* minor #2623 OrderedClassElementsFixer - remove dead code (SpacePossum)
-* minor #2625 Update Symfony and Symfony:risky rulesets (keradus)
-* minor #2626 TernaryToNullCoalescingFixer - adjust ruleset membership and description (keradus)
-* minor #2635 ProjectCodeTest - watch that all classes have dedicated tests (keradus)
-* minor #2647 DescribeCommandTest - remove deprecated code usage (julienfalque)
-* minor #2648 Move non-code covering tests to AutoReview subnamespace (keradus)
-* minor #2652 NoSpacesAroundOffsetFixerTest - fix deprecation (keradus)
-* minor #2656 Code grooming (keradus)
-* minor #2659 Travis - speed up preparation for phar building (keradus)
-* minor #2660 Fixed typo in suggest for ext-mbstring (pascal-hofmann)
-* minor #2661 NonPrintableCharacterFixer - include into Symfony:risky ruleset (keradus)
-
-Changelog for v2.1.3
---------------------
-
-* bug #2358 Cache - Deal with signature encoding (keradus, GrahamCampbell)
-* bug #2475 Add shorthand array destructing support (SpacePossum, keradus)
-* bug #2595 NoUnusedImportsFixer - Fix import usage detection with properties (julienfalque)
-* bug #2605 PhpdocAddMissingParamAnnotationFixer, PhpdocOrderFixer - fix priority issue (SpacePossum)
-* bug #2607 Fixers - better comments handling (SpacePossum)
-* bug #2612 BracesFixer - Fix early bracket close for do-while loop inside an if without brackets (felixgomez)
-* bug #2614 Ensure that '*Fixer::fix()' won't crash when running on non-candidate collection (keradus)
-* bug #2630 HeaderCommentFixer - Fix trailing whitespace not removed after AliasFunctionsFixer (kalessil)
-* feature #1275 Added PhpdocInlineTagFixer (SpacePossum, keradus)
-* feature #1292 Added MethodSeparationFixer (SpacePossum)
-* feature #1383 Introduce rules and sets (keradus)
-* feature #1416 Mark fixers as risky (keradus)
-* feature #1440 Made AbstractFixerTestCase and AbstractIntegrationTestCase public (keradus)
-* feature #1489 Added Psr4Fixer (GrahamCampbell)
-* feature #1497 ExtraEmptyLinesFixer - allow to remove empty blank lines after configured tags (SpacePossum)
-* feature #1529 Added PhpdocPropertyFixer, refactored Tag and Annotation (GrahamCampbell)
-* feature #1628 Added OrderedClassElementsFixer (gharlan)
-* feature #1742 path argument is used to create an intersection with existing finder (keradus, gharlan)
-* feature #1779 Added GeneralPhpdocAnnotationRemoveFixer, GeneralPhpdocAnnotationRenameFixer (keradus)
-* feature #1811 Added NoSpacesInsideOffsetFixer (phansys)
-* feature #1819 Added DirConstantFixer, ModernizeTypesCastingFixer, RandomApiMigrationFixer (kalessil, SpacePossum, keradus)
-* feature #1825 Added junit format (ekho)
-* feature #1862 FixerFactory - Do not allow conflicting fixers (SpacePossum)
-* feature #1888 Cache refactoring, better cache handling in dry-run mode (localheinz)
-* feature #1889 Added SingleClassElementPerStatementFixer (phansys, SpacePossum)
-* feature #1903 FixCommand - allow to pass multiple path argument (keradus)
-* feature #1913 Introduce path-mode CLI option (keradus)
-* feature #1949 Added DeclareStrictTypesFixer, introduce options for HeaderCommentFixer (Seldaek, SpacePossum, keradus)
-* feature #1955 Introduce CT_ARRAY_INDEX_CURLY_BRACE_OPEN and CT_ARRAY_INDEX_CURLY_BRACE_CLOSE (keradus)
-* feature #1958 Added NormalizeIndexBraceFixer (keradus)
-* feature #2069 Add semicolon after instruction fixer (SpacePossum)
-* feature #2089 Add `no_spaces_around_offset` fixer (phansys)
-* feature #2179 BinaryOperatorSpacesFixer - add (un)align configuration options (SpacePossum)
-* feature #2192 Add PowToExponentiationFixer (SpacePossum, keradus)
-* feature #2207 Added ReturnTypeDeclarationFixer (keradus)
-* feature #2213 VisibilityRequiredFixer - Add support for class const visibility added in PHP7.1. (SpacePossum)
-* feature #2221 Add support for user-defined whitespaces (keradus)
-* feature #2244 Config cleanup (keradus, SpacePossum)
-* feature #2247 PhpdocAnnotationWithoutDotFixer - support more cases (keradus)
-* feature #2289 Add PhpdocAddMissingParamAnnotationFixer (keradus)
-* feature #2331 Add DescribeCommand (keradus, SpacePossum)
-* feature #2332 New colours of diff on console (keradus)
-* feature #829 add support for .php_cs.dist file (keradus)
-* feature #998 MethodArgumentSpaceFixer - enhance, now only one space after comma (trilopin, keradus)
-* minor #1007 Simplify Transformers (keradus)
-* minor #1050 Make Config's setDir() fluent like the rest of methods (gonzaloserrano)
-* minor #1062 Added NamespaceOperatorTransformer (gharlan)
-* minor #1078 Exit status should be 0 if there are no errors (gharlan)
-* minor #1101 CS: fix project itself (localheinz)
-* minor #1102 Enhancement: List errors occurred before, during and after fixing (localheinz)
-* minor #1105 Token::isStructureAlternativeEnd - remove unused method (keradus)
-* minor #1106 readme grooming (SpacePossum, keradus)
-* minor #1115 Fixer - simplify flow (keradus)
-* minor #1118 Process output refactor (SpacePossum)
-* minor #1132 Linter - public methods should be first (keradus)
-* minor #1134 Token::isWhitespace - simplify interface (keradus)
-* minor #1140 FixerInterface - check if fixer should be applied by isCandidate method (keradus)
-* minor #1146 Linter - detect executable (keradus)
-* minor #1156 deleted old ConfigurationResolver class (keradus)
-* minor #1160 Grammar fix to README (Falkirks)
-* minor #1174 DefaultFinder - boost performance by not filtering when files array is empty (keradus)
-* minor #1179 Exit with non-zero if invalid files were detected prior to fixing (localheinz)
-* minor #1186 Finder - do not search for .xml and .yml files (keradus)
-* minor #1206 BracesFixer::getClassyTokens - remove duplicated method (keradus)
-* minor #1222 Made fixers final (GrahamCampbell)
-* minor #1229 Tokens - Fix PHPDoc (SpacePossum)
-* minor #1241 More details on exceptions. (SpacePossum)
-* minor #1263 Made internal classes final (GrahamCampbell)
-* minor #1272 Readme - Add spaces around PHP-CS-Fixer headers (Soullivaneuh)
-* minor #1283 Error - Fixed type phpdoc (GrahamCampbell)
-* minor #1284 Token - Fix PHPDoc (SpacePossum)
-* minor #1314 Added missing internal annotations (keradus)
-* minor #1329 Psr0Fixer - move to contrib level (gharlan)
-* minor #1340 Clean ups (SpacePossum)
-* minor #1341 Linter - throw exception when write fails (SpacePossum)
-* minor #1348 Linter - Prefer error output when throwing a linting exception (GrahamCampbell)
-* minor #1350 Add "phpt" as a valid extension (henriquemoody)
-* minor #1376 Add time and memory to XML report (junichi11)
-* minor #1387 Made all test classes final (keradus)
-* minor #1388 Made all tests internal (keradus)
-* minor #1390 Added ProjectCodeTest that tests if all classes inside tests are internal and final or abstract (keradus)
-* minor #1391 Fixer::getLevelAsString is no longer static (keradus)
-* minor #1392 Add report to XML report as the root node (junichi11)
-* minor #1394 Stop mixing level from config file and fixers from CLI arg when one of fixers has dash (keradus)
-* minor #1426 MethodSeparationFixer - Fix spacing around comments (SpacePossum, keradus)
-* minor #1432 Fixer check on factory (Soullivaneuh)
-* minor #1434 Add Test\AccessibleObject class (keradus)
-* minor #1442 FixerFactory - disallow to register multiple fixers with same name (keradus)
-* minor #1477 rename PhpdocShortDescriptionFixer into PhpdocSummaryFixer (keradus)
-* minor #1481 Fix running the tests (keradus)
-* minor #1482 move AbstractTransformerTestBase class outside Tests dir (keradus)
-* minor #1530 Added missing internal annotation (GrahamCampbell)
-* minor #1534 Clean ups (SpacePossum)
-* minor #1536 Typo fix (fabpot)
-* minor #1555 Fixed indentation in composer.json (GrahamCampbell)
-* minor #1558 [2.0] Cleanup the tags property in the abstract phpdoc types fixer (GrahamCampbell)
-* minor #1567 PrintToEchoFixer - add to symfony rule set (gharlan)
-* minor #1607 performance improvement (gharlan)
-* minor #1621 Switch to PSR-4 (keradus)
-* minor #1631 Configuration exceptions exception cases on master. (SpacePossum)
-* minor #1646 Remove non-default Config/Finder classes (keradus)
-* minor #1648 Fixer - avoid extra calls to getFileRelativePathname (GrahamCampbell)
-* minor #1649 Consider the php version when caching (GrahamCampbell)
-* minor #1652 Rename namespace "Symfony\CS" to "PhpCsFixer" (gharlan)
-* minor #1666 new Runner, ProcessOutputInterface, DifferInterface and ResultInterface (keradus)
-* minor #1674 Config - add addCustomFixers method (PedroTroller)
-* minor #1677 Enhance tests (keradus)
-* minor #1695 Rename Fixers (keradus)
-* minor #1702 Upgrade guide (keradus)
-* minor #1707 ExtraEmptyLinesFixer - fix configure docs (keradus)
-* minor #1712 NoExtraConsecutiveBlankLinesFixer - Remove blankline after curly brace open (SpacePossum)
-* minor #1718 CLI: rename --config-file argument (keradus)
-* minor #1722 Renamed not_operators_with_space to not_operator_with_space (GrahamCampbell)
-* minor #1728 PhpdocNoSimplifiedNullReturnFixer - rename back to PhpdocNoEmptyReturnFixer (keradus)
-* minor #1729 Renamed whitespacy_lines to no_whitespace_in_blank_lines (GrahamCampbell)
-* minor #1731 FixCommand - value for config option is required (keradus)
-* minor #1732 move fixer classes from level subdirs to thematic subdirs (gharlan, keradus)
-* minor #1733 ConfigurationResolver - look for .php_cs file in cwd as well (keradus)
-* minor #1737 RuleSet/FixerFactory - sort arrays content (keradus)
-* minor #1751 FixerInterface::configure - method should always override configuration, not patch it (keradus)
-* minor #1752 Remove unused code (keradus)
-* minor #1756 Finder - clean up code (keradus)
-* minor #1757 Psr0Fixer - change way of configuring the fixer (keradus)
-* minor #1762 Remove ConfigInterface::getDir, ConfigInterface::setDir, Finder::setDir and whole FinderInterface (keradus)
-* minor #1764 Remove ConfigAwareInterface (keradus)
-* minor #1780 AbstractFixer - throw error on configuring non-configurable Fixer (keradus)
-* minor #1782 rename fixers (gharlan)
-* minor #1815 NoSpacesInsideParenthesisFixer - simplify implementation (keradus)
-* minor #1821 Ensure that PhpUnitDedicateAssertFixer runs after NoAliasFunctionsFixer, clean up NoEmptyCommentFixer (SpacePossum)
-* minor #1824 Reporting extracted to separate classes (ekho, keradus, SpacePossum)
-* minor #1826 Fixer - remove measuring fixing time per file (keradus)
-* minor #1843 FileFilterIterator - add missing import (GrahamCampbell)
-* minor #1845 FileCacheManager - Allow linting to determine the cache state too (GrahamCampbell)
-* minor #1846 FileFilterIterator - Corrected an iterator typehint (GrahamCampbell)
-* minor #1848 DocBlock - Remove some old unused phpdoc tags (GrahamCampbell)
-* minor #1856 NoDuplicateSemicolonsFixer - Remove overcomplete fixer (SpacePossum)
-* minor #1861 Fix: Offset should be Offset (localheinz)
-* minor #1867 Print non-report output to stdErr (SpacePossum, keradus)
-* minor #1873 Enhancement: Show path to cache file if it exists (localheinz)
-* minor #1875 renamed Composer package (fabpot)
-* minor #1882 Runner - Handle throwables too (GrahamCampbell)
-* minor #1886 PhpdocScalarFixer - Fix lowercase str to string too (GrahamCampbell)
-* minor #1940 README.rst - update CI example (keradus)
-* minor #1947 SCA, CS, add more tests (SpacePossum, keradus)
-* minor #1954 tests - stop using deprecated method (sebastianbergmann)
-* minor #1962 TextDiffTest - tests should not produce cache file (keradus)
-* minor #1973 Introduce fast PHP7 based linter (keradus)
-* minor #1999 Runner - No need to determine relative file name twice (localheinz)
-* minor #2002 FileCacheManagerTest - Adjust name of test and variable (localheinz)
-* minor #2010 NoExtraConsecutiveBlankLinesFixer - SF rule set, add 'extra' (SpacePossum)
-* minor #2013 no_whitespace_in_blank_lines -> no_whitespace_in_blank_line (SpacePossum)
-* minor #2024 AbstractFixerTestCase - check if there is no duplicated Token instance inside Tokens collection (keradus)
-* minor #2031 COOKBOOK-FIXERS.md - update calling doTest method (keradus)
-* minor #2032 code grooming (keradus)
-* minor #2068 Code grooming (keradus)
-* minor #2073 DeclareStrictTypesFixer - Remove fix CS fix logic from fixer. (SpacePossum)
-* minor #2088 TokenizerLintingResult - expose line number of parsing error (keradus)
-* minor #2093 Tokens - add block type BLOCK_TYPE_ARRAY_INDEX_CURLY_BRACE (SpacePossum)
-* minor #2095 Transformers - add required PHP version (keradus)
-* minor #2096 Introduce CT for PHP7 (keradus)
-* minor #2119 Create @Symfony:risky ruleset (keradus)
-* minor #2163 ClassKeywordRemoveFixerTest - Fix tests (SpacePossum)
-* minor #2180 FixCommand - don't refer to renamed rules (keradus)
-* minor #2181 Disallow to disable linter (keradus)
-* minor #2194 semicolon_after_instruction,no_unneeded_control_parentheses prio issue (SpacePossum)
-* minor #2199 make fixers less risky (SpacePossum)
-* minor #2206 Add PHP70Migration ruleset (keradus)
-* minor #2217 SelfUpdateCommand - Print version of update fixer (SpacePossum)
-* minor #2223 update integration test format (keradus)
-* minor #2227 Stop polluting global namespace with CT (keradus)
-* minor #2237 DX: extend integration tests for PSR2 and Symfony rulesets (keradus)
-* minor #2240 Make some objects immutable (keradus)
-* minor #2251 ProtectedToPrivateFixer - fix priority, fix comments with new fixer names (SpacePossum)
-* minor #2252 ClassDefinitionFixer - Set configuration of the fixer in the RuleSet of SF. (SpacePossum)
-* minor #2257 extend Symfony_whitespaces itest (keradus)
-* minor #2258 README.rst - indicate configurable rules (keradus)
-* minor #2267 RuleSet - validate set (keradus)
-* minor #2268 Use strict parameters for PHP functions (keradus)
-* minor #2273 fixed typo (fabpot)
-* minor #2274 ShortArraySyntaxFixer/LongArraySyntaxFixer - Merge conflicting fixers (SpacePossum)
-* minor #2275 Clean ups (SpacePossum)
-* minor #2278 Concat*Fixer - unify concat fixers (SpacePossum, keradus)
-* minor #2279 Use Prophecy (keradus)
-* minor #2284 Code grooming (SpacePossum)
-* minor #2285 IntegrationCase is now aware about RuleSet but not Fixers (keradus, SpacePossum)
-* minor #2286 Phpdoc*Fixer - unify rename fixers (SpacePossum, keradus)
-* minor #2288 FixerInterface::configure(null) reset fixer to use default configuration (keradus)
-* minor #2291 Make fixers ready to use directly after creation (keradus)
-* minor #2295 Code grooming (keradus)
-* minor #2296 ProjectCodeTest - make test part of regular testsuite, not standalone one (keradus)
-* minor #2298 ConfigurationResolver - grooming (SpacePossum)
-* minor #2300 Simplify rule set (SpacePossum, keradus)
-* minor #2306 DeclareStrictTypesFixer - do not move tokens (SpacePossum)
-* minor #2312 RuleSet - sort rules (localheinz)
-* minor #2313 DX: provide doctyping for tests (keradus)
-* minor #2317 Add utests (keradus)
-* minor #2318 *TestCase - Reduce visibility of setUp() (localheinz)
-* minor #2319 Code grooming (keradus)
-* minor #2322 DX: use whitemessy aware assertion (keradus)
-* minor #2324 `Echo|Print*Fixer` - unify printing fixers (SpacePossum, keradus)
-* minor #2337 Normalize rule naming (keradus)
-* minor #2338 Drop hacks for unsupported HHVM (keradus)
-* minor #2339 Add some Fixer descriptions (SpacePossum, keradus)
-* minor #2343 PowToExponentiationFixer - allow to run on 5.6.0 as well (keradus)
-* minor #767 Add @internal tag (keradus)
-* minor #807 Tokens::isMethodNameIsMagic - remove unused method (keradus)
-* minor #809 Split Tokens into Tokens and TokensAnalyzer (keradus)
-* minor #844 Renamed phpdoc_params to phpdoc_align (GrahamCampbell)
-* minor #854 Change default level to PSR2 (keradus)
-* minor #873 Config - using cache by default (keradus)
-* minor #902 change FixerInterface (keradus)
-* minor #911 remove Token::$line (keradus)
-* minor #914 All Transformer classes should be named with Transformer as suffix (keradus)
-* minor #915 add UseTransformer (keradus)
-* minor #916 add ArraySquareBraceTransformer (keradus)
-* minor #917 clean up Transformer tests (keradus)
-* minor #919 CurlyBraceTransformer - one transformer to handle all curly braces transformations (keradus)
-* minor #928 remove Token::getLine (keradus)
-* minor #929 add WhitespacyCommentTransformer (keradus)
-* minor #937 fix docs/typehinting in few classes (keradus)
-* minor #958 FileCacheManager - remove code for BC support (keradus)
-* minor #979 Improve Tokens::clearEmptyTokens performance (keradus)
-* minor #981 Tokens - code grooming (keradus)
-* minor #988 Fixers - no need to search for tokens of given kind in extra loop (keradus)
-* minor #989 No need for loop in Token::equals (keradus)
-
-Changelog for v1.13.3
----------------------
-
-* minor #3042 Update gitter address (keradus)
-
-Changelog for v1.13.2
----------------------
-
-* minor #2946 Detect extra old installations (keradus)
-
-Changelog for v1.13.1
----------------------
-
-* minor #2342 Application - adjust test to not depend on symfony/console version (keradus)
-* minor #2344 AppVeyor: enforce PHP version (keradus)
-
-Changelog for v1.13.0
----------------------
-
-* bug #2303 ClassDefinitionFixer - Anonymous classes fixing (SpacePossum)
-* feature #2208 Added fixer for PHPUnit's @expectedException annotation (ro0NL)
-* feature #2249 Added ProtectedToPrivateFixer (Slamdunk, SpacePossum)
-* feature #2264 SelfUpdateCommand - Do not update to next major version by default (SpacePossum)
-* feature #2328 ClassDefinitionFixer - Anonymous classes format by PSR12 (SpacePossum)
-* feature #2333 PhpUnitFqcnAnnotationFixer - support more annotations (keradus)
-* minor #2256 EmptyReturnFixer - it's now risky fixer due to null vs void (keradus)
-* minor #2281 Add issue template (SpacePossum)
-* minor #2307 Update .editorconfig (SpacePossum)
-* minor #2310 CI: update AppVeyor to use newest PHP, silence the composer (keradus)
-* minor #2315 Token - Deprecate getLine() (SpacePossum)
-* minor #2320 Clear up status code on 1.x (SpacePossum)
-
-Changelog for v1.12.4
----------------------
-
-* bug #2235 OrderedImportsFixer - PHP 7 group imports support (SpacePossum)
-* minor #2276 Tokens cleanup (keradus)
-* minor #2277 Remove trailing spaces (keradus)
-* minor #2294 Improve Travis configuration (keradus)
-* minor #2297 Use phpdbg instead of xdebug (keradus)
-* minor #2299 Travis: proper xdebug disabling (keradus)
-* minor #2301 Travis: update platform adjusting (keradus)
-
-Changelog for v1.12.3
----------------------
-
-* bug #2155 ClassDefinitionFixer - overhaul (SpacePossum)
-* bug #2187 MultipleUseFixer - Fix handling comments (SpacePossum)
-* bug #2209 LinefeedFixer - Fix in a safe way (SpacePossum)
-* bug #2228 NoEmptyLinesAfterPhpdocs, SingleBlankLineBeforeNamespace - Fix priority (SpacePossum)
-* bug #2230 FunctionDeclarationFixer - Fix T_USE case (SpacePossum)
-* bug #2232 Add a test for style of variable declaration : var (daiglej)
-* bug #2246 Fix itest requirements (keradus)
-* minor #2238 .gitattributes - specified line endings (keradus)
-* minor #2239 IntegrationCase - no longer internal (keradus)
-
-Changelog for v1.12.2
----------------------
-
-* bug #2191 PhpdocToCommentFixer - fix false positive for docblock of variable (keradus)
-* bug #2193 UnneededControlParenthesesFixer - Fix more return cases. (SpacePossum)
-* bug #2198 FileCacheManager - fix exception message and undefined property (j0k3r)
-* minor #2170 Add dollar sign prefix for consistency (bcremer)
-* minor #2190 .travis.yml - improve Travis speed for tags (keradus)
-* minor #2196 PhpdocTypesFixer - support iterable type (GrahamCampbell)
-* minor #2197 Update cookbook and readme (g105b, SpacePossum)
-* minor #2203 README.rst - change formatting (ro0NL)
-* minor #2204 FixCommand - clean unused var (keradus)
-* minor #2205 Add integration test for iterable type (keradus)
-
-Changelog for v1.12.1
----------------------
-
-* bug #2144 Remove temporary files not deleted by destructor on failure (adawolfa)
-* bug #2150 SelfUpdateCommand: resolve symlink (julienfalque)
-* bug #2162 Fix issue where an exception is thrown if the cache file exists but is empty. (ikari7789)
-* bug #2164 OperatorsSpacesFixer - Do not unalign double arrow and equals operators (SpacePossum)
-* bug #2167 Rewrite file removal (keradus)
-* minor #2152 Code cleanup (keradus)
-* minor #2154 ShutdownFileRemoval - Fixed file header (GrahamCampbell)
-
-Changelog for v1.12.0
----------------------
-
-* feature #1493 Added MethodArgumentDefaultValueFixer (lmanzke)
-* feature #1495 BracesFixer - added support for declare (EspadaV8)
-* feature #1518 Added ClassDefinitionFixer (SpacePossum)
-* feature #1543 [PSR-2] Switch case space fixer (Soullivaneuh)
-* feature #1577 Added SpacesAfterSemicolonFixer (SpacePossum)
-* feature #1580 Added HeredocToNowdocFixer (gharlan)
-* feature #1581 UnneededControlParenthesesFixer - add "break" and "continue" support (gharlan)
-* feature #1610 HashToSlashCommentFixer - Add (SpacePossum)
-* feature #1613 ScalarCastFixer - LowerCaseCastFixer - Add (SpacePossum)
-* feature #1659 NativeFunctionCasingFixer - Add (SpacePossum)
-* feature #1661 SwitchCaseSemicolonToColonFixer - Add (SpacePossum)
-* feature #1662 Added CombineConsecutiveUnsetsFixer (SpacePossum)
-* feature #1671 Added NoEmptyStatementFixer (SpacePossum)
-* feature #1705 Added NoUselessReturnFixer (SpacePossum, keradus)
-* feature #1735 Added NoTrailingWhitespaceInCommentFixer (keradus)
-* feature #1750 Add PhpdocSingleLineVarSpacingFixer (SpacePossum)
-* feature #1765 Added NoEmptyPhpdocFixer (SpacePossum)
-* feature #1773 Add NoUselessElseFixer (gharlan, SpacePossum)
-* feature #1786 Added NoEmptyCommentFixer (SpacePossum)
-* feature #1792 Add PhpUnitDedicateAssertFixer. (SpacePossum)
-* feature #1894 BracesFixer - correctly fix indents of anonymous functions/classes (gharlan)
-* feature #1985 Added ClassKeywordRemoveFixer (Soullivaneuh)
-* feature #2020 Added PhpdocAnnotationWithoutDotFixer (keradus)
-* feature #2067 Added DeclareEqualNormalizeFixer (keradus)
-* feature #2078 Added SilencedDeprecationErrorFixer (HeahDude)
-* feature #2082 Added MbStrFunctionsFixer (Slamdunk)
-* bug #1657 SwitchCaseSpaceFixer - Fix spacing between 'case' and semicolon (SpacePossum)
-* bug #1684 SpacesAfterSemicolonFixer - fix loops handling (SpacePossum, keradus)
-* bug #1700 Fixer - resolve import conflict (keradus)
-* bug #1836 NoUselessReturnFixer - Do not remove return if last statement in short if statement (SpacePossum)
-* bug #1879 HeredocToNowdocFixer - Handle space in heredoc token (SpacePossum)
-* bug #1896 FixCommand - Fix escaping of diff output (SpacePossum)
-* bug #2034 IncludeFixer - fix support for close tag (SpacePossum)
-* bug #2040 PhpdocAnnotationWithoutDotFixer - fix crash on odd character (keradus)
-* bug #2041 DefaultFinder should implement FinderInterface (keradus)
-* bug #2050 PhpdocAnnotationWithoutDotFixer - handle ellipsis (keradus)
-* bug #2051 NativeFunctionCasingFixer - call to constructor with default NS of class with name matching native function name fix (SpacePossum)
-* minor #1538 Added possibility to lint tests (gharlan)
-* minor #1569 Add sample to get a specific version of the fixer (Soullivaneuh)
-* minor #1571 Enhance integration tests (keradus)
-* minor #1578 Code grooming (keradus)
-* minor #1583 Travis - update matrix (keradus)
-* minor #1585 Code grooming - Improve utests code coverage (SpacePossum)
-* minor #1586 Add configuration exception classes and exit codes (SpacePossum)
-* minor #1594 Fix invalid PHP code samples in utests (SpacePossum)
-* minor #1597 MethodArgumentDefaultValueFixer - refactoring and fix closures with "use" clause (gharlan)
-* minor #1600 Added more integration tests (SpacePossum, keradus)
-* minor #1605 integration tests - swap EXPECT and INPUT (optional INPUT) (gharlan)
-* minor #1608 Travis - change matrix order for faster results (gharlan)
-* minor #1609 CONTRIBUTING.md - Don't rebase always on master (SpacePossum)
-* minor #1616 IncludeFixer - fix and test more cases (SpacePossum)
-* minor #1622 AbstractIntegratationTest - fix linting test cases (gharlan)
-* minor #1624 fix invalid code in test cases (gharlan)
-* minor #1625 Travis - switch to trusty (keradus)
-* minor #1627 FixCommand - fix output (keradus)
-* minor #1630 Pass along the exception code. (SpacePossum)
-* minor #1632 Php Inspections (EA Extended): SCA for 1.12 (kalessil)
-* minor #1633 Fix CS for project itself (keradus)
-* minor #1634 Backport some minor changes from 2.x line (keradus)
-* minor #1637 update PHP Coveralls (keradus)
-* minor #1639 Revert "Travis - set dist to trusty" (keradus)
-* minor #1641 AppVeyor/Travis - use GITHUB_OAUTH_TOKEN (keradus)
-* minor #1642 AppVeyor - install dev deps as well (keradus)
-* minor #1647 Deprecate non-default Configs and Finders (keradus)
-* minor #1654 Split output to stderr and stdout (SpacePossum)
-* minor #1660 update phpunit version (gharlan)
-* minor #1663 DuplicateSemicolonFixer - Remove duplicate semicolons even if there are comments between those (SpacePossum)
-* minor #1664 IncludeFixer - Add missing test case (SpacePossum)
-* minor #1668 Code grooming (keradus)
-* minor #1669 NativeFunctionCasingFixer - move to Symfony level (keradus)
-* minor #1670 Backport Finder and Config classes from 2.x line (keradus)
-* minor #1682 ElseifFixer - handle comments (SpacePossum)
-* minor #1689 AbstractIntegrationTest - no need for single-char group and docs grooming (keradus)
-* minor #1690 Integration tests - allow to not check priority, introduce IntegrationCase (keradus)
-* minor #1701 Fixer - Renamed import alias (GrahamCampbell)
-* minor #1708 Update composer.json requirements (keradus)
-* minor #1734 Travis: Turn on linting (keradus)
-* minor #1736 Integration tests - don't check priority for tests using short_tag fixer (keradus)
-* minor #1739 NoTrailingWhitespaceInCommentFixer - move to PSR2 level (keradus)
-* minor #1763 Deprecate ConfigInterface::getDir, ConfigInterface::setDir, Finder::setDir (keradus)
-* minor #1777 NoTrailingWhitespaceInCommentFixer - fix parent class (keradus)
-* minor #1816 PhpUnitDedicateAssertFixer - configuration is not required anymore (keradus)
-* minor #1849 DocBlock - The category tag should be together with package (GrahamCampbell)
-* minor #1870 Update README.rst (glensc)
-* minor #1880 FixCommand - fix stdErr detection (SpacePossum)
-* minor #1881 NoEmptyStatementFixer - handle anonymous classes correctly (gharlan)
-* minor #1906 .php_cs - use no_useless_else rule (keradus)
-* minor #1915 NoEmptyComment - move to Symfony level (SpacePossum)
-* minor #1917 BracesFixer - fixed comment handling (gharlan)
-* minor #1919 EmptyReturnFixer - move fixer outside of Symfony level (keradus)
-* minor #2036 OrderedUseFixer - adjust tests (keradus)
-* minor #2056 Travis - run nightly PHP (keradus)
-* minor #2061 UnusedUseFixer and LineAfterNamespace - add new integration test (keradus)
-* minor #2097 Add lambda tests for 7.0 and 7.1 (SpacePossum)
-* minor #2111 .travis.yml - rename PHP 7.1 env (keradus)
-* minor #2112 Fix 1.12 line (keradus)
-* minor #2118 SilencedDeprecationErrorFixer - adjust level (keradus)
-* minor #2132 composer.json - rename package name (keradus)
-* minor #2133 Apply ordered_class_elements rule (keradus)
-* minor #2138 composer.json - disallow to run on PHP 7.2+ (keradus)
-
-Changelog for v1.11.8
----------------------
-
-* bug #2143 ReadmeCommand - fix running command on phar file (keradus)
-* minor #2129 Add .gitattributes to remove unneeded files (Slamdunk)
-* minor #2141 Move phar building to PHP 5.6 job as newest box.phar is no longer working on 5.3 (keradus)
-
-Changelog for v1.11.7
----------------------
-
-* bug #2108 ShortArraySyntaxFixer, TernarySpacesFixer, UnalignEqualsFixer - fix priority bug (SpacePossum)
-* bug #2092 ConcatWithoutSpacesFixer, OperatorsSpacesFixer - fix too many spaces, fix incorrect fixing of lines with comments (SpacePossum)
-
-Changelog for v1.11.6
----------------------
-
-* bug #2086 Braces - fix bug with comment in method prototype (keradus)
-* bug #2077 SingleLineAfterImportsFixer - Do not remove lines between use cases (SpacePossum)
-* bug #2079 TernarySpacesFixer - Remove multiple spaces (SpacePossum)
-* bug #2087 Fixer - handle PHP7 Errors as well (keradus)
-* bug #2072 LowercaseKeywordsFixer - handle CT_CLASS_CONSTANT (tgabi333)
-* bug #2066 LineAfterNamespaceFixer - Handle close tag (SpacePossum)
-* bug #2057 LineAfterNamespaceFixer - adding too much extra lines where namespace is last statement (keradus)
-* bug #2059 OperatorsSpacesFixer - handle declare statement (keradus)
-* bug #2060 UnusedUseFixer - fix handling whitespaces around removed import (keradus)
-* minor #2071 ShortEchoTagFixer - allow to run tests on PHP 5.3 (keradus)
-
-Changelog for v1.11.5
----------------------
-
-* bug #2012 Properly build phar file for lowest supported PHP version (keradus)
-* bug #2037 BracesFixer - add support for anonymous classes (keradus)
-* bug #1989 Add support for PHP 7 namespaces (SpacePossum)
-* bug #2019 Fixing newlines added after curly brace string index access (jaydiablo)
-* bug #1840 [Bug] BracesFixer - Do add a line before close tag (SpacePossum)
-* bug #1994 EchoToPrintFixer - Fix T_OPEN_TAG_WITH_ECHO on hhvm (keradus)
-* bug #1970 Tokens - handle semi-reserved PHP 7 keywords (keradus)
-* minor #2017 PHP7 integration tests (keradus)
-* minor #1465 Bump supported HHVM version, improve ShortEchoTagFixer on HHVM (keradus)
-* minor #1995 Rely on own phpunit, not one from CI service (keradus)
-
-Changelog for v1.11.4
----------------------
-
-* bug #1956 SelfUpdateCommand - don't update to non-stable version (keradus)
-* bug #1963 Fix not wanted unneeded_control_parentheses fixer for clone (Soullivaneuh)
-* bug #1960 Fix invalid test cases (keradus)
-* bug #1939 BracesFixer - fix handling comment around control token (keradus)
-* minor #1927 NewWithBracesFixer - remove invalid testcase (keradus)
-
-Changelog for v1.11.3
----------------------
-
-* bug #1868 NewWithBracesFixer - fix handling more neighbor tokens (keradus)
-* bug #1893 BracesFixer - handle comments inside lambda function prototype (keradus)
-* bug #1806 SelfAccessorFixer - skip anonymous classes (gharlan)
-* bug #1813 BlanklineAfterOpenTagFixer, NoBlankLinesBeforeNamespaceFixer - fix priority (SpacePossum)
-* minor #1807 Tokens - simplify isLambda() (gharlan)
-
-Changelog for v1.11.2
----------------------
-
-* bug #1776 EofEndingFixer - new line on end line comment is allowed (Slamdunk)
-* bug #1775 FileCacheManager - ignore corrupted serialized data (keradus)
-* bug #1769 FunctionDeclarationFixer - fix more cases (keradus)
-* bug #1747 Fixer - Fix ordering of fixer when both level and custom fixers are used (SpacePossum)
-* bug #1744 Fixer - fix rare situation when file was visited twice (keradus)
-* bug #1710 LowercaseConstantFixer - Fix comment cases. (SpacePossum)
-* bug #1711 FunctioncallSpaceFixer - do not touch function declarations. (SpacePossum)
-* minor #1798 LintManager - meaningful tempnam (Slamdunk)
-* minor #1759 UniqueFileIterator - performance improvement (GrahamCampbell)
-* minor #1745 appveyor - fix build (keradus)
-
-Changelog for v1.11.1
----------------------
-
-* bug #1680 NewWithBracesFixer - End tags (SpacePossum)
-* bug #1685 EmptyReturnFixer - Make independent of LowercaseConstantsFixer (SpacePossum)
-* bug #1640 IntegrationTest - fix directory separator (keradus)
-* bug #1595 ShortTagFixer - fix priority (keradus)
-* bug #1576 SpacesBeforeSemicolonFixer - do not remove space before semicolon if that space is after a semicolon (SpacePossum)
-* bug #1570 UnneededControlParenthesesFixer - fix test samples (keradus)
-* minor #1653 Update license year (gharlan)
-
-Changelog for v1.11
--------------------
-
-* feature #1550 Added UnneededControlParenthesesFixer (Soullivaneuh, keradus)
-* feature #1532 Added ShortBoolCastFixer (SpacePossum)
-* feature #1523 Added EchoToPrintFixer and PrintToEchoFixer (Soullivaneuh)
-* feature #1552 Warn when running with xdebug extension (SpacePossum)
-* feature #1484 Added ArrayElementNoSpaceBeforeCommaFixer and ArrayElementWhiteSpaceAfterCommaFixer (amarczuk)
-* feature #1449 PhpUnitConstructFixer - Fix more use cases (SpacePossum)
-* feature #1382 Added PhpdocTypesFixer (GrahamCampbell)
-* feature #1384 Add integration tests (SpacePossum)
-* feature #1349 Added FunctionTypehintSpaceFixer (keradus)
-* minor #1562 Fix invalid PHP code samples in utests (SpacePossum)
-* minor #1560 Fixed project name in xdebug warning (gharlan)
-* minor #1545 Fix invalid PHP code samples in utests (SpacePossum)
-* minor #1554 Alphabetically sort entries in .gitignore (GrahamCampbell)
-* minor #1527 Refactor the way types work on annotations (GrahamCampbell)
-* minor #1546 Update coding guide in cookbook (keradus)
-* minor #1526 Support more annotations when fixing types in phpdoc (GrahamCampbell)
-* minor #1535 clean ups (SpacePossum)
-* minor #1510 Added Symfony 3.0 support (Ener-Getick)
-* minor #1520 Code grooming (keradus)
-* minor #1515 Support property, property-read and property-write tags (GrahamCampbell)
-* minor #1488 Added more inline phpdoc tests (GrahamCampbell)
-* minor #1496 Add docblock to AbstractFixerTestBase::makeTest (lmanzke)
-* minor #1467 PhpdocShortDescriptionFixer - add support for Japanese sentence-ending characters (fritz-c)
-* minor #1453 remove calling array_keys in foreach loops (keradus)
-* minor #1448 Code grooming (keradus)
-* minor #1437 Added import fixers integration test (GrahamCampbell)
-* minor #1433 phpunit.xml.dist - disable gc (keradus)
-* minor #1427 Change arounded to surrounded in README.rst (36degrees)
-* minor #1420 AlignDoubleArrowFixer, AlignEqualsFixer - add integration tests (keradus)
-* minor #1423 appveyor.yml - do not cache C:\tools, its internal forAppVeyor (keradus)
-* minor #1400 appveyor.yml - add file (keradus)
-* minor #1396 AbstractPhpdocTypesFixer - instance method should be called on instance (keradus)
-* minor #1395 code grooming (keradus)
-* minor #1393 boost .travis.yml file (keradus)
-* minor #1372 Don't allow PHP 7 to fail (GrahamCampbell)
-* minor #1332 PhpUnitConstructFixer - fix more functions (keradus)
-* minor #1339 CONTRIBUTING.md - add link to PSR-5 (keradus)
-* minor #1346 Core grooming (SpacePossum)
-* minor #1328 Tokens: added typehint for Iterator elements (gharlan)
-
-Changelog for v1.10.3
----------------------
-
-* bug #1559 WhitespacyLinesFixer - fix bug cases (SpacePossum, keradus)
-* bug #1541 Psr0Fixer - Ignore filenames that are a reserved keyword or predefined constant (SpacePossum)
-* bug #1537 Psr0Fixer - ignore file without name or with name started by digit (keradus)
-* bug #1516 FixCommand - fix wrong message for dry-run (SpacePossum)
-* bug #1486 ExtraEmptyLinesFixer - Remove extra lines after comment lines too (SpacePossum)
-* bug #1503 Psr0Fixer - fix case with comments lying around (GrahamCampbell)
-* bug #1474 PhpdocToCommentFixer - fix not properly fixing for block right after namespace (GrahamCampbell)
-* bug #1478 BracesFixer - do not remove empty lines after class opening (keradus)
-* bug #1468 Add missing ConfigInterface::getHideProgress() (Eugene Leonovich, rybakit)
-* bug #1466 Fix bad indent on align double arrow fixer (Soullivaneuh, keradus)
-* bug #1479 Tokens - fix detection of short array (keradus)
-
-Changelog for v1.10.2
----------------------
-
-* bug #1461 PhpUnitConstructFixer - fix case when first argument is an expression (keradus)
-* bug #1460 AlignDoubleArrowFixer - fix handling of nested arrays (Soullivaneuh, keradus)
-
-Changelog for v1.10.1
----------------------
-
-* bug #1424 Fixed the import fixer priorities (GrahamCampbell)
-* bug #1444 OrderedUseFixer - fix next case (keradus)
-* bug #1441 BracesFixer - fix next case (keradus)
-* bug #1422 AlignDoubleArrowFixer - fix handling of nested array (SpacePossum)
-* bug #1425 PhpdocInlineTagFixerTest - fix case when met invalid PHPDoc (keradus)
-* bug #1419 AlignDoubleArrowFixer, AlignEqualsFixer - fix priorities (keradus)
-* bug #1415 BlanklineAfterOpenTagFixer - Do not add a line break if there is one already. (SpacePossum)
-* bug #1410 PhpdocIndentFixer - Fix for open tag (SpacePossum)
-* bug #1401 PhpdocVarWithoutNameFixer - Fixed the var without name fixer for inline docs (keradus, GrahamCampbell)
-* bug #1369 Fix not well-formed XML output (junichi11)
-* bug #1356 Psr0Fixer - disallow run on StdinFileInfo (keradus)
-
-Changelog for v1.10
--------------------
-
-* feature #1306 Added LogicalNotOperatorsWithSuccessorSpaceFixer (phansys)
-* feature #1286 Added PhpUnitConstructFixer (keradus)
-* feature #1316 Added PhpdocInlineTagFixer (SpacePossum, keradus)
-* feature #1303 Added LogicalNotOperatorsWithSpacesFixer (phansys)
-* feature #1279 Added PhpUnitStrictFixer (keradus)
-* feature #1267 SingleQuoteFixer fix more use cases (SpacePossum)
-* minor #1319 PhpUnitConstructFixer - fix performance and add to local .php_cs (keradus)
-* minor #1280 Fix non-utf characters in docs (keradus)
-* minor #1274 Cookbook - No change auto-test note (Soullivaneuh)
-
-Changelog for v1.9.3
---------------------
-
-* bug #1327 DocBlock\Tag - keep the case of tags (GrahamCampbell)
-
-Changelog for v1.9.2
---------------------
-
-* bug #1313 AlignDoubleArrowFixer - fix aligning after UTF8 chars (keradus)
-* bug #1296 PhpdocScalarFixer - fix property annotation too (GrahamCampbell)
-* bug #1299 WhitespacyLinesFixer - spaces on next valid line must not be fixed (Slamdunk)
-
-Changelog for v1.9.1
---------------------
-
-* bug #1288 TrimArraySpacesFixer - fix moving first comment (keradus)
-* bug #1287 PhpdocParamsFixer - now works on any indentation level (keradus)
-* bug #1278 Travis - fix PHP7 build (keradus)
-* bug #1277 WhitespacyLinesFixer - stop changing non-whitespacy tokens (SpacePossum, SamBurns-awin, keradus)
-* bug #1224 TrailingSpacesFixer - stop changing non-whitespacy tokens (SpacePossum, SamBurns-awin, keradus)
-* bug #1266 FunctionCallSpaceFixer - better detection of function call (funivan)
-* bug #1255 make sure some phpdoc fixers are run in right order (SpacePossum)
-
-Changelog for v1.9
-------------------
-
-* feature #1097 Added ShortEchoTagFixer (vinkla)
-* minor #1238 Fixed error handler to respect current error_reporting (JanJakes)
-* minor #1234 Add class to exception message, use sprintf for exceptions (SpacePossum)
-* minor #1210 set custom error handler for application run (keradus)
-* minor #1214 Tokens::isMonolithicPhp - enhance performance (keradus)
-* minor #1207 Update code documentation (keradus)
-* minor #1202 Update IDE tool urls (keradus)
-* minor #1195 PreIncrementFixer - move to Symfony level (gharlan)
-
-Changelog for v1.8.1
---------------------
-
-* bug #1193 EofEndingFixer - do not add an empty line at EOF if the PHP tags have been closed (SpacePossum)
-* bug #1209 PhpdocParamsFixer - fix corrupting following custom annotation (keradus)
-* bug #1205 BracesFixer - fix missing indentation fixes for class level (keradus)
-* bug #1204 Tag - fix treating complex tag as simple PhpDoc tag (keradus)
-* bug #1198 Tokens - fixed unary/binary operator check for type-hinted reference arguments (gharlan)
-* bug #1201 Php4ConstructorFixer - fix invalid handling of subnamespaces (gharlan)
-* minor #1221 Add more tests (SpacePossum)
-* minor #1216 Tokens - Add unit test for array detection (SpacePossum)
-
-Changelog for v1.8
-------------------
-
-* feature #1168 Added UnalignEqualsFixer (keradus)
-* feature #1167 Added UnalignDoubleArrowFixer (keradus)
-* bug #1169 ToolInfo - Fix way to find script dir (sp-ian-monge)
-* minor #1181 composer.json - Update description (SpacePossum)
-* minor #1180 create Tokens::overrideAt method (keradus)
-
-Changelog for v1.7.1
---------------------
-
-* bug #1165 BracesFixer - fix bug when comment is a first statement in control structure without braces (keradus)
-
-Changelog for v1.7
-------------------
-
-* feature #1113 Added PreIncrementFixer (gharlan)
-* feature #1144 Added PhpdocNoAccessFixer (GrahamCampbell)
-* feature #1116 Added SelfAccessorFixer (gharlan)
-* feature #1064 OperatorsSpacesFixer enhancements (gharlan)
-* bug #1151 Prevent token collection corruption by fixers (stof, keradus)
-* bug #1152 LintManager - fix handling of temporary file (keradus)
-* bug #1139 NamespaceNoLeadingWhitespaceFixer - remove need for ctype extension (keradus)
-* bug #1117 Tokens - fix iterator used with foreach by reference (keradus)
-* minor #1148 code grooming (keradus)
-* minor #1142 We are actually PSR-4, not PSR-0 (GrahamCampbell)
-* minor #1131 Phpdocs and typos (SpacePossum)
-* minor #1069 state min HHVM version (keradus)
-* minor #1129 [DX] Help developers choose the right branch (SpacePossum)
-* minor #1138 PhpClosingTagFixer - simplify flow, no need for loop (keradus)
-* minor #1123 Reference mismatches fixed, SCA (kalessil)
-* minor #1109 SingleQuoteFixer - made fixer more accurate (gharlan)
-* minor #1110 code grooming (kalessil)
-
-Changelog for v1.6.2
---------------------
-
-* bug #1149 UnusedUseFixer - must be run before LineAfterNamespaceFixer, fix token collection corruption (keradus)
-* minor #1145 AbstractLinesBeforeNamespaceFixer - fix docs for fixLinesBeforeNamespace (GrahamCampbell)
-
-Changelog for v1.6.1
---------------------
-
-* bug #1108 UnusedUseFixer - fix false positive when name is used as part of another namespace (gharlan)
-* bug #1114 Fixed PhpdocParamsFixer with malformed doc block (gharlan)
-* minor #1135 PhpdocTrimFixer - fix doc typo (localheinz)
-* minor #1093 Travis - test lowest dependencies (boekkooi)
-
-Changelog for v1.6
-------------------
-
-* feature #1089 Added NewlineAfterOpenTagFixer and BlanklineAfterOpenTagFixer (ceeram, keradus)
-* feature #1090 Added TrimArraySpacesFixer (jaredh159, keradus)
-* feature #1058 Added SingleQuoteFixer (gharlan)
-* feature #1059 Added LongArraySyntaxFixer (gharlan)
-* feature #1037 Added PhpdocScalarFixer (GrahamCampbell, keradus)
-* feature #1028 Add ListCommasFixer (keradus)
-* bug #1047 Utils::camelCaseToUnderscore - fix regexp (odin-delrio)
-* minor #1073 ShortTagFixer enhancement (gharlan)
-* minor #1079 Use LongArraySyntaxFixer for this repo (gharlan)
-* minor #1070 Tokens::isMonolithicPhp - remove unused T_CLOSE_TAG search (keradus)
-* minor #1049 OrderedUseFixer - grooming (keradus)
-
-Changelog for v1.5.2
---------------------
-
-* bug #1025 Fixer - ignore symlinks (kix)
-* bug #1071 Psr0Fixer - fix bug for fixing file with long extension like .class.php (keradus)
-* bug #1080 ShortTagFixer - fix false positive (gharlan)
-* bug #1066 Php4ConstructorFixer - fix causing infinite recursion (mbeccati)
-* bug #1056 VisibilityFixer - fix T_VAR with multiple props (localheinz, keradus)
-* bug #1065 Php4ConstructorFixer - fix detection of a PHP4 parent constructor variant (mbeccati)
-* bug #1060 Tokens::isShortArray: tests and bugfixes (gharlan)
-* bug #1057 unused_use: fix false positive when name is only used as variable name (gharlan)
-
-Changelog for v1.5.1
---------------------
-
-* bug #1054 VisibilityFixer - fix var with array value assigned (localheinz, keradus)
-* bug #1048 MultilineArrayTrailingCommaFixer, SingleArrayNoTrailingCommaFixer - using heredoc inside array not causing to treat it as multiline array (keradus)
-* bug #1043 PhpdocToCommentFixer - also check other control structures, besides foreach (ceeram)
-* bug #1045 OrderedUseFixer - fix namespace order for trailing digits (rusitschka)
-* bug #1035 PhpdocToCommentFixer - Add static as valid keyword for structural element (ceeram)
-* bug #1020 BracesFixer - fix missing braces for nested if elseif else (malengrin)
-* minor #1036 Added php7 to travis build (fonsecas72)
-* minor #1026 Fix typo in ShortArraySyntaxFixer (tommygnr)
-* minor #1024 code grooming (keradus)
-
-Changelog for v1.5
-------------------
-
-* feature #887 Added More Phpdoc Fixers (GrahamCampbell, keradus)
-* feature #1002 Add HeaderCommentFixer (ajgarlag)
-* feature #974 Add EregToPregFixer (mbeccati)
-* feature #970 Added Php4ConstructorFixer (mbeccati)
-* feature #997 Add PhpdocToCommentFixer (ceeram, keradus)
-* feature #932 Add NoBlankLinesAfterClassOpeningFixer (ceeram)
-* feature #879 Add SingleBlankLineBeforeNamespaceFixer and NoBlankLinesBeforeNamespaceFixer (GrahamCampbell)
-* feature #860 Add single_line_after_imports fixer (ceeram)
-* minor #1014 Fixed a few file headers (GrahamCampbell)
-* minor #1011 Fix HHVM as it works different than PHP (keradus)
-* minor #1010 Fix invalid UTF-8 char in docs (ajgarlag)
-* minor #1003 Fix header comment in php files (ajgarlag)
-* minor #1005 Add Utils::calculateBitmask method (keradus)
-* minor #973 Add Tokens::findSequence (mbeccati)
-* minor #991 Longer explanation of how to use blacklist (bmitch, networkscraper)
-* minor #972 Add case sensitive option to the tokenizer (mbeccati)
-* minor #986 Add benchmark script (dericofilho)
-* minor #985 Fix typo in COOKBOOK-FIXERS.md (mattleff)
-* minor #978 Token - fix docs (keradus)
-* minor #957 Fix Fixers methods order (GrahamCampbell)
-* minor #944 Enable caching of composer downloads on Travis (stof)
-* minor #941 EncodingFixer - enhance tests (keradus)
-* minor #938 Psr0Fixer - remove unneeded assignment (keradus)
-* minor #936 FixerTest - test description consistency (keradus)
-* minor #933 NoEmptyLinesAfterPhpdocsFixer - remove unneeded code, clarify description (ceeram)
-* minor #934 StdinFileInfo::getFilename - Replace phpdoc with normal comment and add back empty line before return (ceeram)
-* minor #927 Exclude the resources folder from coverage reports (GrahamCampbell)
-* minor #926 Update Token::isGivenKind phpdoc (GrahamCampbell)
-* minor #925 Improved AbstractFixerTestBase (GrahamCampbell)
-* minor #922 AbstractFixerTestBase::makeTest - test if input is different than expected (keradus)
-* minor #904 Refactoring Utils (GrahamCampbell)
-* minor #901 Improved Readme Formatting (GrahamCampbell)
-* minor #898 Tokens::getImportUseIndexes - simplify function (keradus)
-* minor #897 phpunit.xml.dist - split testsuite (keradus)
-
-Changelog for v1.4.2
---------------------
-
-* bug #994 Fix detecting of short arrays (keradus)
-* bug #995 DuplicateSemicolonFixer - ignore duplicated semicolons inside T_FOR (keradus)
-
-Changelog for v1.4.1
---------------------
-
-* bug #990 MultilineArrayTrailingCommaFixer - fix case with short array on return (keradus)
-* bug #975 NoEmptyLinesAfterPhpdocsFixer - fix only when documentation documents sth (keradus)
-* bug #976 PhpdocIndentFixer - fix error when there is a comment between docblock and next meaningful token (keradus, ceeram)
-
-Changelog for v1.4
-------------------
-
-* feature #841 PhpdocParamsFixer: added aligning var/type annotations (GrahamCampbell)
-* bug #965 Fix detection of lambda function that returns a reference (keradus)
-* bug #962 PhpdocIndentFixer - fix bug when documentation is on the end of braces block (keradus)
-* bug #961 Fixer - fix handling of empty file (keradus)
-* bug #960 IncludeFixer - fix bug when include is part of condition statement (keradus)
-* bug #954 AlignDoubleArrowFixer - fix new buggy case (keradus)
-* bug #955 ParenthesisFixer - fix case with list call with trailing comma (keradus)
-* bug #950 Tokens::isLambda - fix detection near comments (keradus)
-* bug #951 Tokens::getImportUseIndexes - fix detection near comments (keradus)
-* bug #949 Tokens::isShortArray - fix detection near comments (keradus)
-* bug #948 NewWithBracesFixer - fix case with multidimensional array (keradus)
-* bug #945 Skip files containing __halt_compiler() on PHP 5.3 (stof)
-* bug #946 BracesFixer - fix typo in exception name (keradus)
-* bug #940 Tokens::setCode - apply missing transformation (keradus)
-* bug #908 BracesFixer - fix invalid inserting brace for control structure without brace and lambda inside of it (keradus)
-* bug #903 NoEmptyLinesAfterPhpdocsFixer - fix bug with Windows style lines (GrahamCampbell)
-* bug #895 [PSR-2] Preserve blank line after control structure opening brace (marcaube)
-* bug #892 Fixed the double arrow multiline whitespace fixer (GrahamCampbell)
-* bug #874 BracesFixer - fix bug of removing empty lines after class' opening { (ceeram)
-* bug #868 BracesFixer - fix missing braces when statement is not followed by ; (keradus)
-* bug #861 Updated PhpdocParamsFixer not to change line endings (keradus, GrahamCampbell)
-* bug #837 FixCommand - stop corrupting xml/json format (keradus)
-* bug #846 Made phpdoc_params run after phpdoc_indent (GrahamCampbell)
-* bug #834 Correctly handle tab indentation (ceeram)
-* bug #822 PhpdocIndentFixer - Ignore inline docblocks (ceeram)
-* bug #813 MultilineArrayTrailingCommaFixer - do not move array end to new line (keradus)
-* bug #817 LowercaseConstantsFixer - ignore class' constants TRUE/FALSE/NULL (keradus)
-* bug #821 JoinFunctionFixer - stop changing declaration method name (ceeram)
-* minor #963 State the minimum version of PHPUnit in CONTRIBUTING.md (SpacePossum)
-* minor #943 Improve the cookbook to use relative links (stof)
-* minor #921 Add changelog file (keradus)
-* minor #909 BracesFixerTest - no \n line in \r\n test (keradus)
-* minor #864 Added NoEmptyLinesAfterPhpdocsFixer (GrahamCampbell)
-* minor #871 Added missing author (GrahamCampbell)
-* minor #852 Fixed the coveralls version constraint (GrahamCampbell)
-* minor #863 Tweaked testRetainsNewLineCharacters (GrahamCampbell)
-* minor #849 Removed old alias (GrahamCampbell)
-* minor #843 integer should be int (GrahamCampbell)
-* minor #830 Remove whitespace before opening tag (ceeram)
-* minor #835 code grooming (keradus)
-* minor #828 PhpdocIndentFixerTest - code grooming (keradus)
-* minor #827 UnusedUseFixer - code grooming (keradus)
-* minor #825 improve code coverage (keradus)
-* minor #810 improve code coverage (keradus)
-* minor #811 ShortArraySyntaxFixer - remove not needed if statement (keradus)
-
-Changelog for v1.3
-------------------
-
-* feature #790 Add docblock indent fixer (ceeram)
-* feature #771 Add JoinFunctionFixer (keradus)
-* bug #798 Add DynamicVarBrace Transformer for properly handling ${$foo} syntax (keradus)
-* bug #796 LowercaseConstantsFixer - rewrite to handle new test cases (keradus)
-* bug #789 T_CASE is not succeeded by parentheses (dericofilho)
-* minor #814 Minor improvements to the phpdoc_params fixer (GrahamCampbell)
-* minor #815 Minor fixes (GrahamCampbell)
-* minor #782 Cookbook on how to make a new fixer (dericofilho)
-* minor #806 Fix Tokens::detectBlockType call (keradus)
-* minor #758 travis - disable sudo (keradus)
-* minor #808 Tokens - remove commented code (keradus)
-* minor #802 Address Sensiolabs Insight's warning of code cloning. (dericofilho)
-* minor #803 README.rst - fix \` into \`\` (keradus)
-
-Changelog for v1.2
-------------------
-
-* feature #706 Remove lead slash (dericofilho)
-* feature #740 Add EmptyReturnFixer (GrahamCampbell)
-* bug #775 PhpClosingTagFixer - fix case with T_OPEN_TAG_WITH_ECHO (keradus)
-* bug #756 Fix broken cases for AlignDoubleArrowFixer (dericofilho)
-* bug #763 MethodArgumentSpaceFixer - fix receiving data in list context with omitted values (keradus)
-* bug #759 Fix Tokens::isArrayMultiLine (stof, keradus)
-* bug #754 LowercaseKeywordsFixer - __HALT_COMPILER must not be lowercased (keradus)
-* bug #753 Fix for double arrow misalignment in deeply nested arrays. (dericofilho)
-* bug #752 OrderedUseFixer should be case-insensitive (rusitschka)
-* minor #779 Fixed a docblock type (GrahamCampbell)
-* minor #765 Typehinting in FileCacheManager, remove unused variable in Tokens (keradus)
-* minor #764 SelfUpdateCommand - get local version only if remote version was successfully obtained (keradus)
-* minor #761 align => (keradus)
-* minor #757 Some minor code simplify and extra test (keradus)
-* minor #713 Download php-cs-fixer.phar without sudo (michaelsauter)
-* minor #742 Various Minor Improvements (GrahamCampbell)
-
-Changelog for v1.1
-------------------
-
-* feature #749 remove the --no-progress option (replaced by the standard -v) (fabpot, keradus)
-* feature #728 AlignDoubleArrowFixer - standardize whitespace after => (keradus)
-* feature #647 Add DoubleArrowMultilineWhitespacesFixer (dericofilho, keradus)
-* bug #746 SpacesBeforeSemicolonFixerTest - fix bug with semicolon after comment (keradus)
-* bug #741 Fix caching when composer is installed in custom path (cmodijk)
-* bug #725 DuplicateSemicolonFixer - fix clearing whitespace after duplicated semicolon (keradus)
-* bug #730 Cache busting when fixers list changes (Seldaek)
-* bug #722 Fix lint for STDIN-files (ossinkine)
-* bug #715 TrailingSpacesFixer - fix bug with french UTF-8 chars (keradus)
-* bug #718 Fix package name for composer cache (Seldaek)
-* bug #711 correct vendor name (keradus)
-* minor #745 Show progress by default and allow to disable it (keradus)
-* minor #731 Add a way to disable all default filters and really provide a whitelist (Seldaek)
-* minor #737 Extract tool info into new class, self-update command works now only for PHAR version (keradus)
-* minor #739 fix fabbot issues (keradus)
-* minor #726 update CONTRIBUTING.md for installing dependencies (keradus)
-* minor #736 Fix fabbot issues (GrahamCampbell)
-* minor #727 Fixed typos (pborreli)
-* minor #719 Add update instructions for composer and caching docs (Seldaek)
-
-Changelog for v1.0
-------------------
-
-First stable release.
diff --git a/vendor/friendsofphp/php-cs-fixer/CONTRIBUTING.md b/vendor/friendsofphp/php-cs-fixer/CONTRIBUTING.md
deleted file mode 100644
index f0f5a429..00000000
--- a/vendor/friendsofphp/php-cs-fixer/CONTRIBUTING.md
+++ /dev/null
@@ -1,103 +0,0 @@
-# Contributions Are Welcome!
-
-If you need any help, don't hesitate to ask the community using [GitHub Discussions](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/discussions/categories/q-a).
-
-## Glossary
-
-### Fixer
-
-A *fixer* is a class that tries to fix a single code style issue (a ``Fixer`` class must implement ``FixerInterface``).
-
-### Ruleset
-
-A *ruleset* is a collection of rules (*fixers*) that may be referenced in the config file similarly to a single *fixer*. When you work on existing fixer please keep in mind it can be a part of a *ruleset*(s) and changes may affect many users. When working on new *fixer* please consider if it should be added to some *ruleset*(s).
-
-### Config
-
-A *config* knows about the code style rules and the files and directories that must be scanned by the tool when run in the context of your project. It is useful for projects that follow a well-known directory structures, but the tool is not limited to any specific structure, and you can configure it in a very flexible way.
-
-## How to contribute
-
-> [!IMPORTANT]
-> Before contributing with _really_ significant changes that require a lot of effort or are crucial from this tool's
-> architecture perspective, please open [RFC on GitHub Discussion](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/discussions/categories/rfc).
-> The development effort should start only after the proposal is discussed and the approach aligned.
-
-### Development
-
-* [Fork](https://help.github.com/articles/fork-a-repo/) this repository. You can use native Git approach or use [`gh` CLI tool](https://cli.github.com/).
-* Create new branch on top of the latest revision of `master` branch (if you already had project locally, then make sure to update this branch before going to next steps). It's good when branch's name reflects intent of the changes, but this is not strict requirement since pull request provides description of the change. However, with good branch naming it's easier to work on multiple changes simultaneously.
-* Install dependencies by running `composer update` (since project does not contain `composer.lock` it's better to ensure latest versions of packages by running `update` command instead of `install`).
-* Make changes. Please remember that **all** changes have to be covered by tests.
- * if you work on a bug fix, please start with reproducing the problem by adding failing test case(s). When you have failing test case(s), you can [create pull request](#opening-a-pull-request) just to reproduce fail in the CI. Then you can provide fix _in the subsequent commits_, it will make code review easier. It's allowed to modify existing test cases in bug fix pull request, but *only if* current behavior is proved to be invalid.
- * if you work on existing fixers then don't change existing test cases, because these are contract between the maintainers and users (they ensure how tool works). Add new test cases that cover provided changes - preferred way of defining test cases is with [data provider](https://docs.phpunit.de/en/10.0/writing-tests-for-phpunit.html#data-providers) which uses `yield` with proper case description as a key (e.g. `yield 'Some specific scenario' => ['some', 'example', 'data'];`). Codebase may still contain test cases in different format, and it's totally acceptable to use `yield` approach next to existing `return` usages.
-* Update documentation: `composer docs`. This requires the highest version of PHP supported by PHP CS Fixer. If it is not installed on your system, you can run it in a Docker container instead: `docker compose run php-8.2 php dev-tools/doc.php`.
-* Run QA suite: `composer qa`.
-* Fix project itself (if needed): `composer cs:fix`.
-
-### Opening a [pull request](https://help.github.com/articles/about-pull-requests/)
-
-You can do some things to increase the chance that your pull request is accepted without communication ping-pong between you and the reviewers:
-
-* Submit [single](https://en.wikipedia.org/wiki/Single-responsibility_principle) pull request per fix or feature.
-* Keep meaningful commit logs, don't use meaningless messages (e.g. `foo`, `more work`, `more work`, `more work`) and don't push complex PR as a single commit.
-* Don't [amend](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---amend) commits because it makes review rounds harder - all commits from your branch will be squashed (without commit messages) during the merge.
-* Follow the conventions used in the project.
-* Remember about tests and documentation.
-* Don't bump `PhpCsFixer\Console\Application::VERSION`, it's done during release.
-
-> [!IMPORTANT]
-> Your pull request will have much higher chance of getting merged if you allow maintainers to push changes to your
-> branch. You can do it by ticking "Allow edits and access to secrets by maintainers" checkbox, but please keep in mind
-> this option is available only if your PR is created from a user's fork. If your fork is a part of organisation, then
-> you can add [Fixer maintainers](https://github.com/orgs/PHP-CS-Fixer/people) as members of that repository. This way
-> maintainers will be able to provide required changes or rebase your branch (only up-to-date PRs can be merged).
-
-## Working With Docker
-
-This project provides a Docker setup that allows working on it using any of the PHP versions supported by the tool.
-
-To use it, you first need to install [Docker](https://docs.docker.com/get-docker/) ([Docker Compose](https://docs.docker.com/compose/) is a built-in plugin of the main tool).
-
-Next, copy [`compose.override.dist.yaml`](./compose.override.dist.yaml) to `compose.override.yaml` and edit it to your needs. The relevant parameters that might require some tweaking have comments to help you.
-
-You can then build the images:
-
-```console
-docker compose build --parallel
-```
-
-Now you can run commands needed to work on the project. For example, say you want to run PHPUnit tests on PHP 8.2:
-
-```console
-docker compose run php-8.2 vendor/bin/phpunit
-```
-
-Sometimes it can be more convenient to have a shell inside the container:
-
-```console
-docker compose run php-7.4 sh
-/fixer vendor/bin/phpunit
-```
-
-The images come with an [`xdebug` script](github.com/julienfalque/xdebug/) that allows running any PHP command with Xdebug enabled to help debug problems.
-
-```console
-docker compose run php-8.2 xdebug vendor/bin/phpunit
-```
-
-If you're using PhpStorm, you need to create a [server](https://www.jetbrains.com/help/phpstorm/servers.html) with a name that matches the `PHP_IDE_CONFIG` environment variable defined in the Docker Compose configuration files, which is `php-cs-fixer` by default.
-
-All images use port 9003 for debug connections.
-
-## Making New Fixers
-
-There is a [cookbook](doc/cookbook_fixers.rst) with basic instructions on how to build a new fixer. Consider reading it before opening a PR.
-
-## Project's Standards
-
-* [PSR-1: Basic Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md)
-* [PSR-2: Coding Style Guide](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)
-* [PSR-4: Autoloading Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md)
-* [PSR-5: PHPDoc (draft)](https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md)
-* [Symfony Coding Standards](https://symfony.com/doc/current/contributing/code/standards.html)
diff --git a/vendor/friendsofphp/php-cs-fixer/LICENSE b/vendor/friendsofphp/php-cs-fixer/LICENSE
deleted file mode 100644
index 871def02..00000000
--- a/vendor/friendsofphp/php-cs-fixer/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2012+ Fabien Potencier, Dariusz Rumiński
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/vendor/friendsofphp/php-cs-fixer/README.md b/vendor/friendsofphp/php-cs-fixer/README.md
deleted file mode 100644
index 01d8d1f4..00000000
--- a/vendor/friendsofphp/php-cs-fixer/README.md
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
-
-# PHP Coding Standards Fixer
-
-The PHP Coding Standards Fixer (PHP CS Fixer) tool fixes your code to follow standards;
-whether you want to follow PHP coding standards as defined in the PSR-1, PSR-2, etc.,
-or other community driven ones like the Symfony one.
-You can **also** define your (team's) style through configuration.
-
-It can modernize your code (like converting the ``pow`` function to the ``**`` operator on PHP 5.6)
-and (micro) optimize it.
-
-If you are already using a linter to identify coding standards problems in your
-code, you know that fixing them by hand is tedious, especially on large
-projects. This tool does not only detect them, but also fixes them for you.
-
-## Supported PHP Versions
-
-* PHP 7.4
-* PHP 8.0
-* PHP 8.1
-* PHP 8.2
-* PHP 8.3
-
-> **Note**
-> Each new PHP version requires a huge effort to support the new syntax.
-> That's why the latest PHP version might not be supported yet. If you need it,
-> please, consider supporting the project in any convenient way, for example
-> with code contribution or reviewing existing PRs. To run PHP CS Fixer on yet
-> unsupported versions "at your own risk" - leverage the
-> [PHP_CS_FIXER_IGNORE_ENV](./doc/usage.rst#environment-options).
-
-## Documentation
-
-### Installation
-
-The recommended way to install PHP CS Fixer is to use [Composer](https://getcomposer.org/download/)
-in a dedicated `composer.json` file in your project, for example in the
-`tools/php-cs-fixer` directory:
-
-```console
-mkdir -p tools/php-cs-fixer
-composer require --working-dir=tools/php-cs-fixer friendsofphp/php-cs-fixer
-```
-
-Or using the main `composer.json`:
-
-```console
-composer require --dev friendsofphp/php-cs-fixer
-```
-
-For more details and other installation methods, see
-[installation instructions](./doc/installation.rst).
-
-### Run with Docker
-
-You can use pre-built Docker images to run ``php-cs-fixer``.
-
-```console
-docker run -v $(pwd):/code ghcr.io/php-cs-fixer/php-cs-fixer:${FIXER_VERSION:-3-php8.3} fix src
-```
-
-`$FIXER_VERSION` used in example above is an identifier of a release you want to use, which is based on Fixer and PHP versions combined. There are different tags for each Fixer's SemVer level and PHP version with syntax `-php`. For example:
-
-* `3.47.0-php7.4`
-* `3.47-php8.0`
-* `3-php8.3`
-
-### Usage
-
-Assuming you installed PHP CS Fixer as instructed above, you can run the
-following command to fix the files PHP files in the `src` directory:
-
-```console
-tools/php-cs-fixer/vendor/bin/php-cs-fixer fix src
-```
-
-See [usage](./doc/usage.rst), list of [built-in rules](./doc/rules/index.rst), list of [rule sets](./doc/ruleSets/index.rst)
-and [configuration file](./doc/config.rst) documentation for more details.
-
-If you need to apply code styles that are not supported by the tool, you can
-[create custom rules](./doc/custom_rules.rst).
-
-## Editor Integration
-
-Dedicated plugins exist for:
-
-* [NetBeans](https://plugins.netbeans.apache.org/catalogue/?id=36)
-* [PhpStorm](https://www.jetbrains.com/help/phpstorm/using-php-cs-fixer.html)
-* [Sublime Text](https://github.com/benmatselby/sublime-phpcs)
-* [Vim](https://github.com/stephpy/vim-php-cs-fixer)
-* [VS Code](https://github.com/junstyle/vscode-php-cs-fixer)
-
-## Community
-
-The PHP CS Fixer is maintained on GitHub at .
-Bug reports and ideas about new features are welcome there.
-
-You can reach us in the [GitHub Discussions](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/discussions/) regarding the
-project, configuration, possible improvements, ideas and questions. Please visit us there!
-
-## Contribute
-
-The tool comes with quite a few built-in fixers, but everyone is more than
-welcome to [contribute](CONTRIBUTING.md) more of them.
diff --git a/vendor/friendsofphp/php-cs-fixer/UPGRADE-v3.md b/vendor/friendsofphp/php-cs-fixer/UPGRADE-v3.md
deleted file mode 100644
index bea1ff4f..00000000
--- a/vendor/friendsofphp/php-cs-fixer/UPGRADE-v3.md
+++ /dev/null
@@ -1,162 +0,0 @@
-# UPGRADE GUIDE FROM 2.x to 3.0
-
-This is guide for upgrade from version 2.x to 3.0 for using the CLI tool.
-
-*Before following this guide, install [v2.19](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v2.19.0) and run in verbose mode (`php-cs-fixer fix -v`) or in future mode (`PHP_CS_FIXER_FUTURE_MODE=1 php-cs-fixer fix`) to identify deprecations and fix them first.*
-
-## Rename of files
-
-| 2.x | 3.0 | Description |
-|------------------|--------------------------|----------------------------------------|
-| `.php_cs` | `.php-cs-fixer.php` | Configuration file (local) |
-| `.php_cs.dist` | `.php-cs-fixer.dist.php` | Configuration file (to be distributed) |
-| `.php_cs.cache` | `.php-cs-fixer.cache` | Cache file |
-
-## CLI options
-
-| 2.x | 3.0 | Description | Note |
-| ---------------- | --------------- | ----------------------------------------------- | -------------------------------------- |
-| --diff-format | | Type of differ | Option was removed, all diffs are now |
-| | | | `udiff` |
-| --show-progress | --show-progress | Type of progress indicator | Allowed values were modified: |
-| | | | `run-in` and `estimating` was removed, |
-| | | | `estimating-max` was renamed to `dots` |
-| --rules | --rules | Default value changed from @PSR2 to @PSR12 | |
-| --config --rules | | | No longer allowed to pass both |
-
-## Changes to rules
-
-### Renamed rules
-
-| Old name | New name | Note |
-|--------------------------------------------|-----------------------------------------------------------------------------------|------------------------------------------------------|
-|`blank_line_before_return` | `blank_line_before_statement` | use configuration `['statements' => ['return']]` |
-|`final_static_access` | `self_static_accessor` | |
-|`hash_to_slash_comment` | `single_line_comment_style` | use configuration `['comment_types' => ['hash']]` |
-|`lowercase_constants` | `constant_case` | use configuration `['case' => 'lower']` |
-|`method_separation` | `class_attributes_separation` | use configuration `['elements' => ['method']]` |
-|`no_extra_consecutive_blank_lines` | `no_extra_blank_lines` | |
-|`no_multiline_whitespace_before_semicolons` | `multiline_whitespace_before_semicolons` | |
-|`no_short_echo_tag` | `echo_tag_syntax` | use configuration `['format' => 'long']` |
-|`php_unit_ordered_covers` | `phpdoc_order_by_value` | use configuration `['annotations' => [ 'covers' ]]` |
-|`phpdoc_inline_tag` | `general_phpdoc_tag_rename`, `phpdoc_inline_tag_normalizer` and `phpdoc_tag_type` | |
-|`pre_increment` | `increment_style` | use configuration `['style' => 'pre']` |
-|`psr0` | `psr_autoloading` | use configuration `['dir' => x ]` |
-|`psr4` | `psr_autoloading` | |
-|`silenced_deprecation_error` | `error_suppression` | |
-|`trailing_comma_in_multiline_array` | `trailing_comma_in_multiline` | use configuration `['elements' => ['arrays']]` |
-
-### Removed rootless configuration
-
-| Rule | Root option | Note |
-|--------------------------------------| -------------- |-----------------------------------------------------------|
-| `general_phpdoc_annotation_remove` | `annotations` | |
-| `no_extra_consecutive_blank_lines` | `tokens` | |
-| `no_spaces_around_offset` | `positions` | |
-| `no_unneeded_control_parentheses` | `statements` | |
-| `ordered_class_elements` | `order` | |
-| `php_unit_construct` | `assertions` | |
-| `php_unit_dedicate_assert` | `target` | root option works differently than rootless configuration |
-| `php_unit_strict` | `assertions` | |
-| `phpdoc_no_alias_tag` | `replacements` | |
-| `phpdoc_return_self_reference` | `replacements` | |
-| `random_api_migration` | `replacements` | |
-| `single_class_element_per_statement` | `elements` | |
-| `visibility_required` | `elements` | |
-
-### Changed options
-
-| Rule | Option | Change |
-|------------------------------------|----------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `binary_operator_spaces` | `align_double_arrow` | option was removed, use `operators` instead |
-| `binary_operator_spaces` | `align_equals` | option was removed use `operators` instead |
-| `blank_line_before_statement` | `statements: die` | option `die` was removed from `statements`, use `exit` instead |
-| `class_attributes_separation` | `elements` | option does no longer accept flat array as a value, use map instead |
-| `class_definition` | `multiLineExtendsEachSingleLine` | option was renamed to `multi_line_extends_each_single_line` |
-| `class_definition` | `singleItemSingleLine` | option was renamed to `single_item_single_line` |
-| `class_definition` | `singleLine` | option was renamed to `single_line` |
-| `doctrine_annotation_spaces` | `around_argument_assignments` | option was removed, use `before_argument_assignments` and `after_argument_assignments` instead |
-| `doctrine_annotation_spaces` | `around_array_assignments` | option was removed, use `after_array_assignments_colon`, `after_array_assignments_equals`, `before_array_assignments_colon` and `before_array_assignments_equals` instead |
-| `final_internal_class` | `annotation-black-list` | option was renamed, use `annotation_exclude` |
-| `final_internal_class` | `annotation-white-list` | option was renamed, use `annotation_include` |
-| `final_internal_class` | `consider-absent-docblock-as-internal-class` | option was renamed, use `consider_absent_docblock_as_internal_class` |
-| `header_comment` | `commentType` | option was renamed to `comment_type` |
-| `is_null` | `use_yoda_style` | option was removed, use `yoda_style` rule instead |
-| `no_extra_consecutive_blank_lines` | `tokens` | one of possible values, `useTrait`, was renamed to `use_trait` |
-| `ordered_class_elements` | `sortAlgorithm` | option was renamed, use `sort_algorithm` instead |
-| `ordered_imports` | `importsOrder` | option was renamed, use `imports_order` |
-| `ordered_imports` | `sortAlgorithm` | option was renamed, use `sort_algorithm` |
-| `php_unit_dedicate_assert` | `functions` | option was removed, use `target` instead |
-| `php_unit_test_annotation` | `case` | option was removed, use `php_unit_method_casing` rule instead |
-
-### Changed default values of options
-
-| Rule | Option | Old value | New value |
-|------------------------------|-----------------------------------|------------------------------------------------------|--------------------------------------------------------------------------|
-| `array_syntax` | `syntax` | `'long'` | `'short'` |
-| `function_to_constant` | `functions` | `['get_class', 'php_sapi_name', 'phpversion', 'pi']` | `['get_called_class', 'get_class', 'php_sapi_name', 'phpversion', 'pi']` |
-| `list_syntax` | `syntax` | `'long'` | `'short'` |
-| `method_argument_space` | `on_multiline` | `'ignore'` | `'ensure_fully_multiline'` |
-| `native_constant_invocation` | `strict` | `false` | `true` |
-| `native_function_casing` | `include` | `'@internal'` | `'@compiler_optimized'` |
-| `native_function_invocation` | `include` | `'@internal'` | `'@compiler_optimized'` |
-| `native_function_invocation` | `strict` | `false` | `true` |
-| `non_printable_character` | `use_escape_sequences_in_strings` | `false` | `true` (when running on PHP 7.0 and up) |
-| `php_unit_dedicate_assert` | `target` | `'5.0'` | `'newest'` |
-| `phpdoc_align` | `tags` | `['param', 'return', 'throws', 'type', 'var']` | `['method', 'param', 'property', 'return', 'throws', 'type', 'var']` |
-| `phpdoc_scalar` | `types` | `['boolean', 'double', 'integer', 'real', 'str']` | `['boolean', 'callback', 'double', 'integer', 'real', 'str']` |
-
-### Removed rule sets
-
-| Rule set | Note |
-|-------------------|------------|
-| `@PHP56Migration` | was empty |
-
-### Rule behavior changes
-
-- `no_unused_imports` now runs all files defined in the configuration (used to exclude some hardcoded directories)
-
-### Various
-
-- `udiff` output now includes the file name in the output (if applicable)
-
-## Code BC changes
-
-### Removed; various
-
-- class `AbstractAlignFixerHelper` has been removed
-- class `AccessibleObject` has been removed
-- class `AlignDoubleArrowFixerHelper` has been removed
-- class `AlignEqualsFixerHelper` has been removed
-- class `FixerConfigurationResolverRootless` has been removed
-- `HeaderCommentFixer` deprecated properties have been removed
-- `MethodArgumentSpaceFixer` deprecated methods have been removed
-- `NoMixedEchoPrintFixer` the property `$defaultConfig` has been removed
-- class `Tokens`, the following methods has been removed:
- - `current()`
- - `key()`
- - `next()`
- - `rewind()`
- - `valid()`
-- namespace `PhpCsFixer\Test\` and each class in it has been removed, as it served pure development purpose and should not be part of production code - reach out to community if you are willing to help building dev package
-
-### Interface changes
-
-- `ConfigurableFixerInterface` has been updated
-- `ConfigurationDefinitionFixerInterface` has been removed in favor of the updated `ConfigurableFixerInterface`
-- `DefinedFixerInterface` has been removed, related methods are now part of the updated `FixerInterface` interface
-- `DifferInterface` has been updated
-- `FixerInterface` interface has been updated
-- `PhpCsFixer\RuleSetInterface` has been removed in favor of `\PhpCsFixer\RuleSet\RuleSetInterface`
-
-### BC breaks; various
-
-- class `Token` is now `final`
-- class `Tokens` is now `final`
-- method `create` of class `Config` has been removed, [use the constructor](./doc/config.rst)
-- method `create` of class `RuleSet` has been removed, [use the constructor](./doc/custom_rules.rst)
-
-### BC breaks; common internal classes
-
-- method `getClassyElements` of class `TokensAnalyzer` parameter `$returnTraitsImports` has been removed; now always returns trait import information
-- method `getSetDefinitionNames` of class `RuleSet` has been removed, use `RuleSets::getSetDefinitionNames()`
diff --git a/vendor/friendsofphp/php-cs-fixer/ci-integration.sh b/vendor/friendsofphp/php-cs-fixer/ci-integration.sh
deleted file mode 100644
index 39d99955..00000000
--- a/vendor/friendsofphp/php-cs-fixer/ci-integration.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-set -eu
-
-IFS='
-'
-CHANGED_FILES=$(git diff --name-only --diff-filter=ACMRTUXB "${COMMIT_RANGE}")
-if ! echo "${CHANGED_FILES}" | grep -qE "^(\\.php-cs-fixer(\\.dist)?\\.php|composer\\.lock)$"; then EXTRA_ARGS=$(printf -- '--path-mode=intersection\n--\n%s' "${CHANGED_FILES}"); else EXTRA_ARGS=''; fi
-vendor/bin/php-cs-fixer check --config=.php-cs-fixer.dist.php -v --show-progress=dots --stop-on-violation --using-cache=no ${EXTRA_ARGS}
diff --git a/vendor/friendsofphp/php-cs-fixer/composer.json b/vendor/friendsofphp/php-cs-fixer/composer.json
deleted file mode 100644
index b498074b..00000000
--- a/vendor/friendsofphp/php-cs-fixer/composer.json
+++ /dev/null
@@ -1,176 +0,0 @@
-{
- "name": "friendsofphp/php-cs-fixer",
- "description": "A tool to automatically fix PHP code style",
- "license": "MIT",
- "type": "application",
- "keywords": [
- "fixer",
- "standards",
- "static analysis",
- "static code analysis"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Dariusz Rumiński",
- "email": "dariusz.ruminski@gmail.com"
- }
- ],
- "require": {
- "php": "^7.4 || ^8.0",
- "ext-filter": "*",
- "ext-json": "*",
- "ext-tokenizer": "*",
- "composer/semver": "^3.4",
- "composer/xdebug-handler": "^3.0.3",
- "sebastian/diff": "^4.0 || ^5.0 || ^6.0",
- "symfony/console": "^5.4 || ^6.0 || ^7.0",
- "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0",
- "symfony/filesystem": "^5.4 || ^6.0 || ^7.0",
- "symfony/finder": "^5.4 || ^6.0 || ^7.0",
- "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0",
- "symfony/polyfill-mbstring": "^1.28",
- "symfony/polyfill-php80": "^1.28",
- "symfony/polyfill-php81": "^1.28",
- "symfony/process": "^5.4 || ^6.0 || ^7.0",
- "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
- },
- "require-dev": {
- "facile-it/paraunit": "^1.3 || ^2.0",
- "justinrainbow/json-schema": "^5.2",
- "keradus/cli-executor": "^2.1",
- "mikey179/vfsstream": "^1.6.11",
- "php-coveralls/php-coveralls": "^2.7",
- "php-cs-fixer/accessible-object": "^1.1",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4",
- "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2",
- "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0",
- "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
- },
- "suggest": {
- "ext-dom": "For handling output formats in XML",
- "ext-mbstring": "For handling non-UTF8 characters."
- },
- "autoload": {
- "psr-4": {
- "PhpCsFixer\\": "src/"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "PhpCsFixer\\Tests\\": "tests/"
- }
- },
- "bin": [
- "php-cs-fixer"
- ],
- "config": {
- "allow-plugins": {
- "ergebnis/composer-normalize": true,
- "infection/extension-installer": false
- },
- "prefer-stable": true,
- "sort-packages": true
- },
- "scripts": {
- "post-autoload-dump": [
- "@install-tools"
- ],
- "auto-review": [
- "Composer\\Config::disableProcessTimeout",
- "paraunit run --testsuite auto-review"
- ],
- "cs:check": "@php php-cs-fixer check --verbose --diff",
- "cs:fix": "@php php-cs-fixer fix",
- "cs:fix:parallel": "echo '🔍 Will run in batches of 50 files.'; if [[ -f .php-cs-fixer.php ]]; then FIXER_CONFIG=.php-cs-fixer.php; else FIXER_CONFIG=.php-cs-fixer.dist.php; fi; php php-cs-fixer list-files --config=$FIXER_CONFIG | xargs -n 50 -P 8 php php-cs-fixer fix --config=$FIXER_CONFIG --path-mode intersection 2> /dev/null",
- "docs": "@php dev-tools/doc.php",
- "install-tools": "@composer --working-dir=dev-tools install",
- "mess-detector": "@php dev-tools/vendor/bin/phpmd . ansi dev-tools/mess-detector/phpmd.xml --exclude vendor/*,dev-tools/vendor/*,dev-tools/phpstan/*,tests/Fixtures/*",
- "normalize": [
- "@composer normalize --working-dir=dev-tools --dry-run ../composer.json",
- "@composer normalize --working-dir=dev-tools --dry-run composer.json"
- ],
- "phpstan": "@php -d memory_limit=512M dev-tools/vendor/bin/phpstan analyse",
- "phpstan:baseline": "@php -d memory_limit=512M dev-tools/vendor/bin/phpstan analyse --generate-baseline=./dev-tools/phpstan/baseline.php",
- "qa": "@quality-assurance",
- "quality-assurance": [
- "Composer\\Config::disableProcessTimeout",
- "@install-tools --quiet",
- "@self-check",
- "@static-analysis",
- "@test"
- ],
- "require-checker": "@php dev-tools/vendor/bin/composer-require-checker check composer.json --config-file .composer-require-checker.json",
- "sa": "@static-analysis",
- "self-check": [
- "./dev-tools/check_file_permissions.sh",
- "./dev-tools/check_trailing_spaces.sh",
- "@normalize",
- "@unused-deps",
- "@require-checker",
- "@auto-review"
- ],
- "static-analysis": [
- "@cs:check",
- "@phpstan",
- "@mess-detector"
- ],
- "test": "@test:all",
- "test:all": [
- "@test:unit",
- "@test:integration"
- ],
- "test:coverage": [
- "Composer\\Config::disableProcessTimeout",
- "@composer show facile-it/paraunit ^2 && (paraunit coverage --testsuite unit --pass-through=--exclude-group=covers-nothing) || (paraunit coverage --testsuite unit --exclude-group covers-nothing)"
- ],
- "test:integration": [
- "Composer\\Config::disableProcessTimeout",
- "paraunit run --testsuite integration"
- ],
- "test:short-open-tag": [
- "Composer\\Config::disableProcessTimeout",
- "@php -d short_open_tag=1 ./vendor/bin/phpunit --do-not-cache-result --testsuite short-open-tag"
- ],
- "test:smoke": [
- "Composer\\Config::disableProcessTimeout",
- "paraunit run --testsuite smoke"
- ],
- "test:unit": [
- "Composer\\Config::disableProcessTimeout",
- "paraunit run --testsuite unit"
- ],
- "unused-deps": "@php dev-tools/vendor/bin/composer-unused --excludePackage=composer/xdebug-handler"
- },
- "scripts-descriptions": {
- "auto-review": "Execute Auto-review",
- "cs:check": "Check coding standards",
- "cs:fix": "Fix coding standards",
- "cs:fix:parallel": "Fix coding standards in naive parallel mode (using xargs)",
- "docs": "Regenerate docs",
- "install-tools": "Install DEV tools",
- "mess-detector": "Analyse code with Mess Detector",
- "normalize": "Run normalization for composer.json files",
- "phpstan": "Run PHPStan analysis",
- "phpstan:baseline": "Dump PHPStan baseline file - use only for updating, do not add new errors when possible",
- "post-autoload-dump": "Run additional tasks after installing/updating main dependencies",
- "qa": "Alias for 'quality-assurance'",
- "quality-assurance": "Run QA suite",
- "require-checker": "Verifies if codebase does not contain soft dependencies",
- "sa": "Alias for 'static-analysis'",
- "self-check": "Run set of self-checks ensuring repository's validity",
- "static-analysis": "Run static analysis",
- "test": "Alias for 'test:all'",
- "test:all": "Run Unit and Integration tests (but *NOT* Smoke tests)",
- "test:coverage": "Run tests that provide code coverage",
- "test:integration": "Run Integration tests",
- "test:short-open-tag": "Run tests with \"short_open_tag\" enabled",
- "test:smoke": "Run Smoke tests",
- "test:unit": "Run Unit tests",
- "unused-deps": "Verifies if app has dependencies that are not used"
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/feature-or-bug.rst b/vendor/friendsofphp/php-cs-fixer/feature-or-bug.rst
deleted file mode 100644
index e5959422..00000000
--- a/vendor/friendsofphp/php-cs-fixer/feature-or-bug.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-==========================
-Is it a feature or a bug ?
-==========================
-
-Sometimes it's a bit tricky to define if given change proposal or change request is adding new feature or fixing existing issue. This document is providing more clarity about categorisation we use.
-
-Bug
----
-
-Example of bugs:
-
-- crash during application or rule execution
-- wrong changes are applied during "fixing codebase" process
-- issue with generated report
-
-Feature
--------
-
-Example of features:
-
-- introduction of new rule
-- enhancement of existing rule to cover more cases (for example adding support for newly introduced PHP syntax)
-- introduction of new ruleset
-- update of existing ruleset (for example adjusting it to match newest style of given community or adding newly implemented rule that was supposed to be followed by style of given community, yet not implemented as a rule before)
diff --git a/vendor/friendsofphp/php-cs-fixer/logo.md b/vendor/friendsofphp/php-cs-fixer/logo.md
deleted file mode 100644
index 68e03a58..00000000
--- a/vendor/friendsofphp/php-cs-fixer/logo.md
+++ /dev/null
@@ -1,3 +0,0 @@
-The logo is © 2010+ Sensio Labs.
-
-Original resolution can be found at .
diff --git a/vendor/friendsofphp/php-cs-fixer/logo.png b/vendor/friendsofphp/php-cs-fixer/logo.png
deleted file mode 100644
index 0ee90a82..00000000
Binary files a/vendor/friendsofphp/php-cs-fixer/logo.png and /dev/null differ
diff --git a/vendor/friendsofphp/php-cs-fixer/php-cs-fixer b/vendor/friendsofphp/php-cs-fixer/php-cs-fixer
deleted file mode 100755
index 402b49ae..00000000
--- a/vendor/friendsofphp/php-cs-fixer/php-cs-fixer
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/env php
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-error_reporting(E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED);
-
-set_error_handler(static function ($severity, $message, $file, $line) {
- if ($severity & error_reporting()) {
- throw new ErrorException($message, 0, $severity, $file, $line);
- }
-});
-
-// check environment requirements
-(function () {
- if (\PHP_VERSION_ID === 80000) {
- fwrite(STDERR, "PHP CS Fixer is not able run on PHP 8.0.0 due to bug in PHP tokenizer (https://bugs.php.net/bug.php?id=80462).\n");
- fwrite(STDERR, "Update PHP version to unblock execution.\n");
-
- exit(1);
- }
-
- if (\PHP_VERSION_ID < 70400 || \PHP_VERSION_ID >= 80400) {
- fwrite(STDERR, "PHP needs to be a minimum version of PHP 7.4.0 and maximum version of PHP 8.3.*.\n");
- fwrite(STDERR, 'Current PHP version: '.PHP_VERSION.".\n");
-
- if (getenv('PHP_CS_FIXER_IGNORE_ENV')) {
- fwrite(STDERR, "Ignoring environment requirements because `PHP_CS_FIXER_IGNORE_ENV` is set. Execution may be unstable.\n");
- } else {
- fwrite(STDERR, "To ignore this requirement please set `PHP_CS_FIXER_IGNORE_ENV`.\n");
- fwrite(STDERR, "If you use PHP version higher than supported, you may experience code modified in a wrong way.\n");
- fwrite(STDERR, "Please report such cases at https://github.com/PHP-CS-Fixer/PHP-CS-Fixer .\n");
-
- exit(1);
- }
- }
-
- foreach (['json', 'tokenizer'] as $extension) {
- if (!extension_loaded($extension)) {
- fwrite(STDERR, sprintf("PHP extension ext-%s is missing from your system. Install or enable it.\n", $extension));
-
- if (getenv('PHP_CS_FIXER_IGNORE_ENV')) {
- fwrite(STDERR, "Ignoring environment requirements because `PHP_CS_FIXER_IGNORE_ENV` is set. Execution may be unstable.\n");
- } else {
- exit(1);
- }
- }
- }
-})();
-
-// load dependencies
-(function () {
- $require = true;
- if (class_exists('Phar')) {
- // Maybe this file is used as phar-stub? Let's try!
- try {
- Phar::mapPhar('php-cs-fixer.phar');
-
- require_once 'phar://php-cs-fixer.phar/vendor/autoload.php';
- $require = false;
- } catch (PharException $e) {
- }
- }
-
- if ($require) {
- // OK, it's not, let give Composer autoloader a try!
- $possibleFiles = [__DIR__.'/../../autoload.php', __DIR__.'/../autoload.php', __DIR__.'/vendor/autoload.php'];
- $file = null;
- foreach ($possibleFiles as $possibleFile) {
- if (file_exists($possibleFile)) {
- $file = $possibleFile;
-
- break;
- }
- }
-
- if (null === $file) {
- throw new RuntimeException('Unable to locate autoload.php file.');
- }
-
- require_once $file;
- }
-})();
-
-use Composer\XdebugHandler\XdebugHandler;
-use PhpCsFixer\Console\Application;
-
-// Restart if xdebug is loaded, unless the environment variable PHP_CS_FIXER_ALLOW_XDEBUG is set.
-$xdebug = new XdebugHandler('PHP_CS_FIXER');
-$xdebug->check();
-unset($xdebug);
-
-$application = new Application();
-$application->run();
-
-__HALT_COMPILER();
diff --git a/vendor/friendsofphp/php-cs-fixer/src/AbstractDoctrineAnnotationFixer.php b/vendor/friendsofphp/php-cs-fixer/src/AbstractDoctrineAnnotationFixer.php
deleted file mode 100644
index 4ce212c1..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/AbstractDoctrineAnnotationFixer.php
+++ /dev/null
@@ -1,235 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer;
-
-use PhpCsFixer\Doctrine\Annotation\Tokens as DoctrineAnnotationTokens;
-use PhpCsFixer\Fixer\ConfigurableFixerInterface;
-use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
-use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
-use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
-use PhpCsFixer\Tokenizer\CT;
-use PhpCsFixer\Tokenizer\Token;
-use PhpCsFixer\Tokenizer\Tokens;
-use PhpCsFixer\Tokenizer\TokensAnalyzer;
-
-/**
- * @internal
- */
-abstract class AbstractDoctrineAnnotationFixer extends AbstractFixer implements ConfigurableFixerInterface
-{
- /**
- * @var array
- */
- private array $classyElements;
-
- public function isCandidate(Tokens $tokens): bool
- {
- return $tokens->isTokenKindFound(T_DOC_COMMENT);
- }
-
- protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
- {
- // fetch indices one time, this is safe as we never add or remove a token during fixing
- $analyzer = new TokensAnalyzer($tokens);
- $this->classyElements = $analyzer->getClassyElements();
-
- /** @var Token $docCommentToken */
- foreach ($tokens->findGivenKind(T_DOC_COMMENT) as $index => $docCommentToken) {
- if (!$this->nextElementAcceptsDoctrineAnnotations($tokens, $index)) {
- continue;
- }
-
- $doctrineAnnotationTokens = DoctrineAnnotationTokens::createFromDocComment(
- $docCommentToken,
- $this->configuration['ignored_tags']
- );
-
- $this->fixAnnotations($doctrineAnnotationTokens);
- $tokens[$index] = new Token([T_DOC_COMMENT, $doctrineAnnotationTokens->getCode()]);
- }
- }
-
- /**
- * Fixes Doctrine annotations from the given PHPDoc style comment.
- */
- abstract protected function fixAnnotations(DoctrineAnnotationTokens $doctrineAnnotationTokens): void;
-
- protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
- {
- return new FixerConfigurationResolver([
- (new FixerOptionBuilder('ignored_tags', 'List of tags that must not be treated as Doctrine Annotations.'))
- ->setAllowedTypes(['array'])
- ->setAllowedValues([static function (array $values): bool {
- foreach ($values as $value) {
- if (!\is_string($value)) {
- return false;
- }
- }
-
- return true;
- }])
- ->setDefault([
- // PHPDocumentor 1
- 'abstract',
- 'access',
- 'code',
- 'deprec',
- 'encode',
- 'exception',
- 'final',
- 'ingroup',
- 'inheritdoc',
- 'inheritDoc',
- 'magic',
- 'name',
- 'toc',
- 'tutorial',
- 'private',
- 'static',
- 'staticvar',
- 'staticVar',
- 'throw',
-
- // PHPDocumentor 2
- 'api',
- 'author',
- 'category',
- 'copyright',
- 'deprecated',
- 'example',
- 'filesource',
- 'global',
- 'ignore',
- 'internal',
- 'license',
- 'link',
- 'method',
- 'package',
- 'param',
- 'property',
- 'property-read',
- 'property-write',
- 'return',
- 'see',
- 'since',
- 'source',
- 'subpackage',
- 'throws',
- 'todo',
- 'TODO',
- 'usedBy',
- 'uses',
- 'var',
- 'version',
-
- // PHPUnit
- 'after',
- 'afterClass',
- 'backupGlobals',
- 'backupStaticAttributes',
- 'before',
- 'beforeClass',
- 'codeCoverageIgnore',
- 'codeCoverageIgnoreStart',
- 'codeCoverageIgnoreEnd',
- 'covers',
- 'coversDefaultClass',
- 'coversNothing',
- 'dataProvider',
- 'depends',
- 'expectedException',
- 'expectedExceptionCode',
- 'expectedExceptionMessage',
- 'expectedExceptionMessageRegExp',
- 'group',
- 'large',
- 'medium',
- 'preserveGlobalState',
- 'requires',
- 'runTestsInSeparateProcesses',
- 'runInSeparateProcess',
- 'small',
- 'test',
- 'testdox',
- 'ticket',
- 'uses',
-
- // PHPCheckStyle
- 'SuppressWarnings',
-
- // PHPStorm
- 'noinspection',
-
- // PEAR
- 'package_version',
-
- // PlantUML
- 'enduml',
- 'startuml',
-
- // Psalm
- 'psalm',
-
- // PHPStan
- 'phpstan',
- 'template',
-
- // other
- 'fix',
- 'FIXME',
- 'fixme',
- 'override',
- ])
- ->getOption(),
- ]);
- }
-
- private function nextElementAcceptsDoctrineAnnotations(Tokens $tokens, int $index): bool
- {
- $classModifiers = [T_ABSTRACT, T_FINAL];
-
- if (\defined('T_READONLY')) { // @TODO: drop condition when PHP 8.2+ is required
- $classModifiers[] = T_READONLY;
- }
-
- do {
- $index = $tokens->getNextMeaningfulToken($index);
-
- if (null === $index) {
- return false;
- }
- } while ($tokens[$index]->isGivenKind($classModifiers));
-
- if ($tokens[$index]->isGivenKind(T_CLASS)) {
- return true;
- }
-
- $modifierKinds = [T_PUBLIC, T_PROTECTED, T_PRIVATE, T_FINAL, T_ABSTRACT, T_NS_SEPARATOR, T_STRING, CT::T_NULLABLE_TYPE];
-
- if (\defined('T_READONLY')) { // @TODO: drop condition when PHP 8.1+ is required
- $modifierKinds[] = T_READONLY;
- }
-
- while ($tokens[$index]->isGivenKind($modifierKinds)) {
- $index = $tokens->getNextMeaningfulToken($index);
- }
-
- if (!isset($this->classyElements[$index])) {
- return false;
- }
-
- return $tokens[$this->classyElements[$index]['classIndex']]->isGivenKind(T_CLASS); // interface, enums and traits cannot have doctrine annotations
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/AbstractFixer.php b/vendor/friendsofphp/php-cs-fixer/src/AbstractFixer.php
deleted file mode 100644
index 7b9ac1a0..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/AbstractFixer.php
+++ /dev/null
@@ -1,194 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer;
-
-use PhpCsFixer\ConfigurationException\InvalidFixerConfigurationException;
-use PhpCsFixer\ConfigurationException\InvalidForEnvFixerConfigurationException;
-use PhpCsFixer\ConfigurationException\RequiredFixerConfigurationException;
-use PhpCsFixer\Console\Application;
-use PhpCsFixer\Fixer\ConfigurableFixerInterface;
-use PhpCsFixer\Fixer\FixerInterface;
-use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
-use PhpCsFixer\FixerConfiguration\DeprecatedFixerOption;
-use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
-use PhpCsFixer\FixerConfiguration\InvalidOptionsForEnvException;
-use PhpCsFixer\Tokenizer\Tokens;
-use Symfony\Component\OptionsResolver\Exception\ExceptionInterface;
-use Symfony\Component\OptionsResolver\Exception\MissingOptionsException;
-
-/**
- * @author Dariusz Rumiński
- *
- * @internal
- */
-abstract class AbstractFixer implements FixerInterface
-{
- /**
- * @var null|array
- */
- protected $configuration;
-
- /**
- * @var WhitespacesFixerConfig
- */
- protected $whitespacesConfig;
-
- /**
- * @var null|FixerConfigurationResolverInterface
- */
- private $configurationDefinition;
-
- public function __construct()
- {
- if ($this instanceof ConfigurableFixerInterface) {
- try {
- $this->configure([]);
- } catch (RequiredFixerConfigurationException $e) {
- // ignore
- }
- }
-
- if ($this instanceof WhitespacesAwareFixerInterface) {
- $this->whitespacesConfig = $this->getDefaultWhitespacesFixerConfig();
- }
- }
-
- final public function fix(\SplFileInfo $file, Tokens $tokens): void
- {
- if ($this instanceof ConfigurableFixerInterface && null === $this->configuration) {
- throw new RequiredFixerConfigurationException($this->getName(), 'Configuration is required.');
- }
-
- if (0 < $tokens->count() && $this->isCandidate($tokens) && $this->supports($file)) {
- $this->applyFix($file, $tokens);
- }
- }
-
- public function isRisky(): bool
- {
- return false;
- }
-
- public function getName(): string
- {
- $nameParts = explode('\\', static::class);
- $name = substr(end($nameParts), 0, -\strlen('Fixer'));
-
- return Utils::camelCaseToUnderscore($name);
- }
-
- public function getPriority(): int
- {
- return 0;
- }
-
- public function supports(\SplFileInfo $file): bool
- {
- return true;
- }
-
- /**
- * @param array $configuration
- */
- public function configure(array $configuration): void
- {
- if (!$this instanceof ConfigurableFixerInterface) {
- throw new \LogicException('Cannot configure using Abstract parent, child not implementing "PhpCsFixer\Fixer\ConfigurableFixerInterface".');
- }
-
- foreach ($this->getConfigurationDefinition()->getOptions() as $option) {
- if (!$option instanceof DeprecatedFixerOption) {
- continue;
- }
-
- $name = $option->getName();
- if (\array_key_exists($name, $configuration)) {
- Utils::triggerDeprecation(new \InvalidArgumentException(sprintf(
- 'Option "%s" for rule "%s" is deprecated and will be removed in version %d.0. %s',
- $name,
- $this->getName(),
- Application::getMajorVersion() + 1,
- str_replace('`', '"', $option->getDeprecationMessage())
- )));
- }
- }
-
- try {
- $this->configuration = $this->getConfigurationDefinition()->resolve($configuration);
- } catch (MissingOptionsException $exception) {
- throw new RequiredFixerConfigurationException(
- $this->getName(),
- sprintf('Missing required configuration: %s', $exception->getMessage()),
- $exception
- );
- } catch (InvalidOptionsForEnvException $exception) {
- throw new InvalidForEnvFixerConfigurationException(
- $this->getName(),
- sprintf('Invalid configuration for env: %s', $exception->getMessage()),
- $exception
- );
- } catch (ExceptionInterface $exception) {
- throw new InvalidFixerConfigurationException(
- $this->getName(),
- sprintf('Invalid configuration: %s', $exception->getMessage()),
- $exception
- );
- }
- }
-
- public function getConfigurationDefinition(): FixerConfigurationResolverInterface
- {
- if (!$this instanceof ConfigurableFixerInterface) {
- throw new \LogicException(sprintf('Cannot get configuration definition using Abstract parent, child "%s" not implementing "PhpCsFixer\Fixer\ConfigurableFixerInterface".', static::class));
- }
-
- if (null === $this->configurationDefinition) {
- $this->configurationDefinition = $this->createConfigurationDefinition();
- }
-
- return $this->configurationDefinition;
- }
-
- public function setWhitespacesConfig(WhitespacesFixerConfig $config): void
- {
- if (!$this instanceof WhitespacesAwareFixerInterface) {
- throw new \LogicException('Cannot run method for class not implementing "PhpCsFixer\Fixer\WhitespacesAwareFixerInterface".');
- }
-
- $this->whitespacesConfig = $config;
- }
-
- abstract protected function applyFix(\SplFileInfo $file, Tokens $tokens): void;
-
- protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
- {
- if (!$this instanceof ConfigurableFixerInterface) {
- throw new \LogicException('Cannot create configuration definition using Abstract parent, child not implementing "PhpCsFixer\Fixer\ConfigurableFixerInterface".');
- }
-
- throw new \LogicException('Not implemented.');
- }
-
- private function getDefaultWhitespacesFixerConfig(): WhitespacesFixerConfig
- {
- static $defaultWhitespacesFixerConfig = null;
-
- if (null === $defaultWhitespacesFixerConfig) {
- $defaultWhitespacesFixerConfig = new WhitespacesFixerConfig(' ', "\n");
- }
-
- return $defaultWhitespacesFixerConfig;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/AbstractFopenFlagFixer.php b/vendor/friendsofphp/php-cs-fixer/src/AbstractFopenFlagFixer.php
deleted file mode 100644
index da862da7..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/AbstractFopenFlagFixer.php
+++ /dev/null
@@ -1,116 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer;
-
-use PhpCsFixer\Tokenizer\Analyzer\ArgumentsAnalyzer;
-use PhpCsFixer\Tokenizer\Tokens;
-
-/**
- * @internal
- */
-abstract class AbstractFopenFlagFixer extends AbstractFunctionReferenceFixer
-{
- public function isCandidate(Tokens $tokens): bool
- {
- return $tokens->isAllTokenKindsFound([T_STRING, T_CONSTANT_ENCAPSED_STRING]);
- }
-
- protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
- {
- $argumentsAnalyzer = new ArgumentsAnalyzer();
-
- $index = 0;
- $end = $tokens->count() - 1;
- while (true) {
- $candidate = $this->find('fopen', $tokens, $index, $end);
-
- if (null === $candidate) {
- break;
- }
-
- $index = $candidate[1]; // proceed to '(' of `fopen`
-
- // fetch arguments
- $arguments = $argumentsAnalyzer->getArguments(
- $tokens,
- $index,
- $candidate[2]
- );
-
- $argumentsCount = \count($arguments); // argument count sanity check
-
- if ($argumentsCount < 2 || $argumentsCount > 4) {
- continue;
- }
-
- $argumentStartIndex = array_keys($arguments)[1]; // get second argument index
-
- $this->fixFopenFlagToken(
- $tokens,
- $argumentStartIndex,
- $arguments[$argumentStartIndex]
- );
- }
- }
-
- abstract protected function fixFopenFlagToken(Tokens $tokens, int $argumentStartIndex, int $argumentEndIndex): void;
-
- protected function isValidModeString(string $mode): bool
- {
- $modeLength = \strlen($mode);
- if ($modeLength < 1 || $modeLength > 13) { // 13 === length 'r+w+a+x+c+etb'
- return false;
- }
-
- $validFlags = [
- 'a' => true,
- 'b' => true,
- 'c' => true,
- 'e' => true,
- 'r' => true,
- 't' => true,
- 'w' => true,
- 'x' => true,
- ];
-
- if (!isset($validFlags[$mode[0]])) {
- return false;
- }
-
- unset($validFlags[$mode[0]]);
-
- for ($i = 1; $i < $modeLength; ++$i) {
- if (isset($validFlags[$mode[$i]])) {
- unset($validFlags[$mode[$i]]);
-
- continue;
- }
-
- if ('+' !== $mode[$i]
- || (
- 'a' !== $mode[$i - 1] // 'a+','c+','r+','w+','x+'
- && 'c' !== $mode[$i - 1]
- && 'r' !== $mode[$i - 1]
- && 'w' !== $mode[$i - 1]
- && 'x' !== $mode[$i - 1]
- )
- ) {
- return false;
- }
- }
-
- return true;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/AbstractFunctionReferenceFixer.php b/vendor/friendsofphp/php-cs-fixer/src/AbstractFunctionReferenceFixer.php
deleted file mode 100644
index dfddeb51..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/AbstractFunctionReferenceFixer.php
+++ /dev/null
@@ -1,74 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer;
-
-use PhpCsFixer\Tokenizer\Analyzer\FunctionsAnalyzer;
-use PhpCsFixer\Tokenizer\Tokens;
-
-/**
- * @internal
- *
- * @author Vladimir Reznichenko
- */
-abstract class AbstractFunctionReferenceFixer extends AbstractFixer
-{
- /**
- * @var null|FunctionsAnalyzer
- */
- private $functionsAnalyzer;
-
- public function isCandidate(Tokens $tokens): bool
- {
- return $tokens->isTokenKindFound(T_STRING);
- }
-
- public function isRisky(): bool
- {
- return true;
- }
-
- /**
- * Looks up Tokens sequence for suitable candidates and delivers boundaries information,
- * which can be supplied by other methods in this abstract class.
- *
- * @return ?array{int, int, int} returns $functionName, $openParenthesis, $closeParenthesis packed into array
- */
- protected function find(string $functionNameToSearch, Tokens $tokens, int $start = 0, ?int $end = null): ?array
- {
- if (null === $this->functionsAnalyzer) {
- $this->functionsAnalyzer = new FunctionsAnalyzer();
- }
-
- // make interface consistent with findSequence
- $end ??= $tokens->count();
-
- // find raw sequence which we can analyse for context
- $candidateSequence = [[T_STRING, $functionNameToSearch], '('];
- $matches = $tokens->findSequence($candidateSequence, $start, $end, false);
-
- if (null === $matches) {
- return null; // not found, simply return without further attempts
- }
-
- // translate results for humans
- [$functionName, $openParenthesis] = array_keys($matches);
-
- if (!$this->functionsAnalyzer->isGlobalFunctionCall($tokens, $functionName)) {
- return $this->find($functionNameToSearch, $tokens, $openParenthesis, $end);
- }
-
- return [$functionName, $openParenthesis, $tokens->findBlockEnd(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $openParenthesis)];
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/AbstractNoUselessElseFixer.php b/vendor/friendsofphp/php-cs-fixer/src/AbstractNoUselessElseFixer.php
deleted file mode 100644
index 48cd7763..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/AbstractNoUselessElseFixer.php
+++ /dev/null
@@ -1,204 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer;
-
-use PhpCsFixer\Tokenizer\Tokens;
-
-abstract class AbstractNoUselessElseFixer extends AbstractFixer
-{
- public function getPriority(): int
- {
- // should be run before NoWhitespaceInBlankLineFixer, NoExtraBlankLinesFixer, BracesFixer and after NoEmptyStatementFixer.
- return 39;
- }
-
- protected function isSuperfluousElse(Tokens $tokens, int $index): bool
- {
- $previousBlockStart = $index;
-
- do {
- // Check if all 'if', 'else if ' and 'elseif' blocks above this 'else' always end,
- // if so this 'else' is overcomplete.
- [$previousBlockStart, $previousBlockEnd] = $this->getPreviousBlock($tokens, $previousBlockStart);
-
- // short 'if' detection
- $previous = $previousBlockEnd;
- if ($tokens[$previous]->equals('}')) {
- $previous = $tokens->getPrevMeaningfulToken($previous);
- }
-
- if (
- !$tokens[$previous]->equals(';') // 'if' block doesn't end with semicolon, keep 'else'
- || $tokens[$tokens->getPrevMeaningfulToken($previous)]->equals('{') // empty 'if' block, keep 'else'
- ) {
- return false;
- }
-
- $candidateIndex = $tokens->getPrevTokenOfKind(
- $previous,
- [
- ';',
- [T_BREAK],
- [T_CLOSE_TAG],
- [T_CONTINUE],
- [T_EXIT],
- [T_GOTO],
- [T_IF],
- [T_RETURN],
- [T_THROW],
- ]
- );
-
- if (null === $candidateIndex || $tokens[$candidateIndex]->equalsAny([';', [T_CLOSE_TAG], [T_IF]])) {
- return false;
- }
-
- if ($tokens[$candidateIndex]->isGivenKind(T_THROW)) {
- $previousIndex = $tokens->getPrevMeaningfulToken($candidateIndex);
-
- if (!$tokens[$previousIndex]->equalsAny([';', '{'])) {
- return false;
- }
- }
-
- if ($this->isInConditional($tokens, $candidateIndex, $previousBlockStart)
- || $this->isInConditionWithoutBraces($tokens, $candidateIndex, $previousBlockStart)
- ) {
- return false;
- }
-
- // implicit continue, i.e. delete candidate
- } while (!$tokens[$previousBlockStart]->isGivenKind(T_IF));
-
- return true;
- }
-
- /**
- * Return the first and last token index of the previous block.
- *
- * [0] First is either T_IF, T_ELSE or T_ELSEIF
- * [1] Last is either '}' or ';' / T_CLOSE_TAG for short notation blocks
- *
- * @param int $index T_IF, T_ELSE, T_ELSEIF
- *
- * @return int[]
- */
- private function getPreviousBlock(Tokens $tokens, int $index): array
- {
- $close = $previous = $tokens->getPrevMeaningfulToken($index);
- // short 'if' detection
- if ($tokens[$close]->equals('}')) {
- $previous = $tokens->findBlockStart(Tokens::BLOCK_TYPE_CURLY_BRACE, $close);
- }
-
- $open = $tokens->getPrevTokenOfKind($previous, [[T_IF], [T_ELSE], [T_ELSEIF]]);
- if ($tokens[$open]->isGivenKind(T_IF)) {
- $elseCandidate = $tokens->getPrevMeaningfulToken($open);
- if ($tokens[$elseCandidate]->isGivenKind(T_ELSE)) {
- $open = $elseCandidate;
- }
- }
-
- return [$open, $close];
- }
-
- /**
- * @param int $index Index of the token to check
- * @param int $lowerLimitIndex Lower limit index. Since the token to check will always be in a conditional we must stop checking at this index
- */
- private function isInConditional(Tokens $tokens, int $index, int $lowerLimitIndex): bool
- {
- $candidateIndex = $tokens->getPrevTokenOfKind($index, [')', ';', ':']);
- if ($tokens[$candidateIndex]->equals(':')) {
- return true;
- }
-
- if (!$tokens[$candidateIndex]->equals(')')) {
- return false; // token is ';' or close tag
- }
-
- // token is always ')' here.
- // If it is part of the condition the token is always in, return false.
- // If it is not it is a nested condition so return true
- $open = $tokens->findBlockStart(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $candidateIndex);
-
- return $tokens->getPrevMeaningfulToken($open) > $lowerLimitIndex;
- }
-
- /**
- * For internal use only, as it is not perfect.
- *
- * Returns if the token at given index is part of an if/elseif/else statement
- * without {}. Assumes not passing the last `;`/close tag of the statement, not
- * out of range index, etc.
- *
- * @param int $index Index of the token to check
- */
- private function isInConditionWithoutBraces(Tokens $tokens, int $index, int $lowerLimitIndex): bool
- {
- do {
- if ($tokens[$index]->isComment() || $tokens[$index]->isWhitespace()) {
- $index = $tokens->getPrevMeaningfulToken($index);
- }
-
- $token = $tokens[$index];
- if ($token->isGivenKind([T_IF, T_ELSEIF, T_ELSE])) {
- return true;
- }
-
- if ($token->equals(';')) {
- return false;
- }
-
- if ($token->equals('{')) {
- $index = $tokens->getPrevMeaningfulToken($index);
-
- // OK if belongs to: for, do, while, foreach
- // Not OK if belongs to: if, else, elseif
- if ($tokens[$index]->isGivenKind(T_DO)) {
- --$index;
-
- continue;
- }
-
- if (!$tokens[$index]->equals(')')) {
- return false; // like `else {`
- }
-
- $index = $tokens->findBlockStart(
- Tokens::BLOCK_TYPE_PARENTHESIS_BRACE,
- $index
- );
-
- $index = $tokens->getPrevMeaningfulToken($index);
- if ($tokens[$index]->isGivenKind([T_IF, T_ELSEIF])) {
- return false;
- }
- } elseif ($token->equals(')')) {
- $type = Tokens::detectBlockType($token);
- $index = $tokens->findBlockStart(
- $type['type'],
- $index
- );
-
- $index = $tokens->getPrevMeaningfulToken($index);
- } else {
- --$index;
- }
- } while ($index > $lowerLimitIndex);
-
- return false;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocToTypeDeclarationFixer.php b/vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocToTypeDeclarationFixer.php
deleted file mode 100644
index 0f427f09..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocToTypeDeclarationFixer.php
+++ /dev/null
@@ -1,290 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer;
-
-use PhpCsFixer\DocBlock\Annotation;
-use PhpCsFixer\DocBlock\DocBlock;
-use PhpCsFixer\DocBlock\TypeExpression;
-use PhpCsFixer\Fixer\ConfigurableFixerInterface;
-use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
-use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
-use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
-use PhpCsFixer\Tokenizer\Analyzer\NamespacesAnalyzer;
-use PhpCsFixer\Tokenizer\Analyzer\NamespaceUsesAnalyzer;
-use PhpCsFixer\Tokenizer\CT;
-use PhpCsFixer\Tokenizer\Token;
-use PhpCsFixer\Tokenizer\Tokens;
-
-/**
- * @internal
- *
- * @phpstan-type _CommonTypeInfo array{commonType: string, isNullable: bool}
- */
-abstract class AbstractPhpdocToTypeDeclarationFixer extends AbstractFixer implements ConfigurableFixerInterface
-{
- private const REGEX_CLASS = '(?:\\\\?+'.TypeExpression::REGEX_IDENTIFIER
- .'(\\\\'.TypeExpression::REGEX_IDENTIFIER.')*+)';
-
- /**
- * @var array
- */
- private array $versionSpecificTypes = [
- 'void' => 7_01_00,
- 'iterable' => 7_01_00,
- 'object' => 7_02_00,
- 'mixed' => 8_00_00,
- 'never' => 8_01_00,
- ];
-
- /**
- * @var array
- */
- private array $scalarTypes = [
- 'bool' => true,
- 'float' => true,
- 'int' => true,
- 'string' => true,
- ];
-
- /**
- * @var array
- */
- private static array $syntaxValidationCache = [];
-
- public function isRisky(): bool
- {
- return true;
- }
-
- abstract protected function isSkippedType(string $type): bool;
-
- protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
- {
- return new FixerConfigurationResolver([
- (new FixerOptionBuilder('scalar_types', 'Fix also scalar types; may have unexpected behaviour due to PHP bad type coercion system.'))
- ->setAllowedTypes(['bool'])
- ->setDefault(true)
- ->getOption(),
- (new FixerOptionBuilder('union_types', 'Fix also union types; turned on by default on PHP >= 8.0.0.'))
- ->setAllowedTypes(['bool'])
- ->setDefault(\PHP_VERSION_ID >= 8_00_00)
- ->getOption(),
- ]);
- }
-
- /**
- * @param int $index The index of the function token
- */
- protected function findFunctionDocComment(Tokens $tokens, int $index): ?int
- {
- do {
- $index = $tokens->getPrevNonWhitespace($index);
- } while ($tokens[$index]->isGivenKind([
- T_COMMENT,
- T_ABSTRACT,
- T_FINAL,
- T_PRIVATE,
- T_PROTECTED,
- T_PUBLIC,
- T_STATIC,
- ]));
-
- if ($tokens[$index]->isGivenKind(T_DOC_COMMENT)) {
- return $index;
- }
-
- return null;
- }
-
- /**
- * @return list
- */
- protected function getAnnotationsFromDocComment(string $name, Tokens $tokens, int $docCommentIndex): array
- {
- $namespacesAnalyzer = new NamespacesAnalyzer();
- $namespace = $namespacesAnalyzer->getNamespaceAt($tokens, $docCommentIndex);
-
- $namespaceUsesAnalyzer = new NamespaceUsesAnalyzer();
- $namespaceUses = $namespaceUsesAnalyzer->getDeclarationsInNamespace($tokens, $namespace);
-
- $doc = new DocBlock(
- $tokens[$docCommentIndex]->getContent(),
- $namespace,
- $namespaceUses
- );
-
- return $doc->getAnnotationsOfType($name);
- }
-
- /**
- * @return list
- */
- protected function createTypeDeclarationTokens(string $type, bool $isNullable): array
- {
- $newTokens = [];
-
- if (true === $isNullable && 'mixed' !== $type) {
- $newTokens[] = new Token([CT::T_NULLABLE_TYPE, '?']);
- }
-
- $newTokens = array_merge(
- $newTokens,
- $this->createTokensFromRawType($type)->toArray()
- );
-
- // 'scalar's, 'void', 'iterable' and 'object' must be unqualified
- foreach ($newTokens as $i => $token) {
- if ($token->isGivenKind(T_STRING)) {
- $typeUnqualified = $token->getContent();
-
- if (
- (isset($this->scalarTypes[$typeUnqualified]) || isset($this->versionSpecificTypes[$typeUnqualified]))
- && isset($newTokens[$i - 1])
- && '\\' === $newTokens[$i - 1]->getContent()
- ) {
- unset($newTokens[$i - 1]);
- }
- }
- }
-
- return array_values($newTokens);
- }
-
- /**
- * Each fixer inheriting from this class must define a way of creating token collection representing type
- * gathered from phpDoc, e.g. `Foo|Bar` should be transformed into 3 tokens (`Foo`, `|` and `Bar`).
- * This can't be standardised, because some types may be allowed in one place, and invalid in others.
- *
- * @param string $type Type determined (and simplified) from phpDoc
- */
- abstract protected function createTokensFromRawType(string $type): Tokens;
-
- /**
- * @return ?_CommonTypeInfo
- */
- protected function getCommonTypeInfo(TypeExpression $typesExpression, bool $isReturnType): ?array
- {
- $commonType = $typesExpression->getCommonType();
- $isNullable = $typesExpression->allowsNull();
-
- if (null === $commonType) {
- return null;
- }
-
- if ($isNullable && 'void' === $commonType) {
- return null;
- }
-
- if ('static' === $commonType && (!$isReturnType || \PHP_VERSION_ID < 8_00_00)) {
- $commonType = 'self';
- }
-
- if ($this->isSkippedType($commonType)) {
- return null;
- }
-
- if (isset($this->versionSpecificTypes[$commonType]) && \PHP_VERSION_ID < $this->versionSpecificTypes[$commonType]) {
- return null;
- }
-
- if (isset($this->scalarTypes[$commonType])) {
- if (false === $this->configuration['scalar_types']) {
- return null;
- }
- } elseif (!Preg::match('/^'.self::REGEX_CLASS.'$/', $commonType)) {
- return null;
- }
-
- return ['commonType' => $commonType, 'isNullable' => $isNullable];
- }
-
- protected function getUnionTypes(TypeExpression $typesExpression, bool $isReturnType): ?string
- {
- if (\PHP_VERSION_ID < 8_00_00) {
- return null;
- }
-
- if (!$typesExpression->isUnionType() || '|' !== $typesExpression->getTypesGlue()) {
- return null;
- }
-
- if (false === $this->configuration['union_types']) {
- return null;
- }
-
- $types = $typesExpression->getTypes();
- $isNullable = $typesExpression->allowsNull();
- $unionTypes = [];
- $containsOtherThanIterableType = false;
- $containsOtherThanEmptyType = false;
-
- foreach ($types as $type) {
- if ('null' === $type) {
- continue;
- }
-
- if ($this->isSkippedType($type)) {
- return null;
- }
-
- if (isset($this->versionSpecificTypes[$type]) && \PHP_VERSION_ID < $this->versionSpecificTypes[$type]) {
- return null;
- }
-
- $typeExpression = new TypeExpression($type, null, []);
- $commonType = $typeExpression->getCommonType();
-
- if (!$containsOtherThanIterableType && !\in_array($commonType, ['array', \Traversable::class, 'iterable'], true)) {
- $containsOtherThanIterableType = true;
- }
- if ($isReturnType && !$containsOtherThanEmptyType && !\in_array($commonType, ['null', 'void', 'never'], true)) {
- $containsOtherThanEmptyType = true;
- }
-
- if (!$isNullable && $typesExpression->allowsNull()) {
- $isNullable = true;
- }
-
- $unionTypes[] = $commonType;
- }
-
- if (!$containsOtherThanIterableType) {
- return null;
- }
- if ($isReturnType && !$containsOtherThanEmptyType) {
- return null;
- }
-
- if ($isNullable) {
- $unionTypes[] = 'null';
- }
-
- return implode($typesExpression->getTypesGlue(), array_unique($unionTypes));
- }
-
- final protected function isValidSyntax(string $code): bool
- {
- if (!isset(self::$syntaxValidationCache[$code])) {
- try {
- Tokens::fromCode($code);
- self::$syntaxValidationCache[$code] = true;
- } catch (\ParseError $e) {
- self::$syntaxValidationCache[$code] = false;
- }
- }
-
- return self::$syntaxValidationCache[$code];
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocTypesFixer.php b/vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocTypesFixer.php
deleted file mode 100644
index 82b8e57f..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocTypesFixer.php
+++ /dev/null
@@ -1,123 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer;
-
-use PhpCsFixer\DocBlock\Annotation;
-use PhpCsFixer\DocBlock\DocBlock;
-use PhpCsFixer\DocBlock\TypeExpression;
-use PhpCsFixer\Tokenizer\Token;
-use PhpCsFixer\Tokenizer\Tokens;
-
-/**
- * This abstract fixer provides a base for fixers to fix types in PHPDoc.
- *
- * @author Graham Campbell
- *
- * @internal
- */
-abstract class AbstractPhpdocTypesFixer extends AbstractFixer
-{
- /**
- * The annotation tags search inside.
- *
- * @var list
- */
- protected array $tags;
-
- public function __construct()
- {
- parent::__construct();
-
- $this->tags = Annotation::getTagsWithTypes();
- }
-
- public function isCandidate(Tokens $tokens): bool
- {
- return $tokens->isTokenKindFound(T_DOC_COMMENT);
- }
-
- protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
- {
- foreach ($tokens as $index => $token) {
- if (!$token->isGivenKind(T_DOC_COMMENT)) {
- continue;
- }
-
- $doc = new DocBlock($token->getContent());
- $annotations = $doc->getAnnotationsOfType($this->tags);
-
- if (0 === \count($annotations)) {
- continue;
- }
-
- foreach ($annotations as $annotation) {
- $this->fixTypes($annotation);
- }
-
- $tokens[$index] = new Token([T_DOC_COMMENT, $doc->getContent()]);
- }
- }
-
- /**
- * Actually normalize the given type.
- */
- abstract protected function normalize(string $type): string;
-
- /**
- * Fix the types at the given line.
- *
- * We must be super careful not to modify parts of words.
- *
- * This will be nicely handled behind the scenes for us by the annotation class.
- */
- private function fixTypes(Annotation $annotation): void
- {
- $types = $annotation->getTypes();
-
- $new = $this->normalizeTypes($types);
-
- if ($types !== $new) {
- $annotation->setTypes($new);
- }
- }
-
- /**
- * @param list $types
- *
- * @return list
- */
- private function normalizeTypes(array $types): array
- {
- return array_map(
- function (string $type): string {
- $typeExpression = new TypeExpression($type, null, []);
-
- $typeExpression->walkTypes(function (TypeExpression $type): void {
- if (!$type->isUnionType()) {
- $value = $this->normalize($type->toString());
-
- // TODO TypeExpression should be immutable and walkTypes method should be changed to mapTypes method
- \Closure::bind(static function () use ($type, $value): void {
- $type->value = $value;
- }, null, TypeExpression::class)();
- }
- });
-
- return $typeExpression->toString();
- },
- $types
- );
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/AbstractProxyFixer.php b/vendor/friendsofphp/php-cs-fixer/src/AbstractProxyFixer.php
deleted file mode 100644
index d312bae9..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/AbstractProxyFixer.php
+++ /dev/null
@@ -1,106 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer;
-
-use PhpCsFixer\Fixer\FixerInterface;
-use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
-use PhpCsFixer\Tokenizer\Tokens;
-
-/**
- * @author Dariusz Rumiński
- *
- * @internal
- */
-abstract class AbstractProxyFixer extends AbstractFixer
-{
- /**
- * @var array
- */
- protected array $proxyFixers = [];
-
- public function __construct()
- {
- foreach (Utils::sortFixers($this->createProxyFixers()) as $proxyFixer) {
- $this->proxyFixers[$proxyFixer->getName()] = $proxyFixer;
- }
-
- parent::__construct();
- }
-
- public function isCandidate(Tokens $tokens): bool
- {
- foreach ($this->proxyFixers as $fixer) {
- if ($fixer->isCandidate($tokens)) {
- return true;
- }
- }
-
- return false;
- }
-
- public function isRisky(): bool
- {
- foreach ($this->proxyFixers as $fixer) {
- if ($fixer->isRisky()) {
- return true;
- }
- }
-
- return false;
- }
-
- public function getPriority(): int
- {
- if (\count($this->proxyFixers) > 1) {
- throw new \LogicException('You need to override this method to provide the priority of combined fixers.');
- }
-
- return reset($this->proxyFixers)->getPriority();
- }
-
- public function supports(\SplFileInfo $file): bool
- {
- foreach ($this->proxyFixers as $fixer) {
- if ($fixer->supports($file)) {
- return true;
- }
- }
-
- return false;
- }
-
- public function setWhitespacesConfig(WhitespacesFixerConfig $config): void
- {
- parent::setWhitespacesConfig($config);
-
- foreach ($this->proxyFixers as $fixer) {
- if ($fixer instanceof WhitespacesAwareFixerInterface) {
- $fixer->setWhitespacesConfig($config);
- }
- }
- }
-
- protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
- {
- foreach ($this->proxyFixers as $fixer) {
- $fixer->fix($file, $tokens);
- }
- }
-
- /**
- * @return FixerInterface[]
- */
- abstract protected function createProxyFixers(): array;
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/Cache.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/Cache.php
deleted file mode 100644
index 1f53fd2b..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/Cache.php
+++ /dev/null
@@ -1,151 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-use PhpCsFixer\Utils;
-
-/**
- * @author Andreas Möller
- *
- * @internal
- */
-final class Cache implements CacheInterface
-{
- private SignatureInterface $signature;
-
- /**
- * @var array
- */
- private array $hashes = [];
-
- public function __construct(SignatureInterface $signature)
- {
- $this->signature = $signature;
- }
-
- public function getSignature(): SignatureInterface
- {
- return $this->signature;
- }
-
- public function has(string $file): bool
- {
- return \array_key_exists($file, $this->hashes);
- }
-
- public function get(string $file): ?string
- {
- if (!$this->has($file)) {
- return null;
- }
-
- return $this->hashes[$file];
- }
-
- public function set(string $file, string $hash): void
- {
- $this->hashes[$file] = $hash;
- }
-
- public function clear(string $file): void
- {
- unset($this->hashes[$file]);
- }
-
- public function toJson(): string
- {
- $json = json_encode([
- 'php' => $this->getSignature()->getPhpVersion(),
- 'version' => $this->getSignature()->getFixerVersion(),
- 'indent' => $this->getSignature()->getIndent(),
- 'lineEnding' => $this->getSignature()->getLineEnding(),
- 'rules' => $this->getSignature()->getRules(),
- 'hashes' => $this->hashes,
- ]);
-
- if (JSON_ERROR_NONE !== json_last_error() || false === $json) {
- throw new \UnexpectedValueException(sprintf(
- 'Cannot encode cache signature to JSON, error: "%s". If you have non-UTF8 chars in your signature, like in license for `header_comment`, consider enabling `ext-mbstring` or install `symfony/polyfill-mbstring`.',
- json_last_error_msg()
- ));
- }
-
- return $json;
- }
-
- /**
- * @throws \InvalidArgumentException
- */
- public static function fromJson(string $json): self
- {
- $data = json_decode($json, true);
-
- if (null === $data && JSON_ERROR_NONE !== json_last_error()) {
- throw new \InvalidArgumentException(sprintf(
- 'Value needs to be a valid JSON string, got "%s", error: "%s".',
- $json,
- json_last_error_msg()
- ));
- }
-
- $requiredKeys = [
- 'php',
- 'version',
- 'indent',
- 'lineEnding',
- 'rules',
- 'hashes',
- ];
-
- $missingKeys = array_diff_key(array_flip($requiredKeys), $data);
-
- if (\count($missingKeys) > 0) {
- throw new \InvalidArgumentException(sprintf(
- 'JSON data is missing keys %s',
- Utils::naturalLanguageJoin(array_keys($missingKeys))
- ));
- }
-
- $signature = new Signature(
- $data['php'],
- $data['version'],
- $data['indent'],
- $data['lineEnding'],
- $data['rules']
- );
-
- $cache = new self($signature);
-
- // before v3.11.1 the hashes were crc32 encoded and saved as integers
- // @TODO: remove the to string cast/array_map in v4.0
- $cache->hashes = array_map(static fn ($v): string => \is_int($v) ? (string) $v : $v, $data['hashes']);
-
- return $cache;
- }
-
- /**
- * @internal
- */
- public function backfillHashes(self $oldCache): bool
- {
- if (!$this->getSignature()->equals($oldCache->getSignature())) {
- return false;
- }
-
- $this->hashes = array_merge($oldCache->hashes, $this->hashes);
-
- return true;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheInterface.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheInterface.php
deleted file mode 100644
index 29ab7197..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheInterface.php
+++ /dev/null
@@ -1,35 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-/**
- * @author Andreas Möller
- *
- * @internal
- */
-interface CacheInterface
-{
- public function getSignature(): SignatureInterface;
-
- public function has(string $file): bool;
-
- public function get(string $file): ?string;
-
- public function set(string $file, string $hash): void;
-
- public function clear(string $file): void;
-
- public function toJson(): string;
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheManagerInterface.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheManagerInterface.php
deleted file mode 100644
index 4e82d0c9..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheManagerInterface.php
+++ /dev/null
@@ -1,27 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-/**
- * @author Dariusz Rumiński
- *
- * @internal
- */
-interface CacheManagerInterface
-{
- public function needFixing(string $file, string $fileContent): bool;
-
- public function setFile(string $file, string $fileContent): void;
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/Directory.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/Directory.php
deleted file mode 100644
index 26573896..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/Directory.php
+++ /dev/null
@@ -1,49 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-/**
- * @author Dariusz Rumiński
- *
- * @internal
- */
-final class Directory implements DirectoryInterface
-{
- private string $directoryName;
-
- public function __construct(string $directoryName)
- {
- $this->directoryName = $directoryName;
- }
-
- public function getRelativePathTo(string $file): string
- {
- $file = $this->normalizePath($file);
-
- if (
- '' === $this->directoryName
- || 0 !== stripos($file, $this->directoryName.\DIRECTORY_SEPARATOR)
- ) {
- return $file;
- }
-
- return substr($file, \strlen($this->directoryName) + 1);
- }
-
- private function normalizePath(string $path): string
- {
- return str_replace(['\\', '/'], \DIRECTORY_SEPARATOR, $path);
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/DirectoryInterface.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/DirectoryInterface.php
deleted file mode 100644
index 2fdce86a..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/DirectoryInterface.php
+++ /dev/null
@@ -1,23 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-/**
- * @author Dariusz Rumiński
- */
-interface DirectoryInterface
-{
- public function getRelativePathTo(string $file): string;
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/FileCacheManager.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/FileCacheManager.php
deleted file mode 100644
index 1e3f64dc..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/FileCacheManager.php
+++ /dev/null
@@ -1,141 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-/**
- * Class supports caching information about state of fixing files.
- *
- * Cache is supported only for phar version and version installed via composer.
- *
- * File will be processed by PHP CS Fixer only if any of the following conditions is fulfilled:
- * - cache is corrupt
- * - fixer version changed
- * - rules changed
- * - file is new
- * - file changed
- *
- * @author Dariusz Rumiński
- *
- * @internal
- */
-final class FileCacheManager implements CacheManagerInterface
-{
- public const WRITE_FREQUENCY = 10;
-
- private FileHandlerInterface $handler;
-
- private SignatureInterface $signature;
-
- private bool $isDryRun;
-
- private DirectoryInterface $cacheDirectory;
-
- private int $writeCounter = 0;
-
- private bool $signatureWasUpdated = false;
-
- /**
- * @var CacheInterface
- */
- private $cache;
-
- public function __construct(
- FileHandlerInterface $handler,
- SignatureInterface $signature,
- bool $isDryRun = false,
- ?DirectoryInterface $cacheDirectory = null
- ) {
- $this->handler = $handler;
- $this->signature = $signature;
- $this->isDryRun = $isDryRun;
- $this->cacheDirectory = $cacheDirectory ?? new Directory('');
-
- $this->readCache();
- }
-
- public function __destruct()
- {
- if (true === $this->signatureWasUpdated || 0 !== $this->writeCounter) {
- $this->writeCache();
- }
- }
-
- /**
- * This class is not intended to be serialized,
- * and cannot be deserialized (see __wakeup method).
- */
- public function __sleep(): array
- {
- throw new \BadMethodCallException('Cannot serialize '.__CLASS__);
- }
-
- /**
- * Disable the deserialization of the class to prevent attacker executing
- * code by leveraging the __destruct method.
- *
- * @see https://owasp.org/www-community/vulnerabilities/PHP_Object_Injection
- */
- public function __wakeup(): void
- {
- throw new \BadMethodCallException('Cannot unserialize '.__CLASS__);
- }
-
- public function needFixing(string $file, string $fileContent): bool
- {
- $file = $this->cacheDirectory->getRelativePathTo($file);
-
- return !$this->cache->has($file) || $this->cache->get($file) !== $this->calcHash($fileContent);
- }
-
- public function setFile(string $file, string $fileContent): void
- {
- $file = $this->cacheDirectory->getRelativePathTo($file);
-
- $hash = $this->calcHash($fileContent);
-
- if ($this->isDryRun && $this->cache->has($file) && $this->cache->get($file) !== $hash) {
- $this->cache->clear($file);
- } else {
- $this->cache->set($file, $hash);
- }
-
- if (self::WRITE_FREQUENCY === ++$this->writeCounter) {
- $this->writeCounter = 0;
- $this->writeCache();
- }
- }
-
- private function readCache(): void
- {
- $cache = $this->handler->read();
-
- if (null === $cache || !$this->signature->equals($cache->getSignature())) {
- $cache = new Cache($this->signature);
- $this->signatureWasUpdated = true;
- }
-
- $this->cache = $cache;
- }
-
- private function writeCache(): void
- {
- $this->handler->write($this->cache);
- }
-
- private function calcHash(string $content): string
- {
- return md5($content);
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandler.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandler.php
deleted file mode 100644
index 51b4ca58..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandler.php
+++ /dev/null
@@ -1,184 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-use Symfony\Component\Filesystem\Exception\IOException;
-
-/**
- * @author Andreas Möller
- * @author Dariusz Rumiński
- *
- * @internal
- */
-final class FileHandler implements FileHandlerInterface
-{
- private \SplFileInfo $fileInfo;
-
- private int $fileMTime = 0;
-
- public function __construct(string $file)
- {
- $this->fileInfo = new \SplFileInfo($file);
- }
-
- public function getFile(): string
- {
- return $this->fileInfo->getPathname();
- }
-
- public function read(): ?CacheInterface
- {
- if (!$this->fileInfo->isFile() || !$this->fileInfo->isReadable()) {
- return null;
- }
-
- $fileObject = $this->fileInfo->openFile('r');
-
- $cache = $this->readFromHandle($fileObject);
- $this->fileMTime = $this->getFileCurrentMTime();
-
- unset($fileObject); // explicitly close file handler
-
- return $cache;
- }
-
- public function write(CacheInterface $cache): void
- {
- $this->ensureFileIsWriteable();
-
- $fileObject = $this->fileInfo->openFile('r+');
-
- if (method_exists($cache, 'backfillHashes') && $this->fileMTime < $this->getFileCurrentMTime()) {
- $resultOfFlock = $fileObject->flock(LOCK_EX);
- if (false === $resultOfFlock) {
- // Lock failed, OK - we continue without the lock.
- // noop
- }
-
- $oldCache = $this->readFromHandle($fileObject);
-
- $fileObject->rewind();
-
- if (null !== $oldCache) {
- $cache->backfillHashes($oldCache);
- }
- }
-
- $resultOfTruncate = $fileObject->ftruncate(0);
- if (false === $resultOfTruncate) {
- // Truncate failed. OK - we do not save the cache.
- return;
- }
-
- $resultOfWrite = $fileObject->fwrite($cache->toJson());
- if (false === $resultOfWrite) {
- // Write failed. OK - we did not save the cache.
- return;
- }
-
- $resultOfFlush = $fileObject->fflush();
- if (false === $resultOfFlush) {
- // Flush failed. OK - part of cache can be missing, in case this was last chunk in this pid.
- // noop
- }
-
- $this->fileMTime = time(); // we could take the fresh `mtime` of file that we just modified with `$this->getFileCurrentMTime()`, but `time()` should be good enough here and reduce IO operation
- }
-
- private function getFileCurrentMTime(): int
- {
- clearstatcache(true, $this->fileInfo->getPathname());
-
- $mtime = $this->fileInfo->getMTime();
-
- if (false === $mtime) {
- // cannot check mtime? OK - let's pretend file is old.
- $mtime = 0;
- }
-
- return $mtime;
- }
-
- private function readFromHandle(\SplFileObject $fileObject): ?CacheInterface
- {
- try {
- $size = $fileObject->getSize();
- if (false === $size || 0 === $size) {
- return null;
- }
-
- $content = $fileObject->fread($size);
-
- if (false === $content) {
- return null;
- }
-
- return Cache::fromJson($content);
- } catch (\InvalidArgumentException $exception) {
- return null;
- }
- }
-
- private function ensureFileIsWriteable(): void
- {
- if ($this->fileInfo->isFile() && $this->fileInfo->isWritable()) {
- // all good
- return;
- }
-
- if ($this->fileInfo->isDir()) {
- throw new IOException(
- sprintf('Cannot write cache file "%s" as the location exists as directory.', $this->fileInfo->getRealPath()),
- 0,
- null,
- $this->fileInfo->getPathname()
- );
- }
-
- if ($this->fileInfo->isFile() && !$this->fileInfo->isWritable()) {
- throw new IOException(
- sprintf('Cannot write to file "%s" as it is not writable.', $this->fileInfo->getRealPath()),
- 0,
- null,
- $this->fileInfo->getPathname()
- );
- }
-
- $this->createFile($this->fileInfo->getPathname());
- }
-
- private function createFile(string $file): void
- {
- $dir = \dirname($file);
-
- // Ensure path is created, but ignore if already exists. FYI: ignore EA suggestion in IDE,
- // `mkdir()` returns `false` for existing paths, so we can't mix it with `is_dir()` in one condition.
- if (!@is_dir($dir)) {
- @mkdir($dir, 0777, true);
- }
-
- if (!@is_dir($dir)) {
- throw new IOException(
- sprintf('Directory of cache file "%s" does not exists and couldn\'t be created.', $file),
- 0,
- null,
- $file
- );
- }
-
- @touch($file);
- @chmod($file, 0666);
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandlerInterface.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandlerInterface.php
deleted file mode 100644
index 464b04cf..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandlerInterface.php
+++ /dev/null
@@ -1,29 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-/**
- * @author Andreas Möller
- *
- * @internal
- */
-interface FileHandlerInterface
-{
- public function getFile(): string;
-
- public function read(): ?CacheInterface;
-
- public function write(CacheInterface $cache): void;
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/NullCacheManager.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/NullCacheManager.php
deleted file mode 100644
index ff0b6fed..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/NullCacheManager.php
+++ /dev/null
@@ -1,30 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-/**
- * @author Andreas Möller
- *
- * @internal
- */
-final class NullCacheManager implements CacheManagerInterface
-{
- public function needFixing(string $file, string $fileContent): bool
- {
- return true;
- }
-
- public function setFile(string $file, string $fileContent): void {}
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/Signature.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/Signature.php
deleted file mode 100644
index 48c96289..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/Signature.php
+++ /dev/null
@@ -1,98 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-/**
- * @author Andreas Möller
- *
- * @internal
- */
-final class Signature implements SignatureInterface
-{
- private string $phpVersion;
-
- private string $fixerVersion;
-
- private string $indent;
-
- private string $lineEnding;
-
- /**
- * @var array|bool>
- */
- private array $rules;
-
- /**
- * @param array|bool> $rules
- */
- public function __construct(string $phpVersion, string $fixerVersion, string $indent, string $lineEnding, array $rules)
- {
- $this->phpVersion = $phpVersion;
- $this->fixerVersion = $fixerVersion;
- $this->indent = $indent;
- $this->lineEnding = $lineEnding;
- $this->rules = self::makeJsonEncodable($rules);
- }
-
- public function getPhpVersion(): string
- {
- return $this->phpVersion;
- }
-
- public function getFixerVersion(): string
- {
- return $this->fixerVersion;
- }
-
- public function getIndent(): string
- {
- return $this->indent;
- }
-
- public function getLineEnding(): string
- {
- return $this->lineEnding;
- }
-
- public function getRules(): array
- {
- return $this->rules;
- }
-
- public function equals(SignatureInterface $signature): bool
- {
- return $this->phpVersion === $signature->getPhpVersion()
- && $this->fixerVersion === $signature->getFixerVersion()
- && $this->indent === $signature->getIndent()
- && $this->lineEnding === $signature->getLineEnding()
- && $this->rules === $signature->getRules();
- }
-
- /**
- * @param array|bool> $data
- *
- * @return array|bool>
- */
- private static function makeJsonEncodable(array $data): array
- {
- array_walk_recursive($data, static function (&$item): void {
- if (\is_string($item) && !mb_detect_encoding($item, 'utf-8', true)) {
- $item = base64_encode($item);
- }
- });
-
- return $data;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Cache/SignatureInterface.php b/vendor/friendsofphp/php-cs-fixer/src/Cache/SignatureInterface.php
deleted file mode 100644
index cc952141..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Cache/SignatureInterface.php
+++ /dev/null
@@ -1,38 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Cache;
-
-/**
- * @author Andreas Möller
- *
- * @internal
- */
-interface SignatureInterface
-{
- public function getPhpVersion(): string;
-
- public function getFixerVersion(): string;
-
- public function getIndent(): string;
-
- public function getLineEnding(): string;
-
- /**
- * @return array|bool>
- */
- public function getRules(): array;
-
- public function equals(self $signature): bool;
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Config.php b/vendor/friendsofphp/php-cs-fixer/src/Config.php
deleted file mode 100644
index 1febd2a0..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Config.php
+++ /dev/null
@@ -1,226 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer;
-
-use PhpCsFixer\Fixer\FixerInterface;
-
-/**
- * @author Fabien Potencier
- * @author Katsuhiro Ogawa
- * @author Dariusz Rumiński
- */
-class Config implements ConfigInterface
-{
- private string $cacheFile = '.php-cs-fixer.cache';
-
- /**
- * @var FixerInterface[]
- */
- private array $customFixers = [];
-
- /**
- * @var null|iterable<\SplFileInfo>
- */
- private ?iterable $finder = null;
-
- private string $format = 'txt';
-
- private bool $hideProgress = false;
-
- private string $indent = ' ';
-
- private bool $isRiskyAllowed = false;
-
- private string $lineEnding = "\n";
-
- private string $name;
-
- /**
- * @var null|string
- */
- private $phpExecutable;
-
- /**
- * @TODO: 4.0 - update to @PER
- *
- * @var array|bool>
- */
- private array $rules;
-
- private bool $usingCache = true;
-
- public function __construct(string $name = 'default')
- {
- // @TODO 4.0 cleanup
- if (Utils::isFutureModeEnabled()) {
- $this->name = $name.' (future mode)';
- $this->rules = ['@PER-CS' => true];
- } else {
- $this->name = $name;
- $this->rules = ['@PSR12' => true];
- }
- }
-
- public function getCacheFile(): string
- {
- return $this->cacheFile;
- }
-
- public function getCustomFixers(): array
- {
- return $this->customFixers;
- }
-
- /**
- * @return Finder
- */
- public function getFinder(): iterable
- {
- if (null === $this->finder) {
- $this->finder = new Finder();
- }
-
- return $this->finder;
- }
-
- public function getFormat(): string
- {
- return $this->format;
- }
-
- public function getHideProgress(): bool
- {
- return $this->hideProgress;
- }
-
- public function getIndent(): string
- {
- return $this->indent;
- }
-
- public function getLineEnding(): string
- {
- return $this->lineEnding;
- }
-
- public function getName(): string
- {
- return $this->name;
- }
-
- public function getPhpExecutable(): ?string
- {
- return $this->phpExecutable;
- }
-
- public function getRiskyAllowed(): bool
- {
- return $this->isRiskyAllowed;
- }
-
- public function getRules(): array
- {
- return $this->rules;
- }
-
- public function getUsingCache(): bool
- {
- return $this->usingCache;
- }
-
- public function registerCustomFixers(iterable $fixers): ConfigInterface
- {
- foreach ($fixers as $fixer) {
- $this->addCustomFixer($fixer);
- }
-
- return $this;
- }
-
- public function setCacheFile(string $cacheFile): ConfigInterface
- {
- $this->cacheFile = $cacheFile;
-
- return $this;
- }
-
- public function setFinder(iterable $finder): ConfigInterface
- {
- $this->finder = $finder;
-
- return $this;
- }
-
- public function setFormat(string $format): ConfigInterface
- {
- $this->format = $format;
-
- return $this;
- }
-
- public function setHideProgress(bool $hideProgress): ConfigInterface
- {
- $this->hideProgress = $hideProgress;
-
- return $this;
- }
-
- public function setIndent(string $indent): ConfigInterface
- {
- $this->indent = $indent;
-
- return $this;
- }
-
- public function setLineEnding(string $lineEnding): ConfigInterface
- {
- $this->lineEnding = $lineEnding;
-
- return $this;
- }
-
- public function setPhpExecutable(?string $phpExecutable): ConfigInterface
- {
- $this->phpExecutable = $phpExecutable;
-
- return $this;
- }
-
- public function setRiskyAllowed(bool $isRiskyAllowed): ConfigInterface
- {
- $this->isRiskyAllowed = $isRiskyAllowed;
-
- return $this;
- }
-
- public function setRules(array $rules): ConfigInterface
- {
- $this->rules = $rules;
-
- return $this;
- }
-
- public function setUsingCache(bool $usingCache): ConfigInterface
- {
- $this->usingCache = $usingCache;
-
- return $this;
- }
-
- private function addCustomFixer(FixerInterface $fixer): void
- {
- $this->customFixers[] = $fixer;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/ConfigInterface.php b/vendor/friendsofphp/php-cs-fixer/src/ConfigInterface.php
deleted file mode 100644
index b46b191b..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/ConfigInterface.php
+++ /dev/null
@@ -1,140 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer;
-
-use PhpCsFixer\Fixer\FixerInterface;
-
-/**
- * @author Fabien Potencier
- * @author Dariusz Rumiński
- */
-interface ConfigInterface
-{
- /**
- * Returns the path to the cache file.
- *
- * @return null|string Returns null if not using cache
- */
- public function getCacheFile(): ?string;
-
- /**
- * Returns the custom fixers to use.
- *
- * @return FixerInterface[]
- */
- public function getCustomFixers(): array;
-
- /**
- * Returns files to scan.
- *
- * @return iterable<\SplFileInfo>
- */
- public function getFinder(): iterable;
-
- public function getFormat(): string;
-
- /**
- * Returns true if progress should be hidden.
- */
- public function getHideProgress(): bool;
-
- public function getIndent(): string;
-
- public function getLineEnding(): string;
-
- /**
- * Returns the name of the configuration.
- *
- * The name must be all lowercase and without any spaces.
- *
- * @return string The name of the configuration
- */
- public function getName(): string;
-
- /**
- * Get configured PHP executable, if any.
- */
- public function getPhpExecutable(): ?string;
-
- /**
- * Check if it is allowed to run risky fixers.
- */
- public function getRiskyAllowed(): bool;
-
- /**
- * Get rules.
- *
- * Keys of array are names of fixers/sets, values are true/false.
- *
- * @return array|bool>
- */
- public function getRules(): array;
-
- /**
- * Returns true if caching should be enabled.
- */
- public function getUsingCache(): bool;
-
- /**
- * Adds a suite of custom fixers.
- *
- * Name of custom fixer should follow `VendorName/rule_name` convention.
- *
- * @param FixerInterface[]|iterable|\Traversable $fixers
- */
- public function registerCustomFixers(iterable $fixers): self;
-
- /**
- * Sets the path to the cache file.
- */
- public function setCacheFile(string $cacheFile): self;
-
- /**
- * @param iterable<\SplFileInfo> $finder
- */
- public function setFinder(iterable $finder): self;
-
- public function setFormat(string $format): self;
-
- public function setHideProgress(bool $hideProgress): self;
-
- public function setIndent(string $indent): self;
-
- public function setLineEnding(string $lineEnding): self;
-
- /**
- * Set PHP executable.
- */
- public function setPhpExecutable(?string $phpExecutable): self;
-
- /**
- * Set if it is allowed to run risky fixers.
- */
- public function setRiskyAllowed(bool $isRiskyAllowed): self;
-
- /**
- * Set rules.
- *
- * Keys of array are names of fixers or sets.
- * Value for set must be bool (turn it on or off).
- * Value for fixer may be bool (turn it on or off) or array of configuration
- * (turn it on and contains configuration for FixerInterface::configure method).
- *
- * @param array|bool> $rules
- */
- public function setRules(array $rules): self;
-
- public function setUsingCache(bool $usingCache): self;
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidConfigurationException.php b/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidConfigurationException.php
deleted file mode 100644
index 87babf8f..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidConfigurationException.php
+++ /dev/null
@@ -1,36 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\ConfigurationException;
-
-use PhpCsFixer\Console\Command\FixCommandExitStatusCalculator;
-
-/**
- * Exceptions of this type are thrown on misconfiguration of the Fixer.
- *
- * @internal
- *
- * @final Only internal extending this class is supported
- */
-class InvalidConfigurationException extends \InvalidArgumentException
-{
- public function __construct(string $message, ?int $code = null, ?\Throwable $previous = null)
- {
- parent::__construct(
- $message,
- $code ?? FixCommandExitStatusCalculator::EXIT_STATUS_FLAG_HAS_INVALID_CONFIG,
- $previous
- );
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidFixerConfigurationException.php b/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidFixerConfigurationException.php
deleted file mode 100644
index 140385c3..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidFixerConfigurationException.php
+++ /dev/null
@@ -1,45 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\ConfigurationException;
-
-use PhpCsFixer\Console\Command\FixCommandExitStatusCalculator;
-
-/**
- * Exception thrown by Fixers on misconfiguration.
- *
- * @internal
- *
- * @final Only internal extending this class is supported
- */
-class InvalidFixerConfigurationException extends InvalidConfigurationException
-{
- private string $fixerName;
-
- public function __construct(string $fixerName, string $message, ?\Throwable $previous = null)
- {
- parent::__construct(
- sprintf('[%s] %s', $fixerName, $message),
- FixCommandExitStatusCalculator::EXIT_STATUS_FLAG_HAS_INVALID_FIXER_CONFIG,
- $previous
- );
-
- $this->fixerName = $fixerName;
- }
-
- public function getFixerName(): string
- {
- return $this->fixerName;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidForEnvFixerConfigurationException.php b/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidForEnvFixerConfigurationException.php
deleted file mode 100644
index 440b2470..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidForEnvFixerConfigurationException.php
+++ /dev/null
@@ -1,22 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\ConfigurationException;
-
-/**
- * @author Dariusz Rumiński
- *
- * @internal
- */
-final class InvalidForEnvFixerConfigurationException extends InvalidFixerConfigurationException {}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/RequiredFixerConfigurationException.php b/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/RequiredFixerConfigurationException.php
deleted file mode 100644
index bcc07bdf..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/RequiredFixerConfigurationException.php
+++ /dev/null
@@ -1,22 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\ConfigurationException;
-
-/**
- * @author Dariusz Rumiński
- *
- * @internal
- */
-final class RequiredFixerConfigurationException extends InvalidFixerConfigurationException {}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Application.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Application.php
deleted file mode 100644
index 246e10c7..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Application.php
+++ /dev/null
@@ -1,163 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console;
-
-use PhpCsFixer\Console\Command\CheckCommand;
-use PhpCsFixer\Console\Command\DescribeCommand;
-use PhpCsFixer\Console\Command\FixCommand;
-use PhpCsFixer\Console\Command\HelpCommand;
-use PhpCsFixer\Console\Command\ListFilesCommand;
-use PhpCsFixer\Console\Command\ListSetsCommand;
-use PhpCsFixer\Console\Command\SelfUpdateCommand;
-use PhpCsFixer\Console\SelfUpdate\GithubClient;
-use PhpCsFixer\Console\SelfUpdate\NewVersionChecker;
-use PhpCsFixer\PharChecker;
-use PhpCsFixer\ToolInfo;
-use PhpCsFixer\Utils;
-use Symfony\Component\Console\Application as BaseApplication;
-use Symfony\Component\Console\Command\ListCommand;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Output\ConsoleOutputInterface;
-use Symfony\Component\Console\Output\OutputInterface;
-
-/**
- * @author Fabien Potencier
- * @author Dariusz Rumiński
- *
- * @internal
- */
-final class Application extends BaseApplication
-{
- public const NAME = 'PHP CS Fixer';
- public const VERSION = '3.51.0';
- public const VERSION_CODENAME = 'Insomnia';
-
- private ToolInfo $toolInfo;
-
- public function __construct()
- {
- parent::__construct(self::NAME, self::VERSION);
-
- $this->toolInfo = new ToolInfo();
-
- // in alphabetical order
- $this->add(new DescribeCommand());
- $this->add(new CheckCommand($this->toolInfo));
- $this->add(new FixCommand($this->toolInfo));
- $this->add(new ListFilesCommand($this->toolInfo));
- $this->add(new ListSetsCommand());
- $this->add(new SelfUpdateCommand(
- new NewVersionChecker(new GithubClient()),
- $this->toolInfo,
- new PharChecker()
- ));
- }
-
- public static function getMajorVersion(): int
- {
- return (int) explode('.', self::VERSION)[0];
- }
-
- public function doRun(InputInterface $input, OutputInterface $output): int
- {
- $stdErr = $output instanceof ConsoleOutputInterface
- ? $output->getErrorOutput()
- : ($input->hasParameterOption('--format', true) && 'txt' !== $input->getParameterOption('--format', null, true) ? null : $output);
-
- if (null !== $stdErr) {
- $warningsDetector = new WarningsDetector($this->toolInfo);
- $warningsDetector->detectOldVendor();
- $warningsDetector->detectOldMajor();
- $warnings = $warningsDetector->getWarnings();
-
- if (\count($warnings) > 0) {
- foreach ($warnings as $warning) {
- $stdErr->writeln(sprintf($stdErr->isDecorated() ? '%s>' : '%s', $warning));
- }
- $stdErr->writeln('');
- }
- }
-
- $result = parent::doRun($input, $output);
-
- if (
- null !== $stdErr
- && $output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE
- ) {
- $triggeredDeprecations = Utils::getTriggeredDeprecations();
-
- if (\count($triggeredDeprecations) > 0) {
- $stdErr->writeln('');
- $stdErr->writeln($stdErr->isDecorated() ? 'Detected deprecations in use:>' : 'Detected deprecations in use:');
- foreach ($triggeredDeprecations as $deprecation) {
- $stdErr->writeln(sprintf('- %s', $deprecation));
- }
- }
- }
-
- return $result;
- }
-
- /**
- * @internal
- */
- public static function getAbout(bool $decorated = false): string
- {
- $longVersion = sprintf('%s %s ', self::NAME, self::VERSION);
-
- $commit = '@git-commit@';
- $versionCommit = '';
-
- if ('@'.'git-commit@' !== $commit) { /** @phpstan-ignore-line as `$commit` is replaced during phar building */
- $versionCommit = substr($commit, 0, 7);
- }
-
- $about = implode('', [
- $longVersion,
- $versionCommit ? sprintf(' (%s) ', $versionCommit) : '', // @phpstan-ignore-line to avoid `Ternary operator condition is always true|false.`
- self::VERSION_CODENAME ? sprintf(' %s ', self::VERSION_CODENAME) : '', // @phpstan-ignore-line to avoid `Ternary operator condition is always true|false.`
- ' by Fabien Potencier , Dariusz Ruminski and contributors .',
- ]);
-
- if (false === $decorated) {
- return strip_tags($about);
- }
-
- return $about;
- }
-
- /**
- * @internal
- */
- public static function getAboutWithRuntime(bool $decorated = false): string
- {
- $about = self::getAbout(true)."\nPHP runtime: ".PHP_VERSION.' ';
- if (false === $decorated) {
- return strip_tags($about);
- }
-
- return $about;
- }
-
- public function getLongVersion(): string
- {
- return self::getAboutWithRuntime(true);
- }
-
- protected function getDefaultCommands(): array
- {
- return [new HelpCommand(), new ListCommand()];
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/CheckCommand.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Command/CheckCommand.php
deleted file mode 100644
index 1e7d7537..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/CheckCommand.php
+++ /dev/null
@@ -1,66 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Command;
-
-use PhpCsFixer\ToolInfoInterface;
-use Symfony\Component\Console\Attribute\AsCommand;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Input\InputOption;
-
-/**
- * @author Greg Korba
- *
- * @internal
- */
-#[AsCommand(name: 'check', description: 'Checks if configured files/directories comply with configured rules.')]
-final class CheckCommand extends FixCommand
-{
- /** @var string */
- protected static $defaultName = 'check';
-
- /** @var string */
- protected static $defaultDescription = 'Checks if configured files/directories comply with configured rules.';
-
- public function __construct(ToolInfoInterface $toolInfo)
- {
- parent::__construct($toolInfo);
- }
-
- public function getHelp(): string
- {
- $help = explode('--dry-run ', parent::getHelp());
-
- return substr($help[0], 0, strrpos($help[0], "\n") - 1)
- .substr($help[1], strpos($help[1], "\n"));
- }
-
- protected function configure(): void
- {
- parent::configure();
-
- $this->setDefinition([
- ...array_values($this->getDefinition()->getArguments()),
- ...array_values(array_filter(
- $this->getDefinition()->getOptions(),
- static fn (InputOption $option): bool => 'dry-run' !== $option->getName()
- )),
- ]);
- }
-
- protected function isDryRun(InputInterface $input): bool
- {
- return true;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeCommand.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeCommand.php
deleted file mode 100644
index 08fd9b4c..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeCommand.php
+++ /dev/null
@@ -1,467 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Command;
-
-use PhpCsFixer\Config;
-use PhpCsFixer\Console\Application;
-use PhpCsFixer\Console\ConfigurationResolver;
-use PhpCsFixer\Differ\DiffConsoleFormatter;
-use PhpCsFixer\Differ\FullDiffer;
-use PhpCsFixer\Documentation\FixerDocumentGenerator;
-use PhpCsFixer\Fixer\ConfigurableFixerInterface;
-use PhpCsFixer\Fixer\DeprecatedFixerInterface;
-use PhpCsFixer\Fixer\ExperimentalFixerInterface;
-use PhpCsFixer\Fixer\FixerInterface;
-use PhpCsFixer\FixerConfiguration\AliasedFixerOption;
-use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
-use PhpCsFixer\FixerConfiguration\DeprecatedFixerOption;
-use PhpCsFixer\FixerDefinition\CodeSampleInterface;
-use PhpCsFixer\FixerDefinition\FileSpecificCodeSampleInterface;
-use PhpCsFixer\FixerDefinition\VersionSpecificCodeSampleInterface;
-use PhpCsFixer\FixerFactory;
-use PhpCsFixer\Preg;
-use PhpCsFixer\RuleSet\RuleSets;
-use PhpCsFixer\StdinFileInfo;
-use PhpCsFixer\Tokenizer\Tokens;
-use PhpCsFixer\ToolInfo;
-use PhpCsFixer\Utils;
-use PhpCsFixer\WordMatcher;
-use Symfony\Component\Console\Attribute\AsCommand;
-use Symfony\Component\Console\Command\Command;
-use Symfony\Component\Console\Formatter\OutputFormatter;
-use Symfony\Component\Console\Input\InputArgument;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Input\InputOption;
-use Symfony\Component\Console\Output\ConsoleOutputInterface;
-use Symfony\Component\Console\Output\OutputInterface;
-
-/**
- * @author Dariusz Rumiński
- *
- * @internal
- */
-#[AsCommand(name: 'describe')]
-final class DescribeCommand extends Command
-{
- /** @var string */
- protected static $defaultName = 'describe';
-
- /**
- * @var ?list
- */
- private $setNames;
-
- private FixerFactory $fixerFactory;
-
- /**
- * @var array
- */
- private $fixers;
-
- public function __construct(?FixerFactory $fixerFactory = null)
- {
- parent::__construct();
-
- if (null === $fixerFactory) {
- $fixerFactory = new FixerFactory();
- $fixerFactory->registerBuiltInFixers();
- }
-
- $this->fixerFactory = $fixerFactory;
- }
-
- protected function configure(): void
- {
- $this
- ->setDefinition(
- [
- new InputArgument('name', InputArgument::REQUIRED, 'Name of rule / set.'),
- new InputOption('config', '', InputOption::VALUE_REQUIRED, 'The path to a .php-cs-fixer.php file.'),
- ]
- )
- ->setDescription('Describe rule / ruleset.')
- ;
- }
-
- protected function execute(InputInterface $input, OutputInterface $output): int
- {
- if ($output instanceof ConsoleOutputInterface) {
- $stdErr = $output->getErrorOutput();
- $stdErr->writeln(Application::getAboutWithRuntime(true));
- }
-
- $resolver = new ConfigurationResolver(
- new Config(),
- ['config' => $input->getOption('config')],
- getcwd(),
- new ToolInfo()
- );
-
- $this->fixerFactory->registerCustomFixers($resolver->getConfig()->getCustomFixers());
-
- $name = $input->getArgument('name');
-
- try {
- if (str_starts_with($name, '@')) {
- $this->describeSet($output, $name);
-
- return 0;
- }
-
- $this->describeRule($output, $name);
- } catch (DescribeNameNotFoundException $e) {
- $matcher = new WordMatcher(
- 'set' === $e->getType() ? $this->getSetNames() : array_keys($this->getFixers())
- );
-
- $alternative = $matcher->match($name);
-
- $this->describeList($output, $e->getType());
-
- throw new \InvalidArgumentException(sprintf(
- '%s "%s" not found.%s',
- ucfirst($e->getType()),
- $name,
- null === $alternative ? '' : ' Did you mean "'.$alternative.'"?'
- ));
- }
-
- return 0;
- }
-
- private function describeRule(OutputInterface $output, string $name): void
- {
- $fixers = $this->getFixers();
-
- if (!isset($fixers[$name])) {
- throw new DescribeNameNotFoundException($name, 'rule');
- }
-
- /** @var FixerInterface $fixer */
- $fixer = $fixers[$name];
-
- $definition = $fixer->getDefinition();
-
- $output->writeln(sprintf('Description of the `%s` rule.>', $name));
- $output->writeln('');
-
- if ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
- $output->writeln(sprintf('Fixer class: %s .', \get_class($fixer)));
- $output->writeln('');
- }
-
- if ($fixer instanceof DeprecatedFixerInterface) {
- $successors = $fixer->getSuccessorsNames();
- $message = [] === $successors
- ? sprintf('it will be removed in version %d.0', Application::getMajorVersion() + 1)
- : sprintf('use %s instead', Utils::naturalLanguageJoinWithBackticks($successors));
-
- $endMessage = '. '.ucfirst($message);
- Utils::triggerDeprecation(new \RuntimeException(str_replace('`', '"', "Rule \"{$name}\" is deprecated{$endMessage}.")));
- $message = Preg::replace('/(`[^`]+`)/', '$1 ', $message);
- $output->writeln(sprintf('DEPRECATED : %s.', $message));
- $output->writeln('');
- }
-
- $output->writeln($definition->getSummary());
-
- $description = $definition->getDescription();
-
- if (null !== $description) {
- $output->writeln($description);
- }
-
- $output->writeln('');
-
- if ($fixer instanceof ExperimentalFixerInterface) {
- $output->writeln('Fixer applying this rule is EXPERIMENTAL. .');
- $output->writeln('It is not covered with backward compatibility promise and may produce unstable or unexpected results.');
-
- $output->writeln('');
- }
-
- if ($fixer->isRisky()) {
- $output->writeln('Fixer applying this rule is RISKY. ');
-
- $riskyDescription = $definition->getRiskyDescription();
-
- if (null !== $riskyDescription) {
- $output->writeln($riskyDescription);
- }
-
- $output->writeln('');
- }
-
- if ($fixer instanceof ConfigurableFixerInterface) {
- $configurationDefinition = $fixer->getConfigurationDefinition();
- $options = $configurationDefinition->getOptions();
-
- $output->writeln(sprintf('Fixer is configurable using following option%s:', 1 === \count($options) ? '' : 's'));
-
- foreach ($options as $option) {
- $line = '* '.OutputFormatter::escape($option->getName()).' ';
- $allowed = HelpCommand::getDisplayableAllowedValues($option);
-
- if (null === $allowed) {
- $allowed = array_map(
- static fn (string $type): string => ''.$type.' ',
- $option->getAllowedTypes(),
- );
- } else {
- $allowed = array_map(static fn ($value): string => $value instanceof AllowedValueSubset
- ? 'a subset of '.Utils::toString($value->getAllowedValues()).' '
- : ''.Utils::toString($value).' ', $allowed);
- }
-
- $line .= ' ('.Utils::naturalLanguageJoin($allowed, '').')';
-
- $description = Preg::replace('/(`.+?`)/', '$1 ', OutputFormatter::escape($option->getDescription()));
- $line .= ': '.lcfirst(Preg::replace('/\.$/', '', $description)).'; ';
-
- if ($option->hasDefault()) {
- $line .= sprintf(
- 'defaults to %s ',
- Utils::toString($option->getDefault())
- );
- } else {
- $line .= 'required ';
- }
-
- if ($option instanceof DeprecatedFixerOption) {
- $line .= '. DEPRECATED : '.Preg::replace(
- '/(`.+?`)/',
- '$1 ',
- OutputFormatter::escape(lcfirst($option->getDeprecationMessage()))
- );
- }
-
- if ($option instanceof AliasedFixerOption) {
- $line .= '; DEPRECATED alias: '.$option->getAlias().' ';
- }
-
- $output->writeln($line);
- }
-
- $output->writeln('');
- }
-
- /** @var CodeSampleInterface[] $codeSamples */
- $codeSamples = array_filter($definition->getCodeSamples(), static function (CodeSampleInterface $codeSample): bool {
- if ($codeSample instanceof VersionSpecificCodeSampleInterface) {
- return $codeSample->isSuitableFor(\PHP_VERSION_ID);
- }
-
- return true;
- });
-
- if (0 === \count($definition->getCodeSamples())) {
- $output->writeln([
- 'Fixing examples are not available for this rule.',
- '',
- ]);
- } elseif (0 === \count($codeSamples)) {
- $output->writeln([
- 'Fixing examples cannot be demonstrated on the current PHP version.',
- '',
- ]);
- } else {
- $output->writeln('Fixing examples:');
-
- $differ = new FullDiffer();
- $diffFormatter = new DiffConsoleFormatter(
- $output->isDecorated(),
- sprintf(
- ' ---------- begin diff ---------- %s%%s%s ----------- end diff ----------- ',
- PHP_EOL,
- PHP_EOL
- )
- );
-
- foreach ($codeSamples as $index => $codeSample) {
- $old = $codeSample->getCode();
- $tokens = Tokens::fromCode($old);
-
- $configuration = $codeSample->getConfiguration();
-
- if ($fixer instanceof ConfigurableFixerInterface) {
- $fixer->configure($configuration ?? []);
- }
-
- $file = $codeSample instanceof FileSpecificCodeSampleInterface
- ? $codeSample->getSplFileInfo()
- : new StdinFileInfo();
-
- $fixer->fix($file, $tokens);
-
- $diff = $differ->diff($old, $tokens->generateCode());
-
- if ($fixer instanceof ConfigurableFixerInterface) {
- if (null === $configuration) {
- $output->writeln(sprintf(' * Example #%d. Fixing with the default configuration.', $index + 1));
- } else {
- $output->writeln(sprintf(' * Example #%d. Fixing with configuration: %s .', $index + 1, Utils::toString($codeSample->getConfiguration())));
- }
- } else {
- $output->writeln(sprintf(' * Example #%d.', $index + 1));
- }
-
- $output->writeln([$diffFormatter->format($diff, ' %s'), '']);
- }
- }
-
- $ruleSetConfigs = FixerDocumentGenerator::getSetsOfRule($name);
-
- if ([] !== $ruleSetConfigs) {
- ksort($ruleSetConfigs);
- $plural = 1 !== \count($ruleSetConfigs) ? 's' : '';
- $output->writeln("Fixer is part of the following rule set{$plural}:");
-
- foreach ($ruleSetConfigs as $set => $config) {
- if (null !== $config) {
- $output->writeln(sprintf('* %s with config: %s ', $set, Utils::toString($config)));
- } else {
- $output->writeln(sprintf('* %s with default config', $set));
- }
- }
-
- $output->writeln('');
- }
- }
-
- private function describeSet(OutputInterface $output, string $name): void
- {
- if (!\in_array($name, $this->getSetNames(), true)) {
- throw new DescribeNameNotFoundException($name, 'set');
- }
-
- $ruleSetDefinitions = RuleSets::getSetDefinitions();
- $fixers = $this->getFixers();
-
- $output->writeln(sprintf('Description of the `%s` set.>', $ruleSetDefinitions[$name]->getName()));
- $output->writeln('');
-
- $output->writeln($this->replaceRstLinks($ruleSetDefinitions[$name]->getDescription()));
- $output->writeln('');
-
- if ($ruleSetDefinitions[$name]->isRisky()) {
- $output->writeln('This set contains risky rules. ');
- $output->writeln('');
- }
-
- $help = '';
-
- foreach ($ruleSetDefinitions[$name]->getRules() as $rule => $config) {
- if (str_starts_with($rule, '@')) {
- $set = $ruleSetDefinitions[$rule];
- $help .= sprintf(
- " * %s %s\n | %s\n\n",
- $rule,
- $set->isRisky() ? ' risky ' : '',
- $this->replaceRstLinks($set->getDescription())
- );
-
- continue;
- }
-
- /** @var FixerInterface $fixer */
- $fixer = $fixers[$rule];
-
- $definition = $fixer->getDefinition();
- $help .= sprintf(
- " * %s %s\n | %s\n%s\n",
- $rule,
- $fixer->isRisky() ? ' risky ' : '',
- $definition->getSummary(),
- true !== $config ? sprintf(" | Configuration: %s \n", Utils::toString($config)) : ''
- );
- }
-
- $output->write($help);
- }
-
- /**
- * @return array
- */
- private function getFixers(): array
- {
- if (null !== $this->fixers) {
- return $this->fixers;
- }
-
- $fixers = [];
-
- foreach ($this->fixerFactory->getFixers() as $fixer) {
- $fixers[$fixer->getName()] = $fixer;
- }
-
- $this->fixers = $fixers;
- ksort($this->fixers);
-
- return $this->fixers;
- }
-
- /**
- * @return list
- */
- private function getSetNames(): array
- {
- if (null !== $this->setNames) {
- return $this->setNames;
- }
-
- $this->setNames = RuleSets::getSetDefinitionNames();
-
- return $this->setNames;
- }
-
- /**
- * @param string $type 'rule'|'set'
- */
- private function describeList(OutputInterface $output, string $type): void
- {
- if ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERY_VERBOSE) {
- $describe = [
- 'sets' => $this->getSetNames(),
- 'rules' => $this->getFixers(),
- ];
- } elseif ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
- $describe = 'set' === $type ? ['sets' => $this->getSetNames()] : ['rules' => $this->getFixers()];
- } else {
- return;
- }
-
- /** @var string[] $items */
- foreach ($describe as $list => $items) {
- $output->writeln(sprintf('Defined %s: ', $list));
-
- foreach ($items as $name => $item) {
- $output->writeln(sprintf('* %s ', \is_string($name) ? $name : $item));
- }
- }
- }
-
- private function replaceRstLinks(string $content): string
- {
- return Preg::replaceCallback(
- '/(`[^<]+<[^>]+>`_)/',
- static fn (array $matches) => Preg::replaceCallback(
- '/`(.*)<(.*)>`_/',
- static fn (array $matches): string => $matches[1].'('.$matches[2].')',
- $matches[1]
- ),
- $content
- );
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeNameNotFoundException.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeNameNotFoundException.php
deleted file mode 100644
index 27f5bcfc..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeNameNotFoundException.php
+++ /dev/null
@@ -1,46 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Command;
-
-/**
- * @internal
- */
-final class DescribeNameNotFoundException extends \InvalidArgumentException
-{
- private string $name;
-
- /**
- * 'rule'|'set'.
- */
- private string $type;
-
- public function __construct(string $name, string $type)
- {
- $this->name = $name;
- $this->type = $type;
-
- parent::__construct();
- }
-
- public function getName(): string
- {
- return $this->name;
- }
-
- public function getType(): string
- {
- return $this->type;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DocumentationCommand.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DocumentationCommand.php
deleted file mode 100644
index e1adc987..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DocumentationCommand.php
+++ /dev/null
@@ -1,124 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Command;
-
-use PhpCsFixer\Documentation\DocumentationLocator;
-use PhpCsFixer\Documentation\FixerDocumentGenerator;
-use PhpCsFixer\Documentation\RuleSetDocumentationGenerator;
-use PhpCsFixer\FixerFactory;
-use PhpCsFixer\RuleSet\RuleSets;
-use Symfony\Component\Console\Attribute\AsCommand;
-use Symfony\Component\Console\Command\Command;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Output\OutputInterface;
-use Symfony\Component\Filesystem\Filesystem;
-use Symfony\Component\Finder\Finder;
-use Symfony\Component\Finder\SplFileInfo;
-
-/**
- * @internal
- */
-#[AsCommand(name: 'documentation')]
-final class DocumentationCommand extends Command
-{
- /** @var string */
- protected static $defaultName = 'documentation';
-
- private Filesystem $filesystem;
-
- public function __construct(Filesystem $filesystem)
- {
- parent::__construct();
- $this->filesystem = $filesystem;
- }
-
- protected function configure(): void
- {
- $this
- ->setAliases(['doc'])
- ->setDescription('Dumps the documentation of the project into its "/doc" directory.')
- ;
- }
-
- protected function execute(InputInterface $input, OutputInterface $output): int
- {
- $locator = new DocumentationLocator();
-
- $fixerFactory = new FixerFactory();
- $fixerFactory->registerBuiltInFixers();
- $fixers = $fixerFactory->getFixers();
-
- $setDefinitions = RuleSets::getSetDefinitions();
-
- $fixerDocumentGenerator = new FixerDocumentGenerator($locator);
- $ruleSetDocumentationGenerator = new RuleSetDocumentationGenerator($locator);
-
- // Array of existing fixer docs.
- // We first override existing files, and then we will delete files that are no longer needed.
- // We cannot remove all files first, as generation of docs is re-using existing docs to extract code-samples for
- // VersionSpecificCodeSample under incompatible PHP version.
- $docForFixerRelativePaths = [];
-
- foreach ($fixers as $fixer) {
- $docForFixerRelativePaths[] = $locator->getFixerDocumentationFileRelativePath($fixer);
- $this->filesystem->dumpFile(
- $locator->getFixerDocumentationFilePath($fixer),
- $fixerDocumentGenerator->generateFixerDocumentation($fixer)
- );
- }
-
- /** @var SplFileInfo $file */
- foreach (
- (new Finder())->files()
- ->in($locator->getFixersDocumentationDirectoryPath())
- ->notPath($docForFixerRelativePaths) as $file
- ) {
- $this->filesystem->remove($file->getPathname());
- }
-
- // Fixer doc. index
-
- $this->filesystem->dumpFile(
- $locator->getFixersDocumentationIndexFilePath(),
- $fixerDocumentGenerator->generateFixersDocumentationIndex($fixers)
- );
-
- // RuleSet docs.
-
- /** @var SplFileInfo $file */
- foreach ((new Finder())->files()->in($locator->getRuleSetsDocumentationDirectoryPath()) as $file) {
- $this->filesystem->remove($file->getPathname());
- }
-
- $paths = [];
-
- foreach ($setDefinitions as $name => $definition) {
- $path = $locator->getRuleSetsDocumentationFilePath($name);
- $paths[$path] = $definition;
- $this->filesystem->dumpFile($path, $ruleSetDocumentationGenerator->generateRuleSetsDocumentation($definition, $fixers));
- }
-
- // RuleSet doc. index
-
- $this->filesystem->dumpFile(
- $locator->getRuleSetsDocumentationIndexFilePath(),
- $ruleSetDocumentationGenerator->generateRuleSetsDocumentationIndex($paths)
- );
-
- $output->writeln('Docs updated.');
-
- return 0;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php
deleted file mode 100644
index 7db27641..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php
+++ /dev/null
@@ -1,362 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Command;
-
-use PhpCsFixer\Config;
-use PhpCsFixer\ConfigInterface;
-use PhpCsFixer\ConfigurationException\InvalidConfigurationException;
-use PhpCsFixer\Console\Application;
-use PhpCsFixer\Console\ConfigurationResolver;
-use PhpCsFixer\Console\Output\ErrorOutput;
-use PhpCsFixer\Console\Output\OutputContext;
-use PhpCsFixer\Console\Output\Progress\ProgressOutputFactory;
-use PhpCsFixer\Console\Output\Progress\ProgressOutputType;
-use PhpCsFixer\Console\Report\FixReport\ReportSummary;
-use PhpCsFixer\Error\ErrorsManager;
-use PhpCsFixer\FixerFileProcessedEvent;
-use PhpCsFixer\Runner\Runner;
-use PhpCsFixer\ToolInfoInterface;
-use Symfony\Component\Console\Attribute\AsCommand;
-use Symfony\Component\Console\Command\Command;
-use Symfony\Component\Console\Input\InputArgument;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Input\InputOption;
-use Symfony\Component\Console\Output\ConsoleOutputInterface;
-use Symfony\Component\Console\Output\OutputInterface;
-use Symfony\Component\Console\Terminal;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\Stopwatch\Stopwatch;
-
-/**
- * @author Fabien Potencier
- * @author Dariusz Rumiński
- *
- * @final
- *
- * @internal
- */
-#[AsCommand(name: 'fix', description: 'Fixes a directory or a file.')]
-/* final */ class FixCommand extends Command
-{
- /** @var string */
- protected static $defaultName = 'fix';
-
- /** @var string */
- protected static $defaultDescription = 'Fixes a directory or a file.';
-
- private EventDispatcherInterface $eventDispatcher;
-
- private ErrorsManager $errorsManager;
-
- private Stopwatch $stopwatch;
-
- private ConfigInterface $defaultConfig;
-
- private ToolInfoInterface $toolInfo;
-
- private ProgressOutputFactory $progressOutputFactory;
-
- public function __construct(ToolInfoInterface $toolInfo)
- {
- parent::__construct();
-
- $this->eventDispatcher = new EventDispatcher();
- $this->errorsManager = new ErrorsManager();
- $this->stopwatch = new Stopwatch();
- $this->defaultConfig = new Config();
- $this->toolInfo = $toolInfo;
- $this->progressOutputFactory = new ProgressOutputFactory();
- }
-
- /**
- * {@inheritdoc}
- *
- * Override here to only generate the help copy when used.
- */
- public function getHelp(): string
- {
- return <<<'EOF'
- The %command.name% command tries to %command.name% as much coding standards
- problems as possible on a given file or files in a given directory and its subdirectories:
-
- $ php %command.full_name% /path/to/dir
- $ php %command.full_name% /path/to/file
-
- By default --path-mode is set to `override`, which means, that if you specify the path to a file or a directory via
- command arguments, then the paths provided to a `Finder` in config file will be ignored. You can use --path-mode=intersection
- to merge paths from the config file and from the argument:
-
- $ php %command.full_name% --path-mode=intersection /path/to/dir
-
- The --format option for the output format. Supported formats are `txt` (default one), `json`, `xml`, `checkstyle`, `junit` and `gitlab`.
-
- NOTE: the output for the following formats are generated in accordance with schemas
-
- * `checkstyle` follows the common `"checkstyle" XML schema `_
- * `gitlab` follows the `codeclimate JSON schema `_
- * `json` follows the `own JSON schema `_
- * `junit` follows the `JUnit XML schema from Jenkins `_
- * `xml` follows the `own XML schema `_
-
- The --quiet Do not output any message.
-
- The --verbose option will show the applied rules. When using the `txt` format it will also display progress notifications.
-
- NOTE: if there is an error like "errors reported during linting after fixing", you can use this to be even more verbose for debugging purpose
-
- * `-v`: verbose
- * `-vv`: very verbose
- * `-vvv`: debug
-
- The --rules option limits the rules to apply to the
- project:
-
- EOF. /* @TODO: 4.0 - change to @PER */ <<<'EOF'
-
- $ php %command.full_name% /path/to/project --rules=@PSR12
-
- By default the PSR-12 rules are used.
-
- The --rules option lets you choose the exact rules to
- apply (the rule names must be separated by a comma):
-
- $ php %command.full_name% /path/to/dir --rules=line_ending,full_opening_tag,indentation_type
-
- You can also exclude the rules you don't want by placing a dash in front of the rule name, if this is more convenient,
- using -name_of_fixer :
-
- $ php %command.full_name% /path/to/dir --rules=-full_opening_tag,-indentation_type
-
- When using combinations of exact and exclude rules, applying exact rules along with above excluded results:
-
- $ php %command.full_name% /path/to/project --rules=@Symfony,-@PSR1,-blank_line_before_statement,strict_comparison
-
- Complete configuration for rules can be supplied using a `json` formatted string.
-
- $ php %command.full_name% /path/to/project --rules='{"concat_space": {"spacing": "none"}}'
-
- The --dry-run flag will run the fixer without making changes to your files.
-
- The --diff flag can be used to let the fixer output all the changes it makes.
-
- The --allow-risky option (pass `yes` or `no`) allows you to set whether risky rules may run. Default value is taken from config file.
- A rule is considered risky if it could change code behaviour. By default no risky rules are run.
-
- The --stop-on-violation flag stops the execution upon first file that needs to be fixed.
-
- The --show-progress option allows you to choose the way process progress is rendered:
-
- * none : disables progress output;
- * dots : multiline progress output with number of files and percentage on each line.
- * bar : single line progress output with number of files and calculated percentage.
-
- If the option is not provided, it defaults to bar unless a config file that disables output is used, in which case it defaults to none . This option has no effect if the verbosity of the command is less than verbose .
-
- $ php %command.full_name% --verbose --show-progress=dots
-
- By using --using-cache option with `yes` or `no` you can set if the caching
- mechanism should be used.
-
- The command can also read from standard input, in which case it won't
- automatically fix anything:
-
- $ cat foo.php | php %command.full_name% --diff -
-
- Finally, if you don't need BC kept on CLI level, you might use `PHP_CS_FIXER_FUTURE_MODE` to start using options that
- would be default in next MAJOR release and to forbid using deprecated configuration:
-
- $ PHP_CS_FIXER_FUTURE_MODE=1 php %command.full_name% -v --diff
-
- Exit code
- ---------
-
- Exit code of the `%command.name%` command is built using following bit flags:
-
- * 0 - OK.
- * 1 - General error (or PHP minimal requirement not matched).
- * 4 - Some files have invalid syntax (only in dry-run mode).
- * 8 - Some files need fixing (only in dry-run mode).
- * 16 - Configuration error of the application.
- * 32 - Configuration error of a Fixer.
- * 64 - Exception raised within the application.
-
- EOF;
- }
-
- protected function configure(): void
- {
- $this->setDefinition(
- [
- new InputArgument('path', InputArgument::IS_ARRAY, 'The path(s) that rules will be run against (each path can be a file or directory).'),
- new InputOption('path-mode', '', InputOption::VALUE_REQUIRED, 'Specify path mode (can be `override` or `intersection`).', ConfigurationResolver::PATH_MODE_OVERRIDE),
- new InputOption('allow-risky', '', InputOption::VALUE_REQUIRED, 'Are risky fixers allowed (can be `yes` or `no`).'),
- new InputOption('config', '', InputOption::VALUE_REQUIRED, 'The path to a config file.'),
- new InputOption('dry-run', '', InputOption::VALUE_NONE, 'Only shows which files would have been modified.'),
- new InputOption('rules', '', InputOption::VALUE_REQUIRED, 'List of rules that should be run against configured paths.'),
- new InputOption('using-cache', '', InputOption::VALUE_REQUIRED, 'Does cache should be used (can be `yes` or `no`).'),
- new InputOption('cache-file', '', InputOption::VALUE_REQUIRED, 'The path to the cache file.'),
- new InputOption('diff', '', InputOption::VALUE_NONE, 'Prints diff for each file.'),
- new InputOption('format', '', InputOption::VALUE_REQUIRED, 'To output results in other formats.'),
- new InputOption('stop-on-violation', '', InputOption::VALUE_NONE, 'Stop execution on first violation.'),
- new InputOption('show-progress', '', InputOption::VALUE_REQUIRED, 'Type of progress indicator (none, dots).'),
- ]
- );
- }
-
- protected function execute(InputInterface $input, OutputInterface $output): int
- {
- $verbosity = $output->getVerbosity();
-
- $passedConfig = $input->getOption('config');
- $passedRules = $input->getOption('rules');
-
- if (null !== $passedConfig && null !== $passedRules) {
- throw new InvalidConfigurationException('Passing both `--config` and `--rules` options is not allowed.');
- }
-
- $resolver = new ConfigurationResolver(
- $this->defaultConfig,
- [
- 'allow-risky' => $input->getOption('allow-risky'),
- 'config' => $passedConfig,
- 'dry-run' => $this->isDryRun($input),
- 'rules' => $passedRules,
- 'path' => $input->getArgument('path'),
- 'path-mode' => $input->getOption('path-mode'),
- 'using-cache' => $input->getOption('using-cache'),
- 'cache-file' => $input->getOption('cache-file'),
- 'format' => $input->getOption('format'),
- 'diff' => $input->getOption('diff'),
- 'stop-on-violation' => $input->getOption('stop-on-violation'),
- 'verbosity' => $verbosity,
- 'show-progress' => $input->getOption('show-progress'),
- ],
- getcwd(),
- $this->toolInfo
- );
-
- $reporter = $resolver->getReporter();
-
- $stdErr = $output instanceof ConsoleOutputInterface
- ? $output->getErrorOutput()
- : ('txt' === $reporter->getFormat() ? $output : null);
-
- if (null !== $stdErr) {
- $stdErr->writeln(Application::getAboutWithRuntime(true));
-
- $configFile = $resolver->getConfigFile();
- $stdErr->writeln(sprintf('Loaded config %s %s.', $resolver->getConfig()->getName(), null === $configFile ? '' : ' from "'.$configFile.'"'));
-
- if ($resolver->getUsingCache()) {
- $cacheFile = $resolver->getCacheFile();
-
- if (is_file($cacheFile)) {
- $stdErr->writeln(sprintf('Using cache file "%s".', $cacheFile));
- }
- }
- }
-
- $finder = new \ArrayIterator(iterator_to_array($resolver->getFinder()));
-
- if (null !== $stdErr && $resolver->configFinderIsOverridden()) {
- $stdErr->writeln(
- sprintf($stdErr->isDecorated() ? '%s>' : '%s', 'Paths from configuration file have been overridden by paths provided as command arguments.')
- );
- }
-
- $progressType = $resolver->getProgressType();
- $progressOutput = $this->progressOutputFactory->create(
- $progressType,
- new OutputContext(
- $stdErr,
- (new Terminal())->getWidth(),
- \count($finder)
- )
- );
-
- $runner = new Runner(
- $finder,
- $resolver->getFixers(),
- $resolver->getDiffer(),
- ProgressOutputType::NONE !== $progressType ? $this->eventDispatcher : null,
- $this->errorsManager,
- $resolver->getLinter(),
- $resolver->isDryRun(),
- $resolver->getCacheManager(),
- $resolver->getDirectory(),
- $resolver->shouldStopOnViolation()
- );
-
- $this->eventDispatcher->addListener(FixerFileProcessedEvent::NAME, [$progressOutput, 'onFixerFileProcessed']);
- $this->stopwatch->start('fixFiles');
- $changed = $runner->fix();
- $this->stopwatch->stop('fixFiles');
- $this->eventDispatcher->removeListener(FixerFileProcessedEvent::NAME, [$progressOutput, 'onFixerFileProcessed']);
-
- $progressOutput->printLegend();
-
- $fixEvent = $this->stopwatch->getEvent('fixFiles');
-
- $reportSummary = new ReportSummary(
- $changed,
- \count($finder),
- $fixEvent->getDuration(),
- $fixEvent->getMemory(),
- OutputInterface::VERBOSITY_VERBOSE <= $verbosity,
- $resolver->isDryRun(),
- $output->isDecorated()
- );
-
- $output->isDecorated()
- ? $output->write($reporter->generate($reportSummary))
- : $output->write($reporter->generate($reportSummary), false, OutputInterface::OUTPUT_RAW);
-
- $invalidErrors = $this->errorsManager->getInvalidErrors();
- $exceptionErrors = $this->errorsManager->getExceptionErrors();
- $lintErrors = $this->errorsManager->getLintErrors();
-
- if (null !== $stdErr) {
- $errorOutput = new ErrorOutput($stdErr);
-
- if (\count($invalidErrors) > 0) {
- $errorOutput->listErrors('linting before fixing', $invalidErrors);
- }
-
- if (\count($exceptionErrors) > 0) {
- $errorOutput->listErrors('fixing', $exceptionErrors);
- }
-
- if (\count($lintErrors) > 0) {
- $errorOutput->listErrors('linting after fixing', $lintErrors);
- }
- }
-
- $exitStatusCalculator = new FixCommandExitStatusCalculator();
-
- return $exitStatusCalculator->calculate(
- $resolver->isDryRun(),
- \count($changed) > 0,
- \count($invalidErrors) > 0,
- \count($exceptionErrors) > 0,
- \count($lintErrors) > 0
- );
- }
-
- protected function isDryRun(InputInterface $input): bool
- {
- return $input->getOption('dry-run');
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommandExitStatusCalculator.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommandExitStatusCalculator.php
deleted file mode 100644
index 727dfff5..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommandExitStatusCalculator.php
+++ /dev/null
@@ -1,51 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Command;
-
-/**
- * @author Dariusz Rumiński
- *
- * @internal
- */
-final class FixCommandExitStatusCalculator
-{
- // Exit status 1 is reserved for environment constraints not matched.
- public const EXIT_STATUS_FLAG_HAS_INVALID_FILES = 4;
- public const EXIT_STATUS_FLAG_HAS_CHANGED_FILES = 8;
- public const EXIT_STATUS_FLAG_HAS_INVALID_CONFIG = 16;
- public const EXIT_STATUS_FLAG_HAS_INVALID_FIXER_CONFIG = 32;
- public const EXIT_STATUS_FLAG_EXCEPTION_IN_APP = 64;
-
- public function calculate(bool $isDryRun, bool $hasChangedFiles, bool $hasInvalidErrors, bool $hasExceptionErrors, bool $hasLintErrorsAfterFixing): int
- {
- $exitStatus = 0;
-
- if ($isDryRun) {
- if ($hasChangedFiles) {
- $exitStatus |= self::EXIT_STATUS_FLAG_HAS_CHANGED_FILES;
- }
-
- if ($hasInvalidErrors) {
- $exitStatus |= self::EXIT_STATUS_FLAG_HAS_INVALID_FILES;
- }
- }
-
- if ($hasExceptionErrors || $hasLintErrorsAfterFixing) {
- $exitStatus |= self::EXIT_STATUS_FLAG_EXCEPTION_IN_APP;
- }
-
- return $exitStatus;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/HelpCommand.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Command/HelpCommand.php
deleted file mode 100644
index 192c735d..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/HelpCommand.php
+++ /dev/null
@@ -1,77 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Command;
-
-use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
-use PhpCsFixer\FixerConfiguration\FixerOptionInterface;
-use PhpCsFixer\Utils;
-use Symfony\Component\Console\Attribute\AsCommand;
-use Symfony\Component\Console\Command\HelpCommand as BaseHelpCommand;
-use Symfony\Component\Console\Formatter\OutputFormatterStyle;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Output\OutputInterface;
-
-/**
- * @author Fabien Potencier
- * @author Dariusz Rumiński
- *
- * @internal
- */
-#[AsCommand(name: 'help')]
-final class HelpCommand extends BaseHelpCommand
-{
- /** @var string */
- protected static $defaultName = 'help';
-
- /**
- * Returns the allowed values of the given option that can be converted to a string.
- *
- * @return null|list
- */
- public static function getDisplayableAllowedValues(FixerOptionInterface $option): ?array
- {
- $allowed = $option->getAllowedValues();
-
- if (null !== $allowed) {
- $allowed = array_filter($allowed, static fn ($value): bool => !$value instanceof \Closure);
-
- usort($allowed, static function ($valueA, $valueB): int {
- if ($valueA instanceof AllowedValueSubset) {
- return -1;
- }
-
- if ($valueB instanceof AllowedValueSubset) {
- return 1;
- }
-
- return strcasecmp(
- Utils::toString($valueA),
- Utils::toString($valueB)
- );
- });
-
- if (0 === \count($allowed)) {
- $allowed = null;
- }
- }
-
- return $allowed;
- }
-
- protected function initialize(InputInterface $input, OutputInterface $output): void
- {
- $output->getFormatter()->setStyle('url', new OutputFormatterStyle('blue'));
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListFilesCommand.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListFilesCommand.php
deleted file mode 100644
index dcfabd09..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListFilesCommand.php
+++ /dev/null
@@ -1,92 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Command;
-
-use PhpCsFixer\Config;
-use PhpCsFixer\ConfigInterface;
-use PhpCsFixer\Console\ConfigurationResolver;
-use PhpCsFixer\ToolInfoInterface;
-use Symfony\Component\Console\Attribute\AsCommand;
-use Symfony\Component\Console\Command\Command;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Input\InputOption;
-use Symfony\Component\Console\Output\OutputInterface;
-use Symfony\Component\Filesystem\Path;
-
-/**
- * @author Markus Staab
- *
- * @internal
- */
-#[AsCommand(name: 'list-files')]
-final class ListFilesCommand extends Command
-{
- /** @var string */
- protected static $defaultName = 'list-files';
-
- private ConfigInterface $defaultConfig;
-
- private ToolInfoInterface $toolInfo;
-
- public function __construct(ToolInfoInterface $toolInfo)
- {
- parent::__construct();
-
- $this->defaultConfig = new Config();
- $this->toolInfo = $toolInfo;
- }
-
- protected function configure(): void
- {
- $this
- ->setDefinition(
- [
- new InputOption('config', '', InputOption::VALUE_REQUIRED, 'The path to a .php-cs-fixer.php file.'),
- ]
- )
- ->setDescription('List all files being fixed by the given config.')
- ;
- }
-
- protected function execute(InputInterface $input, OutputInterface $output): int
- {
- $passedConfig = $input->getOption('config');
- $cwd = getcwd();
-
- $resolver = new ConfigurationResolver(
- $this->defaultConfig,
- [
- 'config' => $passedConfig,
- ],
- $cwd,
- $this->toolInfo
- );
-
- $finder = $resolver->getFinder();
-
- /** @var \SplFileInfo $file */
- foreach ($finder as $file) {
- if ($file->isFile()) {
- $relativePath = './'.Path::makeRelative($file->getRealPath(), $cwd);
- // unify directory separators across operating system
- $relativePath = str_replace('/', \DIRECTORY_SEPARATOR, $relativePath);
-
- $output->writeln(escapeshellarg($relativePath));
- }
- }
-
- return 0;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListSetsCommand.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListSetsCommand.php
deleted file mode 100644
index c1fe5f79..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListSetsCommand.php
+++ /dev/null
@@ -1,88 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Command;
-
-use PhpCsFixer\ConfigurationException\InvalidConfigurationException;
-use PhpCsFixer\Console\Report\ListSetsReport\ReporterFactory;
-use PhpCsFixer\Console\Report\ListSetsReport\ReporterInterface;
-use PhpCsFixer\Console\Report\ListSetsReport\ReportSummary;
-use PhpCsFixer\Console\Report\ListSetsReport\TextReporter;
-use PhpCsFixer\RuleSet\RuleSets;
-use PhpCsFixer\Utils;
-use Symfony\Component\Console\Attribute\AsCommand;
-use Symfony\Component\Console\Command\Command;
-use Symfony\Component\Console\Formatter\OutputFormatter;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Input\InputOption;
-use Symfony\Component\Console\Output\OutputInterface;
-
-/**
- * @author Dariusz Rumiński
- *
- * @internal
- */
-#[AsCommand(name: 'list-sets')]
-final class ListSetsCommand extends Command
-{
- /** @var string */
- protected static $defaultName = 'list-sets';
-
- protected function configure(): void
- {
- $this
- ->setDefinition(
- [
- new InputOption('format', '', InputOption::VALUE_REQUIRED, 'To output results in other formats.', (new TextReporter())->getFormat()),
- ]
- )
- ->setDescription('List all available RuleSets.')
- ;
- }
-
- protected function execute(InputInterface $input, OutputInterface $output): int
- {
- $reporter = $this->resolveReporterWithFactory(
- $input->getOption('format'),
- new ReporterFactory()
- );
-
- $reportSummary = new ReportSummary(
- array_values(RuleSets::getSetDefinitions())
- );
-
- $report = $reporter->generate($reportSummary);
-
- $output->isDecorated()
- ? $output->write(OutputFormatter::escape($report))
- : $output->write($report, false, OutputInterface::OUTPUT_RAW);
-
- return 0;
- }
-
- private function resolveReporterWithFactory(string $format, ReporterFactory $factory): ReporterInterface
- {
- try {
- $factory->registerBuiltInReporters();
- $reporter = $factory->getReporter($format);
- } catch (\UnexpectedValueException $e) {
- $formats = $factory->getFormats();
- sort($formats);
-
- throw new InvalidConfigurationException(sprintf('The format "%s" is not defined, supported are %s.', $format, Utils::naturalLanguageJoin($formats)));
- }
-
- return $reporter;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/SelfUpdateCommand.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Command/SelfUpdateCommand.php
deleted file mode 100644
index 2be3adbc..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Command/SelfUpdateCommand.php
+++ /dev/null
@@ -1,177 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Command;
-
-use PhpCsFixer\Console\Application;
-use PhpCsFixer\Console\SelfUpdate\NewVersionCheckerInterface;
-use PhpCsFixer\PharCheckerInterface;
-use PhpCsFixer\Preg;
-use PhpCsFixer\ToolInfoInterface;
-use Symfony\Component\Console\Attribute\AsCommand;
-use Symfony\Component\Console\Command\Command;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Input\InputOption;
-use Symfony\Component\Console\Output\ConsoleOutputInterface;
-use Symfony\Component\Console\Output\OutputInterface;
-
-/**
- * @author Igor Wiedler
- * @author Stephane PY
- * @author Grégoire Pineau
- * @author Dariusz Rumiński
- *
- * @internal
- */
-#[AsCommand(name: 'self-update')]
-final class SelfUpdateCommand extends Command
-{
- /** @var string */
- protected static $defaultName = 'self-update';
-
- private NewVersionCheckerInterface $versionChecker;
-
- private ToolInfoInterface $toolInfo;
-
- private PharCheckerInterface $pharChecker;
-
- public function __construct(
- NewVersionCheckerInterface $versionChecker,
- ToolInfoInterface $toolInfo,
- PharCheckerInterface $pharChecker
- ) {
- parent::__construct();
-
- $this->versionChecker = $versionChecker;
- $this->toolInfo = $toolInfo;
- $this->pharChecker = $pharChecker;
- }
-
- protected function configure(): void
- {
- $this
- ->setAliases(['selfupdate'])
- ->setDefinition(
- [
- new InputOption('--force', '-f', InputOption::VALUE_NONE, 'Force update to next major version if available.'),
- ]
- )
- ->setDescription('Update php-cs-fixer.phar to the latest stable version.')
- ->setHelp(
- <<<'EOT'
- The %command.name% command replace your php-cs-fixer.phar by the
- latest version released on:
- https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases
-
- $ php php-cs-fixer.phar %command.name%
-
- EOT
- )
- ;
- }
-
- protected function execute(InputInterface $input, OutputInterface $output): int
- {
- if ($output instanceof ConsoleOutputInterface) {
- $stdErr = $output->getErrorOutput();
- $stdErr->writeln(Application::getAboutWithRuntime(true));
- }
-
- if (!$this->toolInfo->isInstalledAsPhar()) {
- $output->writeln('Self-update is available only for PHAR version. ');
-
- return 1;
- }
-
- $currentVersion = $this->getApplication()->getVersion();
- Preg::match('/^v?(?\d+)\./', $currentVersion, $matches);
- $currentMajor = (int) $matches['major'];
-
- try {
- $latestVersion = $this->versionChecker->getLatestVersion();
- $latestVersionOfCurrentMajor = $this->versionChecker->getLatestVersionOfMajor($currentMajor);
- } catch (\Exception $exception) {
- $output->writeln(sprintf(
- 'Unable to determine newest version: %s ',
- $exception->getMessage()
- ));
-
- return 1;
- }
-
- if (1 !== $this->versionChecker->compareVersions($latestVersion, $currentVersion)) {
- $output->writeln('PHP CS Fixer is already up-to-date. ');
-
- return 0;
- }
-
- $remoteTag = $latestVersion;
-
- if (
- 0 !== $this->versionChecker->compareVersions($latestVersionOfCurrentMajor, $latestVersion)
- && true !== $input->getOption('force')
- ) {
- $output->writeln(sprintf('A new major version of PHP CS Fixer is available (%s )', $latestVersion));
- $output->writeln(sprintf('Before upgrading please read https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/%s/UPGRADE-v%s.md', $latestVersion, $currentMajor + 1));
- $output->writeln('If you are ready to upgrade run this command with -f ');
- $output->writeln('Checking for new minor/patch version... ');
-
- if (1 !== $this->versionChecker->compareVersions($latestVersionOfCurrentMajor, $currentVersion)) {
- $output->writeln('No minor update for PHP CS Fixer. ');
-
- return 0;
- }
-
- $remoteTag = $latestVersionOfCurrentMajor;
- }
-
- $localFilename = $_SERVER['argv'][0];
- $realPath = realpath($localFilename);
- if (false !== $realPath) {
- $localFilename = $realPath;
- }
-
- if (!is_writable($localFilename)) {
- $output->writeln(sprintf('No permission to update "%s" file. ', $localFilename));
-
- return 1;
- }
-
- $tempFilename = \dirname($localFilename).'/'.basename($localFilename, '.phar').'-tmp.phar';
- $remoteFilename = $this->toolInfo->getPharDownloadUri($remoteTag);
-
- if (false === @copy($remoteFilename, $tempFilename)) {
- $output->writeln(sprintf('Unable to download new version %s from the server. ', $remoteTag));
-
- return 1;
- }
-
- chmod($tempFilename, 0777 & ~umask());
-
- $pharInvalidityReason = $this->pharChecker->checkFileValidity($tempFilename);
- if (null !== $pharInvalidityReason) {
- unlink($tempFilename);
- $output->writeln(sprintf('The download of %s is corrupt (%s). ', $remoteTag, $pharInvalidityReason));
- $output->writeln('Please re-run the "self-update" command to try again. ');
-
- return 1;
- }
-
- rename($tempFilename, $localFilename);
-
- $output->writeln(sprintf('PHP CS Fixer updated (%s -> %s )', $currentVersion, $remoteTag));
-
- return 0;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php b/vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php
deleted file mode 100644
index 5cb86a53..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php
+++ /dev/null
@@ -1,959 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console;
-
-use PhpCsFixer\Cache\CacheManagerInterface;
-use PhpCsFixer\Cache\Directory;
-use PhpCsFixer\Cache\DirectoryInterface;
-use PhpCsFixer\Cache\FileCacheManager;
-use PhpCsFixer\Cache\FileHandler;
-use PhpCsFixer\Cache\NullCacheManager;
-use PhpCsFixer\Cache\Signature;
-use PhpCsFixer\ConfigInterface;
-use PhpCsFixer\ConfigurationException\InvalidConfigurationException;
-use PhpCsFixer\Console\Output\Progress\ProgressOutputType;
-use PhpCsFixer\Console\Report\FixReport\ReporterFactory;
-use PhpCsFixer\Console\Report\FixReport\ReporterInterface;
-use PhpCsFixer\Differ\DifferInterface;
-use PhpCsFixer\Differ\NullDiffer;
-use PhpCsFixer\Differ\UnifiedDiffer;
-use PhpCsFixer\Finder;
-use PhpCsFixer\Fixer\DeprecatedFixerInterface;
-use PhpCsFixer\Fixer\FixerInterface;
-use PhpCsFixer\FixerFactory;
-use PhpCsFixer\Linter\Linter;
-use PhpCsFixer\Linter\LinterInterface;
-use PhpCsFixer\RuleSet\RuleSet;
-use PhpCsFixer\RuleSet\RuleSetInterface;
-use PhpCsFixer\StdinFileInfo;
-use PhpCsFixer\ToolInfoInterface;
-use PhpCsFixer\Utils;
-use PhpCsFixer\WhitespacesFixerConfig;
-use PhpCsFixer\WordMatcher;
-use Symfony\Component\Filesystem\Filesystem;
-use Symfony\Component\Finder\Finder as SymfonyFinder;
-
-/**
- * The resolver that resolves configuration to use by command line options and config.
- *
- * @author Fabien Potencier
- * @author Katsuhiro Ogawa
- * @author Dariusz Rumiński
- *
- * @internal
- */
-final class ConfigurationResolver
-{
- public const PATH_MODE_OVERRIDE = 'override';
- public const PATH_MODE_INTERSECTION = 'intersection';
-
- /**
- * @var null|bool
- */
- private $allowRisky;
-
- /**
- * @var null|ConfigInterface
- */
- private $config;
-
- /**
- * @var null|string
- */
- private $configFile;
-
- private string $cwd;
-
- private ConfigInterface $defaultConfig;
-
- /**
- * @var null|ReporterInterface
- */
- private $reporter;
-
- /**
- * @var null|bool
- */
- private $isStdIn;
-
- /**
- * @var null|bool
- */
- private $isDryRun;
-
- /**
- * @var null|FixerInterface[]
- */
- private $fixers;
-
- /**
- * @var null|bool
- */
- private $configFinderIsOverridden;
-
- private ToolInfoInterface $toolInfo;
-
- /**
- * @var array
- */
- private array $options = [
- 'allow-risky' => null,
- 'cache-file' => null,
- 'config' => null,
- 'diff' => null,
- 'dry-run' => null,
- 'format' => null,
- 'path' => [],
- 'path-mode' => self::PATH_MODE_OVERRIDE,
- 'rules' => null,
- 'show-progress' => null,
- 'stop-on-violation' => null,
- 'using-cache' => null,
- 'verbosity' => null,
- ];
-
- /**
- * @var null|string
- */
- private $cacheFile;
-
- /**
- * @var null|CacheManagerInterface
- */
- private $cacheManager;
-
- /**
- * @var null|DifferInterface
- */
- private $differ;
-
- /**
- * @var null|Directory
- */
- private $directory;
-
- /**
- * @var null|iterable<\SplFileInfo>
- */
- private ?iterable $finder = null;
-
- private ?string $format = null;
-
- /**
- * @var null|Linter
- */
- private $linter;
-
- /**
- * @var null|list
- */
- private ?array $path = null;
-
- /**
- * @var null|string
- */
- private $progress;
-
- /**
- * @var null|RuleSet
- */
- private $ruleSet;
-
- /**
- * @var null|bool
- */
- private $usingCache;
-
- /**
- * @var FixerFactory
- */
- private $fixerFactory;
-
- /**
- * @param array $options
- */
- public function __construct(
- ConfigInterface $config,
- array $options,
- string $cwd,
- ToolInfoInterface $toolInfo
- ) {
- $this->defaultConfig = $config;
- $this->cwd = $cwd;
- $this->toolInfo = $toolInfo;
-
- foreach ($options as $name => $value) {
- $this->setOption($name, $value);
- }
- }
-
- public function getCacheFile(): ?string
- {
- if (!$this->getUsingCache()) {
- return null;
- }
-
- if (null === $this->cacheFile) {
- if (null === $this->options['cache-file']) {
- $this->cacheFile = $this->getConfig()->getCacheFile();
- } else {
- $this->cacheFile = $this->options['cache-file'];
- }
- }
-
- return $this->cacheFile;
- }
-
- public function getCacheManager(): CacheManagerInterface
- {
- if (null === $this->cacheManager) {
- $cacheFile = $this->getCacheFile();
-
- if (null === $cacheFile) {
- $this->cacheManager = new NullCacheManager();
- } else {
- $this->cacheManager = new FileCacheManager(
- new FileHandler($cacheFile),
- new Signature(
- PHP_VERSION,
- $this->toolInfo->getVersion(),
- $this->getConfig()->getIndent(),
- $this->getConfig()->getLineEnding(),
- $this->getRules()
- ),
- $this->isDryRun(),
- $this->getDirectory()
- );
- }
- }
-
- return $this->cacheManager;
- }
-
- public function getConfig(): ConfigInterface
- {
- if (null === $this->config) {
- foreach ($this->computeConfigFiles() as $configFile) {
- if (!file_exists($configFile)) {
- continue;
- }
-
- $configFileBasename = basename($configFile);
- $deprecatedConfigs = [
- '.php_cs' => '.php-cs-fixer.php',
- '.php_cs.dist' => '.php-cs-fixer.dist.php',
- ];
-
- if (isset($deprecatedConfigs[$configFileBasename])) {
- throw new InvalidConfigurationException("Configuration file `{$configFileBasename}` is outdated, rename to `{$deprecatedConfigs[$configFileBasename]}`.");
- }
-
- $this->config = self::separatedContextLessInclude($configFile);
- $this->configFile = $configFile;
-
- break;
- }
-
- if (null === $this->config) {
- $this->config = $this->defaultConfig;
- }
- }
-
- return $this->config;
- }
-
- public function getConfigFile(): ?string
- {
- if (null === $this->configFile) {
- $this->getConfig();
- }
-
- return $this->configFile;
- }
-
- public function getDiffer(): DifferInterface
- {
- if (null === $this->differ) {
- $this->differ = (true === $this->options['diff']) ? new UnifiedDiffer() : new NullDiffer();
- }
-
- return $this->differ;
- }
-
- public function getDirectory(): DirectoryInterface
- {
- if (null === $this->directory) {
- $path = $this->getCacheFile();
- if (null === $path) {
- $absolutePath = $this->cwd;
- } else {
- $filesystem = new Filesystem();
-
- $absolutePath = $filesystem->isAbsolutePath($path)
- ? $path
- : $this->cwd.\DIRECTORY_SEPARATOR.$path;
- $absolutePath = \dirname($absolutePath);
- }
-
- $this->directory = new Directory($absolutePath);
- }
-
- return $this->directory;
- }
-
- /**
- * @return FixerInterface[] An array of FixerInterface
- */
- public function getFixers(): array
- {
- if (null === $this->fixers) {
- $this->fixers = $this->createFixerFactory()
- ->useRuleSet($this->getRuleSet())
- ->setWhitespacesConfig(new WhitespacesFixerConfig($this->config->getIndent(), $this->config->getLineEnding()))
- ->getFixers()
- ;
-
- if (false === $this->getRiskyAllowed()) {
- $riskyFixers = array_map(
- static fn (FixerInterface $fixer): string => $fixer->getName(),
- array_filter(
- $this->fixers,
- static fn (FixerInterface $fixer): bool => $fixer->isRisky()
- )
- );
-
- if (\count($riskyFixers) > 0) {
- throw new InvalidConfigurationException(sprintf('The rules contain risky fixers (%s), but they are not allowed to run. Perhaps you forget to use --allow-risky=yes option?', Utils::naturalLanguageJoin($riskyFixers)));
- }
- }
- }
-
- return $this->fixers;
- }
-
- public function getLinter(): LinterInterface
- {
- if (null === $this->linter) {
- $this->linter = new Linter();
- }
-
- return $this->linter;
- }
-
- /**
- * Returns path.
- *
- * @return string[]
- */
- public function getPath(): array
- {
- if (null === $this->path) {
- $filesystem = new Filesystem();
- $cwd = $this->cwd;
-
- if (1 === \count($this->options['path']) && '-' === $this->options['path'][0]) {
- $this->path = $this->options['path'];
- } else {
- $this->path = array_map(
- static function (string $rawPath) use ($cwd, $filesystem): string {
- $path = trim($rawPath);
-
- if ('' === $path) {
- throw new InvalidConfigurationException("Invalid path: \"{$rawPath}\".");
- }
-
- $absolutePath = $filesystem->isAbsolutePath($path)
- ? $path
- : $cwd.\DIRECTORY_SEPARATOR.$path;
-
- if (!file_exists($absolutePath)) {
- throw new InvalidConfigurationException(sprintf(
- 'The path "%s" is not readable.',
- $path
- ));
- }
-
- return $absolutePath;
- },
- $this->options['path']
- );
- }
- }
-
- return $this->path;
- }
-
- /**
- * @throws InvalidConfigurationException
- */
- public function getProgressType(): string
- {
- if (null === $this->progress) {
- if ('txt' === $this->getFormat()) {
- $progressType = $this->options['show-progress'];
-
- if (null === $progressType) {
- $progressType = $this->getConfig()->getHideProgress()
- ? ProgressOutputType::NONE
- : ProgressOutputType::BAR;
- } elseif (!\in_array($progressType, ProgressOutputType::all(), true)) {
- throw new InvalidConfigurationException(sprintf(
- 'The progress type "%s" is not defined, supported are %s.',
- $progressType,
- Utils::naturalLanguageJoin(ProgressOutputType::all())
- ));
- }
-
- $this->progress = $progressType;
- } else {
- $this->progress = ProgressOutputType::NONE;
- }
- }
-
- return $this->progress;
- }
-
- public function getReporter(): ReporterInterface
- {
- if (null === $this->reporter) {
- $reporterFactory = new ReporterFactory();
- $reporterFactory->registerBuiltInReporters();
-
- $format = $this->getFormat();
-
- try {
- $this->reporter = $reporterFactory->getReporter($format);
- } catch (\UnexpectedValueException $e) {
- $formats = $reporterFactory->getFormats();
- sort($formats);
-
- throw new InvalidConfigurationException(sprintf('The format "%s" is not defined, supported are %s.', $format, Utils::naturalLanguageJoin($formats)));
- }
- }
-
- return $this->reporter;
- }
-
- public function getRiskyAllowed(): bool
- {
- if (null === $this->allowRisky) {
- if (null === $this->options['allow-risky']) {
- $this->allowRisky = $this->getConfig()->getRiskyAllowed();
- } else {
- $this->allowRisky = $this->resolveOptionBooleanValue('allow-risky');
- }
- }
-
- return $this->allowRisky;
- }
-
- /**
- * Returns rules.
- *
- * @return array|bool>
- */
- public function getRules(): array
- {
- return $this->getRuleSet()->getRules();
- }
-
- public function getUsingCache(): bool
- {
- if (null === $this->usingCache) {
- if (null === $this->options['using-cache']) {
- $this->usingCache = $this->getConfig()->getUsingCache();
- } else {
- $this->usingCache = $this->resolveOptionBooleanValue('using-cache');
- }
- }
-
- $this->usingCache = $this->usingCache && $this->isCachingAllowedForRuntime();
-
- return $this->usingCache;
- }
-
- /**
- * @return iterable<\SplFileInfo>
- */
- public function getFinder(): iterable
- {
- if (null === $this->finder) {
- $this->finder = $this->resolveFinder();
- }
-
- return $this->finder;
- }
-
- /**
- * Returns dry-run flag.
- */
- public function isDryRun(): bool
- {
- if (null === $this->isDryRun) {
- if ($this->isStdIn()) {
- // Can't write to STDIN
- $this->isDryRun = true;
- } else {
- $this->isDryRun = $this->options['dry-run'];
- }
- }
-
- return $this->isDryRun;
- }
-
- public function shouldStopOnViolation(): bool
- {
- return $this->options['stop-on-violation'];
- }
-
- public function configFinderIsOverridden(): bool
- {
- if (null === $this->configFinderIsOverridden) {
- $this->resolveFinder();
- }
-
- return $this->configFinderIsOverridden;
- }
-
- /**
- * Compute file candidates for config file.
- *
- * @return list
- */
- private function computeConfigFiles(): array
- {
- $configFile = $this->options['config'];
-
- if (null !== $configFile) {
- if (false === file_exists($configFile) || false === is_readable($configFile)) {
- throw new InvalidConfigurationException(sprintf('Cannot read config file "%s".', $configFile));
- }
-
- return [$configFile];
- }
-
- $path = $this->getPath();
-
- if ($this->isStdIn() || 0 === \count($path)) {
- $configDir = $this->cwd;
- } elseif (1 < \count($path)) {
- throw new InvalidConfigurationException('For multiple paths config parameter is required.');
- } elseif (!is_file($path[0])) {
- $configDir = $path[0];
- } else {
- $dirName = pathinfo($path[0], PATHINFO_DIRNAME);
- $configDir = $dirName ?: $path[0];
- }
-
- $candidates = [
- $configDir.\DIRECTORY_SEPARATOR.'.php-cs-fixer.php',
- $configDir.\DIRECTORY_SEPARATOR.'.php-cs-fixer.dist.php',
- $configDir.\DIRECTORY_SEPARATOR.'.php_cs', // old v2 config, present here only to throw nice error message later
- $configDir.\DIRECTORY_SEPARATOR.'.php_cs.dist', // old v2 config, present here only to throw nice error message later
- ];
-
- if ($configDir !== $this->cwd) {
- $candidates[] = $this->cwd.\DIRECTORY_SEPARATOR.'.php-cs-fixer.php';
- $candidates[] = $this->cwd.\DIRECTORY_SEPARATOR.'.php-cs-fixer.dist.php';
- $candidates[] = $this->cwd.\DIRECTORY_SEPARATOR.'.php_cs'; // old v2 config, present here only to throw nice error message later
- $candidates[] = $this->cwd.\DIRECTORY_SEPARATOR.'.php_cs.dist'; // old v2 config, present here only to throw nice error message later
- }
-
- return $candidates;
- }
-
- private function createFixerFactory(): FixerFactory
- {
- if (null === $this->fixerFactory) {
- $fixerFactory = new FixerFactory();
- $fixerFactory->registerBuiltInFixers();
- $fixerFactory->registerCustomFixers($this->getConfig()->getCustomFixers());
-
- $this->fixerFactory = $fixerFactory;
- }
-
- return $this->fixerFactory;
- }
-
- private function getFormat(): string
- {
- if (null === $this->format) {
- $this->format = $this->options['format'] ?? $this->getConfig()->getFormat();
- }
-
- return $this->format;
- }
-
- private function getRuleSet(): RuleSetInterface
- {
- if (null === $this->ruleSet) {
- $rules = $this->parseRules();
- $this->validateRules($rules);
-
- $this->ruleSet = new RuleSet($rules);
- }
-
- return $this->ruleSet;
- }
-
- private function isStdIn(): bool
- {
- if (null === $this->isStdIn) {
- $this->isStdIn = 1 === \count($this->options['path']) && '-' === $this->options['path'][0];
- }
-
- return $this->isStdIn;
- }
-
- /**
- * @template T
- *
- * @param iterable $iterable
- *
- * @return \Traversable
- */
- private function iterableToTraversable(iterable $iterable): \Traversable
- {
- return \is_array($iterable) ? new \ArrayIterator($iterable) : $iterable;
- }
-
- /**
- * @return array
- */
- private function parseRules(): array
- {
- if (null === $this->options['rules']) {
- return $this->getConfig()->getRules();
- }
-
- $rules = trim($this->options['rules']);
- if ('' === $rules) {
- throw new InvalidConfigurationException('Empty rules value is not allowed.');
- }
-
- if (str_starts_with($rules, '{')) {
- $rules = json_decode($rules, true);
-
- if (JSON_ERROR_NONE !== json_last_error()) {
- throw new InvalidConfigurationException(sprintf('Invalid JSON rules input: "%s".', json_last_error_msg()));
- }
-
- return $rules;
- }
-
- $rules = [];
-
- foreach (explode(',', $this->options['rules']) as $rule) {
- $rule = trim($rule);
-
- if ('' === $rule) {
- throw new InvalidConfigurationException('Empty rule name is not allowed.');
- }
-
- if (str_starts_with($rule, '-')) {
- $rules[substr($rule, 1)] = false;
- } else {
- $rules[$rule] = true;
- }
- }
-
- return $rules;
- }
-
- /**
- * @param array $rules
- *
- * @throws InvalidConfigurationException
- */
- private function validateRules(array $rules): void
- {
- /**
- * Create a ruleset that contains all configured rules, even when they originally have been disabled.
- *
- * @see RuleSet::resolveSet()
- */
- $ruleSet = [];
-
- foreach ($rules as $key => $value) {
- if (\is_int($key)) {
- throw new InvalidConfigurationException(sprintf('Missing value for "%s" rule/set.', $value));
- }
-
- $ruleSet[$key] = true;
- }
-
- $ruleSet = new RuleSet($ruleSet);
-
- $configuredFixers = array_keys($ruleSet->getRules());
-
- $fixers = $this->createFixerFactory()->getFixers();
-
- $availableFixers = array_map(static fn (FixerInterface $fixer): string => $fixer->getName(), $fixers);
-
- $unknownFixers = array_diff($configuredFixers, $availableFixers);
-
- if (\count($unknownFixers) > 0) {
- $renamedRules = [
- 'blank_line_before_return' => [
- 'new_name' => 'blank_line_before_statement',
- 'config' => ['statements' => ['return']],
- ],
- 'final_static_access' => [
- 'new_name' => 'self_static_accessor',
- ],
- 'hash_to_slash_comment' => [
- 'new_name' => 'single_line_comment_style',
- 'config' => ['comment_types' => ['hash']],
- ],
- 'lowercase_constants' => [
- 'new_name' => 'constant_case',
- 'config' => ['case' => 'lower'],
- ],
- 'no_extra_consecutive_blank_lines' => [
- 'new_name' => 'no_extra_blank_lines',
- ],
- 'no_multiline_whitespace_before_semicolons' => [
- 'new_name' => 'multiline_whitespace_before_semicolons',
- ],
- 'no_short_echo_tag' => [
- 'new_name' => 'echo_tag_syntax',
- 'config' => ['format' => 'long'],
- ],
- 'php_unit_ordered_covers' => [
- 'new_name' => 'phpdoc_order_by_value',
- 'config' => ['annotations' => ['covers']],
- ],
- 'phpdoc_inline_tag' => [
- 'new_name' => 'general_phpdoc_tag_rename, phpdoc_inline_tag_normalizer and phpdoc_tag_type',
- ],
- 'pre_increment' => [
- 'new_name' => 'increment_style',
- 'config' => ['style' => 'pre'],
- ],
- 'psr0' => [
- 'new_name' => 'psr_autoloading',
- 'config' => ['dir' => 'x'],
- ],
- 'psr4' => [
- 'new_name' => 'psr_autoloading',
- ],
- 'silenced_deprecation_error' => [
- 'new_name' => 'error_suppression',
- ],
- 'trailing_comma_in_multiline_array' => [
- 'new_name' => 'trailing_comma_in_multiline',
- 'config' => ['elements' => ['arrays']],
- ],
- ];
-
- $message = 'The rules contain unknown fixers: ';
- $hasOldRule = false;
-
- foreach ($unknownFixers as $unknownFixer) {
- if (isset($renamedRules[$unknownFixer])) { // Check if present as old renamed rule
- $hasOldRule = true;
- $message .= sprintf(
- '"%s" is renamed (did you mean "%s"?%s), ',
- $unknownFixer,
- $renamedRules[$unknownFixer]['new_name'],
- isset($renamedRules[$unknownFixer]['config']) ? ' (note: use configuration "'.Utils::toString($renamedRules[$unknownFixer]['config']).'")' : ''
- );
- } else { // Go to normal matcher if it is not a renamed rule
- $matcher = new WordMatcher($availableFixers);
- $alternative = $matcher->match($unknownFixer);
- $message .= sprintf(
- '"%s"%s, ',
- $unknownFixer,
- null === $alternative ? '' : ' (did you mean "'.$alternative.'"?)'
- );
- }
- }
-
- $message = substr($message, 0, -2).'.';
-
- if ($hasOldRule) {
- $message .= "\nFor more info about updating see: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/v3.0.0/UPGRADE-v3.md#renamed-ruless.";
- }
-
- throw new InvalidConfigurationException($message);
- }
-
- foreach ($fixers as $fixer) {
- $fixerName = $fixer->getName();
- if (isset($rules[$fixerName]) && $fixer instanceof DeprecatedFixerInterface) {
- $successors = $fixer->getSuccessorsNames();
- $messageEnd = [] === $successors
- ? sprintf(' and will be removed in version %d.0.', Application::getMajorVersion() + 1)
- : sprintf('. Use %s instead.', str_replace('`', '"', Utils::naturalLanguageJoinWithBackticks($successors)));
-
- Utils::triggerDeprecation(new \RuntimeException("Rule \"{$fixerName}\" is deprecated{$messageEnd}"));
- }
- }
- }
-
- /**
- * Apply path on config instance.
- *
- * @return iterable<\SplFileInfo>
- */
- private function resolveFinder(): iterable
- {
- $this->configFinderIsOverridden = false;
-
- if ($this->isStdIn()) {
- return new \ArrayIterator([new StdinFileInfo()]);
- }
-
- $modes = [self::PATH_MODE_OVERRIDE, self::PATH_MODE_INTERSECTION];
-
- if (!\in_array(
- $this->options['path-mode'],
- $modes,
- true
- )) {
- throw new InvalidConfigurationException(sprintf(
- 'The path-mode "%s" is not defined, supported are %s.',
- $this->options['path-mode'],
- Utils::naturalLanguageJoin($modes)
- ));
- }
-
- $isIntersectionPathMode = self::PATH_MODE_INTERSECTION === $this->options['path-mode'];
-
- $paths = array_filter(array_map(
- static fn (string $path) => realpath($path),
- $this->getPath()
- ));
-
- if (0 === \count($paths)) {
- if ($isIntersectionPathMode) {
- return new \ArrayIterator([]);
- }
-
- return $this->iterableToTraversable($this->getConfig()->getFinder());
- }
-
- $pathsByType = [
- 'file' => [],
- 'dir' => [],
- ];
-
- foreach ($paths as $path) {
- if (is_file($path)) {
- $pathsByType['file'][] = $path;
- } else {
- $pathsByType['dir'][] = $path.\DIRECTORY_SEPARATOR;
- }
- }
-
- $nestedFinder = null;
- $currentFinder = $this->iterableToTraversable($this->getConfig()->getFinder());
-
- try {
- $nestedFinder = $currentFinder instanceof \IteratorAggregate ? $currentFinder->getIterator() : $currentFinder;
- } catch (\Exception $e) {
- }
-
- if ($isIntersectionPathMode) {
- if (null === $nestedFinder) {
- throw new InvalidConfigurationException(
- 'Cannot create intersection with not-fully defined Finder in configuration file.'
- );
- }
-
- return new \CallbackFilterIterator(
- new \IteratorIterator($nestedFinder),
- static function (\SplFileInfo $current) use ($pathsByType): bool {
- $currentRealPath = $current->getRealPath();
-
- if (\in_array($currentRealPath, $pathsByType['file'], true)) {
- return true;
- }
-
- foreach ($pathsByType['dir'] as $path) {
- if (str_starts_with($currentRealPath, $path)) {
- return true;
- }
- }
-
- return false;
- }
- );
- }
-
- if (null !== $this->getConfigFile() && null !== $nestedFinder) {
- $this->configFinderIsOverridden = true;
- }
-
- if ($currentFinder instanceof SymfonyFinder && null === $nestedFinder) {
- // finder from configuration Symfony finder and it is not fully defined, we may fulfill it
- return $currentFinder->in($pathsByType['dir'])->append($pathsByType['file']);
- }
-
- return Finder::create()->in($pathsByType['dir'])->append($pathsByType['file']);
- }
-
- /**
- * Set option that will be resolved.
- *
- * @param mixed $value
- */
- private function setOption(string $name, $value): void
- {
- if (!\array_key_exists($name, $this->options)) {
- throw new InvalidConfigurationException(sprintf('Unknown option name: "%s".', $name));
- }
-
- $this->options[$name] = $value;
- }
-
- private function resolveOptionBooleanValue(string $optionName): bool
- {
- $value = $this->options[$optionName];
-
- if (!\is_string($value)) {
- throw new InvalidConfigurationException(sprintf('Expected boolean or string value for option "%s".', $optionName));
- }
-
- if ('yes' === $value) {
- return true;
- }
-
- if ('no' === $value) {
- return false;
- }
-
- throw new InvalidConfigurationException(sprintf('Expected "yes" or "no" for option "%s", got "%s".', $optionName, $value));
- }
-
- private static function separatedContextLessInclude(string $path): ConfigInterface
- {
- $config = include $path;
-
- // verify that the config has an instance of Config
- if (!$config instanceof ConfigInterface) {
- throw new InvalidConfigurationException(sprintf('The config file: "%s" does not return a "PhpCsFixer\ConfigInterface" instance. Got: "%s".', $path, \is_object($config) ? \get_class($config) : \gettype($config)));
- }
-
- return $config;
- }
-
- private function isCachingAllowedForRuntime(): bool
- {
- return $this->toolInfo->isInstalledAsPhar()
- || $this->toolInfo->isInstalledByComposer()
- || $this->toolInfo->isRunInsideDocker();
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Output/ErrorOutput.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Output/ErrorOutput.php
deleted file mode 100644
index 65150021..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Output/ErrorOutput.php
+++ /dev/null
@@ -1,156 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Output;
-
-use PhpCsFixer\Differ\DiffConsoleFormatter;
-use PhpCsFixer\Error\Error;
-use PhpCsFixer\Linter\LintingException;
-use Symfony\Component\Console\Command\Command;
-use Symfony\Component\Console\Formatter\OutputFormatter;
-use Symfony\Component\Console\Output\OutputInterface;
-
-/**
- * @internal
- */
-final class ErrorOutput
-{
- private OutputInterface $output;
-
- /**
- * @var bool
- */
- private $isDecorated;
-
- public function __construct(OutputInterface $output)
- {
- $this->output = $output;
- $this->isDecorated = $output->isDecorated();
- }
-
- /**
- * @param Error[] $errors
- */
- public function listErrors(string $process, array $errors): void
- {
- $this->output->writeln(['', sprintf(
- 'Files that were not fixed due to errors reported during %s:',
- $process
- )]);
-
- $showDetails = $this->output->getVerbosity() >= OutputInterface::VERBOSITY_VERY_VERBOSE;
- $showTrace = $this->output->getVerbosity() >= OutputInterface::VERBOSITY_DEBUG;
- foreach ($errors as $i => $error) {
- $this->output->writeln(sprintf('%4d) %s', $i + 1, $error->getFilePath()));
- $e = $error->getSource();
- if (!$showDetails || null === $e) {
- continue;
- }
-
- $class = sprintf('[%s]', \get_class($e));
- $message = $e->getMessage();
- $code = $e->getCode();
- if (0 !== $code) {
- $message .= " ({$code})";
- }
-
- $length = max(\strlen($class), \strlen($message));
- $lines = [
- '',
- $class,
- $message,
- '',
- ];
-
- $this->output->writeln('');
-
- foreach ($lines as $line) {
- if (\strlen($line) < $length) {
- $line .= str_repeat(' ', $length - \strlen($line));
- }
-
- $this->output->writeln(sprintf(' %s ', $this->prepareOutput($line)));
- }
-
- if ($showTrace && !$e instanceof LintingException) { // stack trace of lint exception is of no interest
- $this->output->writeln('');
- $stackTrace = $e->getTrace();
- foreach ($stackTrace as $trace) {
- if (isset($trace['class']) && Command::class === $trace['class'] && 'run' === $trace['function']) {
- $this->output->writeln(' [ ... ]');
-
- break;
- }
-
- $this->outputTrace($trace);
- }
- }
-
- if (Error::TYPE_LINT === $error->getType() && 0 < \count($error->getAppliedFixers())) {
- $this->output->writeln('');
- $this->output->writeln(sprintf(' Applied fixers: %s ', implode(', ', $error->getAppliedFixers())));
-
- $diff = $error->getDiff();
- if (null !== $diff) {
- $diffFormatter = new DiffConsoleFormatter(
- $this->isDecorated,
- sprintf(
- ' ---------- begin diff ---------- %s%%s%s ----------- end diff ----------- ',
- PHP_EOL,
- PHP_EOL
- )
- );
-
- $this->output->writeln($diffFormatter->format($diff));
- }
- }
- }
- }
-
- /**
- * @param array{
- * function?: string,
- * line?: int,
- * file?: string,
- * class?: class-string,
- * type?: '::'|'->',
- * args?: mixed[],
- * object?: object,
- * } $trace
- */
- private function outputTrace(array $trace): void
- {
- if (isset($trace['class'], $trace['type'], $trace['function'])) {
- $this->output->writeln(sprintf(
- ' %s %s%s() ',
- $this->prepareOutput($trace['class']),
- $this->prepareOutput($trace['type']),
- $this->prepareOutput($trace['function'])
- ));
- } elseif (isset($trace['function'])) {
- $this->output->writeln(sprintf(' %s() ', $this->prepareOutput($trace['function'])));
- }
-
- if (isset($trace['file'])) {
- $this->output->writeln(sprintf(' in %s at line %d ', $this->prepareOutput($trace['file']), $trace['line']));
- }
- }
-
- private function prepareOutput(string $string): string
- {
- return $this->isDecorated
- ? OutputFormatter::escape($string)
- : $string;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Output/OutputContext.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Output/OutputContext.php
deleted file mode 100644
index 84a0ea6f..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Output/OutputContext.php
+++ /dev/null
@@ -1,52 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Output;
-
-use Symfony\Component\Console\Output\OutputInterface;
-
-/**
- * @internal
- */
-final class OutputContext
-{
- private ?OutputInterface $output;
- private int $terminalWidth;
- private int $filesCount;
-
- public function __construct(
- ?OutputInterface $output,
- int $terminalWidth,
- int $filesCount
- ) {
- $this->output = $output;
- $this->terminalWidth = $terminalWidth;
- $this->filesCount = $filesCount;
- }
-
- public function getOutput(): ?OutputInterface
- {
- return $this->output;
- }
-
- public function getTerminalWidth(): int
- {
- return $this->terminalWidth;
- }
-
- public function getFilesCount(): int
- {
- return $this->filesCount;
- }
-}
diff --git a/vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/DotsOutput.php b/vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/DotsOutput.php
deleted file mode 100644
index 0e47ae5f..00000000
--- a/vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/DotsOutput.php
+++ /dev/null
@@ -1,127 +0,0 @@
-
- * Dariusz Rumiński
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-namespace PhpCsFixer\Console\Output\Progress;
-
-use PhpCsFixer\Console\Output\OutputContext;
-use PhpCsFixer\FixerFileProcessedEvent;
-use Symfony\Component\Console\Output\OutputInterface;
-
-/**
- * Output writer to show the progress of a FixCommand using dots and meaningful letters.
- *
- * @internal
- */
-final class DotsOutput implements ProgressOutputInterface
-{
- /**
- * File statuses map.
- *
- * @var array