diff --git a/app/code/Magento/AdminNotification/composer.json b/app/code/Magento/AdminNotification/composer.json index e5cf487908cd..fe0727474fa2 100644 --- a/app/code/Magento/AdminNotification/composer.json +++ b/app/code/Magento/AdminNotification/composer.json @@ -11,7 +11,8 @@ "magento/module-backend": "*", "magento/module-media-storage": "*", "magento/module-store": "*", - "magento/module-ui": "*" + "magento/module-ui": "*", + "magento/module-config": "*" }, "type": "magento2-module", "license": [ diff --git a/app/code/Magento/AdvancedSearch/view/adminhtml/templates/system/config/testconnection.phtml b/app/code/Magento/AdvancedSearch/view/adminhtml/templates/system/config/testconnection.phtml index 71697d2fd0bc..1d962cc6b329 100644 --- a/app/code/Magento/AdvancedSearch/view/adminhtml/templates/system/config/testconnection.phtml +++ b/app/code/Magento/AdvancedSearch/view/adminhtml/templates/system/config/testconnection.phtml @@ -11,5 +11,5 @@ "successText": "escapeHtmlAttr(__('Successful! Test again?')) ?>", "failedText": "escapeHtmlAttr(__('Connection failed! Test again?')) ?>", "fieldMapping": "getFieldMapping() ?>"}, "validation": {}}'> - escapeHtml($block->getButtonLabel()) ?> + escapeHtml($block->getButtonLabel()) ?> diff --git a/app/code/Magento/Analytics/Test/Mftf/Section/AdminConfigAdvancedReportingSection.xml b/app/code/Magento/Analytics/Test/Mftf/Section/AdminConfigAdvancedReportingSection.xml index 2e5f2b762a7b..36e4779a48d4 100644 --- a/app/code/Magento/Analytics/Test/Mftf/Section/AdminConfigAdvancedReportingSection.xml +++ b/app/code/Magento/Analytics/Test/Mftf/Section/AdminConfigAdvancedReportingSection.xml @@ -14,8 +14,8 @@ - - + + diff --git a/app/code/Magento/AuthorizenetAcceptjs/Gateway/Request/StubDataBuilder.php b/app/code/Magento/AuthorizenetAcceptjs/Gateway/Request/StubDataBuilder.php new file mode 100644 index 000000000000..794c120f9445 --- /dev/null +++ b/app/code/Magento/AuthorizenetAcceptjs/Gateway/Request/StubDataBuilder.php @@ -0,0 +1,28 @@ +createMock(Observer::class); $event = $this->createMock(Event::class); $paymentInfoModel = $this->createMock(InfoInterface::class); - $dataObject = new DataObject([ - PaymentInterface::KEY_ADDITIONAL_DATA => $additionalInfo - ]); + $dataObject = new DataObject([PaymentInterface::KEY_ADDITIONAL_DATA => $additionalInfo]); $observerContainer->method('getEvent') ->willReturn($event); $event->method('getDataByKey') diff --git a/app/code/Magento/AuthorizenetAcceptjs/etc/adminhtml/di.xml b/app/code/Magento/AuthorizenetAcceptjs/etc/adminhtml/di.xml index 320f8f79ee28..730094b8d552 100644 --- a/app/code/Magento/AuthorizenetAcceptjs/etc/adminhtml/di.xml +++ b/app/code/Magento/AuthorizenetAcceptjs/etc/adminhtml/di.xml @@ -11,4 +11,24 @@ Magento\AuthorizenetAcceptjs\Model\Ui\ConfigProvider + + + + AuthorizenetAcceptjsTransactionRequestTypeBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\StoreConfigBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\AuthenticationDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\AuthorizeDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\AmountDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\PaymentDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\ShippingDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\SolutionDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\OrderDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\PoDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\CustomerDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\AddressDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\CustomSettingsBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\PassthroughDataBuilder + + + diff --git a/app/code/Magento/AuthorizenetAcceptjs/etc/di.xml b/app/code/Magento/AuthorizenetAcceptjs/etc/di.xml index cf10557d3869..02dffe215fcc 100644 --- a/app/code/Magento/AuthorizenetAcceptjs/etc/di.xml +++ b/app/code/Magento/AuthorizenetAcceptjs/etc/di.xml @@ -258,6 +258,7 @@ Magento\AuthorizenetAcceptjs\Gateway\Request\PoDataBuilder Magento\AuthorizenetAcceptjs\Gateway\Request\CustomerDataBuilder Magento\AuthorizenetAcceptjs\Gateway\Request\AddressDataBuilder + Magento\AuthorizenetAcceptjs\Gateway\Request\StubDataBuilder Magento\AuthorizenetAcceptjs\Gateway\Request\CustomSettingsBuilder Magento\AuthorizenetAcceptjs\Gateway\Request\PassthroughDataBuilder diff --git a/app/code/Magento/AuthorizenetCardinal/Gateway/Request/Authorize3DSecureBuilder.php b/app/code/Magento/AuthorizenetCardinal/Gateway/Request/Authorize3DSecureBuilder.php new file mode 100644 index 000000000000..7e3d63d6f186 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/Gateway/Request/Authorize3DSecureBuilder.php @@ -0,0 +1,82 @@ +subjectReader = $subjectReader; + $this->config = $config; + $this->jwtParser = $jwtParser; + } + + /** + * @inheritdoc + */ + public function build(array $buildSubject): array + { + if ($this->config->isActive() === false) { + return []; + } + + $paymentDO = $this->subjectReader->readPayment($buildSubject); + $payment = $paymentDO->getPayment(); + $data = []; + + if ($payment instanceof Payment) { + $cardinalJwt = (string)$payment->getAdditionalInformation('cardinalJWT'); + $jwtPayload = $this->jwtParser->execute($cardinalJwt); + $eciFlag = $jwtPayload['Payload']['Payment']['ExtendedData']['ECIFlag'] ?? ''; + $cavv = $jwtPayload['Payload']['Payment']['ExtendedData']['CAVV'] ?? ''; + $data = [ + 'transactionRequest' => [ + 'cardholderAuthentication' => [ + 'authenticationIndicator' => $eciFlag, + 'cardholderAuthenticationValue' => $cavv + ], + ] + ]; + } + + return $data; + } +} diff --git a/app/code/Magento/AuthorizenetCardinal/LICENSE.txt b/app/code/Magento/AuthorizenetCardinal/LICENSE.txt new file mode 100644 index 000000000000..49525fd99da9 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/LICENSE.txt @@ -0,0 +1,48 @@ + +Open Software License ("OSL") v. 3.0 + +This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Open Software License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. \ No newline at end of file diff --git a/app/code/Magento/AuthorizenetCardinal/LICENSE_AFL.txt b/app/code/Magento/AuthorizenetCardinal/LICENSE_AFL.txt new file mode 100644 index 000000000000..f39d641b18a1 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/LICENSE_AFL.txt @@ -0,0 +1,48 @@ + +Academic Free License ("AFL") v. 3.0 + +This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Academic Free License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/app/code/Magento/AuthorizenetCardinal/Model/Checkout/ConfigProvider.php b/app/code/Magento/AuthorizenetCardinal/Model/Checkout/ConfigProvider.php new file mode 100644 index 000000000000..d0cde9c643eb --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/Model/Checkout/ConfigProvider.php @@ -0,0 +1,45 @@ +config = $config; + } + + /** + * @inheritdoc + */ + public function getConfig(): array + { + $config['cardinal'] = [ + 'isActiveFor' => [ + 'authorizenet' => $this->config->isActive() + ] + ]; + + return $config; + } +} diff --git a/app/code/Magento/AuthorizenetCardinal/Model/Config.php b/app/code/Magento/AuthorizenetCardinal/Model/Config.php new file mode 100644 index 000000000000..e70a6a2e39c1 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/Model/Config.php @@ -0,0 +1,49 @@ +scopeConfig = $scopeConfig; + } + + /** + * If this config option set to false no AuthorizenetCardinal integration should be available + * + * @param int|null $storeId + * @return bool + */ + public function isActive(?int $storeId = null): bool + { + $enabled = $this->scopeConfig->isSetFlag( + 'three_d_secure/cardinal/enabled_authorizenet', + ScopeInterface::SCOPE_STORE, + $storeId + ); + + return $enabled; + } +} diff --git a/app/code/Magento/AuthorizenetCardinal/Observer/DataAssignObserver.php b/app/code/Magento/AuthorizenetCardinal/Observer/DataAssignObserver.php new file mode 100644 index 000000000000..cb2cdf64ae38 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/Observer/DataAssignObserver.php @@ -0,0 +1,63 @@ +config = $config; + } + + /** + * @inheritdoc + */ + public function execute(Observer $observer) + { + if ($this->config->isActive() === false) { + return; + } + + $data = $this->readDataArgument($observer); + $additionalData = $data->getData(PaymentInterface::KEY_ADDITIONAL_DATA); + if (!is_array($additionalData)) { + return; + } + + $paymentInfo = $this->readPaymentModelArgument($observer); + if (isset($additionalData[self::JWT_KEY])) { + $paymentInfo->setAdditionalInformation( + self::JWT_KEY, + $additionalData[self::JWT_KEY] + ); + } + } +} diff --git a/app/code/Magento/AuthorizenetCardinal/README.md b/app/code/Magento/AuthorizenetCardinal/README.md new file mode 100644 index 000000000000..2324f680bafc --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/README.md @@ -0,0 +1 @@ +The AuthorizenetCardinal module provides a possibility to enable 3-D Secure 2.0 support for AuthorizenetAcceptjs payment integration. \ No newline at end of file diff --git a/app/code/Magento/AuthorizenetCardinal/Test/Unit/Observer/DataAssignObserverTest.php b/app/code/Magento/AuthorizenetCardinal/Test/Unit/Observer/DataAssignObserverTest.php new file mode 100644 index 000000000000..9f560507e34d --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/Test/Unit/Observer/DataAssignObserverTest.php @@ -0,0 +1,100 @@ + 'foo' + ]; + + $config = $this->createMock(Config::class); + $config->method('isActive') + ->willReturn(true); + $observerContainer = $this->createMock(Observer::class); + $event = $this->createMock(Event::class); + $paymentInfoModel = $this->createMock(InfoInterface::class); + $dataObject = new DataObject([PaymentInterface::KEY_ADDITIONAL_DATA => $additionalInfo]); + $observerContainer->method('getEvent') + ->willReturn($event); + $event->method('getDataByKey') + ->willReturnMap( + [ + [AbstractDataAssignObserver::MODEL_CODE, $paymentInfoModel], + [AbstractDataAssignObserver::DATA_CODE, $dataObject] + ] + ); + $paymentInfoModel->expects($this->once()) + ->method('setAdditionalInformation') + ->with('cardinalJWT', 'foo'); + + $observer = new DataAssignObserver($config); + $observer->execute($observerContainer); + } + + /** + * Tests case when Cardinal JWT is absent. + */ + public function testDoesntSetDataWhenEmpty() + { + $config = $this->createMock(Config::class); + $config->method('isActive') + ->willReturn(true); + $observerContainer = $this->createMock(Observer::class); + $event = $this->createMock(Event::class); + $paymentInfoModel = $this->createMock(InfoInterface::class); + $observerContainer->method('getEvent') + ->willReturn($event); + $event->method('getDataByKey') + ->willReturnMap( + [ + [AbstractDataAssignObserver::MODEL_CODE, $paymentInfoModel], + [AbstractDataAssignObserver::DATA_CODE, new DataObject()] + ] + ); + $paymentInfoModel->expects($this->never()) + ->method('setAdditionalInformation'); + + $observer = new DataAssignObserver($config); + $observer->execute($observerContainer); + } + + /** + * Tests case when CardinalCommerce is disabled. + */ + public function testDoesntSetDataWhenDisabled() + { + $config = $this->createMock(Config::class); + $config->method('isActive') + ->willReturn(false); + $observerContainer = $this->createMock(Observer::class); + $observerContainer->expects($this->never()) + ->method('getEvent'); + $observer = new DataAssignObserver($config); + $observer->execute($observerContainer); + } +} diff --git a/app/code/Magento/AuthorizenetCardinal/composer.json b/app/code/Magento/AuthorizenetCardinal/composer.json new file mode 100644 index 000000000000..2d3ceee20937 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/composer.json @@ -0,0 +1,31 @@ +{ + "name": "magento/module-authorizenet-cardinal", + "description": "Provides a possibility to enable 3-D Secure 2.0 support for Authorize.Net Acceptjs.", + "config": { + "sort-packages": true + }, + "require": { + "php": "~7.1.3||~7.2.0", + "magento/module-authorizenet-acceptjs": "*", + "magento/framework": "*", + "magento/module-cardinal-commerce": "*", + "magento/module-payment": "*", + "magento/module-sales": "*", + "magento/module-quote": "*", + "magento/module-checkout": "*", + "magento/module-store": "*" + }, + "type": "magento2-module", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AuthorizenetCardinal\\": "" + } + } +} diff --git a/app/code/Magento/AuthorizenetCardinal/etc/adminhtml/system.xml b/app/code/Magento/AuthorizenetCardinal/etc/adminhtml/system.xml new file mode 100644 index 000000000000..2be287a5e874 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/etc/adminhtml/system.xml @@ -0,0 +1,22 @@ + + + + +
+ + + + + Magento\Config\Model\Config\Source\Yesno + three_d_secure/cardinal/enabled_authorizenet + + + +
+
+
diff --git a/app/code/Magento/AuthorizenetCardinal/etc/config.xml b/app/code/Magento/AuthorizenetCardinal/etc/config.xml new file mode 100644 index 000000000000..d94bcdc47900 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/etc/config.xml @@ -0,0 +1,16 @@ + + + + + + + 0 + + + + diff --git a/app/code/Magento/AuthorizenetCardinal/etc/di.xml b/app/code/Magento/AuthorizenetCardinal/etc/di.xml new file mode 100644 index 000000000000..45541a3cf499 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/etc/di.xml @@ -0,0 +1,16 @@ + + + + + + + Magento\AuthorizenetCardinal\Gateway\Request\Authorize3DSecureBuilder + + + + diff --git a/app/code/Magento/AuthorizenetCardinal/etc/events.xml b/app/code/Magento/AuthorizenetCardinal/etc/events.xml new file mode 100644 index 000000000000..5b0afbe68469 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/etc/events.xml @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/app/code/Magento/AuthorizenetCardinal/etc/frontend/di.xml b/app/code/Magento/AuthorizenetCardinal/etc/frontend/di.xml new file mode 100644 index 000000000000..13c7a223e82d --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/etc/frontend/di.xml @@ -0,0 +1,18 @@ + + + + + + + + Magento\AuthorizenetCardinal\Model\Checkout\ConfigProvider + + + + + diff --git a/app/code/Magento/AuthorizenetCardinal/etc/module.xml b/app/code/Magento/AuthorizenetCardinal/etc/module.xml new file mode 100644 index 000000000000..fdf8151311f4 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/etc/module.xml @@ -0,0 +1,15 @@ + + + + + + + + + + diff --git a/app/code/Magento/AuthorizenetCardinal/registration.php b/app/code/Magento/AuthorizenetCardinal/registration.php new file mode 100644 index 000000000000..0153e9eaa4d2 --- /dev/null +++ b/app/code/Magento/AuthorizenetCardinal/registration.php @@ -0,0 +1,9 @@ +getRequest()->getParam('group') )->getWebsite()->getBaseCurrency(); } else { - $this->_currentCurrencyCode = $this->_storeManager->getStore()->getBaseCurrency(); + $this->_currentCurrencyCode = $this->_storeManager->getStore(Store::DEFAULT_STORE_ID) + ->getBaseCurrency(); } } diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Multistore.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Multistore.php index c45a222d1eb9..424fee98d620 100644 --- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Multistore.php +++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Multistore.php @@ -3,6 +3,8 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ +declare(strict_types=1); + namespace Magento\Backend\Block\Widget\Grid\Column; /** @@ -14,15 +16,6 @@ */ class Multistore extends \Magento\Backend\Block\Widget\Grid\Column { - /** - * @param \Magento\Backend\Block\Template\Context $context - * @param array $data - */ - public function __construct(\Magento\Backend\Block\Template\Context $context, array $data = []) - { - parent::__construct($context, $data); - } - /** * Get header css class name * diff --git a/app/code/Magento/Backend/Test/Mftf/Test/AdminDashboardWithChartsChart.xml b/app/code/Magento/Backend/Test/Mftf/Test/AdminDashboardWithChartsChart.xml index c3ef66b39948..f48c7752efc7 100644 --- a/app/code/Magento/Backend/Test/Mftf/Test/AdminDashboardWithChartsChart.xml +++ b/app/code/Magento/Backend/Test/Mftf/Test/AdminDashboardWithChartsChart.xml @@ -83,7 +83,9 @@ + + diff --git a/app/code/Magento/Backend/view/adminhtml/templates/store/switcher.phtml b/app/code/Magento/Backend/view/adminhtml/templates/store/switcher.phtml index 8674a167d28e..da18bc183759 100644 --- a/app/code/Magento/Backend/view/adminhtml/templates/store/switcher.phtml +++ b/app/code/Magento/Backend/view/adminhtml/templates/store/switcher.phtml @@ -36,7 +36,6 @@ hasDefaultOption()) : ?>
  • getDefaultSelectionName() != $block->getCurrentSelectionName()) : ?> - ?> escapeHtml($block->getDefaultSelectionName()) ?> diff --git a/app/code/Magento/Braintree/Gateway/Validator/ErrorCodeProvider.php b/app/code/Magento/Braintree/Gateway/Validator/ErrorCodeProvider.php index 167fcb1569cb..58ce33305da8 100644 --- a/app/code/Magento/Braintree/Gateway/Validator/ErrorCodeProvider.php +++ b/app/code/Magento/Braintree/Gateway/Validator/ErrorCodeProvider.php @@ -38,6 +38,14 @@ public function getErrorCodes($response): array $result[] = $error->code; } + if (isset($response->transaction) && $response->transaction->status === 'gateway_rejected') { + $result[] = $response->transaction->gatewayRejectionReason; + } + + if (isset($response->transaction) && $response->transaction->status === 'processor_declined') { + $result[] = $response->transaction->processorResponseCode; + } + return $result; } } diff --git a/app/code/Magento/Braintree/Test/Mftf/ActionGroup/AdminUserActionGroup.xml b/app/code/Magento/Braintree/Test/Mftf/ActionGroup/AdminUserActionGroup.xml index 3f8bdaa4cd6b..d530f8e9f68b 100644 --- a/app/code/Magento/Braintree/Test/Mftf/ActionGroup/AdminUserActionGroup.xml +++ b/app/code/Magento/Braintree/Test/Mftf/ActionGroup/AdminUserActionGroup.xml @@ -38,18 +38,4 @@ - - - - - - - - - - - - - - diff --git a/app/code/Magento/Braintree/Test/Unit/Gateway/Validator/ErrorCodeProviderTest.php b/app/code/Magento/Braintree/Test/Unit/Gateway/Validator/ErrorCodeProviderTest.php new file mode 100644 index 000000000000..cddb4852da0e --- /dev/null +++ b/app/code/Magento/Braintree/Test/Unit/Gateway/Validator/ErrorCodeProviderTest.php @@ -0,0 +1,94 @@ + ['errors' => $errors], + 'transaction' => $transaction, + ] + ); + $this->model = new ErrorCodeProvider(); + $actual = $this->model->getErrorCodes($response); + + $this->assertSame($expectedResult, $actual); + } + + /** + * Gets list of errors variations. + * + * @return array + */ + public function getErrorCodeDataProvider(): array + { + return [ + [ + 'errors' => [ + ['code' => 91734], + ['code' => 91504] + ], + 'transaction' => [ + 'status' => 'success', + ], + 'expectedResult' => ['91734', '91504'] + ], + [ + 'errors' => [], + 'transaction' => [ + 'status' => 'processor_declined', + 'processorResponseCode' => '1000' + ], + 'expectedResult' => ['1000'] + ], + [ + 'errors' => [], + 'transaction' => [ + 'status' => 'processor_declined', + 'processorResponseCode' => '1000' + ], + 'expectedResult' => ['1000'] + ], + [ + 'errors' => [ + ['code' => 91734], + ['code' => 91504] + ], + 'transaction' => [ + 'status' => 'processor_declined', + 'processorResponseCode' => '1000' + ], + 'expectedResult' => ['91734', '91504', '1000'] + ], + ]; + } +} diff --git a/app/code/Magento/Braintree/Test/Unit/Gateway/Validator/GeneralResponseValidatorTest.php b/app/code/Magento/Braintree/Test/Unit/Gateway/Validator/GeneralResponseValidatorTest.php index 4741a3ea38c6..d966e4e3f10e 100644 --- a/app/code/Magento/Braintree/Test/Unit/Gateway/Validator/GeneralResponseValidatorTest.php +++ b/app/code/Magento/Braintree/Test/Unit/Gateway/Validator/GeneralResponseValidatorTest.php @@ -14,6 +14,9 @@ use Magento\Payment\Gateway\Validator\ResultInterfaceFactory; use PHPUnit_Framework_MockObject_MockObject as MockObject; +/** + * Class GeneralResponseValidatorTest + */ class GeneralResponseValidatorTest extends \PHPUnit\Framework\TestCase { /** @@ -61,11 +64,13 @@ public function testValidate(array $validationSubject, bool $isValid, $messages, $result = new Result($isValid, $messages); $this->resultInterfaceFactory->method('create') - ->with([ - 'isValid' => $isValid, - 'failsDescription' => $messages, - 'errorCodes' => $errorCodes - ]) + ->with( + [ + 'isValid' => $isValid, + 'failsDescription' => $messages, + 'errorCodes' => $errorCodes + ] + ) ->willReturn($result); $actual = $this->responseValidator->validate($validationSubject); @@ -82,9 +87,11 @@ public function dataProviderTestValidate() { $successTransaction = new \stdClass(); $successTransaction->success = true; + $successTransaction->status = 'authorized'; $failureTransaction = new \stdClass(); $failureTransaction->success = false; + $failureTransaction->status = 'declined'; $failureTransaction->message = 'Transaction was failed.'; $errors = [ @@ -93,10 +100,10 @@ public function dataProviderTestValidate() 'code' => 81804, 'attribute' => 'base', 'message' => 'Cannot process transaction.' - ] + ], ] ]; - $errorTransaction = new Error(['errors' => $errors]); + $errorTransaction = new Error(['errors' => $errors, 'transaction' => ['status' => 'declined']]); return [ [ diff --git a/app/code/Magento/Braintree/etc/braintree_error_mapping.xml b/app/code/Magento/Braintree/etc/braintree_error_mapping.xml index 81da0a252e56..7155264b4e6a 100644 --- a/app/code/Magento/Braintree/etc/braintree_error_mapping.xml +++ b/app/code/Magento/Braintree/etc/braintree_error_mapping.xml @@ -20,6 +20,7 @@ Credit card number must be 12-19 digits. Cardholder name is too long. CVV verification failed. + CVV verification failed. Postal code verification failed. Credit card number is prohibited. Addresses must have at least one field filled in. diff --git a/app/code/Magento/Braintree/view/adminhtml/web/js/braintree.js b/app/code/Magento/Braintree/view/adminhtml/web/js/braintree.js index 0359c16283d5..845ed03725bf 100644 --- a/app/code/Magento/Braintree/view/adminhtml/web/js/braintree.js +++ b/app/code/Magento/Braintree/view/adminhtml/web/js/braintree.js @@ -295,10 +295,11 @@ define([ self.$selector.validate().form(); self.$selector.trigger('afterValidate.beforeSubmit'); - $('body').trigger('processStop'); // validate parent form if (self.$selector.validate().errorList.length) { + $('body').trigger('processStop'); + return false; } diff --git a/app/code/Magento/Braintree/view/frontend/web/js/view/payment/method-renderer/multishipping/cc-form.js b/app/code/Magento/Braintree/view/frontend/web/js/view/payment/method-renderer/multishipping/cc-form.js index dc816c035a23..868fe174ae48 100644 --- a/app/code/Magento/Braintree/view/frontend/web/js/view/payment/method-renderer/multishipping/cc-form.js +++ b/app/code/Magento/Braintree/view/frontend/web/js/view/payment/method-renderer/multishipping/cc-form.js @@ -12,7 +12,7 @@ define([ 'Magento_Ui/js/model/messageList', 'mage/translate', 'Magento_Checkout/js/model/full-screen-loader', - 'Magento_Checkout/js/action/set-payment-information', + 'Magento_Checkout/js/action/set-payment-information-extended', 'Magento_Checkout/js/model/payment/additional-validators', 'Magento_Braintree/js/view/payment/validator-handler' ], function ( @@ -22,7 +22,7 @@ define([ messageList, $t, fullScreenLoader, - setPaymentInformationAction, + setPaymentInformationExtended, additionalValidators, validatorManager ) { @@ -51,9 +51,10 @@ define([ if (additionalValidators.validate()) { fullScreenLoader.startLoader(); $.when( - setPaymentInformationAction( + setPaymentInformationExtended( this.messageContainer, - this.getData() + this.getData(), + true ) ).done(this.done.bind(this)) .fail(this.fail.bind(this)); diff --git a/app/code/Magento/Braintree/view/frontend/web/js/view/payment/method-renderer/multishipping/paypal.js b/app/code/Magento/Braintree/view/frontend/web/js/view/payment/method-renderer/multishipping/paypal.js index 0a9ec4fb6c6e..b3837103148c 100644 --- a/app/code/Magento/Braintree/view/frontend/web/js/view/payment/method-renderer/multishipping/paypal.js +++ b/app/code/Magento/Braintree/view/frontend/web/js/view/payment/method-renderer/multishipping/paypal.js @@ -8,14 +8,14 @@ define([ 'jquery', 'underscore', 'Magento_Braintree/js/view/payment/method-renderer/paypal', - 'Magento_Checkout/js/action/set-payment-information', + 'Magento_Checkout/js/action/set-payment-information-extended', 'Magento_Checkout/js/model/payment/additional-validators', 'Magento_Checkout/js/model/full-screen-loader' ], function ( $, _, Component, - setPaymentInformationAction, + setPaymentInformationExtended, additionalValidators, fullScreenLoader ) { @@ -131,9 +131,10 @@ define([ placeOrder: function () { fullScreenLoader.startLoader(); $.when( - setPaymentInformationAction( + setPaymentInformationExtended( this.messageContainer, - this.getData() + this.getData(), + true ) ).done(this.done.bind(this)) .fail(this.fail.bind(this)); diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php index a768e2450bfe..91b015782fe1 100644 --- a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php +++ b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php @@ -7,7 +7,7 @@ namespace Magento\Bundle\Block\Adminhtml\Catalog\Product\Edit\Tab\Attributes; /** - * Bundle Extended Attribures Block. + * Bundle Extended Attributes Block. * * @author Magento Core Team */ diff --git a/app/code/Magento/Bundle/view/adminhtml/templates/sales/creditmemo/create/items/renderer.phtml b/app/code/Magento/Bundle/view/adminhtml/templates/sales/creditmemo/create/items/renderer.phtml index e65269559a3a..c480d9b126da 100644 --- a/app/code/Magento/Bundle/view/adminhtml/templates/sales/creditmemo/create/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/adminhtml/templates/sales/creditmemo/create/items/renderer.phtml @@ -68,30 +68,30 @@ - + getOrderItem()->getQtyInvoiced()) : ?> - + getOrderItem()->getQtyShipped() && $block->isShipmentSeparately($_item)) : ?> - + getOrderItem()->getQtyRefunded()) : ?> - + getOrderItem()->getQtyCanceled()) : ?> - +
    escapeHtml(__('Ordered')) ?>escapeHtml($_item->getOrderItem()->getQtyOrdered()*1) ?>getOrderItem()->getQtyOrdered() * 1 ?>
    escapeHtml(__('Invoiced')) ?>escapeHtml($_item->getOrderItem()->getQtyInvoiced()*1) ?>getOrderItem()->getQtyInvoiced() * 1 ?>
    escapeHtml(__('Shipped')) ?>escapeHtml($_item->getOrderItem()->getQtyShipped()*1) ?>getOrderItem()->getQtyShipped() * 1 ?>
    escapeHtml(__('Refunded')) ?>escapeHtml($_item->getOrderItem()->getQtyRefunded()*1) ?>getOrderItem()->getQtyRefunded() * 1 ?>
    escapeHtml(__('Canceled')) ?>escapeHtml($_item->getOrderItem()->getQtyCanceled()*1) ?>getOrderItem()->getQtyCanceled() * 1 ?>
    @@ -99,12 +99,12 @@ - + getOrderItem()->getQtyShipped()) : ?> - +
    escapeHtml(__('Ordered')) ?>escapeHtml($_item->getOrderItem()->getQtyOrdered()*1) ?>getOrderItem()->getQtyOrdered() * 1 ?>
    escapeHtml(__('Shipped')) ?>escapeHtml($_item->getOrderItem()->getQtyShipped()*1) ?>getOrderItem()->getQtyShipped() * 1 ?>
    @@ -133,9 +133,9 @@ + value="getQty() * 1 ?>" /> - escapeHtml($_item->getQty()*1) ?> + getQty() * 1 ?>   diff --git a/app/code/Magento/Bundle/view/adminhtml/templates/sales/creditmemo/view/items/renderer.phtml b/app/code/Magento/Bundle/view/adminhtml/templates/sales/creditmemo/view/items/renderer.phtml index 18dc5db23d56..0d54e1528dfe 100644 --- a/app/code/Magento/Bundle/view/adminhtml/templates/sales/creditmemo/view/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/adminhtml/templates/sales/creditmemo/view/items/renderer.phtml @@ -63,7 +63,7 @@ canShowPriceInfo($_item)) : ?> - escapeHtml($_item->getQty()*1) ?> + getQty() * 1 ?>   diff --git a/app/code/Magento/Bundle/view/adminhtml/templates/sales/invoice/create/items/renderer.phtml b/app/code/Magento/Bundle/view/adminhtml/templates/sales/invoice/create/items/renderer.phtml index de0ac23340cc..a7d49b4b3530 100644 --- a/app/code/Magento/Bundle/view/adminhtml/templates/sales/invoice/create/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/adminhtml/templates/sales/invoice/create/items/renderer.phtml @@ -78,30 +78,30 @@ - + getOrderItem()->getQtyInvoiced()) : ?> - + getOrderItem()->getQtyShipped() && $block->isShipmentSeparately($_item)) : ?> - + getOrderItem()->getQtyRefunded()) : ?> - + getOrderItem()->getQtyCanceled()) : ?> - +
    escapeHtml(__('Ordered')) ?>escapeHtml($_item->getOrderItem()->getQtyOrdered()*1) ?>getOrderItem()->getQtyOrdered() * 1 ?>
    escapeHtml(__('Invoiced')) ?>escapeHtml($_item->getOrderItem()->getQtyInvoiced()*1) ?>getOrderItem()->getQtyInvoiced() * 1 ?>
    escapeHtml(__('Shipped')) ?>escapeHtml($_item->getOrderItem()->getQtyShipped()*1) ?>getOrderItem()->getQtyShipped() * 1 ?>
    escapeHtml(__('Refunded')) ?>escapeHtml($_item->getOrderItem()->getQtyRefunded()*1) ?>getOrderItem()->getQtyRefunded() * 1 ?>
    escapeHtml(__('Canceled')) ?>escapeHtml($_item->getOrderItem()->getQtyCanceled()*1) ?>getOrderItem()->getQtyCanceled() * 1 ?>
    @@ -109,12 +109,12 @@ - + getOrderItem()->getQtyShipped()) : ?> - +
    escapeHtml(__('Ordered')) ?>escapeHtml($_item->getOrderItem()->getQtyOrdered()*1) ?>getOrderItem()->getQtyOrdered() * 1 ?>
    escapeHtml(__('Shipped')) ?>escapeHtml($_item->getOrderItem()->getQtyShipped()*1) ?>getOrderItem()->getQtyShipped() * 1 ?>
    @@ -128,9 +128,9 @@ + value="getQty() * 1 ?>" /> - escapeHtml($_item->getQty()*1) ?> + getQty() * 1 ?>   diff --git a/app/code/Magento/Bundle/view/adminhtml/templates/sales/invoice/view/items/renderer.phtml b/app/code/Magento/Bundle/view/adminhtml/templates/sales/invoice/view/items/renderer.phtml index b8a2c0db82d4..e29bb5dbc947 100644 --- a/app/code/Magento/Bundle/view/adminhtml/templates/sales/invoice/view/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/adminhtml/templates/sales/invoice/view/items/renderer.phtml @@ -64,7 +64,7 @@ canShowPriceInfo($_item)) : ?> - escapeHtml($_item->getQty()*1) ?> + getQty() * 1 ?>   diff --git a/app/code/Magento/Bundle/view/adminhtml/templates/sales/order/view/items/renderer.phtml b/app/code/Magento/Bundle/view/adminhtml/templates/sales/order/view/items/renderer.phtml index 280bf67d6378..0a8b75944194 100644 --- a/app/code/Magento/Bundle/view/adminhtml/templates/sales/order/view/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/adminhtml/templates/sales/order/view/items/renderer.phtml @@ -87,30 +87,30 @@ - + getQtyInvoiced()) : ?> - + getQtyShipped() && $block->isShipmentSeparately($_item)) : ?> - + getQtyRefunded()) : ?> - + getQtyCanceled()) : ?> - +
    escapeHtml(__('Ordered')) ?>escapeHtml($_item->getQtyOrdered()*1) ?>getQtyOrdered() * 1 ?>
    escapeHtml(__('Invoiced')) ?>escapeHtml($_item->getQtyInvoiced()*1) ?>getQtyInvoiced() * 1 ?>
    escapeHtml(__('Shipped')) ?>escapeHtml($_item->getQtyShipped()*1) ?>getQtyShipped() * 1 ?>
    escapeHtml(__('Refunded')) ?>escapeHtml($_item->getQtyRefunded()*1) ?>getQtyRefunded() * 1 ?>
    escapeHtml(__('Canceled')) ?>escapeHtml($_item->getQtyCanceled()*1) ?>getQtyCanceled() * 1 ?>
    @@ -118,12 +118,12 @@ - + getQtyShipped()) : ?> - +
    escapeHtml(__('Ordered')) ?>escapeHtml($_item->getQtyOrdered()*1) ?>getQtyOrdered() * 1 ?>
    escapeHtml(__('Shipped')) ?>escapeHtml($_item->getQtyShipped()*1) ?>getQtyShipped() * 1 ?>
    diff --git a/app/code/Magento/Bundle/view/adminhtml/templates/sales/shipment/create/items/renderer.phtml b/app/code/Magento/Bundle/view/adminhtml/templates/sales/shipment/create/items/renderer.phtml index fe446ec09571..2e52ed906626 100644 --- a/app/code/Magento/Bundle/view/adminhtml/templates/sales/shipment/create/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/adminhtml/templates/sales/shipment/create/items/renderer.phtml @@ -58,7 +58,7 @@ + value="getQty() * 1 ?>" />   diff --git a/app/code/Magento/Bundle/view/adminhtml/templates/sales/shipment/view/items/renderer.phtml b/app/code/Magento/Bundle/view/adminhtml/templates/sales/shipment/view/items/renderer.phtml index d99cabe41420..521669700e10 100644 --- a/app/code/Magento/Bundle/view/adminhtml/templates/sales/shipment/view/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/adminhtml/templates/sales/shipment/view/items/renderer.phtml @@ -48,7 +48,7 @@ isShipmentSeparately() && $_item->getParentItem()) || (!$block->isShipmentSeparately() && !$_item->getParentItem())) : ?> getId()])) : ?> - escapeHtml($shipItems[$_item->getId()]->getQty()*1) ?> + getId()]->getQty() * 1 ?> getIsVirtual()) : ?> escapeHtml(__('N/A')) ?> diff --git a/app/code/Magento/Bundle/view/frontend/templates/email/order/items/creditmemo/default.phtml b/app/code/Magento/Bundle/view/frontend/templates/email/order/items/creditmemo/default.phtml index 47f9eade7f6a..cbf7755ae991 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/email/order/items/creditmemo/default.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/email/order/items/creditmemo/default.phtml @@ -53,14 +53,14 @@ canShowPriceInfo($_item)) : ?> - escapeHtml($_item->getQty() * 1) ?> + getQty() * 1 ?>   canShowPriceInfo($_item)) : ?> - escapeHtml($block->getItemPrice($_item)) ?> + getItemPrice($_item) ?>   diff --git a/app/code/Magento/Bundle/view/frontend/templates/email/order/items/invoice/default.phtml b/app/code/Magento/Bundle/view/frontend/templates/email/order/items/invoice/default.phtml index 544e5f60f54b..d24fa390fa04 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/email/order/items/invoice/default.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/email/order/items/invoice/default.phtml @@ -54,14 +54,14 @@ canShowPriceInfo($_item)) : ?> - escapeHtml($_item->getQty() * 1) ?> + getQty() * 1 ?>   canShowPriceInfo($_item)) : ?> - escapeHtml($block->getItemPrice($_item)) ?> + getItemPrice($_item) ?>   diff --git a/app/code/Magento/Bundle/view/frontend/templates/email/order/items/order/default.phtml b/app/code/Magento/Bundle/view/frontend/templates/email/order/items/order/default.phtml index 2b34016f8150..94dc0917fcf8 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/email/order/items/order/default.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/email/order/items/order/default.phtml @@ -40,10 +40,10 @@

    escapeHtml(__('SKU')) ?>: escapeHtml($block->getSku($_item)) ?>

    - escapeHtml($_item->getQtyOrdered() * 1) ?> + getQtyOrdered() * 1 ?> - escapeHtml($block->getItemPrice($_item)) ?> + getItemPrice($_item) ?> diff --git a/app/code/Magento/Bundle/view/frontend/templates/email/order/items/shipment/default.phtml b/app/code/Magento/Bundle/view/frontend/templates/email/order/items/shipment/default.phtml index 0dbcbbb392bd..bf84ad33b926 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/email/order/items/shipment/default.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/email/order/items/shipment/default.phtml @@ -48,7 +48,7 @@ isShipmentSeparately() && $_item->getParentItem()) || (!$block->isShipmentSeparately() && !$_item->getParentItem())) : ?> getId()])) : ?> - escapeHtml($shipItems[$_item->getId()]->getQty() * 1) ?> + getId()]->getQty() * 1 ?> getIsVirtual()) : ?> escapeHtml(__('N/A')) ?> diff --git a/app/code/Magento/Bundle/view/frontend/templates/sales/order/creditmemo/items/renderer.phtml b/app/code/Magento/Bundle/view/frontend/templates/sales/order/creditmemo/items/renderer.phtml index 267366c1b5f0..64e6594b4f77 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/sales/order/creditmemo/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/sales/order/creditmemo/items/renderer.phtml @@ -37,42 +37,42 @@ data-th="escapeHtmlAttr($attributes['option_label']) ?>" > getOrderItem()->getParentItem()) : ?> - + escapeHtml($_item->getName()) ?> - getValueHtml($_item) ?> + getValueHtml($_item) ?> - escapeHtml($_item->getSku()) ?> - + escapeHtml($_item->getSku()) ?> + canShowPriceInfo($_item)) : ?> getItemPriceHtml($_item) ?>   - + canShowPriceInfo($_item)) : ?> - escapeHtml($_item->getQty()*1) ?> + getQty() * 1 ?>   - + canShowPriceInfo($_item)) : ?> getItemRowTotalHtml($_item) ?>   - + canShowPriceInfo($_item)) : ?> escapeHtml($block->getOrder()->formatPrice(-$_item->getDiscountAmount()), ['span']) ?>   - + canShowPriceInfo($_item)) : ?> getItemRowTotalAfterDiscountHtml($_item) ?> diff --git a/app/code/Magento/Bundle/view/frontend/templates/sales/order/invoice/items/renderer.phtml b/app/code/Magento/Bundle/view/frontend/templates/sales/order/invoice/items/renderer.phtml index 097139fbace0..b2025e53986c 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/sales/order/invoice/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/sales/order/invoice/items/renderer.phtml @@ -40,28 +40,28 @@ data-th="escapeHtmlAttr($attributes['option_label']) ?>" > getOrderItem()->getParentItem()) : ?> - + escapeHtml($_item->getName()) ?> - getValueHtml($_item) ?> + getValueHtml($_item) ?> - escapeHtml($_item->getSku()) ?> - + escapeHtml($_item->getSku()) ?> + canShowPriceInfo($_item)) : ?> getItemPriceHtml($_item) ?>   - + canShowPriceInfo($_item)) : ?> - escapeHtml($_item->getQty()*1) ?> + getQty() * 1 ?>   - + canShowPriceInfo($_item)) : ?> getItemRowTotalHtml($_item) ?> diff --git a/app/code/Magento/Bundle/view/frontend/templates/sales/order/items/renderer.phtml b/app/code/Magento/Bundle/view/frontend/templates/sales/order/items/renderer.phtml index 14c7de8429fd..3507901dff86 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/sales/order/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/sales/order/items/renderer.phtml @@ -38,28 +38,28 @@ $prevOptionId = ''; item-parent " getParentItem()) : ?> - data-th="escapeHtml($attributes['option_label']); ?>" + data-th="escapeHtmlAttr($attributes['option_label']); ?>" > getParentItem()) : ?> - + escapeHtml($item->getName()); ?> - + getValueHtml($item); ?> - + prepareSku($item->getSku()); ?> - + getParentItem()) : ?> getItemPriceHtml(); ?>   - + getParentItem() && $block->isChildCalculated()) || (!$item->getParentItem() && !$block->isChildCalculated()) || ($item->getQtyShipped() > 0 && $item->getParentItem() && $block->isShipmentSeparately())) : ?> @@ -105,7 +105,7 @@ $prevOptionId = ''; - + getParentItem()) : ?> getItemRowTotalHtml(); ?> diff --git a/app/code/Magento/Bundle/view/frontend/templates/sales/order/shipment/items/renderer.phtml b/app/code/Magento/Bundle/view/frontend/templates/sales/order/shipment/items/renderer.phtml index db658964253e..c2ed3b161f62 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/sales/order/shipment/items/renderer.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/sales/order/shipment/items/renderer.phtml @@ -33,17 +33,17 @@ getParentItem()) : ?> data-th="escapeHtmlAttr($attributes['option_label']) ?>"> getParentItem()) : ?> - + escapeHtml($_item->getName()) ?> - getValueHtml($_item) ?> + getValueHtml($_item) ?> - escapeHtml($_item->getSku()) ?> - + escapeHtml($_item->getSku()) ?> + isShipmentSeparately() && $_item->getParentItem()) || (!$block->isShipmentSeparately() && !$_item->getParentItem())) : ?> getId()])) : ?> - escapeHtml($shipItems[$_item->getId()]->getQty()*1) ?> + getId()]->getQty() * 1 ?> getIsVirtual()) : ?> escapeHtml(__('N/A')) ?> diff --git a/app/code/Magento/CardinalCommerce/LICENSE.txt b/app/code/Magento/CardinalCommerce/LICENSE.txt new file mode 100644 index 000000000000..49525fd99da9 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/LICENSE.txt @@ -0,0 +1,48 @@ + +Open Software License ("OSL") v. 3.0 + +This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Open Software License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. \ No newline at end of file diff --git a/app/code/Magento/CardinalCommerce/LICENSE_AFL.txt b/app/code/Magento/CardinalCommerce/LICENSE_AFL.txt new file mode 100644 index 000000000000..f39d641b18a1 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/LICENSE_AFL.txt @@ -0,0 +1,48 @@ + +Academic Free License ("AFL") v. 3.0 + +This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: + +Licensed under the Academic Free License version 3.0 + + 1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: + + 1. to reproduce the Original Work in copies, either alone or as part of a collective work; + + 2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; + + 3. to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; + + 4. to perform the Original Work publicly; and + + 5. to display the Original Work publicly. + + 2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. + + 3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. + + 4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. + + 5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). + + 6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. + + 7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. + + 8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. + + 9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). + + 10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. + + 11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. + + 12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. + + 13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + + 14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + 15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. + + 16. Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/app/code/Magento/CardinalCommerce/Model/Adminhtml/Source/Environment.php b/app/code/Magento/CardinalCommerce/Model/Adminhtml/Source/Environment.php new file mode 100644 index 000000000000..29e2939a0ae5 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/Model/Adminhtml/Source/Environment.php @@ -0,0 +1,36 @@ + self::ENVIRONMENT_SANDBOX, + 'label' => 'Sandbox', + ], + [ + 'value' => self::ENVIRONMENT_PRODUCTION, + 'label' => 'Production' + ] + ]; + } +} diff --git a/app/code/Magento/CardinalCommerce/Model/Checkout/ConfigProvider.php b/app/code/Magento/CardinalCommerce/Model/Checkout/ConfigProvider.php new file mode 100644 index 000000000000..a6794eae9008 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/Model/Checkout/ConfigProvider.php @@ -0,0 +1,53 @@ +requestJwtBuilder = $requestJwtBuilder; + $this->config = $config; + } + + /** + * @inheritdoc + */ + public function getConfig(): array + { + $config['cardinal'] = [ + 'environment' => $this->config->getEnvironment(), + 'requestJWT' => $this->requestJwtBuilder->build() + ]; + + return $config; + } +} diff --git a/app/code/Magento/CardinalCommerce/Model/Config.php b/app/code/Magento/CardinalCommerce/Model/Config.php new file mode 100644 index 000000000000..64c72dae8d59 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/Model/Config.php @@ -0,0 +1,120 @@ +scopeConfig = $scopeConfig; + } + + /** + * Returns CardinalCommerce API Key used for authentication. + * + * A shared secret value between the merchant and Cardinal. This value should never be exposed to the public. + * + * @param int|null $storeId + * @return string + */ + public function getApiKey(?int $storeId = null): string + { + $apiKey = $this->scopeConfig->getValue( + 'three_d_secure/cardinal/api_key', + ScopeInterface::SCOPE_STORE, + $storeId + ); + return $apiKey; + } + + /** + * Returns CardinalCommerce API Identifier. + * + * GUID used to identify the specific API Key. + * + * @param int|null $storeId + * @return string + */ + public function getApiIdentifier(?int $storeId = null): string + { + $apiIdentifier = $this->scopeConfig->getValue( + 'three_d_secure/cardinal/api_identifier', + ScopeInterface::SCOPE_STORE, + $storeId + ); + return $apiIdentifier; + } + + /** + * Returns CardinalCommerce Org Unit Id. + * + * GUID to identify the merchant organization within Cardinal systems. + * + * @param int|null $storeId + * @return string + */ + public function getOrgUnitId(?int $storeId = null): string + { + $orgUnitId = $this->scopeConfig->getValue( + 'three_d_secure/cardinal/org_unit_id', + ScopeInterface::SCOPE_STORE, + $storeId + ); + return $orgUnitId; + } + + /** + * Returns CardinalCommerce environment. + * + * Sandbox or production. + * + * @param int|null $storeId + * @return string + */ + public function getEnvironment(?int $storeId = null): string + { + $environment = $this->scopeConfig->getValue( + 'three_d_secure/cardinal/environment', + ScopeInterface::SCOPE_STORE, + $storeId + ); + return $environment; + } + + /** + * If is "true" extra information about interaction with CardinalCommerce API are written to payment.log file + * + * @param int|null $storeId + * @return bool + */ + public function isDebugModeEnabled(?int $storeId = null): bool + { + $debugModeEnabled = $this->scopeConfig->isSetFlag( + 'three_d_secure/cardinal/debug', + ScopeInterface::SCOPE_STORE, + $storeId + ); + return $debugModeEnabled; + } +} diff --git a/app/code/Magento/CardinalCommerce/Model/JwtManagement.php b/app/code/Magento/CardinalCommerce/Model/JwtManagement.php new file mode 100644 index 000000000000..953af1751fd6 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/Model/JwtManagement.php @@ -0,0 +1,141 @@ +json = $json; + } + + /** + * Converts JWT string into array. + * + * @param string $jwt The JWT + * @param string $key The secret key + * + * @return array + * @throws \InvalidArgumentException + */ + public function decode(string $jwt, string $key): array + { + if (empty($jwt)) { + throw new \InvalidArgumentException('JWT is empty'); + } + + $parts = explode('.', $jwt); + if (count($parts) != 3) { + throw new \InvalidArgumentException('Wrong number of segments in JWT'); + } + + [$headB64, $payloadB64, $signatureB64] = $parts; + + $headerJson = $this->urlSafeB64Decode($headB64); + $header = $this->json->unserialize($headerJson); + + $payloadJson = $this->urlSafeB64Decode($payloadB64); + $payload = $this->json->unserialize($payloadJson); + + $signature = $this->urlSafeB64Decode($signatureB64); + if ($signature !== $this->sign($headB64 . '.' . $payloadB64, $key, $header['alg'])) { + throw new \InvalidArgumentException('JWT signature verification failed'); + } + + return $payload; + } + + /** + * Converts and signs array into a JWT string. + * + * @param array $payload + * @param string $key + * + * @return string + * @throws \InvalidArgumentException + */ + public function encode(array $payload, string $key): string + { + $header = ['typ' => 'JWT', 'alg' => self::SIGN_ALGORITHM]; + + $headerJson = $this->json->serialize($header); + $segments[] = $this->urlSafeB64Encode($headerJson); + + $payloadJson = $this->json->serialize($payload); + $segments[] = $this->urlSafeB64Encode($payloadJson); + + $signature = $this->sign(implode('.', $segments), $key, $header['alg']); + $segments[] = $this->urlSafeB64Encode($signature); + + return implode('.', $segments); + } + /** + * Sign a string with a given key and algorithm. + * + * @param string $msg The message to sign. + * @param string $key The secret key. + * @param string $algorithm The signing algorithm. + * + * @return string + * @throws \InvalidArgumentException + */ + private function sign(string $msg, string $key, string $algorithm): string + { + if ($algorithm !== self::SIGN_ALGORITHM) { + throw new \InvalidArgumentException('Algorithm ' . $algorithm . ' is not supported'); + } + + return hash_hmac('sha256', $msg, $key, true); + } + + /** + * Decode a string with URL-safe Base64. + * + * @param string $input A Base64 encoded string + * + * @return string + */ + private function urlSafeB64Decode(string $input): string + { + // phpcs:ignore Magento2.Functions.DiscouragedFunction + return base64_decode( + str_pad(strtr($input, '-_', '+/'), strlen($input) % 4, '=', STR_PAD_RIGHT) + ); + } + + /** + * Encode a string with URL-safe Base64. + * + * @param string $input The string you want encoded + * + * @return string + */ + private function urlSafeB64Encode(string $input): string + { + return str_replace('=', '', strtr(base64_encode($input), '+/', '-_')); + } +} diff --git a/app/code/Magento/CardinalCommerce/Model/Request/TokenBuilder.php b/app/code/Magento/CardinalCommerce/Model/Request/TokenBuilder.php new file mode 100644 index 000000000000..e045d00dc55f --- /dev/null +++ b/app/code/Magento/CardinalCommerce/Model/Request/TokenBuilder.php @@ -0,0 +1,99 @@ +jwtManagement = $jwtManagement; + $this->checkoutSession = $checkoutSession; + $this->config = $config; + $this->identityGenerator = $identityGenerator; + $this->dateTimeFactory = $dateTimeFactory; + } + + /** + * Builds request JWT. + * + * @return string + */ + public function build() + { + $quote = $this->checkoutSession->getQuote(); + $currentDate = $this->dateTimeFactory->create('now', new \DateTimeZone('UTC')); + $orderDetails = [ + 'OrderDetails' => [ + 'OrderNumber' => $quote->getId(), + 'Amount' => $quote->getBaseGrandTotal() * 100, + 'CurrencyCode' => $quote->getBaseCurrencyCode() + ] + ]; + + $token = [ + 'jti' => $this->identityGenerator->generateId(), + 'iss' => $this->config->getApiIdentifier(), + 'iat' => $currentDate->getTimestamp(), + 'OrgUnitId' => $this->config->getOrgUnitId(), + 'Payload' => $orderDetails, + 'ObjectifyPayload' => true + ]; + + $jwt = $this->jwtManagement->encode($token, $this->config->getApiKey()); + + return $jwt; + } +} diff --git a/app/code/Magento/CardinalCommerce/Model/Response/JwtParser.php b/app/code/Magento/CardinalCommerce/Model/Response/JwtParser.php new file mode 100644 index 000000000000..1865605d50ac --- /dev/null +++ b/app/code/Magento/CardinalCommerce/Model/Response/JwtParser.php @@ -0,0 +1,120 @@ +jwtManagement = $jwtManagement; + $this->config = $config; + $this->tokenValidator = $tokenValidator; + $this->paymentLogger = $paymentLogger; + $this->logger = $logger; + } + + /** + * Returns response JWT payload. + * + * @param string $jwt + * @return array + * @throws LocalizedException + */ + public function execute(string $jwt): array + { + $jwtPayload = ''; + try { + $this->debug(['Cardinal Response JWT:' => $jwt]); + $jwtPayload = $this->jwtManagement->decode($jwt, $this->config->getApiKey()); + $this->debug(['Cardinal Response JWT payload:' => $jwtPayload]); + if (!$this->tokenValidator->validate($jwtPayload)) { + $this->throwException(); + } + } catch (\InvalidArgumentException $e) { + $this->logger->critical($e, ['CardinalCommerce3DSecure']); + $this->throwException(); + } + + return $jwtPayload; + } + + /** + * Log JWT data. + * + * @param array $data + * @return void + */ + private function debug(array $data) + { + if ($this->config->isDebugModeEnabled()) { + $this->paymentLogger->debug($data, ['iss'], true); + } + } + + /** + * Throw general localized exception. + * + * @return void + * @throws LocalizedException + */ + private function throwException() + { + throw new LocalizedException( + __( + 'Authentication Failed. Your card issuer cannot authenticate this card. ' . + 'Please select another card or form of payment to complete your purchase.' + ) + ); + } +} diff --git a/app/code/Magento/CardinalCommerce/Model/Response/JwtPayloadValidator.php b/app/code/Magento/CardinalCommerce/Model/Response/JwtPayloadValidator.php new file mode 100644 index 000000000000..9720b90cad91 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/Model/Response/JwtPayloadValidator.php @@ -0,0 +1,132 @@ +dateTimeFactory = $dateTimeFactory; + } + /** + * @inheritdoc + */ + public function validate(array $jwtPayload): bool + { + $transactionState = $jwtPayload['Payload']['ActionCode'] ?? ''; + $errorNumber = $jwtPayload['Payload']['ErrorNumber'] ?? -1; + $eciFlag = $jwtPayload['Payload']['Payment']['ExtendedData']['ECIFlag'] ?? ''; + $expTimestamp = $jwtPayload['exp'] ?? 0; + + return $this->isValidErrorNumber((int)$errorNumber) + && $this->isValidTransactionState($transactionState) + && $this->isValidEciFlag($eciFlag) + && $this->isNotExpired((int)$expTimestamp); + } + + /** + * Checks application error number. + * + * A non-zero value represents the error encountered while attempting the process the message request. + * + * @param int $errorNumber + * @return bool + */ + private function isValidErrorNumber(int $errorNumber) + { + return $errorNumber === 0; + } + + /** + * Checks if value of transaction state identifier is in allowed list. + * + * @param string $transactionState + * @return bool + */ + private function isValidTransactionState(string $transactionState) + { + return in_array($transactionState, $this->allowedActionCode); + } + + /** + * Checks if value of ECI Flag identifier is in allowed list. + * + * @param string $eciFlag + * @return bool + */ + private function isValidEciFlag(string $eciFlag) + { + return in_array($eciFlag, $this->allowedECIFlag); + } + + /** + * Checks if token is not expired. + * + * @param int $expTimestamp + * @return bool + */ + private function isNotExpired(int $expTimestamp) + { + $currentDate = $this->dateTimeFactory->create('now', new \DateTimeZone('UTC')); + + return $currentDate->getTimestamp() < $expTimestamp; + } +} diff --git a/app/code/Magento/CardinalCommerce/Model/Response/JwtPayloadValidatorInterface.php b/app/code/Magento/CardinalCommerce/Model/Response/JwtPayloadValidatorInterface.php new file mode 100644 index 000000000000..774c0daee6ca --- /dev/null +++ b/app/code/Magento/CardinalCommerce/Model/Response/JwtPayloadValidatorInterface.php @@ -0,0 +1,21 @@ +model = new JwtManagement(new Json()); + } + + /** + * Tests JWT encode. + */ + public function testEncode() + { + $jwt = $this->model->encode($this->getTokenPayload(), self::API_KEY); + + $this->assertEquals( + $this->getValidHS256Jwt(), + $jwt, + 'Generated JWT isn\'t equal to expected' + ); + } + + /** + * Tests JWT decode. + */ + public function testDecode() + { + $tokenPayload = $this->model->decode($this->getValidHS256Jwt(), self::API_KEY); + + $this->assertEquals( + $this->getTokenPayload(), + $tokenPayload, + 'JWT payload isn\'t equal to expected' + ); + } + + /** + * Tests JWT decode. + * + * @param string $jwt + * @param string $errorMessage + * @dataProvider decodeWithExceptionDataProvider + */ + public function testDecodeWithException(string $jwt, string $errorMessage) + { + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage($errorMessage); + + $this->model->decode($jwt, self::API_KEY); + } + + /** + * @return array + */ + public function decodeWithExceptionDataProvider(): array + { + return [ + [ + 'jwt' => '', + 'errorMessage' => 'JWT is empty', + ], + [ + 'jwt' => 'dddd.dddd', + 'errorMessage' => 'Wrong number of segments in JWT', + ], + [ + 'jwt' => 'dddd.dddd.dddd', + 'errorMessage' => 'Unable to unserialize value. Error: Syntax error', + ], + [ + 'jwt' => $this->getHS512Jwt(), + 'errorMessage' => 'Algorithm HS512 is not supported', + ], + [ + 'jwt' => $this->getJwtWithInvalidSignature(), + 'errorMessage' => 'JWT signature verification failed', + ], + ]; + } + + /** + * Returns valid JWT, signed using HS256. + * + * @return string + */ + private function getValidHS256Jwt(): string + { + return 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhNWE1OWJmYi1hYzA2LTRjNWYtYmU1Yy0zNTFiNjR' . + 'hZTYwOGUiLCJpc3MiOiI1NjU2MGEzNThiOTQ2ZTBjODQ1MjM2NWRzIiwiaWF0IjoiMTQ0ODk5Nzg2NSIsIk9yZ1Vua' . + 'XRJZCI6IjU2NTYwN2MxOGI5NDZlMDU4NDYzZHM4ciIsIlBheWxvYWQiOnsiT3JkZXJEZXRhaWxzIjp7Ik9yZGVyTnV' . + 'tYmVyIjoiMTI1IiwiQW1vdW50IjoiMTUwMCIsIkN1cnJlbmN5Q29kZSI6IlVTRCJ9fSwiT2JqZWN0aWZ5UGF5bG9hZ' . + 'CI6dHJ1ZX0.emv9N75JIvyk_gQHMNJYQ2UzmbM5ISBQs1Y222zO1jk'; + } + + /** + * Returns JWT, signed using not supported HS512. + * + * @return string + */ + private function getHS512Jwt(): string + { + return 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJhNWE1OWJmYi1hYzA2LTRjNWYtYmU1Yy0zNTFiNjR' . + 'hZTYwOGUiLCJpc3MiOiI1NjU2MGEzNThiOTQ2ZTBjODQ1MjM2NWRzIiwiaWF0IjoiMTQ0ODk5Nzg2NSIsIk9yZ1V' . + 'uaXRJZCI6IjU2NTYwN2MxOGI5NDZlMDU4NDYzZHM4ciIsIlBheWxvYWQiOnsiT3JkZXJEZXRhaWxzIjp7Ik9yZGV' . + 'yTnVtYmVyIjoiMTI1IiwiQW1vdW50IjoiMTUwMCIsIkN1cnJlbmN5Q29kZSI6IlVTRCJ9fSwiT2JqZWN0aWZ5UGF' . + '5bG9hZCI6dHJ1ZX0.4fwdXfIgUe7bAiHP2bZsxSG-s-wJOyaCmCe9MOQhs-m6LLjRGarguA_0SqZA2EeUaytMO4R' . + 'G84ZEOfbYfS8c1A'; + } + + /** + * Returns JWT with invalid signature. + * + * @return string + */ + private function getJwtWithInvalidSignature(): string + { + return 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhNWE1OWJmYi1hYzA2LTRjNWYtYmU1Yy0zNTFiNjR' . + 'hZTYwOGUiLCJpc3MiOiI1NjU2MGEzNThiOTQ2ZTBjODQ1MjM2NWRzIiwiaWF0IjoiMTQ0ODk5Nzg2NSIsIk9yZ1Vua' . + 'XRJZCI6IjU2NTYwN2MxOGI5NDZlMDU4NDYzZHM4ciIsIlBheWxvYWQiOnsiT3JkZXJEZXRhaWxzIjp7Ik9yZGVyTnV' . + 'tYmVyIjoiMTI1IiwiQW1vdW50IjoiMTUwMCIsIkN1cnJlbmN5Q29kZSI6IlVTRCJ9fSwiT2JqZWN0aWZ5UGF5bG9hZ' . + 'CI6dHJ1ZX0.InvalidSign'; + } + + /** + * Returns token decoded payload. + * + * @return array + */ + private function getTokenPayload(): array + { + return [ + 'jti' => 'a5a59bfb-ac06-4c5f-be5c-351b64ae608e', + 'iss' => '56560a358b946e0c8452365ds', + 'iat' => '1448997865', + 'OrgUnitId' => '565607c18b946e058463ds8r', + 'Payload' => [ + 'OrderDetails' => [ + 'OrderNumber' => '125', + 'Amount' => '1500', + 'CurrencyCode' => 'USD' + ] + ], + 'ObjectifyPayload' => true + ]; + } +} diff --git a/app/code/Magento/CardinalCommerce/Test/Unit/Model/Response/JwtPayloadValidatorTest.php b/app/code/Magento/CardinalCommerce/Test/Unit/Model/Response/JwtPayloadValidatorTest.php new file mode 100644 index 000000000000..cbaae9f777a6 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/Test/Unit/Model/Response/JwtPayloadValidatorTest.php @@ -0,0 +1,202 @@ +model = new JwtPayloadValidator(new DateTimeFactory()); + } + + /** + * Tests successful cases. + * + * @param array $token + * @dataProvider validateSuccessDataProvider + */ + public function testValidateSuccess(array $token) + { + $this->assertTrue( + $this->model->validate($token) + ); + } + + /** + * @case 1. All data are correct, the transaction was successful (Visa, AMEX) + * @case 2. All data are correct, the transaction was successful but requires in no additional action (Visa, AMEX) + * @case 3. All data are correct, the transaction was successful (MasterCard) + * @case 4. All data are correct, the transaction was successful but requires in no additional action (MasterCard) + * + * @return array + */ + public function validateSuccessDataProvider() + { + $expTimestamp = $this->getValidExpTimestamp(); + + return [ + 1 => $this->createToken('05', '0', 'SUCCESS', $expTimestamp), + 2 => $this->createToken('06', '0', 'NOACTION', $expTimestamp), + 3 => $this->createToken('02', '0', 'SUCCESS', $expTimestamp), + 4 => $this->createToken('01', '0', 'NOACTION', $expTimestamp), + ]; + } + + /** + * Case when 3DS authentication is either failed or could not be attempted. + * + * @param array $token + * @dataProvider validationEciFailsDataProvider + */ + public function testValidationEciFails(array $token) + { + $this->assertFalse( + $this->model->validate($token), + 'Negative ECIFlag value validation fails' + ); + } + + /** + * ECIFlag value when 3DS authentication is either failed or could not be attempted. + * + * @case 1. Visa, AMEX, JCB + * @case 2. MasterCard + * @return array + */ + public function validationEciFailsDataProvider(): array + { + $expTimestamp = $this->getValidExpTimestamp(); + return [ + 1 => $this->createToken('07', '0', 'NOACTION', $expTimestamp), + 2 => $this->createToken('00', '0', 'NOACTION', $expTimestamp), + ]; + } + + /** + * Case when resulting state of the transaction is negative. + * + * @param array $token + * @dataProvider validationActionCodeFailsDataProvider + */ + public function testValidationActionCodeFails(array $token) + { + $this->assertFalse( + $this->model->validate($token), + 'Negative ActionCode value validation fails' + ); + } + + /** + * ECIFlag value when 3DS authentication is either failed or could not be attempted. + * + * @return array + */ + public function validationActionCodeFailsDataProvider(): array + { + $expTimestamp = $this->getValidExpTimestamp(); + return [ + $this->createToken('05', '0', 'FAILURE', $expTimestamp), + $this->createToken('05', '0', 'ERROR', $expTimestamp), + ]; + } + + /** + * Case when ErrorNumber not equal 0. + */ + public function testValidationErrorNumberFails() + { + $notAllowedErrorNumber = '10'; + $expTimestamp = $this->getValidExpTimestamp(); + $token = $this->createToken('05', $notAllowedErrorNumber, 'SUCCESS', $expTimestamp); + $this->assertFalse( + $this->model->validate($token), + 'Negative ErrorNumber value validation fails' + ); + } + + /** + * Case when ErrorNumber not equal 0. + */ + public function testValidationExpirationFails() + { + $expTimestamp = $this->getOutdatedExpTimestamp(); + $token = $this->createToken('05', '0', 'SUCCESS', $expTimestamp); + $this->assertFalse( + $this->model->validate($token), + 'Expiration date validation fails' + ); + } + + /** + * Creates a token. + * + * @param string $eciFlag + * @param string $errorNumber + * @param string $actionCode + * @param int $expTimestamp + * + * @return array + */ + private function createToken(string $eciFlag, string $errorNumber, string $actionCode, int $expTimestamp): array + { + return [ + [ + 'Payload' => [ + 'Payment' => [ + 'ExtendedData' => [ + 'ECIFlag' => $eciFlag, + ], + ], + 'ActionCode' => $actionCode, + 'ErrorNumber' => $errorNumber + ], + 'exp' => $expTimestamp + ] + ]; + } + + /** + * Returns valid expiration timestamp. + * + * @return int + */ + private function getValidExpTimestamp() + { + $dateTimeFactory = new DateTimeFactory(); + $currentDate = $dateTimeFactory->create('now', new \DateTimeZone('UTC')); + + return $currentDate->getTimestamp() + 3600; + } + + /** + * Returns outdated expiration timestamp. + * + * @return int + */ + private function getOutdatedExpTimestamp() + { + $dateTimeFactory = new DateTimeFactory(); + $currentDate = $dateTimeFactory->create('now', new \DateTimeZone('UTC')); + + return $currentDate->getTimestamp() - 3600; + } +} diff --git a/app/code/Magento/CardinalCommerce/composer.json b/app/code/Magento/CardinalCommerce/composer.json new file mode 100644 index 000000000000..3e839228dc79 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/composer.json @@ -0,0 +1,27 @@ +{ + "name": "magento/module-cardinal-commerce", + "description": "Provides a possibility to enable 3-D Secure 2.0 support for payment methods.", + "config": { + "sort-packages": true + }, + "require": { + "php": "~7.1.3||~7.2.0", + "magento/framework": "*", + "magento/module-checkout": "*", + "magento/module-payment": "*", + "magento/module-store": "*" + }, + "type": "magento2-module", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CardinalCommerce\\": "" + } + } +} diff --git a/app/code/Magento/CardinalCommerce/etc/adminhtml/system.xml b/app/code/Magento/CardinalCommerce/etc/adminhtml/system.xml new file mode 100644 index 000000000000..4fa40436d4a9 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/etc/adminhtml/system.xml @@ -0,0 +1,48 @@ + + + + +
    + + sales + Magento_Sales::three_d_secure + + + + support@cardinalcommerce.com.]]> + + + + Magento\CardinalCommerce\Model\Adminhtml\Source\Environment + three_d_secure/cardinal/environment + + + + three_d_secure/cardinal/org_unit_id + Magento\Config\Model\Config\Backend\Encrypted + + + + three_d_secure/cardinal/api_key + Magento\Config\Model\Config\Backend\Encrypted + + + + three_d_secure/cardinal/api_identifier + Magento\Config\Model\Config\Backend\Encrypted + + + + Magento\Config\Model\Config\Source\Yesno + three_d_secure/cardinal/debug + + + +
    +
    +
    diff --git a/app/code/Magento/CardinalCommerce/etc/config.xml b/app/code/Magento/CardinalCommerce/etc/config.xml new file mode 100644 index 000000000000..60b111a59cbc --- /dev/null +++ b/app/code/Magento/CardinalCommerce/etc/config.xml @@ -0,0 +1,20 @@ + + + + + + + production + + + + 0 + + + + diff --git a/app/code/Magento/CardinalCommerce/etc/di.xml b/app/code/Magento/CardinalCommerce/etc/di.xml new file mode 100644 index 000000000000..ffd3c50ef504 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/etc/di.xml @@ -0,0 +1,10 @@ + + + + + diff --git a/app/code/Magento/CardinalCommerce/etc/frontend/di.xml b/app/code/Magento/CardinalCommerce/etc/frontend/di.xml new file mode 100644 index 000000000000..e3913291aa68 --- /dev/null +++ b/app/code/Magento/CardinalCommerce/etc/frontend/di.xml @@ -0,0 +1,18 @@ + + + + + + + + Magento\CardinalCommerce\Model\Checkout\ConfigProvider + + + + + diff --git a/app/code/Magento/CardinalCommerce/etc/module.xml b/app/code/Magento/CardinalCommerce/etc/module.xml new file mode 100644 index 000000000000..8605e81d3fda --- /dev/null +++ b/app/code/Magento/CardinalCommerce/etc/module.xml @@ -0,0 +1,15 @@ + + + + + + + + + + diff --git a/app/code/Magento/CardinalCommerce/registration.php b/app/code/Magento/CardinalCommerce/registration.php new file mode 100644 index 000000000000..26fb168fb0ae --- /dev/null +++ b/app/code/Magento/CardinalCommerce/registration.php @@ -0,0 +1,9 @@ +getUrl('catalog/category/jsonTree'); + return $this->getUrl('catalog/category/tree'); } /** diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php index 238af3dddf32..7e43f2fc064a 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php @@ -8,7 +8,7 @@ use Magento\Store\Model\Store; /** - * Grid. + * Catalog product grid * * @api * @since 100.0.2 @@ -87,9 +87,7 @@ public function __construct( } /** - * Construct. - * - * @return void + * @inheritDoc */ protected function _construct() { @@ -106,6 +104,7 @@ protected function _construct() * Get store. * * @return Store + * @throws \Magento\Framework\Exception\NoSuchEntityException */ protected function _getStore() { @@ -115,8 +114,6 @@ protected function _getStore() /** * @inheritDoc - * - * @return $this */ protected function _prepareCollection() { @@ -195,9 +192,6 @@ protected function _prepareCollection() /** * @inheritDoc - * - * @param \Magento\Backend\Block\Widget\Grid\Column $column - * @return $this */ protected function _addColumnFilterToCollection($column) { @@ -218,9 +212,8 @@ protected function _addColumnFilterToCollection($column) /** * @inheritDoc - * - * @return $this * @SuppressWarnings(PHPMD.ExcessiveMethodLength) + * @throws \Exception */ protected function _prepareColumns() { @@ -375,18 +368,11 @@ protected function _prepareColumns() ] ); - $block = $this->getLayout()->getBlock('grid.bottom.links'); - if ($block) { - $this->setChild('grid.bottom.links', $block); - } - return parent::_prepareColumns(); } /** * @inheritDoc - * - * @return $this */ protected function _prepareMassaction() { @@ -438,9 +424,7 @@ protected function _prepareMassaction() } /** - * Get grid Url. - * - * @return string + * @inheritDoc */ public function getGridUrl() { @@ -448,10 +432,7 @@ public function getGridUrl() } /** - * Get row url. - * - * @param \Magento\Catalog\Model\Product|\Magento\Framework\DataObject $row - * @return string + * @inheritDoc */ public function getRowUrl($row) { diff --git a/app/code/Magento/Catalog/Helper/Product.php b/app/code/Magento/Catalog/Helper/Product.php index c0d5d1d9e450..73b5e4af78d4 100644 --- a/app/code/Magento/Catalog/Helper/Product.php +++ b/app/code/Magento/Catalog/Helper/Product.php @@ -14,6 +14,7 @@ /** * Catalog category helper * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @SuppressWarnings(PHPMD.CookieAndSessionMisuse) */ class Product extends \Magento\Framework\Url\Helper\Data { @@ -268,6 +269,8 @@ public function getThumbnailUrl($product) } /** + * Retrieve email to friend url + * * @param ModelProduct $product * @return string */ @@ -282,6 +285,8 @@ public function getEmailToFriendUrl($product) } /** + * Get statuses + * * @return array */ public function getStatuses() @@ -476,6 +481,7 @@ public function initProduct($productId, $controller, $params = null) /** * Prepares product options by buyRequest: retrieves values and assigns them as default. + * * Also parses and adds product management related values - e.g. qty * * @param ModelProduct $product @@ -493,6 +499,7 @@ public function prepareProductOptions($product, $buyRequest) /** * Process $buyRequest and sets its options before saving configuration to some product item. + * * This method is used to attach additional parameters to processed buyRequest. * * $params holds parameters of what operation must be performed: @@ -541,8 +548,6 @@ public function addParamsToBuyRequest($buyRequest, $params) /** * Set flag that shows if Magento has to check product to be saleable (enabled and/or inStock) * - * For instance, during order creation in the backend admin has ability to add any products to order - * * @param bool $skipSaleableCheck * @return Product */ diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/AbstractAction.php b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/AbstractAction.php index 3b63a90d4c3a..ebad10e19762 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/AbstractAction.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/AbstractAction.php @@ -169,8 +169,7 @@ protected function _reindex($storeId, array $changedIds = []) } /** - * Retrieve Product Type Instances - * as key - type code, value - instance model + * Retrieve Product Type Instances as key - type code, value - instance model * * @return array */ @@ -213,17 +212,19 @@ protected function _updateRelationProducts($storeId, $productIds = null) ) { $columns = $this->_productIndexerHelper->getFlatColumns(); $fieldList = array_keys($columns); - unset($columns['entity_id']); - unset($columns['child_id']); - unset($columns['is_child']); + unset( + $columns['entity_id'], + $columns['child_id'], + $columns['is_child'] + ); /** @var $select \Magento\Framework\DB\Select */ $select = $this->_connection->select()->from( ['t' => $this->_productIndexerHelper->getTable($relation->getTable())], - [$relation->getChildFieldName(), new \Zend_Db_Expr('1')] + ['entity_table.entity_id', $relation->getChildFieldName(), new \Zend_Db_Expr('1')] )->join( ['entity_table' => $this->_connection->getTableName('catalog_product_entity')], - 'entity_table.' . $metadata->getLinkField() . 't.' . $relation->getParentFieldName(), - [$relation->getParentFieldName() => 'entity_table.entity_id'] + "entity_table.{$metadata->getLinkField()} = t.{$relation->getParentFieldName()}", + [] )->join( ['e' => $this->_productIndexerHelper->getFlatTableName($storeId)], "e.entity_id = t.{$relation->getChildFieldName()}", @@ -232,10 +233,10 @@ protected function _updateRelationProducts($storeId, $productIds = null) if ($relation->getWhere() !== null) { $select->where($relation->getWhere()); } - if ($productIds !== null) { + if (!empty($productIds)) { $cond = [ $this->_connection->quoteInto("{$relation->getChildFieldName()} IN(?)", $productIds), - $this->_connection->quoteInto("entity_table.entity_id IN(?)", $productIds), + $this->_connection->quoteInto('entity_table.entity_id IN(?)', $productIds), ]; $select->where(implode(' OR ', $cond)); @@ -273,15 +274,11 @@ protected function _cleanRelationProducts($storeId) $select = $this->_connection->select()->distinct( true )->from( - ['t' => $this->_productIndexerHelper->getTable($relation->getTable())], - [] - )->join( - ['entity_table' => $this->_connection->getTableName('catalog_product_entity')], - 'entity_table.' . $metadata->getLinkField() . 't.' . $relation->getParentFieldName(), - [$relation->getParentFieldName() => 'entity_table.entity_id'] + $this->_productIndexerHelper->getTable($relation->getTable()), + $relation->getParentFieldName() ); $joinLeftCond = [ - "e.entity_id = entity_table.entity_id", + "e.{$metadata->getLinkField()} = t.{$relation->getParentFieldName()}", "e.child_id = t.{$relation->getChildFieldName()}", ]; if ($relation->getWhere() !== null) { @@ -302,7 +299,7 @@ protected function _cleanRelationProducts($storeId) 'e.is_child = ?', 1 )->where( - 'e.entity_id IN(?)', + "e.{$metadata->getLinkField()} IN(?)", $entitySelect )->where( "t.{$relation->getChildFieldName()} IS NULL" @@ -335,6 +332,8 @@ protected function _isFlatTableExists($storeId) } /** + * Get Metadata Pool + * * @return \Magento\Framework\EntityManager\MetadataPool */ private function getMetadataPool() diff --git a/app/code/Magento/Catalog/Model/Product/Url.php b/app/code/Magento/Catalog/Model/Product/Url.php index f3ac9f55d1ae..2760b0f9fddb 100644 --- a/app/code/Magento/Catalog/Model/Product/Url.php +++ b/app/code/Magento/Catalog/Model/Product/Url.php @@ -162,11 +162,8 @@ public function getUrl(\Magento\Catalog\Model\Product $product, $params = []) \Magento\Store\Model\ScopeInterface::SCOPE_STORE ); - if ($categoryId) { - $filterData[UrlRewrite::METADATA]['category_id'] = $categoryId; - } elseif (!$useCategories) { - $filterData[UrlRewrite::METADATA]['category_id'] = ''; - } + $filterData[UrlRewrite::METADATA]['category_id'] + = $categoryId && $useCategories ? $categoryId : ''; $rewrite = $this->urlFinder->findOneByData($filterData); diff --git a/app/code/Magento/Catalog/Model/ProductRepository/MediaGalleryProcessor.php b/app/code/Magento/Catalog/Model/ProductRepository/MediaGalleryProcessor.php index 70311954f63e..fdcf2956dbde 100644 --- a/app/code/Magento/Catalog/Model/ProductRepository/MediaGalleryProcessor.php +++ b/app/code/Magento/Catalog/Model/ProductRepository/MediaGalleryProcessor.php @@ -231,7 +231,7 @@ private function processEntries(ProductInterface $product, array $newEntries, ar private function processMediaAttributes(ProductInterface $product, array $images): void { foreach ($images as $image) { - if (!isset($image['removed']) && !empty($image['types'])) { + if (empty($image['removed']) && !empty($image['types'])) { $this->processor->setMediaAttribute($product, $image['types'], $image['file']); } } diff --git a/app/code/Magento/Catalog/Plugin/Block/Topmenu.php b/app/code/Magento/Catalog/Plugin/Block/Topmenu.php index 44f9193ab401..35ce327c74ea 100644 --- a/app/code/Magento/Catalog/Plugin/Block/Topmenu.php +++ b/app/code/Magento/Catalog/Plugin/Block/Topmenu.php @@ -14,6 +14,11 @@ */ class Topmenu { + /** + * Cache tag for menu block + */ + private $cacheTag = "top_menu"; + /** * Catalog category * @@ -119,6 +124,7 @@ public function beforeGetIdentities(\Magento\Theme\Block\Html\Topmenu $subject) $subject->addIdentity(Category::CACHE_TAG); $rootId = $this->storeManager->getStore()->getRootCategoryId(); $storeId = $this->storeManager->getStore()->getId(); + $currentCategory = $this->getCurrentCategory(); /** @var \Magento\Catalog\Model\ResourceModel\Category\Collection $collection */ $collection = $this->getCategoryTree($storeId, $rootId); $mapping = [$rootId => $subject->getMenu()]; // use nodes stack to avoid recursion @@ -128,6 +134,9 @@ public function beforeGetIdentities(\Magento\Theme\Block\Html\Topmenu $subject) } $subject->addIdentity(Category::CACHE_TAG . '_' . $category->getId()); } + if ($currentCategory) { + $subject->addIdentity($this->cacheTag . '_' . Category::CACHE_TAG . '_' . $currentCategory->getId()); + } } /** diff --git a/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductActionGroup.xml b/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductActionGroup.xml index 992d7fe644f2..9deab90b9045 100644 --- a/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductActionGroup.xml +++ b/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductActionGroup.xml @@ -33,6 +33,7 @@ + @@ -441,6 +442,15 @@ + + + + + + + + + @@ -489,4 +499,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductAttributeActionGroup.xml b/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductAttributeActionGroup.xml index 86158aba68f8..ed0c4387cded 100644 --- a/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductAttributeActionGroup.xml +++ b/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductAttributeActionGroup.xml @@ -43,6 +43,13 @@ + + + + + + + diff --git a/app/code/Magento/Catalog/Test/Mftf/ActionGroup/CustomOptionsActionGroup.xml b/app/code/Magento/Catalog/Test/Mftf/ActionGroup/CustomOptionsActionGroup.xml index 838ac7d288ea..7723f32d1409 100644 --- a/app/code/Magento/Catalog/Test/Mftf/ActionGroup/CustomOptionsActionGroup.xml +++ b/app/code/Magento/Catalog/Test/Mftf/ActionGroup/CustomOptionsActionGroup.xml @@ -47,26 +47,26 @@ - - - - + + + + - + - - - - + + + + @@ -99,4 +99,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml b/app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml index 33dab7ee8fd7..0b6a1e7d0443 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml @@ -506,6 +506,12 @@ ProductOptionField ProductOptionArea + + + ProductOptionField + ProductOptionArea + ProductOptionFile + api-virtual-product virtual diff --git a/app/code/Magento/Catalog/Test/Mftf/Data/ProductOptionData.xml b/app/code/Magento/Catalog/Test/Mftf/Data/ProductOptionData.xml index d1b0e1e53aea..720087917aad 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Data/ProductOptionData.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Data/ProductOptionData.xml @@ -176,4 +176,10 @@ true ProductOptionPercentPriceValueDropdown + + fifth option + + + fourth option + diff --git a/app/code/Magento/Catalog/Test/Mftf/Section/AdminCategorySidebarTreeSection.xml b/app/code/Magento/Catalog/Test/Mftf/Section/AdminCategorySidebarTreeSection.xml index fba28b3feaff..ce7d962f3ec7 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Section/AdminCategorySidebarTreeSection.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Section/AdminCategorySidebarTreeSection.xml @@ -13,6 +13,8 @@ + + diff --git a/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductCustomizableOptionsSection.xml b/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductCustomizableOptionsSection.xml index e9f0de14da34..a7ab0c3d8e40 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductCustomizableOptionsSection.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductCustomizableOptionsSection.xml @@ -19,10 +19,14 @@ + + + + @@ -32,8 +36,13 @@ + + + + + diff --git a/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductFormAttributeSection.xml b/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductFormAttributeSection.xml index a2a349ed6761..b0aee1795dc3 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductFormAttributeSection.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductFormAttributeSection.xml @@ -25,6 +25,7 @@
    +
    diff --git a/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductFormSection.xml b/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductFormSection.xml index 7b1510b63033..84dd83ed4ef2 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductFormSection.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Section/AdminProductFormSection.xml @@ -72,10 +72,12 @@ +
    +
    @@ -214,4 +216,4 @@
    - \ No newline at end of file + diff --git a/app/code/Magento/Catalog/Test/Mftf/Test/AdminImportCustomizableOptionToProductWithSKUTest.xml b/app/code/Magento/Catalog/Test/Mftf/Test/AdminImportCustomizableOptionToProductWithSKUTest.xml index 877c3ecab7ed..b1f00a2f51a9 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Test/AdminImportCustomizableOptionToProductWithSKUTest.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Test/AdminImportCustomizableOptionToProductWithSKUTest.xml @@ -52,11 +52,9 @@ - - diff --git a/app/code/Magento/Catalog/Test/Mftf/Test/AdminRemoveCustomOptionsFromProductTest.xml b/app/code/Magento/Catalog/Test/Mftf/Test/AdminRemoveCustomOptionsFromProductTest.xml new file mode 100644 index 000000000000..b5f212d1144b --- /dev/null +++ b/app/code/Magento/Catalog/Test/Mftf/Test/AdminRemoveCustomOptionsFromProductTest.xml @@ -0,0 +1,92 @@ + + + + + + + + + + <description value="Remove custom options from product"/> + <severity value="MAJOR"/> + <testCaseId value="MC-11512"/> + <group value="catalog"/> + </annotations> + <before> + <createData entity="SimpleProduct2" stepKey="createProduct"/> + <updateData entity="ProductWithTextFieldAndAreaAndFileOptions" createDataKey="createProduct" stepKey="updateProductWithOptions"> + <requiredEntity createDataKey="createProduct"/> + </updateData> + </before> + <after> + <deleteData createDataKey="createProduct" stepKey="deleteProductWithOptions"/> + <amOnPage url="{{AdminProductIndexPage.url}}" stepKey="navigateToProductIndex"/> + <actionGroup ref="clearFiltersAdminDataGrid" stepKey="clearProductFilter"/> + <actionGroup ref="logout" stepKey="logout"/> + </after> + <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> + <!-- Edit Simple Product --> + <amOnPage url="{{AdminProductEditPage.url($$createProduct.id$$)}}" stepKey="goToProduct"/> + <!-- See 3 options are present --> + <actionGroup ref="AdminAssertProductCustomOptionVisible" stepKey="assertCustomOptionsField"> + <argument name="option" value="ProductOptionField"/> + </actionGroup> + <actionGroup ref="AdminAssertProductCustomOptionVisible" stepKey="assertCustomOptionsArea"> + <argument name="option" value="ProductOptionArea"/> + </actionGroup> + <actionGroup ref="AdminAssertProductCustomOptionVisible" stepKey="assertCustomOptionsFile"> + <argument name="option" value="ProductOptionFile"/> + </actionGroup> + <!-- Click delete "Area" and "File" options --> + <actionGroup ref="AdminDeleteProductCustomOption" stepKey="deleteCustomOptionArea"> + <argument name="option" value="ProductOptionArea"/> + </actionGroup> + <actionGroup ref="AdminDeleteProductCustomOption" stepKey="deleteCustomOptionFile"> + <argument name="option" value="ProductOptionFile"/> + </actionGroup> + <actionGroup ref="AdminAssertProductCustomOptionVisible" stepKey="assertVisibleCustomOptionField"> + <argument name="option" value="ProductOptionField"/> + </actionGroup> + <actionGroup ref="saveProductForm" stepKey="saveProduct"/> + <!-- See only "Field option" left Also we shouldn't see any other options --> + <actionGroup ref="AdminAssertProductCustomOptionVisible" stepKey="assertVisibleSecondCustomOptionField"> + <argument name="option" value="ProductOptionField"/> + </actionGroup> + <actionGroup ref="AdminAssertProductHasNoCustomOption" stepKey="assertNoCustomOptionsFile"> + <argument name="option" value="ProductOptionFileSecond"/> + </actionGroup> + <actionGroup ref="AdminAssertProductHasNoCustomOption" stepKey="assertNoCustomOptionsField"> + <argument name="option" value="ProductOptionFieldSecond"/> + </actionGroup> + <!-- Click Add option "File" --> + <actionGroup ref="AddProductCustomOptionFile" stepKey="createAddOptionFile"> + <argument name="option" value="ProductOptionFileSecond"/> + </actionGroup> + <!-- Click Add option "Field" --> + <actionGroup ref="AddProductCustomOptionField" stepKey="createCustomOptionField"> + <argument name="option" value="ProductOptionFieldSecond"/> + </actionGroup> + <actionGroup ref="saveProductForm" stepKey="saveProductWithNewlyAddedOptions"/> + <!-- See 3 options are present --> + <actionGroup ref="AdminAssertProductCustomOptionVisible" stepKey="assertPresentCustomOptionField"> + <argument name="option" value="ProductOptionField"/> + </actionGroup> + <actionGroup ref="AdminAssertProductCustomOptionVisible" stepKey="assertPresenceOfFileOption"> + <argument name="option" value="ProductOptionFileSecond"/> + </actionGroup> + <actionGroup ref="AdminAssertProductCustomOptionVisible" stepKey="assertPresenceOfFieldOption"> + <argument name="option" value="ProductOptionFieldSecond"/> + </actionGroup> + <!-- Delete All options and See no more options present on the page --> + <actionGroup ref="AdminDeleteAllProductCustomOptions" stepKey="deleteAllCustomOptions"/> + <!-- Product successfully saved and it has no options --> + <actionGroup ref="saveProductForm" stepKey="saveProductWithoutCustomOptions"/> + <actionGroup ref="AdminAssertProductHasNoCustomOptions" stepKey="assertNoCustomOptions"/> + </test> +</tests> diff --git a/app/code/Magento/Catalog/Test/Mftf/Test/AdminRestrictedUserAddCategoryFromProductPageTest.xml b/app/code/Magento/Catalog/Test/Mftf/Test/AdminRestrictedUserAddCategoryFromProductPageTest.xml new file mode 100644 index 000000000000..cd401b7a4651 --- /dev/null +++ b/app/code/Magento/Catalog/Test/Mftf/Test/AdminRestrictedUserAddCategoryFromProductPageTest.xml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> + +<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> + <test name="AdminRestrictedUserAddCategoryFromProductPageTest"> + <annotations> + <features value="Catalog"/> + <title value="Adding new category from product page by restricted user"/> + <description value="Adding new category from product page by restricted user"/> + <severity value="MAJOR"/> + <testCaseId value="MC-17229"/> + <useCaseId value="MAGETWO-69893"/> + <group value="catalog"/> + </annotations> + <before> + <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> + <!--Create category--> + <comment userInput="Create category" stepKey="commentCreateCategory"/> + <createData entity="SimpleSubCategory" stepKey="createCategory"/> + </before> + <after> + <!--Delete created product--> + <comment userInput="Delete created product" stepKey="commentDeleteProduct"/> + <actionGroup ref="deleteProductBySku" stepKey="deleteProduct"> + <argument name="sku" value="{{_defaultProduct.sku}}"/> + </actionGroup> + <actionGroup ref="resetProductGridToDefaultView" stepKey="resetFiltersIfExist"/> + <actionGroup ref="logout" stepKey="logoutOfUser"/> + <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> + <!--Delete created data--> + <comment userInput="Delete created data" stepKey="commentDeleteCreatedData"/> + <amOnPage url="{{AdminRolesPage.url}}" stepKey="navigateToUserRoleGrid" /> + <waitForPageLoad stepKey="waitForRolesGridLoad" /> + <actionGroup ref="AdminDeleteRoleActionGroup" stepKey="deleteUserRole"> + <argument name="role" value="adminRole"/> + </actionGroup> + <amOnPage url="{{AdminUsersPage.url}}" stepKey="goToAllUsersPage"/> + <waitForPageLoad stepKey="waitForUsersGridLoad" /> + <actionGroup ref="AdminDeleteNewUserActionGroup" stepKey="deleteUser"> + <argument name="userName" value="{{admin2.username}}"/> + </actionGroup> + <deleteData createDataKey="createCategory" stepKey="deleteCategory"/> + <actionGroup ref="logout" stepKey="logoutOfAdmin"/> + </after> + <!--Create user role--> + <comment userInput="Create user role" stepKey="commentCreateUserRole"/> + <actionGroup ref="AdminFillUserRoleRequiredData" stepKey="fillUserRoleRequiredData"> + <argument name="User" value="adminRole"/> + <argument name="restrictedRole" value="Stores"/> + </actionGroup> + <click selector="{{AdminEditRoleInfoSection.roleResourcesTab}}" stepKey="clickRoleResourcesTab" /> + <actionGroup ref="AdminAddRestrictedRole" stepKey="addRestrictedRoleStores"> + <argument name="User" value="adminRole"/> + <argument name="restrictedRole" value="Stores"/> + </actionGroup> + <actionGroup ref="AdminAddRestrictedRole" stepKey="addRestrictedRoleProducts"> + <argument name="User" value="adminRole"/> + <argument name="restrictedRole" value="Products"/> + </actionGroup> + <click selector="{{AdminEditRoleInfoSection.saveButton}}" stepKey="clickSaveRoleButton" /> + <see userInput="You saved the role." stepKey="seeUserRoleSavedMessage"/> + <!--Create user and assign role to it--> + <comment userInput="Create user and assign role to it" stepKey="commentCreateUser"/> + <actionGroup ref="AdminCreateUserActionGroup" stepKey="createAdminUser"> + <argument name="role" value="adminRole"/> + <argument name="User" value="admin2"/> + </actionGroup> + <!--Log out of admin and login with newly created user--> + <comment userInput="Log out of admin and login with newly created user" stepKey="commentLoginWithNewUser"/> + <actionGroup ref="logout" stepKey="logoutOfAdmin"/> + <actionGroup ref="LoginAsAdmin" stepKey="loginAsNewUser"> + <argument name="adminUser" value="admin2"/> + </actionGroup> + <!--Go to create product page--> + <comment userInput="Go to create product page" stepKey="commentGoCreateProductPage"/> + <actionGroup ref="goToCreateProductPage" stepKey="goToCreateProductPage"/> + <dontSeeElement selector="{{AdminProductFormSection.newCategoryButton}}" stepKey="dontSeeNewCategoryButton"/> + <!--Fill product data and assign to category--> + <comment userInput="Fill product data and assign to category" stepKey="commentFillProductData"/> + <actionGroup ref="fillMainProductForm" stepKey="fillMainProductForm"/> + <actionGroup ref="SetCategoryByName" stepKey="addCategoryToProduct"> + <argument name="categoryName" value="$$createCategory.name$$"/> + </actionGroup> + <actionGroup ref="saveProductForm" stepKey="saveProduct"/> + <!--Assert that category exist in field--> + <comment userInput="Assert that category exist in field" stepKey="commentAssertion"/> + <grabTextFrom selector="{{AdminProductFormSection.categoriesDropdown}}" stepKey="grabCategoryName"/> + <assertContains stepKey="assertThatCategory"> + <expectedResult type="variable">$$createCategory.name$$</expectedResult> + <actualResult type="variable">$grabCategoryName</actualResult> + </assertContains> + <!--Remove the category from the product and assert that it removed--> + <comment userInput="Remove the category from the product and assert that it removed" stepKey="assertCategoryRemoved"/> + <actionGroup ref="removeCategoryFromProduct" stepKey="removeCategoryFromProduct"> + <argument name="categoryName" value="$$createCategory.name$$"/> + </actionGroup> + <actionGroup ref="saveProductForm" stepKey="saveProductAfterRemovingCategory"/> + <grabTextFrom selector="{{AdminProductFormSection.categoriesDropdown}}" stepKey="grabCategoryFieldContent"/> + <assertNotContains stepKey="assertThatCategoryRemoved"> + <expectedResult type="variable">$$createCategory.name$$</expectedResult> + <actualResult type="variable">$grabCategoryFieldContent</actualResult> + </assertNotContains> + </test> +</tests> diff --git a/app/code/Magento/Catalog/Test/Mftf/Test/CheckCurrentCategoryIsHighlightedAndProductsDisplayed.xml b/app/code/Magento/Catalog/Test/Mftf/Test/CheckCurrentCategoryIsHighlightedAndProductsDisplayed.xml new file mode 100644 index 000000000000..d2fe983cb82e --- /dev/null +++ b/app/code/Magento/Catalog/Test/Mftf/Test/CheckCurrentCategoryIsHighlightedAndProductsDisplayed.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> + +<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> + <test name="CheckCurrentCategoryIsHighlightedAndProductsDisplayed"> + <annotations> + <features value="Catalog"/> + <title value="Сheck that current category is highlighted and all products displayed for it"/> + <description value="Сheck that current category is highlighted and all products displayed for it"/> + <severity value="MAJOR"/> + <testCaseId value="MAGETWO-99028"/> + <useCaseId value="MAGETWO-98748"/> + <group value="Catalog"/> + </annotations> + <before> + <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> + <createData entity="SimpleSubCategory" stepKey="category1"/> + <createData entity="SimpleSubCategory" stepKey="category2"/> + <createData entity="SimpleSubCategory" stepKey="category3"/> + <createData entity="SimpleSubCategory" stepKey="category4"/> + <createData entity="SimpleProduct" stepKey="product1"> + <requiredEntity createDataKey="category1"/> + </createData> + <createData entity="SimpleProduct" stepKey="product2"> + <requiredEntity createDataKey="category1"/> + </createData> + </before> + <after> + <deleteData createDataKey="product1" stepKey="deleteProduct1"/> + <deleteData createDataKey="product2" stepKey="deleteProduct2"/> + <deleteData createDataKey="category1" stepKey="deleteCategory1"/> + <deleteData createDataKey="category2" stepKey="deleteCategory2"/> + <deleteData createDataKey="category3" stepKey="deleteCategory3"/> + <deleteData createDataKey="category4" stepKey="deleteCategory4"/> + <actionGroup ref="logout" stepKey="logout"/> + </after> + <!--Open Storefront home page--> + <comment userInput="Open Storefront home page" stepKey="openStorefrontHomePage"/> + <amOnPage url="{{StorefrontHomePage.url}}" stepKey="goToStorefrontHomePage"/> + <waitForPageLoad stepKey="waitForSimpleProductPage"/> + <!--Click on first category--> + <comment userInput="Click on first category" stepKey="openFirstCategoryPage"/> + <click selector="{{AdminCategorySidebarTreeSection.categoryInTree($$category1.name$$)}}" stepKey="clickCategory1Name"/> + <waitForPageLoad stepKey="waitForCategory1Page"/> + <!--Check if current category is highlighted and the others are not--> + <comment userInput="Check if current category is highlighted and the others are not" stepKey="checkCateg1NameIsHighlighted"/> + <grabAttributeFrom selector="{{AdminCategorySidebarTreeSection.categoryHighlighted($$category1.name$$)}}" userInput="class" stepKey="grabCategory1Class"/> + <assertContains expectedType="string" expected="active" actual="$grabCategory1Class" stepKey="assertCategory1IsHighlighted"/> + <executeJS function="return document.querySelectorAll('{{AdminCategorySidebarTreeSection.categoryNotHighlighted}}').length" stepKey="highlightedAmount"/> + <assertEquals expectedType="int" expected="1" actual="$highlightedAmount" stepKey="assertRestCategories1IsNotHighlighted"/> + <!--See products in the category page--> + <comment userInput="See products in the category page" stepKey="seeProductsInCategoryPage"/> + <seeElement selector="{{StorefrontCategoryMainSection.specifiedProductItemInfo($product1.name$)}}" stepKey="seeProduct1InCategoryPage"/> + <seeElement selector="{{StorefrontCategoryMainSection.specifiedProductItemInfo($product2.name$)}}" stepKey="seeProduct2InCategoryPage"/> + <!--Click on second category--> + <comment userInput="Click on second category" stepKey="openSecondCategoryPage"/> + <click selector="{{AdminCategorySidebarTreeSection.categoryInTree($$category2.name$$)}}" stepKey="clickCategory2Name"/> + <waitForPageLoad stepKey="waitForCategory2Page"/> + <!--Check if current category is highlighted and the others are not--> + <comment userInput="Check if current category is highlighted and the others are not" stepKey="checkCateg2NameIsHighlighted"/> + <grabAttributeFrom selector="{{AdminCategorySidebarTreeSection.categoryHighlighted($$category2.name$$)}}" userInput="class" stepKey="grabCategory2Class"/> + <assertContains expectedType="string" expected="active" actual="$grabCategory2Class" stepKey="assertCategory2IsHighlighted"/> + <executeJS function="return document.querySelectorAll('{{AdminCategorySidebarTreeSection.categoryNotHighlighted}}').length" stepKey="highlightedAmount2"/> + <assertEquals expectedType="int" expected="1" actual="$highlightedAmount2" stepKey="assertRestCategories1IsNotHighlighted2"/> + </test> +</tests> diff --git a/app/code/Magento/Catalog/Test/Mftf/Test/StorefrontPurchaseProductWithCustomOptionsWithLongValuesTitle.xml b/app/code/Magento/Catalog/Test/Mftf/Test/StorefrontPurchaseProductWithCustomOptionsWithLongValuesTitle.xml index 04cb813ec0ef..294dcb8c1b81 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Test/StorefrontPurchaseProductWithCustomOptionsWithLongValuesTitle.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Test/StorefrontPurchaseProductWithCustomOptionsWithLongValuesTitle.xml @@ -102,6 +102,7 @@ <click selector="{{AdminOrdersGridSection.submitSearch}}" stepKey="submitSearchOrderNum"/> <waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappearOnSearch"/> <click selector="{{AdminOrdersGridSection.firstRow}}" stepKey="clickOrderRow"/> + <waitForPageLoad stepKey="waitForOrderPageToLoad"/> <!-- Checking the correctness of displayed custom options for user parameters on Order --> diff --git a/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/CategoriesTest.php b/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/CategoriesTest.php index a2d81854607a..932b09f7df9c 100644 --- a/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/CategoriesTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/CategoriesTest.php @@ -3,6 +3,8 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ +declare(strict_types=1); + namespace Magento\Catalog\Test\Unit\Ui\DataProvider\Product\Form\Modifier; use Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Categories; @@ -12,6 +14,7 @@ use Magento\Framework\DB\Helper as DbHelper; use Magento\Framework\UrlInterface; use Magento\Store\Model\Store; +use Magento\Framework\AuthorizationInterface; /** * Class CategoriesTest @@ -45,6 +48,11 @@ class CategoriesTest extends AbstractModifierTest */ protected $categoryCollectionMock; + /** + * @var AuthorizationInterface|\PHPUnit_Framework_MockObject_MockObject + */ + private $authorizationMock; + protected function setUp() { parent::setUp(); @@ -63,6 +71,9 @@ protected function setUp() $this->categoryCollectionMock = $this->getMockBuilder(CategoryCollection::class) ->disableOriginalConstructor() ->getMock(); + $this->authorizationMock = $this->getMockBuilder(AuthorizationInterface::class) + ->disableOriginalConstructor() + ->getMock(); $this->categoryCollectionFactoryMock->expects($this->any()) ->method('create') @@ -86,11 +97,15 @@ protected function setUp() */ protected function createModel() { - return $this->objectManager->getObject(Categories::class, [ - 'locator' => $this->locatorMock, - 'categoryCollectionFactory' => $this->categoryCollectionFactoryMock, - 'arrayManager' => $this->arrayManagerMock, - ]); + return $this->objectManager->getObject( + Categories::class, + [ + 'locator' => $this->locatorMock, + 'categoryCollectionFactory' => $this->categoryCollectionFactoryMock, + 'arrayManager' => $this->arrayManagerMock, + 'authorization' => $this->authorizationMock + ] + ); } public function testModifyData() @@ -130,7 +145,9 @@ public function testModifyMetaLocked($locked) ], ], ]; - + $this->authorizationMock->expects($this->exactly(2)) + ->method('isAllowed') + ->willReturn(true); $this->arrayManagerMock->expects($this->any()) ->method('findPath') ->willReturn('path'); diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Categories.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Categories.php index 800ead0e4030..0b8f551988a8 100644 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Categories.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Categories.php @@ -17,6 +17,7 @@ use Magento\Framework\Serialize\SerializerInterface; use Magento\Framework\UrlInterface; use Magento\Framework\Stdlib\ArrayManager; +use Magento\Framework\AuthorizationInterface; /** * Data provider for categories field of product page @@ -81,6 +82,11 @@ class Categories extends AbstractModifier */ private $serializer; + /** + * @var AuthorizationInterface + */ + private $authorization; + /** * @param LocatorInterface $locator * @param CategoryCollectionFactory $categoryCollectionFactory @@ -88,6 +94,7 @@ class Categories extends AbstractModifier * @param UrlInterface $urlBuilder * @param ArrayManager $arrayManager * @param SerializerInterface $serializer + * @param AuthorizationInterface $authorization */ public function __construct( LocatorInterface $locator, @@ -95,7 +102,8 @@ public function __construct( DbHelper $dbHelper, UrlInterface $urlBuilder, ArrayManager $arrayManager, - SerializerInterface $serializer = null + SerializerInterface $serializer = null, + AuthorizationInterface $authorization = null ) { $this->locator = $locator; $this->categoryCollectionFactory = $categoryCollectionFactory; @@ -103,6 +111,7 @@ public function __construct( $this->urlBuilder = $urlBuilder; $this->arrayManager = $arrayManager; $this->serializer = $serializer ?: ObjectManager::getInstance()->get(SerializerInterface::class); + $this->authorization = $authorization ?: ObjectManager::getInstance()->get(AuthorizationInterface::class); } /** @@ -126,12 +135,24 @@ private function getCacheManager() */ public function modifyMeta(array $meta) { - $meta = $this->createNewCategoryModal($meta); + if ($this->isAllowed()) { + $meta = $this->createNewCategoryModal($meta); + } $meta = $this->customizeCategoriesField($meta); return $meta; } + /** + * Check current user permission on category resource + * + * @return bool + */ + private function isAllowed() + { + return $this->authorization->isAllowed('Magento_Catalog::categories'); + } + /** * @inheritdoc * @since 101.0.0 @@ -218,88 +239,91 @@ protected function customizeCategoriesField(array $meta) return $meta; } - $meta = $this->arrayManager->merge( - $containerPath, - $meta, - [ - 'arguments' => [ - 'data' => [ - 'config' => [ - 'label' => __('Categories'), - 'dataScope' => '', - 'breakLine' => false, - 'formElement' => 'container', - 'componentType' => 'container', - 'component' => 'Magento_Ui/js/form/components/group', - 'scopeLabel' => __('[GLOBAL]'), - 'disabled' => $this->locator->getProduct()->isLockedAttribute($fieldCode), - ], + $value = [ + 'arguments' => [ + 'data' => [ + 'config' => [ + 'label' => __('Categories'), + 'dataScope' => '', + 'breakLine' => false, + 'formElement' => 'container', + 'componentType' => 'container', + 'component' => 'Magento_Ui/js/form/components/group', + 'scopeLabel' => __('[GLOBAL]'), + 'disabled' => $this->locator->getProduct()->isLockedAttribute($fieldCode), ], ], - 'children' => [ - $fieldCode => [ - 'arguments' => [ - 'data' => [ + ], + 'children' => [ + $fieldCode => [ + 'arguments' => [ + 'data' => [ + 'config' => [ + 'formElement' => 'select', + 'componentType' => 'field', + 'component' => 'Magento_Catalog/js/components/new-category', + 'filterOptions' => true, + 'chipsEnabled' => true, + 'disableLabel' => true, + 'levelsVisibility' => '1', + 'elementTmpl' => 'ui/grid/filters/elements/ui-select', + 'options' => $this->getCategoriesTree(), + 'listens' => [ + 'index=create_category:responseData' => 'setParsed', + 'newOption' => 'toggleOptionSelected' + ], 'config' => [ - 'formElement' => 'select', - 'componentType' => 'field', - 'component' => 'Magento_Catalog/js/components/new-category', - 'filterOptions' => true, - 'chipsEnabled' => true, - 'disableLabel' => true, - 'levelsVisibility' => '1', - 'elementTmpl' => 'ui/grid/filters/elements/ui-select', - 'options' => $this->getCategoriesTree(), - 'listens' => [ - 'index=create_category:responseData' => 'setParsed', - 'newOption' => 'toggleOptionSelected' - ], - 'config' => [ - 'dataScope' => $fieldCode, - 'sortOrder' => 10, - ], + 'dataScope' => $fieldCode, + 'sortOrder' => 10, ], ], ], ], - 'create_category_button' => [ - 'arguments' => [ - 'data' => [ - 'config' => [ - 'title' => __('New Category'), - 'formElement' => 'container', - 'additionalClasses' => 'admin__field-small', - 'componentType' => 'container', - 'component' => 'Magento_Ui/js/form/components/button', - 'template' => 'ui/form/components/button/container', - 'actions' => [ - [ - 'targetName' => 'product_form.product_form.create_category_modal', - 'actionName' => 'toggleModal', - ], - [ - 'targetName' => - 'product_form.product_form.create_category_modal.create_category', - 'actionName' => 'render' - ], - [ - 'targetName' => - 'product_form.product_form.create_category_modal.create_category', - 'actionName' => 'resetForm' - ] - ], - 'additionalForGroup' => true, - 'provider' => false, - 'source' => 'product_details', - 'displayArea' => 'insideGroup', - 'sortOrder' => 20, - 'dataScope' => $fieldCode, + ], + ] + ]; + if ($this->isAllowed()) { + $value['children']['create_category_button'] = [ + 'arguments' => [ + 'data' => [ + 'config' => [ + 'title' => __('New Category'), + 'formElement' => 'container', + 'additionalClasses' => 'admin__field-small', + 'componentType' => 'container', + 'component' => 'Magento_Ui/js/form/components/button', + 'template' => 'ui/form/components/button/container', + 'actions' => [ + [ + 'targetName' => 'product_form.product_form.create_category_modal', + 'actionName' => 'toggleModal', + ], + [ + 'targetName' => + 'product_form.product_form.create_category_modal.create_category', + 'actionName' => 'render' ], + [ + 'targetName' => + 'product_form.product_form.create_category_modal.create_category', + 'actionName' => 'resetForm' + ] ], - ] - ] + 'additionalForGroup' => true, + 'provider' => false, + 'source' => 'product_details', + 'displayArea' => 'insideGroup', + 'sortOrder' => 20, + 'dataScope' => $fieldCode, + ], + ], ] - ] + ]; + } + $meta = $this->arrayManager->merge( + $containerPath, + $meta, + $value ); return $meta; diff --git a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_grid.xml b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_grid.xml index b42a78dfbe30..5d57c2d8f861 100644 --- a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_grid.xml +++ b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_grid.xml @@ -8,6 +8,8 @@ <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd"> <update handle="formkey"/> <container name="root" label="Root"> - <block class="Magento\Catalog\Block\Adminhtml\Product\Grid" name="admin.product.grid"/> + <block class="Magento\Catalog\Block\Adminhtml\Product\Grid" name="admin.product.grid"> + <block class="Magento\Framework\View\Element\Text\ListText" name="grid.bottom.links"/> + </block> </container> </layout> diff --git a/app/code/Magento/CatalogGraphQl/Model/Resolver/Category/CheckCategoryIsActive.php b/app/code/Magento/CatalogGraphQl/Model/Resolver/Category/CheckCategoryIsActive.php new file mode 100644 index 000000000000..16f816a96712 --- /dev/null +++ b/app/code/Magento/CatalogGraphQl/Model/Resolver/Category/CheckCategoryIsActive.php @@ -0,0 +1,67 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\CatalogGraphQl\Model\Resolver\Category; + +use Magento\Catalog\Api\Data\CategoryInterface; +use Magento\Framework\GraphQl\Exception\GraphQlNoSuchEntityException; +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Catalog\Model\ResourceModel\Category\CollectionFactory; + +/** + * Check if category is active. + */ +class CheckCategoryIsActive +{ + /** + * @var CollectionFactory + */ + private $collectionFactory; + + /** + * @var MetadataPool + */ + private $metadata; + + /** + * @param CollectionFactory $collectionFactory + * @param MetadataPool $metadata + */ + public function __construct( + CollectionFactory $collectionFactory, + MetadataPool $metadata + ) { + $this->collectionFactory = $collectionFactory; + $this->metadata = $metadata; + } + + /** + * Check if category is active. + * + * @param int $categoryId + * @throws GraphQlNoSuchEntityException + */ + public function execute(int $categoryId): void + { + $collection = $this->collectionFactory->create(); + $collection->addAttributeToFilter(CategoryInterface::KEY_IS_ACTIVE, ['eq' => 1]) + ->getSelect() + ->where( + $collection->getSelect() + ->getConnection() + ->quoteIdentifier( + 'e.' . + $this->metadata->getMetadata(CategoryInterface::class)->getIdentifierField() + ) . ' = ?', + $categoryId + ); + + if ($collection->count() === 0) { + throw new GraphQlNoSuchEntityException(__('Category doesn\'t exist')); + } + } +} diff --git a/app/code/Magento/CatalogGraphQl/Model/Resolver/CategoryTree.php b/app/code/Magento/CatalogGraphQl/Model/Resolver/CategoryTree.php index 1783a5cd9a7e..89d3805383e1 100644 --- a/app/code/Magento/CatalogGraphQl/Model/Resolver/CategoryTree.php +++ b/app/code/Magento/CatalogGraphQl/Model/Resolver/CategoryTree.php @@ -7,6 +7,8 @@ namespace Magento\CatalogGraphQl\Model\Resolver; +use Magento\Catalog\Model\Category; +use Magento\CatalogGraphQl\Model\Resolver\Category\CheckCategoryIsActive; use Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\ExtractDataFromCategoryTree; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; use Magento\Framework\GraphQl\Config\Element\Field; @@ -34,16 +36,24 @@ class CategoryTree implements ResolverInterface */ private $extractDataFromCategoryTree; + /** + * @var CheckCategoryIsActive + */ + private $checkCategoryIsActive; + /** * @param \Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\CategoryTree $categoryTree * @param ExtractDataFromCategoryTree $extractDataFromCategoryTree + * @param CheckCategoryIsActive $checkCategoryIsActive */ public function __construct( \Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\CategoryTree $categoryTree, - ExtractDataFromCategoryTree $extractDataFromCategoryTree + ExtractDataFromCategoryTree $extractDataFromCategoryTree, + CheckCategoryIsActive $checkCategoryIsActive ) { $this->categoryTree = $categoryTree; $this->extractDataFromCategoryTree = $extractDataFromCategoryTree; + $this->checkCategoryIsActive = $checkCategoryIsActive; } /** @@ -72,6 +82,9 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value } $rootCategoryId = $this->getCategoryId($args); + if ($rootCategoryId !== Category::TREE_ROOT_ID) { + $this->checkCategoryIsActive->execute($rootCategoryId); + } $categoriesTree = $this->categoryTree->getTree($info, $rootCategoryId); if (empty($categoriesTree) || ($categoriesTree->count() == 0)) { diff --git a/app/code/Magento/CatalogImportExport/Model/Export/Product.php b/app/code/Magento/CatalogImportExport/Model/Export/Product.php index 75249e490786..428c61c7fec0 100644 --- a/app/code/Magento/CatalogImportExport/Model/Export/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Export/Product.php @@ -444,8 +444,11 @@ protected function initCategories() if ($pathSize > 1) { $path = []; for ($i = 1; $i < $pathSize; $i++) { - $name = $collection->getItemById($structure[$i])->getName(); - $path[] = $this->quoteCategoryDelimiter($name); + $childCategory = $collection->getItemById($structure[$i]); + if ($childCategory) { + $name = $childCategory->getName(); + $path[] = $this->quoteCategoryDelimiter($name); + } } $this->_rootCategories[$category->getId()] = array_shift($path); if ($pathSize > 2) { @@ -673,8 +676,8 @@ protected function prepareLinks(array $productIds) /** * Update data row with information about categories. Return true, if data row was updated * - * @param array &$dataRow - * @param array &$rowCategories + * @param array $dataRow + * @param array $rowCategories * @param int $productId * @return bool */ @@ -840,6 +843,7 @@ protected function paginateCollection($page, $pageSize) public function export() { //Execution time may be very long + // phpcs:ignore Magento2.Functions.DiscouragedFunction set_time_limit(0); $writer = $this->getWriter(); @@ -963,6 +967,7 @@ protected function loadCollection(): array * @return array * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) + * phpcs:disable Generic.Metrics.NestingLevel */ protected function collectRawData() { @@ -1057,6 +1062,7 @@ protected function collectRawData() return $data; } + //phpcs:enable Generic.Metrics.NestingLevel /** * Wrap values with double quotes if "Fields Enclosure" option is enabled diff --git a/app/code/Magento/CatalogInventory/Observer/ParentItemProcessorInterface.php b/app/code/Magento/CatalogInventory/Observer/ParentItemProcessorInterface.php new file mode 100644 index 000000000000..dd5689a396eb --- /dev/null +++ b/app/code/Magento/CatalogInventory/Observer/ParentItemProcessorInterface.php @@ -0,0 +1,24 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\CatalogInventory\Observer; + +use Magento\Catalog\Api\Data\ProductInterface as Product; + +/** + * Interface for processing parent items of complex product types + */ +interface ParentItemProcessorInterface +{ + /** + * Process stock for parent items + * + * @param Product $product + * @return void + */ + public function process(Product $product); +} diff --git a/app/code/Magento/CatalogInventory/Observer/SaveInventoryDataObserver.php b/app/code/Magento/CatalogInventory/Observer/SaveInventoryDataObserver.php index 03ba58d3f498..dd67140fa0c1 100644 --- a/app/code/Magento/CatalogInventory/Observer/SaveInventoryDataObserver.php +++ b/app/code/Magento/CatalogInventory/Observer/SaveInventoryDataObserver.php @@ -13,6 +13,8 @@ use Magento\CatalogInventory\Api\StockRegistryInterface; use Magento\CatalogInventory\Model\StockItemValidator; use Magento\Framework\Event\Observer as EventObserver; +use Magento\Framework\Exception\LocalizedException; +use Magento\Framework\Exception\NoSuchEntityException; /** * Saves stock data from a product to the Stock Item @@ -39,6 +41,11 @@ class SaveInventoryDataObserver implements ObserverInterface */ private $stockItemValidator; + /** + * @var ParentItemProcessorInterface[] + */ + private $parentItemProcessorPool; + /** * @var array */ @@ -77,15 +84,18 @@ class SaveInventoryDataObserver implements ObserverInterface * @param StockConfigurationInterface $stockConfiguration * @param StockRegistryInterface $stockRegistry * @param StockItemValidator $stockItemValidator + * @param ParentItemProcessorInterface[] $parentItemProcessorPool */ public function __construct( StockConfigurationInterface $stockConfiguration, StockRegistryInterface $stockRegistry, - StockItemValidator $stockItemValidator = null + StockItemValidator $stockItemValidator = null, + array $parentItemProcessorPool = [] ) { $this->stockConfiguration = $stockConfiguration; $this->stockRegistry = $stockRegistry; $this->stockItemValidator = $stockItemValidator ?: ObjectManager::getInstance()->get(StockItemValidator::class); + $this->parentItemProcessorPool = $parentItemProcessorPool; } /** @@ -96,10 +106,15 @@ public function __construct( * * @param EventObserver $observer * @return void + * @throws LocalizedException + * @throws NoSuchEntityException */ public function execute(EventObserver $observer) { + /** @var Product $product */ $product = $observer->getEvent()->getProduct(); + + /** @var Item $stockItem */ $stockItem = $this->getStockItemToBeUpdated($product); if ($product->getStockData() !== null) { @@ -108,6 +123,7 @@ public function execute(EventObserver $observer) } $this->stockItemValidator->validate($product, $stockItem); $this->stockRegistry->updateStockItemBySku($product->getSku(), $stockItem); + $this->processParents($product); } /** @@ -156,4 +172,17 @@ private function getStockData(Product $product) } return $stockData; } + + /** + * Process stock data for parent products + * + * @param Product $product + * @return void + */ + private function processParents(Product $product) + { + foreach ($this->parentItemProcessorPool as $processor) { + $processor->process($product); + } + } } diff --git a/app/code/Magento/CatalogInventory/Test/Mftf/Test/AssociatedProductToConfigurableOutOfStockTest.xml b/app/code/Magento/CatalogInventory/Test/Mftf/Test/AssociatedProductToConfigurableOutOfStockTest.xml index 706df79b1ef8..8458fcf3b94e 100644 --- a/app/code/Magento/CatalogInventory/Test/Mftf/Test/AssociatedProductToConfigurableOutOfStockTest.xml +++ b/app/code/Magento/CatalogInventory/Test/Mftf/Test/AssociatedProductToConfigurableOutOfStockTest.xml @@ -122,8 +122,11 @@ <waitForLoadingMaskToDisappear stepKey="waitForLoadingMask4"/> <click selector="{{AdminOrdersGridSection.firstRow}}" stepKey="clickOrderRow"/> + <waitForPageLoad stepKey="waitForOrderPageToLoad"/> <click selector="{{AdminOrderDetailsMainActionsSection.invoice}}" stepKey="clickInvoice"/> + <waitForPageLoad stepKey="waitForNewInvoicePageToLoad"/> <click selector="{{AdminInvoiceMainActionsSection.submitInvoice}}" stepKey="clickSubmitInvoice"/> + <waitForPageLoad stepKey="waitForNewInvoiceToBeCreated"/> <see selector="{{AdminOrderDetailsMessagesSection.successMessage}}" userInput="The invoice has been created." stepKey="seeSuccessMessage"/> <click selector="{{AdminOrderDetailsMainActionsSection.ship}}" stepKey="clickShip"/> <waitForLoadingMaskToDisappear stepKey="waitForShipLoadingMask"/> diff --git a/app/code/Magento/CatalogUrlRewrite/Model/ResourceModel/Category/Product.php b/app/code/Magento/CatalogUrlRewrite/Model/ResourceModel/Category/Product.php index 311cc6de7611..a475e3d5f4b8 100644 --- a/app/code/Magento/CatalogUrlRewrite/Model/ResourceModel/Category/Product.php +++ b/app/code/Magento/CatalogUrlRewrite/Model/ResourceModel/Category/Product.php @@ -3,6 +3,9 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + +declare(strict_types=1); + namespace Magento\CatalogUrlRewrite\Model\ResourceModel\Category; use Magento\Framework\Model\ResourceModel\Db\AbstractDb; @@ -49,7 +52,7 @@ protected function _construct() public function saveMultiple(array $insertData) { $connection = $this->getConnection(); - if (sizeof($insertData) <= self::CHUNK_SIZE) { + if (count($insertData) <= self::CHUNK_SIZE) { return $connection->insertMultiple($this->getTable(self::TABLE_NAME), $insertData); } $data = array_chunk($insertData, self::CHUNK_SIZE); @@ -98,10 +101,13 @@ public function removeMultipleByProductCategory(array $filter) private function prepareSelect($data) { $select = $this->getConnection()->select(); - $select->from($this->getTable(DbStorage::TABLE_NAME), 'url_rewrite_id'); - + $select->from(DbStorage::TABLE_NAME); + $select->join( + self::TABLE_NAME, + DbStorage::TABLE_NAME . '.url_rewrite_id = ' . self::TABLE_NAME . '.url_rewrite_id' + ); foreach ($data as $column => $value) { - $select->where($this->getConnection()->quoteIdentifier($column) . ' IN (?)', $value); + $select->where(DbStorage::TABLE_NAME . '.' . $column . ' IN (?)', $value); } return $select; } diff --git a/app/code/Magento/CatalogUrlRewrite/Observer/UrlRewriteHandler.php b/app/code/Magento/CatalogUrlRewrite/Observer/UrlRewriteHandler.php index 8f89c3a2fcd1..0708ce6d7d71 100644 --- a/app/code/Magento/CatalogUrlRewrite/Observer/UrlRewriteHandler.php +++ b/app/code/Magento/CatalogUrlRewrite/Observer/UrlRewriteHandler.php @@ -143,14 +143,19 @@ public function generateProductUrlRewrites(Category $category): array if ($category->getChangedProductIds()) { $this->generateChangedProductUrls($mergeDataProvider, $category, $storeId, $saveRewriteHistory); } else { - $mergeDataProvider->merge( - $this->getCategoryProductsUrlRewrites( - $category, - $storeId, - $saveRewriteHistory, - $category->getEntityId() - ) - ); + $categoryStoreIds = $this->getCategoryStoreIds($category); + + foreach ($categoryStoreIds as $categoryStoreId) { + $this->isSkippedProduct[$category->getEntityId()] = []; + $mergeDataProvider->merge( + $this->getCategoryProductsUrlRewrites( + $category, + $categoryStoreId, + $saveRewriteHistory, + $category->getEntityId() + ) + ); + } } foreach ($this->childrenCategoriesProvider->getChildren($category, true) as $childCategory) { @@ -241,7 +246,7 @@ private function getCategoryProductsUrlRewrites( $productCollection = $this->productCollectionFactory->create(); $productCollection->addCategoriesFilter(['eq' => [$category->getEntityId()]]) - ->setStoreId($storeId) + ->addStoreFilter($storeId) ->addAttributeToSelect('name') ->addAttributeToSelect('visibility') ->addAttributeToSelect('url_key') diff --git a/app/code/Magento/CatalogUrlRewrite/Test/Unit/Observer/UrlRewriteHandlerTest.php b/app/code/Magento/CatalogUrlRewrite/Test/Unit/Observer/UrlRewriteHandlerTest.php index b18597a42bf9..06a89a9dd5ec 100644 --- a/app/code/Magento/CatalogUrlRewrite/Test/Unit/Observer/UrlRewriteHandlerTest.php +++ b/app/code/Magento/CatalogUrlRewrite/Test/Unit/Observer/UrlRewriteHandlerTest.php @@ -138,8 +138,14 @@ public function testGenerateProductUrlRewrites() ->willReturn(1); $category->expects($this->any()) ->method('getData') - ->with('save_rewrites_history') - ->willReturn(true); + ->withConsecutive( + [$this->equalTo('save_rewrites_history')], + [$this->equalTo('initial_setup_flag')] + ) + ->willReturnOnConsecutiveCalls( + true, + null + ); /* @var \Magento\Catalog\Model\Category|\PHPUnit_Framework_MockObject_MockObject $childCategory1 */ $childCategory1 = $this->getMockBuilder(\Magento\Catalog\Model\Category::class) @@ -175,6 +181,7 @@ public function testGenerateProductUrlRewrites() ->method('addIdFilter') ->willReturnSelf(); $productCollection->expects($this->any())->method('setStoreId')->willReturnSelf(); + $productCollection->expects($this->any())->method('addStoreFilter')->willReturnSelf(); $productCollection->expects($this->any())->method('addAttributeToSelect')->willReturnSelf(); $iterator = new \ArrayIterator([]); $productCollection->expects($this->any())->method('getIterator')->will($this->returnValue($iterator)); diff --git a/app/code/Magento/Checkout/Controller/Onepage/SaveOrder.php b/app/code/Magento/Checkout/Controller/Onepage/SaveOrder.php index 12b725a8f6df..66b054136203 100644 --- a/app/code/Magento/Checkout/Controller/Onepage/SaveOrder.php +++ b/app/code/Magento/Checkout/Controller/Onepage/SaveOrder.php @@ -6,10 +6,14 @@ namespace Magento\Checkout\Controller\Onepage; +use Magento\Framework\App\Action\HttpPostActionInterface; use Magento\Framework\DataObject; use Magento\Framework\Exception\PaymentException; -class SaveOrder extends \Magento\Checkout\Controller\Onepage +/** + * One Page Checkout saveOrder action + */ +class SaveOrder extends \Magento\Checkout\Controller\Onepage implements HttpPostActionInterface { /** * Create order action @@ -31,7 +35,7 @@ public function execute() $result = new DataObject(); try { $agreementsValidator = $this->_objectManager->get( - \Magento\CheckoutAgreements\Model\AgreementsValidator::class + \Magento\Checkout\Api\AgreementsValidatorInterface::class ); if (!$agreementsValidator->isValid(array_keys($this->getRequest()->getPost('agreement', [])))) { $result->setData('success', false); diff --git a/app/code/Magento/Checkout/Test/Mftf/Test/StorefrontCustomerCheckoutTest.xml b/app/code/Magento/Checkout/Test/Mftf/Test/StorefrontCustomerCheckoutTest.xml index f77e3df11713..40b781df9b2a 100644 --- a/app/code/Magento/Checkout/Test/Mftf/Test/StorefrontCustomerCheckoutTest.xml +++ b/app/code/Magento/Checkout/Test/Mftf/Test/StorefrontCustomerCheckoutTest.xml @@ -72,6 +72,7 @@ <click stepKey="s81" selector="{{AdminOrdersGridSection.submitSearch22}}" /> <waitForPageLoad stepKey="s831"/> <click stepKey="s84" selector="{{AdminOrdersGridSection.firstRow}}" /> + <waitForPageLoad stepKey="waitForOrderToLoad"/> <see stepKey="s85" selector="{{AdminOrderDetailsInformationSection.orderStatus}}" userInput="Pending" /> <see stepKey="s87" selector="{{AdminOrderDetailsInformationSection.accountInformation}}" userInput="Customer" /> <see stepKey="s89" selector="{{AdminOrderDetailsInformationSection.accountInformation}}" userInput="$$simpleuscustomer.email$$" /> diff --git a/app/code/Magento/Checkout/Test/Mftf/Test/StorefrontGuestCheckoutTest.xml b/app/code/Magento/Checkout/Test/Mftf/Test/StorefrontGuestCheckoutTest.xml index 15410921f1bb..a77341b8697b 100644 --- a/app/code/Magento/Checkout/Test/Mftf/Test/StorefrontGuestCheckoutTest.xml +++ b/app/code/Magento/Checkout/Test/Mftf/Test/StorefrontGuestCheckoutTest.xml @@ -62,6 +62,7 @@ <click selector="{{AdminOrdersGridSection.submitSearch}}" stepKey="submitSearchOrderNum"/> <waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappearOnSearch"/> <click selector="{{AdminOrdersGridSection.firstRow}}" stepKey="clickOrderRow"/> + <waitForPageLoad stepKey="waitForOrderPageToLoad"/> <see selector="{{AdminOrderDetailsInformationSection.orderStatus}}" userInput="Pending" stepKey="seeAdminOrderStatus"/> <see selector="{{AdminOrderDetailsInformationSection.accountInformation}}" userInput="{{CustomerEntityOne.fullname}}" stepKey="seeAdminOrderGuest"/> <see selector="{{AdminOrderDetailsInformationSection.accountInformation}}" userInput="{{CustomerEntityOne.email}}" stepKey="seeAdminOrderEmail"/> diff --git a/app/code/Magento/Checkout/view/frontend/templates/cart/minicart.phtml b/app/code/Magento/Checkout/view/frontend/templates/cart/minicart.phtml index 8928bbabcb71..28275e022393 100644 --- a/app/code/Magento/Checkout/view/frontend/templates/cart/minicart.phtml +++ b/app/code/Magento/Checkout/view/frontend/templates/cart/minicart.phtml @@ -12,7 +12,7 @@ data-bind="scope: 'minicart_content'"> <span class="text"><?= $block->escapeHtml(__('My Cart')) ?></span> <span class="counter qty empty" - data-bind="css: { empty: !!getCartParam('summary_count') == false }, blockLoader: isLoading"> + data-bind="css: { empty: !!getCartParam('summary_count') == false && !isLoading() }, blockLoader: isLoading"> <span class="counter-number"><!-- ko text: getCartParam('summary_count') --><!-- /ko --></span> <span class="counter-label"> <!-- ko if: getCartParam('summary_count') --> diff --git a/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information-extended.js b/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information-extended.js new file mode 100644 index 000000000000..4085da82f415 --- /dev/null +++ b/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information-extended.js @@ -0,0 +1,60 @@ +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +/** + * @api + */ +define([ + 'Magento_Checkout/js/model/quote', + 'Magento_Checkout/js/model/url-builder', + 'mage/storage', + 'Magento_Checkout/js/model/error-processor', + 'Magento_Customer/js/model/customer', + 'Magento_Checkout/js/action/get-totals', + 'Magento_Checkout/js/model/full-screen-loader' +], function (quote, urlBuilder, storage, errorProcessor, customer, getTotalsAction, fullScreenLoader) { + 'use strict'; + + return function (messageContainer, paymentData, skipBilling) { + var serviceUrl, + payload; + + skipBilling = skipBilling || false; + payload = { + cartId: quote.getQuoteId(), + paymentMethod: paymentData + }; + + /** + * Checkout for guest and registered customer. + */ + if (!customer.isLoggedIn()) { + serviceUrl = urlBuilder.createUrl('/guest-carts/:cartId/set-payment-information', { + cartId: quote.getQuoteId() + }); + payload.email = quote.guestEmail; + } else { + serviceUrl = urlBuilder.createUrl('/carts/mine/set-payment-information', {}); + } + + if (skipBilling === false) { + payload.billingAddress = quote.billingAddress(); + } + + fullScreenLoader.startLoader(); + + return storage.post( + serviceUrl, JSON.stringify(payload) + ).fail( + function (response) { + errorProcessor.process(response, messageContainer); + } + ).always( + function () { + fullScreenLoader.stopLoader(); + } + ); + }; +}); diff --git a/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information.js b/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information.js index 997b60503a2b..d5261c976a72 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information.js @@ -7,54 +7,13 @@ * @api */ define([ - 'Magento_Checkout/js/model/quote', - 'Magento_Checkout/js/model/url-builder', - 'mage/storage', - 'Magento_Checkout/js/model/error-processor', - 'Magento_Customer/js/model/customer', - 'Magento_Checkout/js/action/get-totals', - 'Magento_Checkout/js/model/full-screen-loader' -], function (quote, urlBuilder, storage, errorProcessor, customer, getTotalsAction, fullScreenLoader) { + 'Magento_Checkout/js/action/set-payment-information-extended' + +], function (setPaymentInformationExtended) { 'use strict'; return function (messageContainer, paymentData) { - var serviceUrl, - payload; - - /** - * Checkout for guest and registered customer. - */ - if (!customer.isLoggedIn()) { - serviceUrl = urlBuilder.createUrl('/guest-carts/:cartId/set-payment-information', { - cartId: quote.getQuoteId() - }); - payload = { - cartId: quote.getQuoteId(), - email: quote.guestEmail, - paymentMethod: paymentData, - billingAddress: quote.billingAddress() - }; - } else { - serviceUrl = urlBuilder.createUrl('/carts/mine/set-payment-information', {}); - payload = { - cartId: quote.getQuoteId(), - paymentMethod: paymentData, - billingAddress: quote.billingAddress() - }; - } - - fullScreenLoader.startLoader(); - return storage.post( - serviceUrl, JSON.stringify(payload) - ).fail( - function (response) { - errorProcessor.process(response, messageContainer); - } - ).always( - function () { - fullScreenLoader.stopLoader(); - } - ); + return setPaymentInformationExtended(messageContainer, paymentData, false); }; }); diff --git a/app/code/Magento/Cms/Test/Mftf/ActionGroup/ClearWidgetsFromCMSContentActionGroup.xml b/app/code/Magento/Cms/Test/Mftf/ActionGroup/ClearWidgetsFromCMSContentActionGroup.xml index 2fa1b86a6157..2c45b9e140c0 100644 --- a/app/code/Magento/Cms/Test/Mftf/ActionGroup/ClearWidgetsFromCMSContentActionGroup.xml +++ b/app/code/Magento/Cms/Test/Mftf/ActionGroup/ClearWidgetsFromCMSContentActionGroup.xml @@ -21,4 +21,13 @@ <waitForPageLoad stepKey="waitSaveToBeApplied"/> <see selector="{{AdminProductMessagesSection.successMessage}}" userInput="You saved the page." stepKey="seeSaveSuccess"/> </actionGroup> + <actionGroup name="ClearWidgetsForCMSHomePageContentWYSIWYGDisabled"> + <amOnPage url="{{CmsPageEditPage.url('2')}}" stepKey="navigateToEditHomePagePage"/> + <waitForPageLoad stepKey="waitForCmsPageEditPage"/> + <conditionalClick selector="{{CmsNewPagePageActionsSection.contentSectionName}}" dependentSelector="{{CatalogWidgetSection.insertWidgetButton}}" visible="false" stepKey="clickShowHideEditorIfVisible"/> + <waitForElementVisible selector="{{CmsNewPagePageContentSection.content}}" stepKey="waitForContentField"/> + <fillField selector="{{CmsNewPagePageContentSection.content}}" userInput="CMS homepage content goes here." stepKey="resetCMSPageToDefaultContent"/> + <click selector="{{CmsNewPagePageActionsSection.saveAndContinueEdit}}" stepKey="clickSave"/> + <waitForPageLoad stepKey="waitForSettingsApply"/> + </actionGroup> </actionGroups> diff --git a/app/code/Magento/Cms/Test/Mftf/ActionGroup/CreateNewPageWithAllValuesActionGroup.xml b/app/code/Magento/Cms/Test/Mftf/ActionGroup/CreateNewPageWithAllValuesActionGroup.xml index c51e673139af..a459c41ccb41 100644 --- a/app/code/Magento/Cms/Test/Mftf/ActionGroup/CreateNewPageWithAllValuesActionGroup.xml +++ b/app/code/Magento/Cms/Test/Mftf/ActionGroup/CreateNewPageWithAllValuesActionGroup.xml @@ -28,4 +28,10 @@ <click selector="{{CmsNewPageHierarchySection.header}}" stepKey="clickHierarchy"/> <click selector="{{CmsNewPageHierarchySection.selectHierarchy(selectHierarchyOpt)}}" stepKey="clickPageCheckBoxes"/> </actionGroup> + <actionGroup name="CreateNewPageWithAllValuesAndContent" extends="CreateNewPageWithAllValues"> + <arguments> + <argument name="pageContent" type="string"/> + </arguments> + <fillField selector="{{CmsNewPagePageContentSection.content}}" userInput="{{pageContent}}" stepKey="fillContentField" after="fillFieldContentHeading"/> + </actionGroup> </actionGroups> \ No newline at end of file diff --git a/app/code/Magento/Cms/Test/Mftf/Data/CmsPageData.xml b/app/code/Magento/Cms/Test/Mftf/Data/CmsPageData.xml index 2f8efac37cec..5dc100573c37 100644 --- a/app/code/Magento/Cms/Test/Mftf/Data/CmsPageData.xml +++ b/app/code/Magento/Cms/Test/Mftf/Data/CmsPageData.xml @@ -20,6 +20,15 @@ <data key="content">Sample page content. Yada yada yada.</data> <data key="identifier" unique="suffix">test-page-</data> </entity> + <entity name="customCmsPage" extends="_defaultCmsPage" type="cms_page"> + <data key="content">Test content data1</data> + <data key="identifier">url_key</data> + </entity> + <entity name="customCmsPage2" extends="_defaultCmsPage" type="cms_page"> + <data key="title">Test Second CMS Page</data> + <data key="content">Test content data2</data> + <data key="identifier">url_key</data> + </entity> <entity name="_duplicatedCMSPage" type="cms_page"> <data key="title">testpage</data> <data key="content_heading">Test Content Heading</data> diff --git a/app/code/Magento/Cms/Ui/Component/Listing/Column/PageActions.php b/app/code/Magento/Cms/Ui/Component/Listing/Column/PageActions.php index 26d31456bf61..9c57aa050b01 100644 --- a/app/code/Magento/Cms/Ui/Component/Listing/Column/PageActions.php +++ b/app/code/Magento/Cms/Ui/Component/Listing/Column/PageActions.php @@ -27,6 +27,11 @@ class PageActions extends Column */ protected $actionUrlBuilder; + /** + * @var \Magento\Cms\ViewModel\Page\Grid\UrlBuilder + */ + private $scopeUrlBuilder; + /** * @var \Magento\Framework\UrlInterface */ @@ -50,6 +55,7 @@ class PageActions extends Column * @param array $components * @param array $data * @param string $editUrl + * @param \Magento\Cms\ViewModel\Page\Grid\UrlBuilder|null $scopeUrlBuilder */ public function __construct( ContextInterface $context, @@ -58,12 +64,15 @@ public function __construct( UrlInterface $urlBuilder, array $components = [], array $data = [], - $editUrl = self::CMS_URL_PATH_EDIT + $editUrl = self::CMS_URL_PATH_EDIT, + \Magento\Cms\ViewModel\Page\Grid\UrlBuilder $scopeUrlBuilder = null ) { $this->urlBuilder = $urlBuilder; $this->actionUrlBuilder = $actionUrlBuilder; $this->editUrl = $editUrl; parent::__construct($context, $uiComponentFactory, $components, $data); + $this->scopeUrlBuilder = $scopeUrlBuilder ?: ObjectManager::getInstance() + ->get(\Magento\Cms\ViewModel\Page\Grid\UrlBuilder::class); } /** @@ -92,7 +101,7 @@ public function prepareDataSource(array $dataSource) } if (isset($item['identifier'])) { $item[$name]['preview'] = [ - 'href' => $this->actionUrlBuilder->getUrl( + 'href' => $this->scopeUrlBuilder->getUrl( $item['identifier'], isset($item['_first_store_id']) ? $item['_first_store_id'] : null, isset($item['store_code']) ? $item['store_code'] : null diff --git a/app/code/Magento/Cms/ViewModel/Page/Grid/UrlBuilder.php b/app/code/Magento/Cms/ViewModel/Page/Grid/UrlBuilder.php new file mode 100644 index 000000000000..0faf62607f5c --- /dev/null +++ b/app/code/Magento/Cms/ViewModel/Page/Grid/UrlBuilder.php @@ -0,0 +1,112 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Cms\ViewModel\Page\Grid; + +use Magento\Framework\Url\EncoderInterface; +use Magento\Framework\App\ActionInterface; +use Magento\Store\Model\StoreManagerInterface; + +/** + * Url builder class used to compose dynamic urls. + */ +class UrlBuilder +{ + /** + * @var \Magento\Framework\UrlInterface + */ + private $frontendUrlBuilder; + + /** + * @var EncoderInterface + */ + private $urlEncoder; + + /** + * @var StoreManagerInterface + */ + private $storeManager; + + /** + * @param \Magento\Framework\UrlInterface $frontendUrlBuilder + * @param EncoderInterface $urlEncoder + * @param StoreManagerInterface $storeManager + */ + public function __construct( + \Magento\Framework\UrlInterface $frontendUrlBuilder, + EncoderInterface $urlEncoder, + StoreManagerInterface $storeManager + ) { + $this->frontendUrlBuilder = $frontendUrlBuilder; + $this->urlEncoder = $urlEncoder; + $this->storeManager = $storeManager; + } + + /** + * Get action url + * + * @param string $routePath + * @param string $scope + * @param string $store + * @return string + */ + public function getUrl($routePath, $scope, $store) + { + if ($scope) { + $this->frontendUrlBuilder->setScope($scope); + $targetUrl = $this->frontendUrlBuilder->getUrl( + $routePath, + [ + '_current' => false, + '_nosid' => true, + '_query' => [ + StoreManagerInterface::PARAM_NAME => $store + ] + ] + ); + $href = $this->frontendUrlBuilder->getUrl( + 'stores/store/switch', + [ + '_current' => false, + '_nosid' => true, + '_query' => $this->prepareRequestQuery($store, $targetUrl) + ] + ); + } else { + $href = $this->frontendUrlBuilder->getUrl( + $routePath, + [ + '_current' => false, + '_nosid' => true + ] + ); + } + + return $href; + } + + /** + * Prepare request query + * + * @param string $store + * @param string $href + * @return array + */ + private function prepareRequestQuery(string $store, string $href) : array + { + $storeView = $this->storeManager->getDefaultStoreView(); + $query = [ + StoreManagerInterface::PARAM_NAME => $store, + ActionInterface::PARAM_NAME_URL_ENCODED => $this->urlEncoder->encode($href) + ]; + if ($storeView->getCode() !== $store) { + $query['___from_store'] = $storeView->getCode(); + } + + return $query; + } +} diff --git a/app/code/Magento/Cms/etc/adminhtml/di.xml b/app/code/Magento/Cms/etc/adminhtml/di.xml index 98a8ff6e9ec9..363217af4cd0 100644 --- a/app/code/Magento/Cms/etc/adminhtml/di.xml +++ b/app/code/Magento/Cms/etc/adminhtml/di.xml @@ -12,6 +12,11 @@ <argument name="frontendUrlBuilder" xsi:type="object">Magento\Framework\Url</argument> </arguments> </type> + <type name="Magento\Cms\ViewModel\Page\Grid\UrlBuilder"> + <arguments> + <argument name="frontendUrlBuilder" xsi:type="object">Magento\Framework\Url</argument> + </arguments> + </type> <type name="Magento\Cms\Model\Wysiwyg\CompositeConfigProvider"> <arguments> <argument name="variablePluginConfigProvider" xsi:type="array"> diff --git a/app/code/Magento/ConfigurableProduct/Controller/Adminhtml/Product/Attribute/CreateOptions.php b/app/code/Magento/ConfigurableProduct/Controller/Adminhtml/Product/Attribute/CreateOptions.php index cfa2562d974f..8b4c8d29cd98 100644 --- a/app/code/Magento/ConfigurableProduct/Controller/Adminhtml/Product/Attribute/CreateOptions.php +++ b/app/code/Magento/ConfigurableProduct/Controller/Adminhtml/Product/Attribute/CreateOptions.php @@ -4,12 +4,20 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ +declare(strict_types=1); + namespace Magento\ConfigurableProduct\Controller\Adminhtml\Product\Attribute; -use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface; use Magento\Backend\App\Action; +use Magento\Catalog\Api\Data\ProductAttributeInterface; use Magento\Catalog\Model\ResourceModel\Eav\AttributeFactory; +use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface; +use Magento\Framework\Exception\LocalizedException; +use Magento\Framework\Json\Helper\Data; +/** + * Creates options for product attributes + */ class CreateOptions extends Action implements HttpPostActionInterface { /** @@ -20,28 +28,33 @@ class CreateOptions extends Action implements HttpPostActionInterface const ADMIN_RESOURCE = 'Magento_Catalog::products'; /** - * @var \Magento\Framework\Json\Helper\Data + * @var Data */ protected $jsonHelper; /** - * @var \Magento\Catalog\Model\ResourceModel\Eav\AttributeFactory + * @var AttributeFactory */ protected $attributeFactory; + /** + * @var ProductAttributeInterface[] + */ + private $attributes; + /** * @param Action\Context $context - * @param \Magento\Framework\Json\Helper\Data $jsonHelper + * @param Data $jsonHelper * @param AttributeFactory $attributeFactory */ public function __construct( Action\Context $context, - \Magento\Framework\Json\Helper\Data $jsonHelper, + Data $jsonHelper, AttributeFactory $attributeFactory ) { + parent::__construct($context); $this->jsonHelper = $jsonHelper; $this->attributeFactory = $attributeFactory; - parent::__construct($context); } /** @@ -51,7 +64,15 @@ public function __construct( */ public function execute() { - $this->getResponse()->representJson($this->jsonHelper->jsonEncode($this->saveAttributeOptions())); + try { + $output = $this->saveAttributeOptions(); + } catch (LocalizedException $e) { + $output = [ + 'error' => true, + 'message' => $e->getMessage(), + ]; + } + $this->getResponse()->representJson($this->jsonHelper->jsonEncode($output)); } /** @@ -61,31 +82,103 @@ public function execute() * @TODO Move this logic to configurable product type model * when full set of operations for attribute options during * product creation will be implemented: edit labels, remove, reorder. - * Currently only addition of options to end and removal of just added option is supported. + * Currently only addition of options is supported. + * @throws LocalizedException */ protected function saveAttributeOptions() { - $options = (array)$this->getRequest()->getParam('options'); + $attributeIds = $this->getUpdatedAttributeIds(); $savedOptions = []; - foreach ($options as $option) { - if (isset($option['label']) && isset($option['is_new'])) { - $attribute = $this->attributeFactory->create(); - $attribute->load($option['attribute_id']); - $optionsBefore = $attribute->getSource()->getAllOptions(false); - $attribute->setOption( - [ - 'value' => ['option_0' => [$option['label']]], - 'order' => ['option_0' => count($optionsBefore) + 1], - ] - ); - $attribute->save(); - $attribute = $this->attributeFactory->create(); - $attribute->load($option['attribute_id']); - $optionsAfter = $attribute->getSource()->getAllOptions(false); - $newOption = array_pop($optionsAfter); - $savedOptions[$option['id']] = $newOption['value']; + foreach ($attributeIds as $attributeId => $newOptions) { + $attribute = $this->getAttribute($attributeId); + $this->checkUnique($attribute, $newOptions); + foreach ($newOptions as $newOption) { + $lastAddedOption = $this->saveOption($attribute, $newOption); + $savedOptions[$newOption['id']] = $lastAddedOption['value']; } } + return $savedOptions; } + + /** + * Checks unique values + * + * @param ProductAttributeInterface $attribute + * @param array $newOptions + * @return void + * @throws LocalizedException + */ + private function checkUnique(ProductAttributeInterface $attribute, array $newOptions) + { + $originalOptions = $attribute->getSource()->getAllOptions(false); + $allOptions = array_merge($originalOptions, $newOptions); + $optionValues = array_map( + function ($option) { + return $option['label'] ?? null; + }, + $allOptions + ); + + $uniqueValues = array_unique(array_filter($optionValues)); + $duplicates = array_diff_assoc($optionValues, $uniqueValues); + if ($duplicates) { + throw new LocalizedException(__('The value of attribute ""%1"" must be unique', $attribute->getName())); + } + } + + /** + * Loads the product attribute by the id + * + * @param int $attributeId + * @return ProductAttributeInterface + */ + private function getAttribute(int $attributeId) + { + if (!isset($this->attributes[$attributeId])) { + $attribute = $this->attributeFactory->create(); + $this->attributes[$attributeId] = $attribute->load($attributeId); + } + + return $this->attributes[$attributeId]; + } + + /** + * Retrieve updated attribute ids with new options + * + * @return array + */ + private function getUpdatedAttributeIds() + { + $options = (array)$this->getRequest()->getParam('options'); + $updatedAttributeIds = []; + foreach ($options as $option) { + if (isset($option['label'], $option['is_new'], $option['attribute_id'])) { + $updatedAttributeIds[$option['attribute_id']][] = $option; + } + } + + return $updatedAttributeIds; + } + + /** + * Saves the option + * + * @param ProductAttributeInterface $attribute + * @param array $newOption + * @return array + */ + private function saveOption(ProductAttributeInterface $attribute, array $newOption) + { + $optionsBefore = $attribute->getSource()->getAllOptions(false); + $attribute->setOption( + [ + 'value' => ['option_0' => [$newOption['label']]], + 'order' => ['option_0' => count($optionsBefore) + 1], + ] + ); + $attribute->save(); + $optionsAfter = $attribute->getSource()->getAllOptions(false); + return array_pop($optionsAfter); + } } diff --git a/app/code/Magento/ConfigurableProduct/Model/Inventory/ParentItemProcessor.php b/app/code/Magento/ConfigurableProduct/Model/Inventory/ParentItemProcessor.php new file mode 100644 index 000000000000..f1567f2b196d --- /dev/null +++ b/app/code/Magento/ConfigurableProduct/Model/Inventory/ParentItemProcessor.php @@ -0,0 +1,129 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\ConfigurableProduct\Model\Inventory; + +use Magento\ConfigurableProduct\Model\Product\Type\Configurable; +use Magento\Catalog\Api\Data\ProductInterface as Product; +use Magento\CatalogInventory\Api\StockItemCriteriaInterfaceFactory; +use Magento\CatalogInventory\Api\StockItemRepositoryInterface; +use Magento\CatalogInventory\Api\StockConfigurationInterface; +use Magento\CatalogInventory\Api\Data\StockItemInterface; +use Magento\CatalogInventory\Observer\ParentItemProcessorInterface; + +/** + * Process parent stock item + */ +class ParentItemProcessor implements ParentItemProcessorInterface +{ + /** + * @var Configurable + */ + private $configurableType; + + /** + * @var StockItemCriteriaInterfaceFactory + */ + private $criteriaInterfaceFactory; + + /** + * @var StockItemRepositoryInterface + */ + private $stockItemRepository; + + /** + * @var StockConfigurationInterface + */ + private $stockConfiguration; + + /** + * @param Configurable $configurableType + * @param StockItemCriteriaInterfaceFactory $criteriaInterfaceFactory + * @param StockItemRepositoryInterface $stockItemRepository + * @param StockConfigurationInterface $stockConfiguration + */ + public function __construct( + Configurable $configurableType, + StockItemCriteriaInterfaceFactory $criteriaInterfaceFactory, + StockItemRepositoryInterface $stockItemRepository, + StockConfigurationInterface $stockConfiguration + ) { + $this->configurableType = $configurableType; + $this->criteriaInterfaceFactory = $criteriaInterfaceFactory; + $this->stockItemRepository = $stockItemRepository; + $this->stockConfiguration = $stockConfiguration; + } + + /** + * Process parent products + * + * @param Product $product + * @return void + */ + public function process(Product $product) + { + $parentIds = $this->configurableType->getParentIdsByChild($product->getId()); + foreach ($parentIds as $productId) { + $this->processStockForParent((int)$productId); + } + } + + /** + * Change stock item for parent product depending on children stock items + * + * @param int $productId + * @return void + */ + private function processStockForParent(int $productId) + { + $criteria = $this->criteriaInterfaceFactory->create(); + $criteria->setScopeFilter($this->stockConfiguration->getDefaultScopeId()); + + $criteria->setProductsFilter($productId); + $stockItemCollection = $this->stockItemRepository->getList($criteria); + $allItems = $stockItemCollection->getItems(); + if (empty($allItems)) { + return; + } + $parentStockItem = array_shift($allItems); + + $childrenIds = $this->configurableType->getChildrenIds($productId); + $criteria->setProductsFilter($childrenIds); + $stockItemCollection = $this->stockItemRepository->getList($criteria); + $allItems = $stockItemCollection->getItems(); + + $childrenIsInStock = false; + + foreach ($allItems as $childItem) { + if ($childItem->getIsInStock() === true) { + $childrenIsInStock = true; + break; + } + } + + if ($this->isNeedToUpdateParent($parentStockItem, $childrenIsInStock)) { + $parentStockItem->setIsInStock($childrenIsInStock); + $parentStockItem->setStockStatusChangedAuto(1); + $this->stockItemRepository->save($parentStockItem); + } + } + + /** + * Check is parent item should be updated + * + * @param StockItemInterface $parentStockItem + * @param bool $childrenIsInStock + * @return bool + */ + private function isNeedToUpdateParent( + StockItemInterface $parentStockItem, + bool $childrenIsInStock + ): bool { + return $parentStockItem->getIsInStock() !== $childrenIsInStock && + ($childrenIsInStock === false || $parentStockItem->getStockStatusChangedAuto()); + } +} diff --git a/app/code/Magento/ConfigurableProduct/Model/LinkManagement.php b/app/code/Magento/ConfigurableProduct/Model/LinkManagement.php index 2f07f8b90ce7..890564fdb303 100644 --- a/app/code/Magento/ConfigurableProduct/Model/LinkManagement.php +++ b/app/code/Magento/ConfigurableProduct/Model/LinkManagement.php @@ -132,7 +132,7 @@ public function addChild($sku, $childSku) throw new StateException(__("The parent product doesn't have configurable product options.")); } - $attributeIds = []; + $attributeData = []; foreach ($configurableProductOptions as $configurableProductOption) { $attributeCode = $configurableProductOption->getProductAttribute()->getAttributeCode(); if (!$child->getData($attributeCode)) { @@ -143,9 +143,11 @@ public function addChild($sku, $childSku) ) ); } - $attributeIds[] = $configurableProductOption->getAttributeId(); + $attributeData[$configurableProductOption->getAttributeId()] = [ + 'position' => $configurableProductOption->getPosition() + ]; } - $configurableOptionData = $this->getConfigurableAttributesData($attributeIds); + $configurableOptionData = $this->getConfigurableAttributesData($attributeData); /** @var \Magento\ConfigurableProduct\Helper\Product\Options\Factory $optionFactory */ $optionFactory = $this->getOptionsFactory(); @@ -211,16 +213,16 @@ private function getOptionsFactory() /** * Get Configurable Attribute Data * - * @param int[] $attributeIds + * @param int[] $attributeData * @return array */ - private function getConfigurableAttributesData($attributeIds) + private function getConfigurableAttributesData($attributeData) { $configurableAttributesData = []; $attributeValues = []; $attributes = $this->attributeFactory->create() ->getCollection() - ->addFieldToFilter('attribute_id', $attributeIds) + ->addFieldToFilter('attribute_id', array_keys($attributeData)) ->getItems(); foreach ($attributes as $attribute) { foreach ($attribute->getOptions() as $option) { @@ -237,6 +239,7 @@ private function getConfigurableAttributesData($attributeIds) 'attribute_id' => $attribute->getId(), 'code' => $attribute->getAttributeCode(), 'label' => $attribute->getStoreLabel(), + 'position' => $attributeData[$attribute->getId()]['position'], 'values' => $attributeValues, ]; } diff --git a/app/code/Magento/ConfigurableProduct/Model/Product/VariationHandler.php b/app/code/Magento/ConfigurableProduct/Model/Product/VariationHandler.php index 1bd8ef59f0d6..09d251519269 100644 --- a/app/code/Magento/ConfigurableProduct/Model/Product/VariationHandler.php +++ b/app/code/Magento/ConfigurableProduct/Model/Product/VariationHandler.php @@ -3,6 +3,7 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ +declare(strict_types=1); namespace Magento\ConfigurableProduct\Model\Product; @@ -201,12 +202,11 @@ protected function fillSimpleProductData( $keysFilter = ['item_id', 'product_id', 'stock_id', 'type_id', 'website_id']; $postData['stock_data'] = array_diff_key((array)$parentProduct->getStockData(), array_flip($keysFilter)); - if (!isset($postData['stock_data']['is_in_stock'])) { - $stockStatus = $parentProduct->getQuantityAndStockStatus(); - if (isset($stockStatus['is_in_stock'])) { - $postData['stock_data']['is_in_stock'] = $stockStatus['is_in_stock']; - } + $stockStatus = $parentProduct->getQuantityAndStockStatus(); + if (isset($stockStatus['is_in_stock'])) { + $postData['stock_data']['is_in_stock'] = $stockStatus['is_in_stock']; } + $postData = $this->processMediaGallery($product, $postData); $postData['status'] = isset($postData['status']) ? $postData['status'] diff --git a/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/AdminConfigurableProductActionGroup.xml b/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/AdminConfigurableProductActionGroup.xml index 5a172ca5eabd..5efc6e5601b5 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/AdminConfigurableProductActionGroup.xml +++ b/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/AdminConfigurableProductActionGroup.xml @@ -122,6 +122,25 @@ <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton3"/> <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton4"/> </actionGroup> + <actionGroup name="createOptionsForAttribute"> + <arguments> + <argument name="attributeName" type="string" defaultValue="{{productAttributeColor.default_label}}"/> + <argument name="firstOptionName" type="string" defaultValue="option1"/> + <argument name="secondOptionName" type="string" defaultValue="option2"/> + </arguments> + <click selector="{{AdminCreateProductConfigurationsPanel.filters}}" stepKey="clickOnFilters"/> + <fillField userInput="{{attributeName}}" selector="{{AdminCreateProductConfigurationsPanel.attributeCode}}" stepKey="fillFilterAttributeCodeField"/> + <click selector="{{AdminCreateProductConfigurationsPanel.applyFilters}}" stepKey="clickApplyFiltersButton"/> + <click selector="{{AdminCreateProductConfigurationsPanel.firstCheckbox}}" stepKey="clickOnFirstCheckbox"/> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton"/> + <click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" stepKey="clickOnCreateFirstNewValue"/> + <fillField userInput="{{firstOptionName}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewFirstOption"/> + <click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" stepKey="clickOnSaveNewAttribute"/> + <click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" stepKey="clickOnCreateSecondNewValue"/> + <fillField userInput="{{secondOptionName}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewSecondOption"/> + <click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" stepKey="clickOnSaveAttribute"/> + <click selector="{{AdminCreateProductConfigurationsPanel.selectAll}}" stepKey="clickOnSelectAll"/> + </actionGroup> <actionGroup name="createConfigurationsForAttribute" extends="generateConfigurationsByAttributeCode"> <arguments> @@ -205,7 +224,23 @@ <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnThirdNextButton"/> <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnFourthNextButton"/> </actionGroup> - + <actionGroup name="selectCreatedAttributeAndCreateTwoOptions" extends="addNewProductConfigurationAttribute"> + <remove keyForRemoval="clickOnNewAttribute"/> + <remove keyForRemoval="waitForIFrame"/> + <remove keyForRemoval="switchToNewAttributeIFrame"/> + <remove keyForRemoval="fillDefaultLabel"/> + <remove keyForRemoval="clickOnNewAttributePanel"/> + <remove keyForRemoval="waitForSaveAttribute"/> + <remove keyForRemoval="switchOutOfIFrame"/> + <remove keyForRemoval="waitForFilters"/> + <fillField userInput="{{attribute.attribute_code}}" selector="{{AdminCreateProductConfigurationsPanel.attributeCode}}" stepKey="fillFilterAttributeCodeField"/> + <fillField userInput="{{firstOption.label}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewFirstOption"/> + <fillField userInput="{{secondOption.label}}" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewSecondOption"/> + <remove keyForRemoval="clickOnSelectAll"/> + <remove keyForRemoval="clickOnSecondNextButton"/> + <remove keyForRemoval="clickOnThirdNextButton"/> + <remove keyForRemoval="clickOnFourthNextButton"/> + </actionGroup> <actionGroup name="changeProductConfigurationsInGrid"> <arguments> <argument name="firstOption" type="entity"/> @@ -266,6 +301,16 @@ <selectOption userInput="{{frontend_label}}" selector="{{AdminCreateProductConfigurationsPanel.selectPriceButton}}" stepKey="selectOption"/> <fillField selector="{{AdminCreateProductConfigurationsPanel.price(label)}}" userInput="{{price}}" stepKey="enterAttributeQuantity"/> </actionGroup> + <actionGroup name="addUniqueQuantityToConfigurableProductOption"> + <arguments> + <argument name="frontend_label" type="string" defaultValue="{{productAttributeColor.default_label}}"/> + <argument name="label" type="string" defaultValue="option1"/> + <argument name="quantity" type="string" defaultValue="10"/> + </arguments> + <click selector="{{AdminCreateProductConfigurationsPanel.applyUniqueQuantityToEachSkus}}" stepKey="clickOnApplyUniqueQuantitiesToEachSku"/> + <selectOption selector="{{AdminCreateProductConfigurationsPanel.selectQuantity}}" userInput="{{frontend_label}}" stepKey="selectOption"/> + <fillField selector="{{AdminCreateProductConfigurationsPanel.applyUniqueQuantity(label)}}" userInput="{{quantity}}" stepKey="enterAttributeQuantity"/> + </actionGroup> <actionGroup name="saveConfigurableProductWithNewAttributeSet"> <click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="clickSaveConfigurableProduct"/> @@ -302,4 +347,12 @@ <waitForPageLoad stepKey="waitForNextStepLoaded"/> <see userInput="{{title}}" selector="{{AdminProductFormConfigurationsSection.stepsWizardTitle}}" stepKey="seeStepTitle"/> </actionGroup> + <actionGroup name="AdminConfigurableProductDisableConfigurationsActionGroup"> + <arguments> + <argument name="productName" type="string" defaultValue="{{SimpleProduct.name}}"/> + </arguments> + <click selector="{{AdminProductFormConfigurationsSection.actionsBtnByProductName(productName)}}" stepKey="clickToExpandActionsSelect"/> + <click selector="{{AdminProductFormConfigurationsSection.disableProductBtn}}" stepKey="clickDisableChildProduct"/> + <see selector="{{AdminProductFormConfigurationsSection.confProductOptionStatusCell(productName)}}" userInput="Disabled" stepKey="seeConfigDisabled"/> + </actionGroup> </actionGroups> diff --git a/app/code/Magento/ConfigurableProduct/Test/Mftf/Data/ProductConfigurableAttributeData.xml b/app/code/Magento/ConfigurableProduct/Test/Mftf/Data/ProductConfigurableAttributeData.xml index 4c5f83ecebec..13760f74297e 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Mftf/Data/ProductConfigurableAttributeData.xml +++ b/app/code/Magento/ConfigurableProduct/Test/Mftf/Data/ProductConfigurableAttributeData.xml @@ -29,6 +29,11 @@ <data key="name" unique="suffix">Orange</data> <data key="price">99.99</data> </entity> + <entity name="productAttributeColor" type="product_attribute"> + <data key="default_label" unique="suffix">color</data> + <data key="input_type">Dropdown</data> + <data key="attribute_quantity">1</data> + </entity> <entity name="colorDefaultProductAttribute" type="product_attribute"> <data key="default_label">Color</data> <data key="input_type">Dropdown</data> diff --git a/app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminCreateProductConfigurationsPanelSection.xml b/app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminCreateProductConfigurationsPanelSection.xml index a5e74145c9fe..f3c628d002e7 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminCreateProductConfigurationsPanelSection.xml +++ b/app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminCreateProductConfigurationsPanelSection.xml @@ -22,7 +22,9 @@ <element name="selectAll" type="button" selector=".action-select-all"/> <element name="selectAllByAttribute" type="button" selector="//div[@data-attribute-title='{{attr}}']//button[contains(@class, 'action-select-all')]" parameterized="true"/> <element name="createNewValue" type="input" selector=".action-create-new" timeout="30"/> + <element name="attributeNameInTitle" type="input" selector="//div[contains(@class,'attribute-entity-title-block')]/div[contains(@class,'attribute-entity-title')]"/> <element name="attributeName" type="input" selector="li[data-attribute-option-title=''] .admin__field-create-new .admin__control-text"/> + <element name="attributeNameWithError" type="text" selector="//li[@data-attribute-option-title='']/div[contains(@class,'admin__field admin__field-create-new _error')]"/> <element name="saveAttribute" type="button" selector="li[data-attribute-option-title=''] .action-save" timeout="30"/> <element name="attributeCheckboxByIndex" type="input" selector="li.attribute-option:nth-of-type({{var1}}) input" parameterized="true"/> @@ -39,6 +41,9 @@ <element name="attribute3" type="input" selector="#apply-single-price-input-2"/> <element name="applySingleQuantityToEachSkus" type="radio" selector=".admin__field-label[for='apply-single-inventory-radio']" timeout="30"/> + <element name="applyUniqueQuantityToEachSkus" type="radio" selector=".admin__field-label[for='apply-unique-inventory-radio']" timeout="30"/> + <element name="selectQuantity" type="select" selector="#apply-single-price-input-qty" timeout="30"/> + <element name="applyUniqueQuantity" type="input" selector="//*[text()='{{option}}']/ancestor::div[contains(@class, 'admin__field _required')]//input[contains(@id, 'apply-qty-input')]" parameterized="true"/> <element name="applyUniqueImagesToEachSkus" type="radio" selector=".admin__field-label[for='apply-unique-images-radio']" timeout="30"/> <element name="applyUniquePricesToEachSkus" type="radio" selector=".admin__field-label[for='apply-unique-prices-radio']" timeout="30"/> <element name="selectImagesButton" type="select" selector="#apply-images-attributes" timeout="30"/> diff --git a/app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminProductFormConfigurationsSection.xml b/app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminProductFormConfigurationsSection.xml index f6828a3b8631..c1707f6f1f0a 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminProductFormConfigurationsSection.xml +++ b/app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminProductFormConfigurationsSection.xml @@ -32,6 +32,7 @@ <element name="confProductPriceCell" type="input" selector="//*[.='Attributes']/ancestor::tr//span[contains(text(), '{{var}}')]/ancestor::tr/td[@data-index='price_container']//input" parameterized="true"/> <element name="confProductQuantityCell" type="input" selector="//*[.='Attributes']/ancestor::tr//span[contains(text(), '{{var}}')]/ancestor::tr/td[@data-index='quantity_container']//input" parameterized="true"/> <element name="confProductWeightCell" type="input" selector="//*[.='Attributes']/ancestor::tr//span[contains(text(), '{{var}}')]/ancestor::tr/td[@data-index='price_weight']//input" parameterized="true"/> + <element name="confProductOptionStatusCell" type="text" selector="//*[.='Attributes']/ancestor::tr//span[contains(text(), '{{productName}}')]/ancestor::tr/td[@data-index='status']" parameterized="true"/> <element name="confProductSkuMessage" type="text" selector="//*[@name='configurable-matrix[{{arg}}][sku]']/following-sibling::label" parameterized="true"/> <element name="variationsSkuInputByRow" selector="[data-index='configurable-matrix'] table > tbody > tr:nth-of-type({{row}}) input[name*='sku']" type="input" parameterized="true"/> <element name="variationsSkuInputErrorByRow" selector="[data-index='configurable-matrix'] table > tbody > tr:nth-of-type({{row}}) .admin__field-error" type="text" parameterized="true"/> diff --git a/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/AdminCheckConfigurableProductAttributeValueUniquenessTest.xml b/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/AdminCheckConfigurableProductAttributeValueUniquenessTest.xml new file mode 100644 index 000000000000..df934446fc89 --- /dev/null +++ b/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/AdminCheckConfigurableProductAttributeValueUniquenessTest.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> + +<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> + <test name="AdminCheckConfigurableProductAttributeValueUniquenessTest"> + <annotations> + <features value="ConfigurableProduct"/> + <title value="Attribute value validation (check for uniqueness) in configurable products"/> + <description value="Attribute value validation (check for uniqueness) in configurable products"/> + <severity value="MAJOR"/> + <testCaseId value="MC-17450"/> + <useCaseId value="MAGETWO-99443"/> + <group value="ConfigurableProduct"/> + </annotations> + <before> + <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> + <createData entity="dropdownProductAttribute" stepKey="createProductAttribute"/> + </before> + <after> + <!--Delete created data--> + <comment userInput="Delete created data" stepKey="deleteCreatedData"/> + <actionGroup ref="deleteProductUsingProductGrid" stepKey="deleteConfigurableProductAndOptions"> + <argument name="product" value="$$createConfigProduct$$"/> + </actionGroup> + <waitForPageLoad stepKey="waitForProductIndexPage"/> + <actionGroup ref="resetProductGridToDefaultView" stepKey="resetProductGridColumnsInitial"/> + <deleteData createDataKey="createCategory" stepKey="deleteCategory"/> + <deleteData createDataKey="createProductAttribute" stepKey="deleteAttribute"/> + <actionGroup ref="logout" stepKey="logOut"/> + </after> + <!--Create configurable product--> + <comment userInput="Create configurable product" stepKey="createConfProd"/> + <createData entity="ApiCategory" stepKey="createCategory"/> + <createData entity="ApiConfigurableProduct" stepKey="createConfigProduct"> + <requiredEntity createDataKey="createCategory"/> + </createData> + <!--Go to created product page--> + <comment userInput="Go to created product page" stepKey="goToProdPage"/> + <amOnPage url="{{ProductCatalogPage.url}}" stepKey="goToProductGrid"/> + <waitForPageLoad stepKey="waitForProductPage1"/> + <actionGroup ref="filterProductGridByName2" stepKey="filterByName"> + <argument name="name" value="$$createConfigProduct.name$$"/> + </actionGroup> + <click selector="{{AdminProductGridSection.firstRow}}" stepKey="clickOnProductName"/> + <waitForPageLoad stepKey="waitForProductEditPageToLoad"/> + <!--Create configurations for the product--> + <comment userInput="Create configurations for the product" stepKey="createConfigurations"/> + <conditionalClick selector="{{AdminProductFormConfigurationsSection.sectionHeader}}" dependentSelector="{{AdminProductFormConfigurationsSection.createConfigurations}}" visible="false" stepKey="expandConfigurationsTab1"/> + <click selector="{{AdminProductFormConfigurationsSection.createConfigurations}}" stepKey="clickOnCreateConfigurations1"/> + <waitForPageLoad stepKey="waitForSelectAttributesPage1"/> + <actionGroup ref="selectCreatedAttributeAndCreateTwoOptions" stepKey="selectCreatedAttributeAndCreateOptions"> + <argument name="attribute" value="dropdownProductAttribute"/> + <argument name="firstOption" value="productAttributeOption1"/> + <argument name="secondOption" value="productAttributeOption1"/> + </actionGroup> + <!--Check that system does not allow to save 2 options with same name--> + <comment userInput="Check that system does not allow to save 2 options with same name" stepKey="checkOptionNameUniqueness"/> + <seeElement selector="{{AdminCreateProductConfigurationsPanel.attributeNameWithError}}" stepKey="seeThatOptionWithSameNameIsNotSaved"/> + <!--Click next and assert error message--> + <comment userInput="Click next and assert error message" stepKey="clickNextAndAssertErrMssg"/> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickNext"/> + <waitForPageLoad time="10" stepKey="waitForPageLoad"/> + <grabTextFrom selector="{{AdminCreateProductConfigurationsPanel.attributeNameInTitle}}" stepKey="grabErrMsg"/> + <see userInput='The value of attribute "$grabErrMsg" must be unique' stepKey="verifyAttributesValueUniqueness"/> + </test> +</tests> diff --git a/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/NoOptionAvailableToConfigureDisabledProductTest.xml b/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/NoOptionAvailableToConfigureDisabledProductTest.xml new file mode 100644 index 000000000000..cb0ea1c5de62 --- /dev/null +++ b/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/NoOptionAvailableToConfigureDisabledProductTest.xml @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> + +<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> + <test name="NoOptionAvailableToConfigureDisabledProductTest"> + <annotations> + <title value="Disabled variation of configurable product can't be added to shopping cart via admin"/> + <description value="Disabled variation of configurable product can't be added to shopping cart via admin"/> + <severity value="AVERAGE"/> + <testCaseId value="MC-17373"/> + <useCaseId value="MAGETWO-72172"/> + <group value="ConfigurableProduct"/> + </annotations> + <before> + <actionGroup ref="LoginAsAdmin" stepKey="login"/> + <!--Create category--> + <comment userInput="Create category" stepKey="commentCreateCategory"/> + <createData entity="SimpleSubCategory" stepKey="createCategory"/> + <!-- Create the configurable product based on the data in the data folder --> + <comment userInput="Create the configurable product based on the data in the data folder" stepKey="createConfigurableProduct"/> + <createData entity="ApiConfigurableProduct" stepKey="createConfigProduct"> + <requiredEntity createDataKey="createCategory"/> + </createData> + <!-- Create the configurable product with two options based on the default attribute set --> + <comment userInput="Create the configurable product with two options based on the default attribute set" stepKey="configurableProductWithTwoOptions"/> + <createData entity="productAttributeWithTwoOptions" stepKey="createConfigProductAttribute"/> + <createData entity="productAttributeOption1" stepKey="createConfigProductAttributeOption1"> + <requiredEntity createDataKey="createConfigProductAttribute"/> + </createData> + <createData entity="productAttributeOption2" stepKey="createConfigProductAttributeOption2"> + <requiredEntity createDataKey="createConfigProductAttribute"/> + </createData> + <createData entity="productAttributeOption3" stepKey="createConfigProductAttributeOption3"> + <requiredEntity createDataKey="createConfigProductAttribute"/> + </createData> + <createData entity="AddToDefaultSet" stepKey="createConfigAddToAttributeSet"> + <requiredEntity createDataKey="createConfigProductAttribute"/> + </createData> + <getData entity="ProductAttributeOptionGetter" index="1" stepKey="getConfigAttributeOption1"> + <requiredEntity createDataKey="createConfigProductAttribute"/> + </getData> + <getData entity="ProductAttributeOptionGetter" index="2" stepKey="getConfigAttributeOption2"> + <requiredEntity createDataKey="createConfigProductAttribute"/> + </getData> + <getData entity="ProductAttributeOptionGetter" index="3" stepKey="getConfigAttributeOption3"> + <requiredEntity createDataKey="createConfigProductAttribute"/> + </getData> + <!-- Create the 2 children that will be a part of the configurable product --> + <comment userInput="Create the 2 children that will be a part of the configurable product" stepKey="createTwoChildrenProducts"/> + <createData entity="ApiSimpleProductWithPrice50" stepKey="createConfigChildProduct1"> + <requiredEntity createDataKey="createConfigProductAttribute"/> + <requiredEntity createDataKey="getConfigAttributeOption1"/> + </createData> + <createData entity="ApiSimpleProductWithPrice60" stepKey="createConfigChildProduct2"> + <requiredEntity createDataKey="createConfigProductAttribute"/> + <requiredEntity createDataKey="getConfigAttributeOption2"/> + </createData> + <createData entity="ApiSimpleProductWithPrice70" stepKey="createConfigChildProduct3"> + <requiredEntity createDataKey="createConfigProductAttribute"/> + <requiredEntity createDataKey="getConfigAttributeOption3"/> + </createData> + <!-- Assign two products to the configurable product --> + <comment userInput="Assign two products to the configurable product" stepKey="assignToConfigurableProduct"/> + <createData entity="ConfigurableProductTwoOptions" stepKey="createConfigProductOption"> + <requiredEntity createDataKey="createConfigProduct"/> + <requiredEntity createDataKey="createConfigProductAttribute"/> + <requiredEntity createDataKey="getConfigAttributeOption1"/> + <requiredEntity createDataKey="getConfigAttributeOption2"/> + <requiredEntity createDataKey="getConfigAttributeOption3"/> + </createData> + <createData entity="ConfigurableProductAddChild" stepKey="createConfigProductAddChild1"> + <requiredEntity createDataKey="createConfigProduct"/> + <requiredEntity createDataKey="createConfigChildProduct1"/> + </createData> + <createData entity="ConfigurableProductAddChild" stepKey="createConfigProductAddChild2"> + <requiredEntity createDataKey="createConfigProduct"/> + <requiredEntity createDataKey="createConfigChildProduct2"/> + </createData> + <createData entity="ConfigurableProductAddChild" stepKey="createConfigProductAddChild3"> + <requiredEntity createDataKey="createConfigProduct"/> + <requiredEntity createDataKey="createConfigChildProduct3"/> + </createData> + <!--Create Customer--> + <comment userInput="Create customer" stepKey="commentCreateCustomer"/> + <createData entity="Simple_US_Customer_CA" stepKey="createCustomer"/> + </before> + <after> + <!--Delete created data--> + <comment userInput="Delete created data" stepKey="deleteData"/> + <deleteData createDataKey="createCategory" stepKey="deleteCategory2"/> + <deleteData createDataKey="createConfigProduct" stepKey="deleteConfigProduct"/> + <deleteData createDataKey="createConfigChildProduct1" stepKey="deleteConfigChildProduct1"/> + <deleteData createDataKey="createConfigChildProduct2" stepKey="deleteConfigChildProduct2"/> + <deleteData createDataKey="createConfigChildProduct3" stepKey="deleteConfigChildProduct3"/> + <deleteData createDataKey="createConfigProductAttribute" stepKey="deleteConfigProductAttribute"/> + <deleteData createDataKey="createCustomer" stepKey="deleteCreatedCustomer"/> + <actionGroup ref="logout" stepKey="logout"/> + </after> + <!--Disable child product --> + <comment userInput="Disable child product" stepKey="disableChildProduct"/> + <amOnPage url="{{AdminProductEditPage.url($$createConfigChildProduct1.id$$)}}" stepKey="goToEditPage"/> + <waitForPageLoad stepKey="waitForChildProductPageLoad"/> + <click selector="{{AdminProductFormSection.enableProductLabel}}" stepKey="disableProduct"/> + <actionGroup ref="saveProductForm" stepKey="saveProductForm"/> + <!--Go to created customer page--> + <comment userInput="Go to created customer page" stepKey="goToCreatedCustomerPage"/> + <actionGroup ref="navigateToNewOrderPageExistingCustomer" stepKey="createNewOrder"> + <argument name="customer" value="$$createCustomer$$"/> + </actionGroup> + <click selector="{{AdminOrderFormItemsSection.addProducts}}" stepKey="clickToAddProduct"/> + <waitForPageLoad stepKey="waitForProductsOpened"/> + <!--Find created configurable product and click on "Configure" link--> + <comment userInput="Find created configurable product and click on Configure link" stepKey="goToConfigurableLink"/> + <click selector="{{AdminOrderFormConfigureProductSection.configure($$createConfigProduct.id$$)}}" stepKey="clickOnConfigure"/> + <!--Click on attribute drop-down and check no option 1 is available--> + <comment userInput="Click on attribute drop-down and check no option 1 is available" stepKey="commentNoOptionIsAvailable"/> + <waitForElement selector="{{AdminOrderFormConfigureProductSection.selectOption}}" stepKey="waitForShippingSectionLoaded"/> + <click selector="{{AdminOrderFormConfigureProductSection.selectOption}}" stepKey="clickToSelectOption"/> + <dontSee userInput="$$createConfigProductAttributeOption1.option[store_labels][1][label]$$" stepKey="dontSeeOption1"/> + </test> +</tests> diff --git a/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/ProductsQtyReturnAfterOrderCancelTest.xml b/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/ProductsQtyReturnAfterOrderCancelTest.xml index f6469e060747..c3459aec3449 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/ProductsQtyReturnAfterOrderCancelTest.xml +++ b/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/ProductsQtyReturnAfterOrderCancelTest.xml @@ -71,6 +71,7 @@ </actionGroup> <click selector="{{AdminOrdersGridSection.firstRow}}" stepKey="clickOrderRow"/> + <waitForPageLoad stepKey="waitForOrderPageToLoad"/> <click selector="{{AdminOrderDetailsMainActionsSection.invoice}}" stepKey="clickInvoiceButton"/> <waitForPageLoad stepKey="waitForNewInvoicePageLoad"/> <fillField selector="{{AdminInvoiceItemsSection.qtyToInvoiceColumn}}" userInput="1" stepKey="ChangeQtyToInvoice"/> diff --git a/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/StorefrontVisibilityOfDuplicateProductTest.xml b/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/StorefrontVisibilityOfDuplicateProductTest.xml new file mode 100644 index 000000000000..36c8301b23d4 --- /dev/null +++ b/app/code/Magento/ConfigurableProduct/Test/Mftf/Test/StorefrontVisibilityOfDuplicateProductTest.xml @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> + <test name="StorefrontVisibilityOfDuplicateProductTest"> + <annotations> + <features value="ConfigurableProduct"/> + <title value="Visibility of duplicate product on the Storefront"/> + <description value="Check visibility of duplicate product on the Storefront"/> + <severity value="AVERAGE"/> + <testCaseId value="MC-17226"/> + <useCaseId value="MAGETWO-64923"/> + <group value="ConfigurableProduct"/> + </annotations> + <before> + <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> + <!--Create configurable product--> + <comment userInput="Create configurable product" stepKey="commentCreateConfigProduct"/> + <createData entity="SimpleSubCategory" stepKey="createCategory"/> + <createData entity="SimpleProduct" stepKey="createConfigProduct"> + <requiredEntity createDataKey="createCategory"/> + </createData> + </before> + <after> + <!--Delete created data--> + <comment userInput="Delete created data" stepKey="commentDeleteCreatedData"/> + <actionGroup ref="deleteAllDuplicateProductUsingProductGrid" stepKey="deleteDuplicatedProduct"> + <argument name="product" value="$$createConfigProduct$$"/> + </actionGroup> + <actionGroup ref="resetProductGridToDefaultView" stepKey="resetGridToDefaultKeywordSearch"/> + <!--Delete product attributes--> + <comment userInput="Delete product attributes" stepKey="deleteCommentAttributes"/> + <actionGroup ref="deleteProductAttributeByLabel" stepKey="deleteProductAttribute"> + <argument name="ProductAttribute" value="colorProductAttribute"/> + </actionGroup> + <click selector="{{AdminProductAttributeGridSection.ResetFilter}}" stepKey="resetFiltersOnGridFirst"/> + <actionGroup ref="deleteProductAttributeByLabel" stepKey="deleteProductSecondAttribute"> + <argument name="ProductAttribute" value="productAttributeColor"/> + </actionGroup> + <click selector="{{AdminProductAttributeGridSection.ResetFilter}}" stepKey="resetFiltersOnGridSecond"/> + <deleteData createDataKey="createCategory" stepKey="deleteCategory"/> + <actionGroup ref="logout" stepKey="logout"/> + </after> + <!--Create attribute and options for product--> + <comment userInput="Create attribute and options for product" stepKey="commentCreateAttributesAndOptions"/> + <amOnPage url="{{AdminProductEditPage.url($$createConfigProduct.id$$)}}" stepKey="navigateToConfigProductPage"/> + <waitForPageLoad stepKey="waitForProductPageLoad"/> + <actionGroup ref="addProductImage" stepKey="addImageForProduct1"> + <argument name="image" value="MagentoLogo"/> + </actionGroup> + <actionGroup ref="saveProductForm" stepKey="saveProductForm"/> + <actionGroup ref="AdminCreateAttributeFromProductPageWithScope" stepKey="createAttributeForProduct"> + <argument name="attributeName" value="{{colorProductAttribute.default_label}}"/> + <argument name="attributeType" value="{{colorProductAttribute.input_type}}"/> + <argument name="scope" value="Global"/> + </actionGroup> + <reloadPage stepKey="reloadPage"/> + <waitForPageLoad stepKey="waitForProductPageReload"/> + <click selector="{{AdminProductFormConfigurationsSection.createConfigurations}}" stepKey="clickOnCreateConfigurations"/> + <waitForPageLoad stepKey="waitForFilters"/> + <actionGroup ref="createOptionsForAttribute" stepKey="createOptions"> + <argument name="attributeName" value="{{colorProductAttribute.default_label}}"/> + <argument name="firstOptionName" value="{{colorConfigurableProductAttribute1.name}}"/> + <argument name="secondOptionName" value="{{colorConfigurableProductAttribute2.name}}"/> + </actionGroup> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnFirstNextButton"/> + <waitForPageLoad stepKey="waitForBulkImagesPriceQuantityPageLoad"/> + <!--Add images to configurable product attribute options--> + <comment userInput="Add images to configurable product attribute options" stepKey="commentAddImages"/> + <actionGroup ref="addUniqueImageToConfigurableProductOption" stepKey="addImageToConfigurableProductOptionOne"> + <argument name="image" value="ImageUpload"/> + <argument name="frontend_label" value="{{colorProductAttribute.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute1.name}}"/> + </actionGroup> + <actionGroup ref="addUniqueImageToConfigurableProductOption" stepKey="addImageToConfigurableProductOptionTwo"> + <argument name="image" value="ImageUpload_1"/> + <argument name="frontend_label" value="{{colorProductAttribute.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute2.name}}"/> + </actionGroup> + <!--Add price to product attribute options--> + <comment userInput="Add price to product attribute options" stepKey="commentAddPrice"/> + <actionGroup ref="addUniquePriceToConfigurableProductOption" stepKey="addPriceToConfigurableProductOptionFirst"> + <argument name="frontend_label" value="{{colorProductAttribute.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute1.name}}"/> + <argument name="price" value="{{virtualProductWithRequiredFields.price}}"/> + </actionGroup> + <actionGroup ref="addUniquePriceToConfigurableProductOption" stepKey="addPriceToConfigurableProductOptionSecond"> + <argument name="frontend_label" value="{{colorProductAttribute.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute2.name}}"/> + <argument name="price" value="{{virtualProductWithRequiredFields.price}}"/> + </actionGroup> + <!--Add quantity to product attribute options--> + <comment userInput="Add quantity to product attribute options" stepKey="commentAddQuantity"/> + <actionGroup ref="addUniqueQuantityToConfigurableProductOption" stepKey="addUniqueQtyForFirstOption"> + <argument name="frontend_label" value="{{colorProductAttribute.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute1.name}}"/> + <argument name="quantity" value="{{virtualProductBigQty.quantity}}"/> + </actionGroup> + <actionGroup ref="addUniqueQuantityToConfigurableProductOption" stepKey="addUniqueQtyForSecondOption"> + <argument name="frontend_label" value="{{colorProductAttribute.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute2.name}}"/> + <argument name="quantity" value="{{virtualProductBigQty.quantity}}"/> + </actionGroup> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnSecondNextButton"/> + <waitForPageLoad stepKey="waitForSummaryPageLoad"/> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButtonToGenerateConfigs"/> + <waitForPageLoad stepKey="waitForConfigurableProductPageLoad"/> + <actionGroup ref="saveProductForm" stepKey="saveProduct"/> + <!--Duplicate the product--> + <comment userInput="Duplicate the product" stepKey="commentDuplicateProduct"/> + <actionGroup ref="AdminFormSaveAndDuplicate" stepKey="saveAndDuplicateProductForm"/> + <click selector="{{AdminProductFormSection.enableProductLabel}}" stepKey="clickEnableProduct"/> + <fillField selector="{{AdminProductFormSection.productName}}" userInput="$$createConfigProduct.name$$-Updated" stepKey="fillProductName"/> + <selectOption selector="{{AdminProductFormSection.productStockStatus}}" userInput="1" stepKey="selectInStock"/> + <!--Change product image--> + <comment userInput="Change product image" stepKey="commentChangeProductImage"/> + <actionGroup ref="removeProductImage" stepKey="removeProductImage"/> + <actionGroup ref="addProductImage" stepKey="addImageForProduct"> + <argument name="image" value="TestImageAdobe"/> + </actionGroup> + <!--Disable configurations--> + <comment userInput="Disable configurations" stepKey="commentDisableConfigurations"/> + <actionGroup ref="AdminConfigurableProductDisableConfigurationsActionGroup" stepKey="disableFirstConfig"> + <argument name="productName" value="{{colorConfigurableProductAttribute1.name}}"/> + </actionGroup> + <actionGroup ref="AdminConfigurableProductDisableConfigurationsActionGroup" stepKey="disableSecondConfig"> + <argument name="productName" value="{{colorConfigurableProductAttribute2.name}}"/> + </actionGroup> + <actionGroup ref="saveProductForm" stepKey="saveDuplicatedProductForm"/> + <!--Create new configurations with another attribute--> + <comment userInput="Create new configurations with another attribute" stepKey="commentCreateNewConfigurations"/> + <actionGroup ref="AdminCreateAttributeFromProductPageWithScope" stepKey="createAttributeForDuplicatedProduct"> + <argument name="attributeName" value="{{productAttributeColor.default_label}}"/> + <argument name="attributeType" value="{{productAttributeColor.input_type}}"/> + <argument name="scope" value="Global"/> + </actionGroup> + <reloadPage stepKey="reloadDuplicatedProductPage"/> + <waitForPageLoad stepKey="waitForDuplicatedProductReload"/> + <click selector="{{AdminProductFormConfigurationsSection.createConfigurations}}" stepKey="createConfigurationsDuplicatedProduct"/> + <actionGroup ref="createOptionsForAttribute" stepKey="createOptionsForDuplicatedProduct"> + <argument name="attributeName" value="{{productAttributeColor.default_label}}"/> + <argument name="firstOptionName" value="{{colorConfigurableProductAttribute1.name}}"/> + <argument name="secondOptionName" value="{{colorConfigurableProductAttribute2.name}}"/> + </actionGroup> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnFirstNextButtonForDuplicatedProduct"/> + <waitForPageLoad stepKey="waitForBulkImagesPriceQuantityPageLoadForDuplicatedProduct"/> + <actionGroup ref="addUniqueImageToConfigurableProductOption" stepKey="addImgConfigProductOption1DuplicatedProduct"> + <argument name="image" value="MagentoLogo"/> + <argument name="frontend_label" value="{{productAttributeColor.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute1.name}}"/> + </actionGroup> + <actionGroup ref="addUniqueImageToConfigurableProductOption" stepKey="addImgConfigProductOption2DuplicatedProduct"> + <argument name="image" value="MagentoLogo"/> + <argument name="frontend_label" value="{{productAttributeColor.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute2.name}}"/> + </actionGroup> + <actionGroup ref="addUniquePriceToConfigurableProductOption" stepKey="addPriceConfigProductOption1DuplicatedProduct"> + <argument name="frontend_label" value="{{productAttributeColor.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute1.name}}"/> + <argument name="price" value="{{virtualProductWithRequiredFields.price}}"/> + </actionGroup> + <actionGroup ref="addUniquePriceToConfigurableProductOption" stepKey="addPriceConfigProductOption2DuplicatedProduct"> + <argument name="frontend_label" value="{{productAttributeColor.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute2.name}}"/> + <argument name="price" value="{{virtualProductWithRequiredFields.price}}"/> + </actionGroup> + <actionGroup ref="addUniqueQuantityToConfigurableProductOption" stepKey="addUniqueQtyOption1DuplicatedProduct"> + <argument name="frontend_label" value="{{productAttributeColor.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute1.name}}"/> + <argument name="quantity" value="{{virtualProductBigQty.quantity}}"/> + </actionGroup> + <actionGroup ref="addUniqueQuantityToConfigurableProductOption" stepKey="addUniqueQtyOption2DuplicatedProduct"> + <argument name="frontend_label" value="{{productAttributeColor.default_label}}"/> + <argument name="label" value="{{colorConfigurableProductAttribute2.name}}"/> + <argument name="quantity" value="{{virtualProductBigQty.quantity}}"/> + </actionGroup> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOn2NextButtonForDuplicatedProduct"/> + <waitForPageLoad stepKey="waitForSummaryPageLoadForDuplicatedProduct"/> + <click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="generateConfigsForDuplicatedProduct"/> + <waitForPageLoad stepKey="waitForDuplicatedProductPageLoad"/> + <actionGroup ref="saveProductForm" stepKey="saveDuplicatedProduct"/> + <magentoCLI command="indexer:reindex" stepKey="reindex"/> + <magentoCLI command="cache:flush" stepKey="flushCache"/> + <!--Assert configurable product in category--> + <comment userInput="Assert configurable product in category" stepKey="commentAssertProductInCategoryPage"/> + <amOnPage url="{{StorefrontCategoryPage.url($$createCategory.name$$)}}" stepKey="onStorefrontCategoryPage"/> + <waitForPageLoad stepKey="waitForCategoryPageLoad"/> + <seeElement selector="{{StorefrontCategoryProductSection.ProductTitleByName($$createConfigProduct.name$$-Updated)}}" stepKey="assertProductNameInCategoryPage"/> + <!--Assert product options in Storefront product page--> + <comment userInput="Assert product options in Storefront product page" stepKey="commentAssertProductOptions"/> + <amOnPage url="{{StorefrontProductPage.url($$createConfigProduct.sku$$-1)}}" stepKey="amOnSimpleProductPage"/> + <waitForPageLoad stepKey="waitForProductPageLoadOnStorefront"/> + <see selector="{{StorefrontProductInfoMainSection.productName}}" userInput="$$createConfigProduct.name$$-Updated" stepKey="seeConfigurableProductName"/> + <see userInput="{{productAttributeColor.default_label}}" selector="{{StorefrontProductInfoMainSection.productAttributeTitle1}}" stepKey="seeColorAttributeName"/> + <selectOption selector="{{StorefrontProductInfoMainSection.productAttributeOptionsSelectButton}}" userInput="{{colorConfigurableProductAttribute1.name}}" stepKey="selectFirstOption"/> + <see userInput="{{virtualProductWithRequiredFields.price}}" selector="{{StorefrontProductInfoMainSection.productPrice}}" stepKey="assertFirstOptionProductPrice"/> + <seeElement selector="{{StorefrontProductMediaSection.imageFile(MagentoLogo.filename)}}" stepKey="seeFirstImage"/> + <selectOption selector="{{StorefrontProductInfoMainSection.productAttributeOptionsSelectButton}}" userInput="{{colorConfigurableProductAttribute1.name}}" stepKey="selectSecondOption"/> + <see userInput="{{virtualProductWithRequiredFields.price}}" selector="{{StorefrontProductInfoMainSection.productPrice}}" stepKey="seeSecondOptionProductPrice"/> + <seeElement selector="{{StorefrontProductMediaSection.imageFile(MagentoLogo.filename)}}" stepKey="seeSecondImage"/> + </test> +</tests> diff --git a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/LinkManagementTest.php b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/LinkManagementTest.php index ad2fcd1e5936..c385934352ab 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/LinkManagementTest.php +++ b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/LinkManagementTest.php @@ -149,16 +149,19 @@ public function testAddChild() ->disableOriginalConstructor() ->setMethods(['getId', 'getData']) ->getMock(); - $extensionAttributesMock = $this->getMockBuilder(\Magento\Catalog\Api\Data\ProductExtension::class) ->disableOriginalConstructor() - ->setMethods([ - 'getConfigurableProductOptions', 'setConfigurableProductOptions', 'setConfigurableProductLinks' - ]) + ->setMethods( + [ + 'getConfigurableProductOptions', + 'setConfigurableProductOptions', + 'setConfigurableProductLinks' + ] + ) ->getMock(); $optionMock = $this->getMockBuilder(\Magento\ConfigurableProduct\Api\Data\Option::class) ->disableOriginalConstructor() - ->setMethods(['getProductAttribute', 'getAttributeId']) + ->setMethods(['getProductAttribute', 'getPosition', 'getAttributeId']) ->getMock(); $productAttributeMock = $this->getMockBuilder(\Magento\Eav\Model\Entity\Attribute\AbstractAttribute::class) ->disableOriginalConstructor() @@ -189,7 +192,6 @@ public function testAddChild() ->disableOriginalConstructor() ->setMethods(['getValue', 'getLabel']) ->getMock(); - $attributeCollectionMock = $this->getMockBuilder( \Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable\Attribute\Collection::class ) @@ -216,20 +218,18 @@ public function testAddChild() $productAttributeMock->expects($this->any())->method('getAttributeCode')->willReturn('color'); $simple->expects($this->any())->method('getData')->willReturn('color'); $optionMock->expects($this->any())->method('getAttributeId')->willReturn('1'); + $optionMock->expects($this->any())->method('getPosition')->willReturn('0'); $optionsFactoryMock->expects($this->any())->method('create')->willReturn([$optionMock]); $attributeFactoryMock->expects($this->any())->method('create')->willReturn($attributeMock); $attributeMock->expects($this->any())->method('getCollection')->willReturn($attributeCollectionMock); $attributeCollectionMock->expects($this->any())->method('addFieldToFilter')->willReturnSelf(); $attributeCollectionMock->expects($this->any())->method('getItems')->willReturn([$attributeMock]); - + $attributeMock->expects($this->any())->method('getId')->willReturn(1); $attributeMock->expects($this->any())->method('getOptions')->willReturn([$attributeOptionMock]); - $extensionAttributesMock->expects($this->any())->method('setConfigurableProductOptions'); $extensionAttributesMock->expects($this->any())->method('setConfigurableProductLinks'); - $this->productRepository->expects($this->once())->method('save'); - $this->assertTrue(true, $this->object->addChild($productSku, $childSku)); } diff --git a/app/code/Magento/ConfigurableProduct/etc/di.xml b/app/code/Magento/ConfigurableProduct/etc/di.xml index c3ffe988b00d..8cec84abc4fe 100644 --- a/app/code/Magento/ConfigurableProduct/etc/di.xml +++ b/app/code/Magento/ConfigurableProduct/etc/di.xml @@ -255,4 +255,11 @@ </argument> </arguments> </type> + <type name="Magento\CatalogInventory\Observer\SaveInventoryDataObserver"> + <arguments> + <argument name="parentItemProcessorPool" xsi:type="array"> + <item name="configurable" xsi:type="object"> Magento\ConfigurableProduct\Model\Inventory\ParentItemProcessor</item> + </argument> + </arguments> + </type> </config> diff --git a/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/edit/attribute/steps/attributes_values.phtml b/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/edit/attribute/steps/attributes_values.phtml index 44413c67ed5b..e996df826071 100644 --- a/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/edit/attribute/steps/attributes_values.phtml +++ b/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/edit/attribute/steps/attributes_values.phtml @@ -72,7 +72,7 @@ <label data-bind="text: label, visible: label, attr:{for:id}" class="admin__field-label"></label> </div> - <div class="admin__field admin__field-create-new" data-bind="visible: !label"> + <div class="admin__field admin__field-create-new" data-bind="attr:{'data-role':id}, visible: !label"> <div class="admin__field-control"> <input class="admin__control-text" name="label" diff --git a/app/code/Magento/ConfigurableProduct/view/adminhtml/web/js/variations/steps/attributes_values.js b/app/code/Magento/ConfigurableProduct/view/adminhtml/web/js/variations/steps/attributes_values.js index 1fa65e03f54e..6c790c634ee9 100644 --- a/app/code/Magento/ConfigurableProduct/view/adminhtml/web/js/variations/steps/attributes_values.js +++ b/app/code/Magento/ConfigurableProduct/view/adminhtml/web/js/variations/steps/attributes_values.js @@ -90,13 +90,46 @@ define([ * @param {Object} option */ saveOption: function (option) { - if (!_.isEmpty(option.label)) { + if (this.isValidOption(option)) { this.options.remove(option); this.options.push(option); this.chosenOptions.push(option.id); } }, + /** + * @param {Object} newOption + * @return boolean + */ + isValidOption: function (newOption) { + var duplicatedOptions = [], + errorOption, + allOptions = []; + + if (_.isEmpty(newOption.label)) { + return false; + } + + _.each(this.options(), function (option) { + if (!_.isUndefined(allOptions[option.label]) && newOption.label === option.label) { + duplicatedOptions.push(option); + } + + allOptions[option.label] = option.label; + }); + + if (duplicatedOptions.length) { + _.each(duplicatedOptions, function (duplicatedOption) { + errorOption = $('[data-role="' + duplicatedOption.id + '"]'); + errorOption.addClass('_error'); + }); + + return false; + } + + return true; + }, + /** * @param {Object} option */ @@ -128,6 +161,7 @@ define([ })); attribute.opened = ko.observable(this.initialOpened(index)); attribute.collapsible = ko.observable(true); + attribute.isValidOption = this.isValidOption; return attribute; }, @@ -148,22 +182,22 @@ define([ saveAttribute: function () { var errorMessage = $.mage.__('Select options for all attributes or remove unused attributes.'); - this.attributes.each(function (attribute) { + if (!this.attributes().length) { + throw new Error(errorMessage); + } + + _.each(this.attributes(), function (attribute) { attribute.chosen = []; if (!attribute.chosenOptions.getLength()) { throw new Error(errorMessage); } - attribute.chosenOptions.each(function (id) { + _.each(attribute.chosenOptions(), function (id) { attribute.chosen.push(attribute.options.findWhere({ id: id })); }); }); - - if (!this.attributes().length) { - throw new Error(errorMessage); - } }, /** @@ -184,33 +218,47 @@ define([ * @return {Boolean} */ saveOptions: function () { - var options = []; + var newOptions = []; - this.attributes.each(function (attribute) { - attribute.chosenOptions.each(function (id) { + _.each(this.attributes(), function (attribute) { + _.each(attribute.options(), function (element) { var option = attribute.options.findWhere({ - id: id, - 'is_new': true + id: element.id }); - if (option) { - options.push(option); + if (option['is_new'] === true) { + if (!attribute.isValidOption(option)) { + throw new Error( + $.mage.__('The value of attribute ""%1"" must be unique') + .replace('"%1"', attribute.label) + ); + } + + newOptions.push(option); } }); }); - if (!options.length) { + if (!newOptions.length) { return false; } + $.ajax({ type: 'POST', url: this.createOptionsUrl, data: { - options: options + options: newOptions }, showLoader: true }).done(function (savedOptions) { - this.attributes.each(function (attribute) { + if (savedOptions.error) { + this.notificationMessage.error = savedOptions.error; + this.notificationMessage.text = savedOptions.message; + + return; + } + + _.each(this.attributes(), function (attribute) { _.each(savedOptions, function (newOptionId, oldOptionId) { var option = attribute.options.findWhere({ id: oldOptionId diff --git a/app/code/Magento/Cron/Observer/ProcessCronQueueObserver.php b/app/code/Magento/Cron/Observer/ProcessCronQueueObserver.php index 4bb5dc196f98..5c8aa1dc78ab 100644 --- a/app/code/Magento/Cron/Observer/ProcessCronQueueObserver.php +++ b/app/code/Magento/Cron/Observer/ProcessCronQueueObserver.php @@ -3,16 +3,15 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ - /** * Handling cron jobs */ namespace Magento\Cron\Observer; +use Magento\Cron\Model\Schedule; use Magento\Framework\App\State; use Magento\Framework\Console\Cli; use Magento\Framework\Event\ObserverInterface; -use Magento\Cron\Model\Schedule; use Magento\Framework\Profiler\Driver\Standard\Stat; use Magento\Framework\Profiler\Driver\Standard\StatFactory; @@ -204,7 +203,6 @@ public function __construct( */ public function execute(\Magento\Framework\Event\Observer $observer) { - $currentTime = $this->dateTime->gmtTimestamp(); $jobGroupsRoot = $this->_config->getJobs(); // sort jobs groups to start from used in separated process @@ -258,7 +256,6 @@ function ($groupId) use ($currentTime, $jobsRoot) { */ private function lockGroup($groupId, callable $callback) { - if (!$this->lockManager->lock(self::LOCK_PREFIX . $groupId, self::LOCK_TIMEOUT)) { $this->logger->warning( sprintf( @@ -293,17 +290,20 @@ protected function _runJob($scheduledTime, $currentTime, $jobConfig, $schedule, $scheduleLifetime = $scheduleLifetime * self::SECONDS_IN_MINUTE; if ($scheduledTime < $currentTime - $scheduleLifetime) { $schedule->setStatus(Schedule::STATUS_MISSED); + // phpcs:ignore Magento2.Exceptions.DirectThrow throw new \Exception(sprintf('Cron Job %s is missed at %s', $jobCode, $schedule->getScheduledAt())); } if (!isset($jobConfig['instance'], $jobConfig['method'])) { $schedule->setStatus(Schedule::STATUS_ERROR); + // phpcs:ignore Magento2.Exceptions.DirectThrow throw new \Exception(sprintf('No callbacks found for cron job %s', $jobCode)); } $model = $this->_objectManager->create($jobConfig['instance']); $callback = [$model, $jobConfig['method']]; if (!is_callable($callback)) { $schedule->setStatus(Schedule::STATUS_ERROR); + // phpcs:ignore Magento2.Exceptions.DirectThrow throw new \Exception( sprintf('Invalid callback: %s::%s can\'t be called', $jobConfig['instance'], $jobConfig['method']) ); @@ -314,15 +314,18 @@ protected function _runJob($scheduledTime, $currentTime, $jobConfig, $schedule, $this->startProfiling(); try { $this->logger->info(sprintf('Cron Job %s is run', $jobCode)); + //phpcs:ignore Magento2.Functions.DiscouragedFunction call_user_func_array($callback, [$schedule]); } catch (\Throwable $e) { $schedule->setStatus(Schedule::STATUS_ERROR); - $this->logger->error(sprintf( - 'Cron Job %s has an error: %s. Statistics: %s', - $jobCode, - $e->getMessage(), - $this->getProfilingStat() - )); + $this->logger->error( + sprintf( + 'Cron Job %s has an error: %s. Statistics: %s', + $jobCode, + $e->getMessage(), + $this->getProfilingStat() + ) + ); if (!$e instanceof \Exception) { $e = new \RuntimeException( 'Error when running a cron job', @@ -335,16 +338,22 @@ protected function _runJob($scheduledTime, $currentTime, $jobConfig, $schedule, $this->stopProfiling(); } - $schedule->setStatus(Schedule::STATUS_SUCCESS)->setFinishedAt(strftime( - '%Y-%m-%d %H:%M:%S', - $this->dateTime->gmtTimestamp() - )); + $schedule->setStatus( + Schedule::STATUS_SUCCESS + )->setFinishedAt( + strftime( + '%Y-%m-%d %H:%M:%S', + $this->dateTime->gmtTimestamp() + ) + ); - $this->logger->info(sprintf( - 'Cron Job %s is successfully finished. Statistics: %s', - $jobCode, - $this->getProfilingStat() - )); + $this->logger->info( + sprintf( + 'Cron Job %s is successfully finished. Statistics: %s', + $jobCode, + $this->getProfilingStat() + ) + ); } /** @@ -395,6 +404,28 @@ private function getPendingSchedules($groupId) return $pendingJobs; } + /** + * Return job collection from database with status 'pending', 'running' or 'success' + * + * @param string $groupId + * @return \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection + */ + private function getNonExitedSchedules($groupId) + { + $jobs = $this->_config->getJobs(); + $pendingJobs = $this->_scheduleFactory->create()->getCollection(); + $pendingJobs->addFieldToFilter( + 'status', + [ + 'in' => [ + Schedule::STATUS_PENDING, Schedule::STATUS_RUNNING, Schedule::STATUS_SUCCESS + ] + ] + ); + $pendingJobs->addFieldToFilter('job_code', ['in' => array_keys($jobs[$groupId])]); + return $pendingJobs; + } + /** * Generate cron schedule * @@ -426,7 +457,7 @@ private function generateSchedules($groupId) null ); - $schedules = $this->getPendingSchedules($groupId); + $schedules = $this->getNonExitedSchedules($groupId); $exists = []; /** @var Schedule $schedule */ foreach ($schedules as $schedule) { @@ -669,11 +700,14 @@ private function cleanupScheduleMismatches() /** @var \Magento\Cron\Model\ResourceModel\Schedule $scheduleResource */ $scheduleResource = $this->_scheduleFactory->create()->getResource(); foreach ($this->invalid as $jobCode => $scheduledAtList) { - $scheduleResource->getConnection()->delete($scheduleResource->getMainTable(), [ - 'status = ?' => Schedule::STATUS_PENDING, - 'job_code = ?' => $jobCode, - 'scheduled_at in (?)' => $scheduledAtList, - ]); + $scheduleResource->getConnection()->delete( + $scheduleResource->getMainTable(), + [ + 'status = ?' => Schedule::STATUS_PENDING, + 'job_code = ?' => $jobCode, + 'scheduled_at in (?)' => $scheduledAtList, + ] + ); } return $this; } diff --git a/app/code/Magento/Customer/Block/Account/Dashboard.php b/app/code/Magento/Customer/Block/Account/Dashboard.php index fa9c8f98a8c2..8e0f79d45770 100644 --- a/app/code/Magento/Customer/Block/Account/Dashboard.php +++ b/app/code/Magento/Customer/Block/Account/Dashboard.php @@ -114,10 +114,13 @@ public function getAddressEditUrl($address) * Retrieve the Url for customer orders. * * @return string + * @deprecated Action does not exist */ public function getOrdersUrl() { - return $this->_urlBuilder->getUrl('customer/order/index', ['_secure' => true]); + //phpcs:ignore Magento2.Functions.DiscouragedFunction + trigger_error('Method is deprecated', E_USER_DEPRECATED); + return ''; } /** @@ -137,7 +140,7 @@ public function getReviewsUrl() */ public function getWishlistUrl() { - return $this->_urlBuilder->getUrl('customer/wishlist/index', ['_secure' => true]); + return $this->_urlBuilder->getUrl('wishlist/index', ['_secure' => true]); } /** diff --git a/app/code/Magento/Customer/Test/Mftf/ActionGroup/SwitchAccountActionGroup.xml b/app/code/Magento/Customer/Test/Mftf/ActionGroup/SwitchAccountActionGroup.xml index 4c59edbcb805..85e23940e140 100644 --- a/app/code/Magento/Customer/Test/Mftf/ActionGroup/SwitchAccountActionGroup.xml +++ b/app/code/Magento/Customer/Test/Mftf/ActionGroup/SwitchAccountActionGroup.xml @@ -16,12 +16,4 @@ <see userInput="You have logged out." stepKey="seeSuccessMessage" /> <waitForElementVisible selector="//*[@data-ui-id='messages-message-success']" stepKey="waitForSuccessMessageLoggedOut" time="5"/> </actionGroup> - - <!--Login New User--> - <actionGroup name="LoginNewUser"> - <amOnPage url="{{_ENV.MAGENTO_BACKEND_NAME}}" stepKey="navigateToAdmin"/> - <fillField userInput="{{NewAdmin.username}}" selector="{{LoginFormSection.username}}" stepKey="fillUsername"/> - <fillField userInput="{{NewAdmin.password}}" selector="{{LoginFormSection.password}}" stepKey="fillPassword"/> - <click selector="{{LoginFormSection.signIn}}" stepKey="clickLogin"/> - </actionGroup> </actionGroups> diff --git a/app/code/Magento/CustomerImportExport/Model/Import/Customer.php b/app/code/Magento/CustomerImportExport/Model/Import/Customer.php index ab940c9e8453..14759bd130f2 100644 --- a/app/code/Magento/CustomerImportExport/Model/Import/Customer.php +++ b/app/code/Magento/CustomerImportExport/Model/Import/Customer.php @@ -288,9 +288,12 @@ private function getCustomerEntityFieldsToUpdate(array $entitiesToUpdate): array { $firstCustomer = reset($entitiesToUpdate); $columnsToUpdate = array_keys($firstCustomer); - $customerFieldsToUpdate = array_filter($this->customerFields, function ($field) use ($columnsToUpdate) { - return in_array($field, $columnsToUpdate); - }); + $customerFieldsToUpdate = array_filter( + $this->customerFields, + function ($field) use ($columnsToUpdate) { + return in_array($field, $columnsToUpdate); + } + ); return $customerFieldsToUpdate; } @@ -423,6 +426,9 @@ protected function _prepareDataForUpdate(array $rowData) $attributeParameters = $this->_attributes[$attributeCode]; if (in_array($attributeParameters['type'], ['select', 'boolean'])) { $value = $this->getSelectAttrIdByValue($attributeParameters, $value); + if ($attributeCode === CustomerInterface::GENDER && $value === 0) { + $value = null; + } } elseif ('multiselect' == $attributeParameters['type']) { $ids = []; foreach (explode($multiSeparator, mb_strtolower($value)) as $subValue) { @@ -519,10 +525,8 @@ protected function _importData() if (!isset($attributesToSave[$tableName])) { $attributesToSave[$tableName] = []; } - $attributesToSave[$tableName] = array_diff_key( - $attributesToSave[$tableName], - $customerAttributes - ) + $customerAttributes; + $attributes = array_diff_key($attributesToSave[$tableName], $customerAttributes); + $attributesToSave[$tableName] = $attributes + $customerAttributes; } } } @@ -578,13 +582,9 @@ protected function _validateRowForUpdate(array $rowData, $rowNumber) $this->addRowError(self::ERROR_INVALID_STORE, $rowNumber); } // check password - if (isset( - $rowData['password'] - ) && strlen( - $rowData['password'] - ) && $this->string->strlen( - $rowData['password'] - ) < self::MIN_PASSWORD_LENGTH + if (isset($rowData['password']) + && strlen($rowData['password']) + && $this->string->strlen($rowData['password']) < self::MIN_PASSWORD_LENGTH ) { $this->addRowError(self::ERROR_PASSWORD_LENGTH, $rowNumber); } diff --git a/app/code/Magento/Directory/Block/Data.php b/app/code/Magento/Directory/Block/Data.php index d4c46469e477..66c962d6656a 100644 --- a/app/code/Magento/Directory/Block/Data.php +++ b/app/code/Magento/Directory/Block/Data.php @@ -77,7 +77,7 @@ public function __construct( */ public function getLoadrRegionUrl() { - return $this->getUrl('directory/json/childRegion'); + return $this->getUrl('directory/json/countryRegion'); } /** diff --git a/app/code/Magento/Downloadable/view/frontend/templates/customer/products/list.phtml b/app/code/Magento/Downloadable/view/frontend/templates/customer/products/list.phtml index d040714aa9ae..eca72b350092 100644 --- a/app/code/Magento/Downloadable/view/frontend/templates/customer/products/list.phtml +++ b/app/code/Magento/Downloadable/view/frontend/templates/customer/products/list.phtml @@ -26,21 +26,21 @@ <tbody> <?php foreach ($_items as $_item) : ?> <tr> - <td data-th="<?= $block->escapeHtml(__('Order #')) ?>" class="col id"> + <td data-th="<?= $block->escapeHtmlAttr(__('Order #')) ?>" class="col id"> <a href="<?= $block->escapeUrl($block->getOrderViewUrl($_item->getPurchased()->getOrderId())) ?>" title="<?= $block->escapeHtml(__('View Order')) ?>"> <?= $block->escapeHtml($_item->getPurchased()->getOrderIncrementId()) ?> </a> </td> - <td data-th="<?= $block->escapeHtml(__('Date')) ?>" class="col date"><?= $block->escapeHtml($block->formatDate($_item->getPurchased()->getCreatedAt())) ?></td> - <td data-th="<?= $block->escapeHtml(__('Title')) ?>" class="col title"> + <td data-th="<?= $block->escapeHtmlAttr(__('Date')) ?>" class="col date"><?= $block->escapeHtml($block->formatDate($_item->getPurchased()->getCreatedAt())) ?></td> + <td data-th="<?= $block->escapeHtmlAttr(__('Title')) ?>" class="col title"> <strong class="product-name"><?= $block->escapeHtml($_item->getPurchased()->getProductName()) ?></strong> <?php if ($_item->getStatus() == \Magento\Downloadable\Model\Link\Purchased\Item::LINK_STATUS_AVAILABLE) : ?> <a href="<?= $block->escapeUrl($block->getDownloadUrl($_item)) ?>" title="<?= $block->escapeHtmlAttr(__('Start Download')) ?>" class="action download" <?= /* @noEscape */ $block->getIsOpenInNewWindow() ? 'onclick="this.target=\'_blank\'"' : '' ?>><?= $block->escapeHtml($_item->getLinkTitle()) ?></a> <?php endif; ?> </td> - <td data-th="<?= $block->escapeHtml(__('Status')) ?>" class="col status"><?= $block->escapeHtml(__(ucfirst($_item->getStatus()))) ?></td> - <td data-th="<?= $block->escapeHtml(__('Remaining Downloads')) ?>" class="col remaining"><?= $block->escapeHtml($block->getRemainingDownloads($_item)) ?></td> + <td data-th="<?= $block->escapeHtmlAttr(__('Status')) ?>" class="col status"><?= $block->escapeHtml(__(ucfirst($_item->getStatus()))) ?></td> + <td data-th="<?= $block->escapeHtmlAttr(__('Remaining Downloads')) ?>" class="col remaining"><?= $block->escapeHtml($block->getRemainingDownloads($_item)) ?></td> </tr> <?php endforeach; ?> </tbody> diff --git a/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/creditmemo/downloadable.phtml b/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/creditmemo/downloadable.phtml index 78c9f712dfaa..25d2302e94b1 100644 --- a/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/creditmemo/downloadable.phtml +++ b/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/creditmemo/downloadable.phtml @@ -31,8 +31,8 @@ <?php endif; ?> <?= $block->escapeHtml($_item->getDescription()) ?> </td> - <td class="item-qty"><?= $block->escapeHtml($_item->getQty() * 1) ?></td> + <td class="item-qty"><?= (float)$_item->getQty() * 1 ?></td> <td class="item-price"> - <?= $block->escapeHtml($block->getItemPrice($_item)) ?> + <?= /* @noEscape */ $block->getItemPrice($_item) ?> </td> </tr> diff --git a/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/invoice/downloadable.phtml b/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/invoice/downloadable.phtml index 727bf156f368..88f3b2cc6f9c 100644 --- a/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/invoice/downloadable.phtml +++ b/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/invoice/downloadable.phtml @@ -32,8 +32,8 @@ <?php endif; ?> <?= $block->escapeHtml($_item->getDescription()) ?> </td> - <td class="item-qty"><?= $block->escapeHtml($_item->getQty() * 1) ?></td> + <td class="item-qty"><?= (float)$_item->getQty() * 1 ?></td> <td class="item-price"> - <?= $block->escapeHtml($block->getItemPrice($_item)) ?> + <?= /* @noEscape */ $block->getItemPrice($_item) ?> </td> </tr> diff --git a/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/order/downloadable.phtml b/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/order/downloadable.phtml index 9f9de6bf7d05..8dc552933fd3 100644 --- a/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/order/downloadable.phtml +++ b/app/code/Magento/Downloadable/view/frontend/templates/email/order/items/order/downloadable.phtml @@ -46,8 +46,8 @@ </table> <?php endif; ?> </td> - <td class="item-qty"><?= $block->escapeHtml($_item->getQtyOrdered() * 1) ?></td> + <td class="item-qty"><?= (float)$_item->getQtyOrdered() * 1 ?></td> <td class="item-price"> - <?= $block->escapeHtml($block->getItemPrice($_item)) ?> + <?= /* @noEscape */ $block->getItemPrice($_item) ?> </td> </tr> diff --git a/app/code/Magento/Downloadable/view/frontend/templates/sales/order/creditmemo/items/renderer/downloadable.phtml b/app/code/Magento/Downloadable/view/frontend/templates/sales/order/creditmemo/items/renderer/downloadable.phtml index 2d263635718d..491d83ac0d5f 100644 --- a/app/code/Magento/Downloadable/view/frontend/templates/sales/order/creditmemo/items/renderer/downloadable.phtml +++ b/app/code/Magento/Downloadable/view/frontend/templates/sales/order/creditmemo/items/renderer/downloadable.phtml @@ -9,7 +9,7 @@ <?php $_item = $block->getItem() ?> <?php $_order = $block->getItem()->getOrderItem()->getOrder() ?> <tr class="border" id="order-item-row-<?= $block->escapeHtmlAttr($_item->getId()) ?>"> - <td class="col name" data-th="<?= $block->escapeHtml(__('Product Name')) ?>"> + <td class="col name" data-th="<?= $block->escapeHtmlAttr(__('Product Name')) ?>"> <strong class="product name product-item-name"><?= $block->escapeHtml($_item->getName()) ?></strong> <?php if ($_options = $block->getItemOptions()) : ?> <dl class="item-options links"> @@ -51,16 +51,16 @@ <?php endif; ?> <?= $block->escapeHtml($_item->getDescription()) ?> </td> - <td class="col sku" data-th="<?= $block->escapeHtml(__('SKU')) ?>"><?= /* @noEscape */ $block->prepareSku($block->getSku()) ?></td> - <td class="col price" data-th="<?= $block->escapeHtml(__('Price')) ?>"> + <td class="col sku" data-th="<?= $block->escapeHtmlAttr(__('SKU')) ?>"><?= /* @noEscape */ $block->prepareSku($block->getSku()) ?></td> + <td class="col price" data-th="<?= $block->escapeHtmlAttr(__('Price')) ?>"> <?= $block->getItemPriceHtml() ?> </td> - <td class="col qty" data-th="<?= $block->escapeHtml(__('Qty')) ?>"><?= $block->escapeHtml($_item->getQty()*1) ?></td> - <td class="col subtotal" data-th="<?= $block->escapeHtml(__('Subtotal')) ?>"> + <td class="col qty" data-th="<?= $block->escapeHtmlAttr(__('Qty')) ?>"><?= (float)$_item->getQty() * 1 ?></td> + <td class="col subtotal" data-th="<?= $block->escapeHtmlAttr(__('Subtotal')) ?>"> <?= $block->getItemRowTotalHtml() ?> </td> - <td class="col discount" data-th="<?= $block->escapeHtml(__('Discount Amount')) ?>"><?= /* @noEscape */ $_order->formatPrice(-$_item->getDiscountAmount()) ?></td> - <td class="col total" data-th="<?= $block->escapeHtml(__('Row Total')) ?>"> + <td class="col discount" data-th="<?= $block->escapeHtmlAttr(__('Discount Amount')) ?>"><?= /* @noEscape */ $_order->formatPrice(-$_item->getDiscountAmount()) ?></td> + <td class="col total" data-th="<?= $block->escapeHtmlAttr(__('Row Total')) ?>"> <?= $block->getItemRowTotalAfterDiscountHtml() ?> </td> </tr> diff --git a/app/code/Magento/Downloadable/view/frontend/templates/sales/order/invoice/items/renderer/downloadable.phtml b/app/code/Magento/Downloadable/view/frontend/templates/sales/order/invoice/items/renderer/downloadable.phtml index 6e86dc5bf878..7ea2de6e46ba 100644 --- a/app/code/Magento/Downloadable/view/frontend/templates/sales/order/invoice/items/renderer/downloadable.phtml +++ b/app/code/Magento/Downloadable/view/frontend/templates/sales/order/invoice/items/renderer/downloadable.phtml @@ -9,7 +9,7 @@ <?php $_item = $block->getItem() ?> <?php $_order = $block->getItem()->getOrderItem()->getOrder() ?> <tr id="order-item-row-<?= $block->escapeHtmlAttr($_item->getId()) ?>"> - <td class="col name" data-th="<?= $block->escapeHtml(__('Product Name')) ?>"> + <td class="col name" data-th="<?= $block->escapeHtmlAttr(__('Product Name')) ?>"> <strong class="product name product-item-name"><?= $block->escapeHtml($_item->getName()) ?></strong> <?php if ($_options = $block->getItemOptions()) : ?> <dl class="item-options links"> @@ -50,14 +50,14 @@ <?php endif; ?> <?= $block->escapeHtml($_item->getDescription()) ?> </td> - <td class="col sku" data-th="<?= $block->escapeHtml(__('SKU')) ?>"><?= /* @noEscape */ $block->prepareSku($block->getSku()) ?></td> - <td class="col price" data-th="<?= $block->escapeHtml(__('Price')) ?>"> + <td class="col sku" data-th="<?= $block->escapeHtmlAttr(__('SKU')) ?>"><?= /* @noEscape */ $block->prepareSku($block->getSku()) ?></td> + <td class="col price" data-th="<?= $block->escapeHtmlAttr(__('Price')) ?>"> <?= $block->getItemPriceHtml() ?> </td> - <td class="col qty" data-th="<?= $block->escapeHtml(__('Qty Invoiced')) ?>"> - <span class="qty summary" data-label="<?= $block->escapeHtml(__('Qty Invoiced')) ?>"><?= $block->escapeHtml($_item->getQty()*1) ?></span> + <td class="col qty" data-th="<?= $block->escapeHtmlAttr(__('Qty Invoiced')) ?>"> + <span class="qty summary" data-label="<?= $block->escapeHtmlAttr(__('Qty Invoiced')) ?>"><?= (float)$_item->getQty() * 1 ?></span> </td> - <td class="col subtotal" data-th="<?= $block->escapeHtml(__('Subtotal')) ?>"> + <td class="col subtotal" data-th="<?= $block->escapeHtmlAttr(__('Subtotal')) ?>"> <?= $block->getItemRowTotalHtml() ?> </td> </tr> diff --git a/app/code/Magento/Downloadable/view/frontend/templates/sales/order/items/renderer/downloadable.phtml b/app/code/Magento/Downloadable/view/frontend/templates/sales/order/items/renderer/downloadable.phtml index 4caedd3e2d23..368f17449bb7 100644 --- a/app/code/Magento/Downloadable/view/frontend/templates/sales/order/items/renderer/downloadable.phtml +++ b/app/code/Magento/Downloadable/view/frontend/templates/sales/order/items/renderer/downloadable.phtml @@ -8,7 +8,7 @@ ?> <?php $_item = $block->getItem() ?> <tr id="order-item-row-<?= $block->escapeHtmlAttr($_item->getId()) ?>"> - <td class="col name" data-th="<?= $block->escapeHtml(__('Product Name')) ?>"> + <td class="col name" data-th="<?= $block->escapeHtmlAttr(__('Product Name')) ?>"> <strong class="product name product-item-name"><?= $block->escapeHtml($_item->getName()) ?></strong> <?php if ($_options = $block->getItemOptions()) : ?> <dl class="item-options links"> @@ -51,39 +51,39 @@ <?php endif; ?> <?= $block->escapeHtml($_item->getDescription()) ?> </td> - <td class="col sku" data-th="<?= $block->escapeHtml(__('SKU')) ?>"><?= /* @noEscape */ $block->prepareSku($block->getSku()) ?></td> - <td class="col price" data-th="<?= $block->escapeHtml(__('Price')) ?>"> + <td class="col sku" data-th="<?= $block->escapeHtmlAttr(__('SKU')) ?>"><?= /* @noEscape */ $block->prepareSku($block->getSku()) ?></td> + <td class="col price" data-th="<?= $block->escapeHtmlAttr(__('Price')) ?>"> <?= $block->getItemPriceHtml() ?> </td> - <td class="col qty" data-th="<?= $block->escapeHtml(__('Qty')) ?>"> + <td class="col qty" data-th="<?= $block->escapeHtmlAttr(__('Qty')) ?>"> <ul class="items-qty"> <?php if ($block->getItem()->getQtyOrdered() > 0) : ?> <li class="item"> <span class="title"><?= $block->escapeHtml(__('Ordered')) ?></span> - <span class="content"><?= $block->escapeHtml($block->getItem()->getQtyOrdered()*1) ?></span> + <span class="content"><?= (float)$block->getItem()->getQtyOrdered() * 1 ?></span> </li> <?php endif; ?> <?php if ($block->getItem()->getQtyShipped() > 0) : ?> <li class="item"> <span class="title"><?= $block->escapeHtml(__('Shipped')) ?></span> - <span class="content"><?= $block->escapeHtml($block->getItem()->getQtyShipped() * 1) ?></span> + <span class="content"><?= (float)$block->getItem()->getQtyShipped() * 1 ?></span> </li> <?php endif; ?> <?php if ($block->getItem()->getQtyCanceled() > 0) : ?> <li class="item"> <span class="title"><?= $block->escapeHtml(__('Canceled')) ?></span> - <span class="content"><?= $block->escapeHtml($block->getItem()->getQtyCanceled()*1) ?></span> + <span class="content"><?= (float)$block->getItem()->getQtyCanceled() * 1 ?></span> </li> <?php endif; ?> <?php if ($block->getItem()->getQtyRefunded() > 0) : ?> <li class="item"> <span class="title"><?= $block->escapeHtml(__('Refunded')) ?></span> - <span class="content"><?= $block->escapeHtml($block->getItem()->getQtyRefunded()*1) ?></span> + <span class="content"><?= (float)$block->getItem()->getQtyRefunded() * 1 ?></span> </li> <?php endif; ?> </ul> </td> - <td class="col subtotal" data-th="<?= $block->escapeHtml(__('Subtotal')) ?>"> + <td class="col subtotal" data-th="<?= $block->escapeHtmlAttr(__('Subtotal')) ?>"> <?= $block->getItemRowTotalHtml() ?> </td> </tr> diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Text.php b/app/code/Magento/Eav/Model/Attribute/Data/Text.php index c5167821fdfc..071b2b83e396 100644 --- a/app/code/Magento/Eav/Model/Attribute/Data/Text.php +++ b/app/code/Magento/Eav/Model/Attribute/Data/Text.php @@ -168,7 +168,7 @@ private function validateLength(\Magento\Eav\Model\Attribute $attribute, string */ private function validateInputRule(string $value): array { - $result = $this->_validateInputRule($value); + $result = $this->_validateInputRule(trim($value)); return \is_array($result) ? $result : []; } } diff --git a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/TextTest.php b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/TextTest.php index 331d1e6216ae..785c386b439d 100644 --- a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/TextTest.php +++ b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/TextTest.php @@ -9,6 +9,9 @@ use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Stdlib\StringUtils; +/** + * Eav text attribute model test + */ class TextTest extends \PHPUnit\Framework\TestCase { /** @@ -135,6 +138,7 @@ public function alphanumDataProvider(): array ['QazWsx12345', [ __('"%1" length must be equal or less than %2 characters.', 'Test', 10)] ], + [' 12345 ', true], ]; } diff --git a/app/code/Magento/GraphQl/etc/schema.graphqls b/app/code/Magento/GraphQl/etc/schema.graphqls index ab8472aa56cf..a3211c44a2ef 100644 --- a/app/code/Magento/GraphQl/etc/schema.graphqls +++ b/app/code/Magento/GraphQl/etc/schema.graphqls @@ -9,7 +9,7 @@ type Mutation { input FilterTypeInput @doc(description: "FilterTypeInput specifies which action will be performed in a query ") { eq: String @doc(description: "Equals") - finset: [String] @doc(description: "Find in set. The value can contain a set of comma-separated values") + finset: [String] @deprecated (reason: "The finset filter is deprecated. Magento doesn't recomend to store comma separated values, therefore finset filter is redundant.") from: String @doc(description: "From. Must be used with 'to'") gt: String @doc(description: "Greater than") gteq: String @doc(description: "Greater than or equal to") diff --git a/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Delete.php b/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Delete.php index 6996ba90c3e1..aade1abc3f5d 100644 --- a/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Delete.php +++ b/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Delete.php @@ -25,7 +25,7 @@ class Delete extends ExportController implements HttpGetActionInterface /** * url to this controller */ - const URL = 'admin/export_file/delete'; + const URL = 'adminhtml/export_file/delete'; /** * @var Filesystem diff --git a/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Download.php b/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Download.php index 32385e62a5dc..aca7efef72b2 100644 --- a/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Download.php +++ b/app/code/Magento/ImportExport/Controller/Adminhtml/Export/File/Download.php @@ -23,7 +23,7 @@ class Download extends ExportController implements HttpGetActionInterface /** * url to this controller */ - const URL = 'admin/export_file/download/'; + const URL = 'adminhtml/export_file/download/'; /** * @var FileFactory @@ -72,6 +72,7 @@ public function execute() DirectoryList::VAR_DIR ); } + // phpcs:ignore Magento2.Exceptions.ThrowCatch } catch (LocalizedException | \Exception $exception) { throw new LocalizedException(__('There are no export file with such name %1', $fileName)); } diff --git a/app/code/Magento/Payment/view/frontend/web/js/view/payment/iframe.js b/app/code/Magento/Payment/view/frontend/web/js/view/payment/iframe.js index 1e352e429713..089dabac00b0 100644 --- a/app/code/Magento/Payment/view/frontend/web/js/view/payment/iframe.js +++ b/app/code/Magento/Payment/view/frontend/web/js/view/payment/iframe.js @@ -125,12 +125,7 @@ define([ this.isPlaceOrderActionAllowed(false); $.when( - setPaymentInformationAction( - this.messageContainer, - { - method: this.getCode() - } - ) + this.setPaymentInformation() ).done( this.done.bind(this) ).fail( @@ -145,6 +140,18 @@ define([ } }, + /** + * {Function} + */ + setPaymentInformation: function () { + setPaymentInformationAction( + this.messageContainer, + { + method: this.getCode() + } + ); + }, + /** * {Function} */ diff --git a/app/code/Magento/Paypal/Model/Payflow/Service/Request/SecureToken.php b/app/code/Magento/Paypal/Model/Payflow/Service/Request/SecureToken.php index 8a2825a16d33..4eaf705abd2b 100644 --- a/app/code/Magento/Paypal/Model/Payflow/Service/Request/SecureToken.php +++ b/app/code/Magento/Paypal/Model/Payflow/Service/Request/SecureToken.php @@ -69,7 +69,7 @@ public function requestToken(Quote $quote) $request->setSecuretokenid($this->mathRandom->getUniqueHash()); $request->setReturnurl($this->url->getUrl('paypal/transparent/response')); $request->setErrorurl($this->url->getUrl('paypal/transparent/response')); - $request->setCancelurl($this->url->getUrl('paypal/transparent/cancel')); + $request->setCancelurl($this->url->getUrl('paypal/transparent/response')); $request->setDisablereceipt('TRUE'); $request->setSilenttran('TRUE'); diff --git a/app/code/Magento/ProductAlert/Controller/Add/Price.php b/app/code/Magento/ProductAlert/Controller/Add/Price.php index fbaff109fd15..b7519f0bc7a5 100644 --- a/app/code/Magento/ProductAlert/Controller/Add/Price.php +++ b/app/code/Magento/ProductAlert/Controller/Add/Price.php @@ -6,7 +6,7 @@ namespace Magento\ProductAlert\Controller\Add; -use Magento\Framework\App\Action\HttpPostActionInterface; +use Magento\Framework\App\Action\HttpGetActionInterface; use Magento\ProductAlert\Controller\Add as AddController; use Magento\Framework\App\Action\Context; use Magento\Customer\Model\Session as CustomerSession; @@ -20,7 +20,7 @@ /** * Controller for notifying about price. */ -class Price extends AddController implements HttpPostActionInterface +class Price extends AddController implements HttpGetActionInterface { /** * @var \Magento\Store\Model\StoreManagerInterface diff --git a/app/code/Magento/ProductAlert/Controller/Add/Stock.php b/app/code/Magento/ProductAlert/Controller/Add/Stock.php index 24cab39d544f..f36fdf5fb715 100644 --- a/app/code/Magento/ProductAlert/Controller/Add/Stock.php +++ b/app/code/Magento/ProductAlert/Controller/Add/Stock.php @@ -6,7 +6,7 @@ namespace Magento\ProductAlert\Controller\Add; -use Magento\Framework\App\Action\HttpPostActionInterface; +use Magento\Framework\App\Action\HttpGetActionInterface; use Magento\ProductAlert\Controller\Add as AddController; use Magento\Framework\App\Action\Context; use Magento\Customer\Model\Session as CustomerSession; @@ -19,7 +19,7 @@ /** * Controller for notifying about stock. */ -class Stock extends AddController implements HttpPostActionInterface +class Stock extends AddController implements HttpGetActionInterface { /** * @var \Magento\Catalog\Api\ProductRepositoryInterface diff --git a/app/code/Magento/ProductAlert/view/frontend/templates/product/view.phtml b/app/code/Magento/ProductAlert/view/frontend/templates/product/view.phtml index 5b9553a49e72..462196d773aa 100644 --- a/app/code/Magento/ProductAlert/view/frontend/templates/product/view.phtml +++ b/app/code/Magento/ProductAlert/view/frontend/templates/product/view.phtml @@ -6,7 +6,7 @@ ?> <?php /* @var $block \Magento\ProductAlert\Block\Product\View */?> <div class="product alert <?= $block->getHtmlClass() ?>"> - <a href="#" data-post='<?= /* @noEscape */ $block->getPostAction() ?>' + <a href="<?= $block->escapeUrl($block->getSignupUrl()) ?>" title="<?= $block->escapeHtml(__($block->getSignupLabel())) ?>" class="action alert"> <?= $block->escapeHtml(__($block->getSignupLabel())) ?> </a> diff --git a/app/code/Magento/Quote/etc/webapi_rest/di.xml b/app/code/Magento/Quote/etc/webapi_rest/di.xml index 2c8da7c775ec..27d5ff775342 100644 --- a/app/code/Magento/Quote/etc/webapi_rest/di.xml +++ b/app/code/Magento/Quote/etc/webapi_rest/di.xml @@ -11,5 +11,6 @@ </type> <type name="Magento\Quote\Model\QuoteRepository"> <plugin name="accessControl" type="Magento\Quote\Model\QuoteRepository\Plugin\AccessChangeQuoteControl" /> + <plugin name="authorization" type="Magento\Quote\Model\QuoteRepository\Plugin\Authorization" /> </type> </config> diff --git a/app/code/Magento/Quote/etc/webapi_soap/di.xml b/app/code/Magento/Quote/etc/webapi_soap/di.xml index 2c8da7c775ec..27d5ff775342 100644 --- a/app/code/Magento/Quote/etc/webapi_soap/di.xml +++ b/app/code/Magento/Quote/etc/webapi_soap/di.xml @@ -11,5 +11,6 @@ </type> <type name="Magento\Quote\Model\QuoteRepository"> <plugin name="accessControl" type="Magento\Quote\Model\QuoteRepository\Plugin\AccessChangeQuoteControl" /> + <plugin name="authorization" type="Magento\Quote\Model\QuoteRepository\Plugin\Authorization" /> </type> </config> diff --git a/app/code/Magento/QuoteGraphQl/Model/Cart/AddSimpleProductToCart.php b/app/code/Magento/QuoteGraphQl/Model/Cart/AddSimpleProductToCart.php index b491b10730c1..3f6cc4261403 100644 --- a/app/code/Magento/QuoteGraphQl/Model/Cart/AddSimpleProductToCart.php +++ b/app/code/Magento/QuoteGraphQl/Model/Cart/AddSimpleProductToCart.php @@ -8,8 +8,6 @@ namespace Magento\QuoteGraphQl\Model\Cart; use Magento\Catalog\Api\ProductRepositoryInterface; -use Magento\Framework\DataObject; -use Magento\Framework\DataObjectFactory; use Magento\Framework\Exception\NoSuchEntityException; use Magento\Framework\GraphQl\Exception\GraphQlInputException; use Magento\Framework\GraphQl\Exception\GraphQlNoSuchEntityException; @@ -21,9 +19,9 @@ class AddSimpleProductToCart { /** - * @var DataObjectFactory + * @var CreateBuyRequest */ - private $dataObjectFactory; + private $createBuyRequest; /** * @var ProductRepositoryInterface @@ -31,15 +29,15 @@ class AddSimpleProductToCart private $productRepository; /** - * @param DataObjectFactory $dataObjectFactory * @param ProductRepositoryInterface $productRepository + * @param CreateBuyRequest $createBuyRequest */ public function __construct( - DataObjectFactory $dataObjectFactory, - ProductRepositoryInterface $productRepository + ProductRepositoryInterface $productRepository, + CreateBuyRequest $createBuyRequest ) { - $this->dataObjectFactory = $dataObjectFactory; $this->productRepository = $productRepository; + $this->createBuyRequest = $createBuyRequest; } /** @@ -56,7 +54,7 @@ public function execute(Quote $cart, array $cartItemData): void { $sku = $this->extractSku($cartItemData); $quantity = $this->extractQuantity($cartItemData); - $customizableOptions = $this->extractCustomizableOptions($cartItemData); + $customizableOptions = $cartItemData['customizable_options'] ?? []; try { $product = $this->productRepository->get($sku); @@ -65,7 +63,7 @@ public function execute(Quote $cart, array $cartItemData): void } try { - $result = $cart->addProduct($product, $this->createBuyRequest($quantity, $customizableOptions)); + $result = $cart->addProduct($product, $this->createBuyRequest->execute($quantity, $customizableOptions)); } catch (\Exception $e) { throw new GraphQlInputException( __( @@ -116,60 +114,4 @@ private function extractQuantity(array $cartItemData): float } return $quantity; } - - /** - * Extract Customizable Options from cart item data - * - * @param array $cartItemData - * @return array - */ - private function extractCustomizableOptions(array $cartItemData): array - { - if (!isset($cartItemData['customizable_options']) || empty($cartItemData['customizable_options'])) { - return []; - } - - $customizableOptionsData = []; - foreach ($cartItemData['customizable_options'] as $customizableOption) { - if (isset($customizableOption['value_string'])) { - $customizableOptionsData[$customizableOption['id']] = $this->convertCustomOptionValue( - $customizableOption['value_string'] - ); - } - } - return $customizableOptionsData; - } - - /** - * Format GraphQl input data to a shape that buy request has - * - * @param float $quantity - * @param array $customOptions - * @return DataObject - */ - private function createBuyRequest(float $quantity, array $customOptions): DataObject - { - return $this->dataObjectFactory->create([ - 'data' => [ - 'qty' => $quantity, - 'options' => $customOptions, - ], - ]); - } - - /** - * Convert custom options vakue - * - * @param string $value - * @return string|array - */ - private function convertCustomOptionValue(string $value) - { - $value = trim($value); - if (substr($value, 0, 1) === "[" && - substr($value, strlen($value) - 1, 1) === "]") { - return explode(',', substr($value, 1, -1)); - } - return $value; - } } diff --git a/app/code/Magento/QuoteGraphQl/Model/Cart/CreateBuyRequest.php b/app/code/Magento/QuoteGraphQl/Model/Cart/CreateBuyRequest.php new file mode 100644 index 000000000000..b95be8db2dcc --- /dev/null +++ b/app/code/Magento/QuoteGraphQl/Model/Cart/CreateBuyRequest.php @@ -0,0 +1,75 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\QuoteGraphQl\Model\Cart; + +use Magento\Framework\DataObject; +use Magento\Framework\DataObjectFactory; + +/** + * Creates buy request that can be used for working with cart items + */ +class CreateBuyRequest +{ + /** + * @var DataObjectFactory + */ + private $dataObjectFactory; + + /** + * @param DataObjectFactory $dataObjectFactory + */ + public function __construct( + DataObjectFactory $dataObjectFactory + ) { + $this->dataObjectFactory = $dataObjectFactory; + } + + /** + * Returns buy request for working with cart items + * + * @param float $qty + * @param array $customizableOptionsData + * @return DataObject + */ + public function execute(float $qty, array $customizableOptionsData): DataObject + { + $customizableOptions = []; + foreach ($customizableOptionsData as $customizableOption) { + if (isset($customizableOption['value_string'])) { + $customizableOptions[$customizableOption['id']] = $this->convertCustomOptionValue( + $customizableOption['value_string'] + ); + } + } + + return $this->dataObjectFactory->create( + [ + 'data' => [ + 'qty' => $qty, + 'options' => $customizableOptions, + ], + ] + ); + } + + /** + * Convert custom options value + * + * @param string $value + * @return string|array + */ + private function convertCustomOptionValue(string $value) + { + $value = trim($value); + if (substr($value, 0, 1) === "[" && + substr($value, strlen($value) - 1, 1) === "]") { + return explode(',', substr($value, 1, -1)); + } + return $value; + } +} diff --git a/app/code/Magento/QuoteGraphQl/Model/Cart/UpdateCartItem.php b/app/code/Magento/QuoteGraphQl/Model/Cart/UpdateCartItem.php new file mode 100644 index 000000000000..b18c6ad66233 --- /dev/null +++ b/app/code/Magento/QuoteGraphQl/Model/Cart/UpdateCartItem.php @@ -0,0 +1,147 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\QuoteGraphQl\Model\Cart; + +use Magento\Framework\Exception\LocalizedException; +use Magento\Framework\Exception\NoSuchEntityException; +use Magento\Framework\GraphQl\Exception\GraphQlInputException; +use Magento\Framework\GraphQl\Exception\GraphQlNoSuchEntityException; +use Magento\Quote\Api\CartItemRepositoryInterface; +use Magento\Quote\Api\CartRepositoryInterface; +use Magento\Quote\Model\Quote; +use Magento\Quote\Model\Quote\Item; + +/** + * Update cart item + */ +class UpdateCartItem +{ + /** + * @var CreateBuyRequest + */ + private $createBuyRequest; + + /** + * @var CartRepositoryInterface + */ + private $quoteRepository; + + /** + * @var CartItemRepositoryInterface + */ + private $cartItemRepository; + + /** + * @param CartItemRepositoryInterface $cartItemRepository + * @param CartRepositoryInterface $quoteRepository + * @param CreateBuyRequest $createBuyRequest + */ + public function __construct( + CartItemRepositoryInterface $cartItemRepository, + CartRepositoryInterface $quoteRepository, + CreateBuyRequest $createBuyRequest + ) { + $this->cartItemRepository = $cartItemRepository; + $this->quoteRepository = $quoteRepository; + $this->createBuyRequest = $createBuyRequest; + } + + /** + * Update cart item + * + * @param Quote $cart + * @param int $cartItemId + * @param float $quantity + * @param array $customizableOptionsData + * @return void + * @throws GraphQlInputException + * @throws GraphQlNoSuchEntityException + * @throws NoSuchEntityException + */ + public function execute(Quote $cart, int $cartItemId, float $quantity, array $customizableOptionsData): void + { + if (count($customizableOptionsData) === 0) { // Update only item's qty + $this->updateItemQuantity($cartItemId, $cart, $quantity); + + return; + } + + try { + $result = $cart->updateItem( + $cartItemId, + $this->createBuyRequest->execute($quantity, $customizableOptionsData) + ); + } catch (LocalizedException $e) { + throw new GraphQlInputException( + __( + 'Could not update cart item: %message', + ['message' => $e->getMessage()] + ) + ); + } + + if ($result->getHasError()) { + throw new GraphQlInputException( + __( + 'Could not update cart item: %message', + ['message' => $result->getMessage()] + ) + ); + } + + $this->quoteRepository->save($cart); + } + + /** + * Updates item qty for the specified cart + * + * @param int $itemId + * @param Quote $cart + * @param float $quantity + * @throws GraphQlNoSuchEntityException + * @throws NoSuchEntityException + * @throws GraphQlNoSuchEntityException + */ + private function updateItemQuantity(int $itemId, Quote $cart, float $quantity) + { + $cartItem = $cart->getItemById($itemId); + if ($cartItem === false) { + throw new GraphQlNoSuchEntityException( + __('Could not find cart item with id: %1.', $itemId) + ); + } + $cartItem->setQty($quantity); + $this->validateCartItem($cartItem); + $this->cartItemRepository->save($cartItem); + } + + /** + * Validate cart item + * + * @param Item $cartItem + * @return void + * @throws GraphQlInputException + */ + private function validateCartItem(Item $cartItem): void + { + if ($cartItem->getHasError()) { + $errors = []; + foreach ($cartItem->getMessage(false) as $message) { + $errors[] = $message; + } + if (!empty($errors)) { + throw new GraphQlInputException( + __( + 'Could not update the product with SKU %sku: %message', + ['sku' => $cartItem->getSku(), 'message' => __(implode("\n", $errors))] + ) + ); + } + } + } +} diff --git a/app/code/Magento/QuoteGraphQl/Model/Resolver/UpdateCartItems.php b/app/code/Magento/QuoteGraphQl/Model/Resolver/UpdateCartItems.php index fa115db144e3..db6a43513cc3 100644 --- a/app/code/Magento/QuoteGraphQl/Model/Resolver/UpdateCartItems.php +++ b/app/code/Magento/QuoteGraphQl/Model/Resolver/UpdateCartItems.php @@ -16,14 +16,19 @@ use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; use Magento\Quote\Api\CartItemRepositoryInterface; use Magento\Quote\Model\Quote; -use Magento\Quote\Model\Quote\Item; use Magento\QuoteGraphQl\Model\Cart\GetCartForUser; +use Magento\QuoteGraphQl\Model\Cart\UpdateCartItem; /** * @inheritdoc */ class UpdateCartItems implements ResolverInterface { + /** + * @var UpdateCartItem + */ + private $updateCartItem; + /** * @var GetCartForUser */ @@ -37,13 +42,16 @@ class UpdateCartItems implements ResolverInterface /** * @param GetCartForUser $getCartForUser * @param CartItemRepositoryInterface $cartItemRepository + * @param UpdateCartItem $updateCartItem */ public function __construct( GetCartForUser $getCartForUser, - CartItemRepositoryInterface $cartItemRepository + CartItemRepositoryInterface $cartItemRepository, + UpdateCartItem $updateCartItem ) { $this->getCartForUser = $getCartForUser; $this->cartItemRepository = $cartItemRepository; + $this->updateCartItem = $updateCartItem; } /** @@ -94,52 +102,18 @@ private function processCartItems(Quote $cart, array $items): void if (empty($item['cart_item_id'])) { throw new GraphQlInputException(__('Required parameter "cart_item_id" for "cart_items" is missing.')); } - $itemId = $item['cart_item_id']; + $itemId = (int)$item['cart_item_id']; + $customizableOptions = $item['customizable_options'] ?? []; - if (!isset($item['quantity'])) { + if (count($customizableOptions) === 0 && !isset($item['quantity'])) { throw new GraphQlInputException(__('Required parameter "quantity" for "cart_items" is missing.')); } $quantity = (float)$item['quantity']; - $cartItem = $cart->getItemById($itemId); - if ($cartItem === false) { - throw new GraphQlNoSuchEntityException( - __('Could not find cart item with id: %1.', $item['cart_item_id']) - ); - } - if ($quantity <= 0.0) { $this->cartItemRepository->deleteById((int)$cart->getId(), $itemId); } else { - $cartItem->setQty($quantity); - $this->validateCartItem($cartItem); - $this->cartItemRepository->save($cartItem); - } - } - } - - /** - * Validate cart item - * - * @param Item $cartItem - * @return void - * @throws GraphQlInputException - */ - private function validateCartItem(Item $cartItem): void - { - if ($cartItem->getHasError()) { - $errors = []; - foreach ($cartItem->getMessage(false) as $message) { - $errors[] = $message; - } - - if (!empty($errors)) { - throw new GraphQlInputException( - __( - 'Could not update the product with SKU %sku: %message', - ['sku' => $cartItem->getSku(), 'message' => __(implode("\n", $errors))] - ) - ); + $this->updateCartItem->execute($cart, $itemId, $quantity, $customizableOptions); } } } diff --git a/app/code/Magento/QuoteGraphQl/etc/schema.graphqls b/app/code/Magento/QuoteGraphQl/etc/schema.graphqls index ea5e34ff1e34..893a0b9df458 100644 --- a/app/code/Magento/QuoteGraphQl/etc/schema.graphqls +++ b/app/code/Magento/QuoteGraphQl/etc/schema.graphqls @@ -68,7 +68,8 @@ input UpdateCartItemsInput { input CartItemUpdateInput { cart_item_id: Int! - quantity: Float! + quantity: Float + customizable_options: [CustomizableOptionInput!] } input RemoveItemFromCartInput { diff --git a/app/code/Magento/Review/Block/Adminhtml/Edit.php b/app/code/Magento/Review/Block/Adminhtml/Edit.php index f6f0ccef9b4e..c85374edb8d9 100644 --- a/app/code/Magento/Review/Block/Adminhtml/Edit.php +++ b/app/code/Magento/Review/Block/Adminhtml/Edit.php @@ -6,7 +6,7 @@ namespace Magento\Review\Block\Adminhtml; /** - * Review edit form + * Review edit form. */ class Edit extends \Magento\Backend\Block\Widget\Form\Container { @@ -77,7 +77,13 @@ protected function _construct() 'previous', [ 'label' => __('Previous'), - 'onclick' => 'setLocation(\'' . $this->getUrl('review/*/*', ['id' => $prevId]) . '\')' + 'onclick' => 'setLocation(\'' . $this->getUrl( + 'review/*/*', + [ + 'id' => $prevId, + 'ret' => $this->getRequest()->getParam('ret'), + ] + ) . '\')' ], 3, 10 @@ -93,7 +99,10 @@ protected function _construct() 'button' => [ 'event' => 'save', 'target' => '#edit_form', - 'eventData' => ['action' => ['args' => ['next_item' => $prevId]]], + 'eventData' => ['action' => ['args' => [ + 'next_item' => $prevId, + 'ret' => $this->getRequest()->getParam('ret'), + ]]], ], ], ] @@ -113,7 +122,10 @@ protected function _construct() 'button' => [ 'event' => 'save', 'target' => '#edit_form', - 'eventData' => ['action' => ['args' => ['next_item' => $nextId]]], + 'eventData' => ['action' => ['args' => [ + 'next_item' => $nextId, + 'ret' => $this->getRequest()->getParam('ret'), + ]]], ], ], ] @@ -126,7 +138,13 @@ protected function _construct() 'next', [ 'label' => __('Next'), - 'onclick' => 'setLocation(\'' . $this->getUrl('review/*/*', ['id' => $nextId]) . '\')' + 'onclick' => 'setLocation(\'' . $this->getUrl( + 'review/*/*', + [ + 'id' => $nextId, + 'ret' => $this->getRequest()->getParam('ret'), + ] + ) . '\')' ], 3, 105 @@ -168,7 +186,7 @@ protected function _construct() ) . '\', ' . '\'' . $this->getUrl( '*/*/delete', [$this->_objectId => $this->getRequest()->getParam($this->_objectId), 'ret' => 'pending'] - ) . '\'' . ')' + ) . '\', {data: {}})' ); $this->_coreRegistry->register('ret', 'pending'); } diff --git a/app/code/Magento/Review/Block/Adminhtml/Rss.php b/app/code/Magento/Review/Block/Adminhtml/Rss.php index 7a935b656cda..fd5737d21842 100644 --- a/app/code/Magento/Review/Block/Adminhtml/Rss.php +++ b/app/code/Magento/Review/Block/Adminhtml/Rss.php @@ -9,6 +9,7 @@ /** * Class Rss + * * @package Magento\Catalog\Block\Adminhtml\Rss */ class Rss extends \Magento\Backend\Block\AbstractBlock implements DataProviderInterface @@ -41,14 +42,13 @@ public function __construct( } /** - * {@inheritdoc} + * @inheritDoc */ public function getRssData() { - $newUrl = $this->getUrl('rss/catalog/review', ['_secure' => true, '_nosecret' => true]); $title = __('Pending product review(s)'); - $data = ['title' => $title, 'description' => $title, 'link' => $newUrl, 'charset' => 'UTF-8']; + $data = ['title' => $title, 'description' => $title, 'link' => '', 'charset' => 'UTF-8']; foreach ($this->rssModel->getProductCollection() as $item) { if ($item->getStoreId()) { @@ -56,11 +56,14 @@ public function getRssData() } $url = $this->getUrl('catalog/product/view', ['id' => $item->getId()]); - $reviewUrl = $this->getUrl('review/product/edit/', [ - 'id' => $item->getReviewId(), - '_secure' => true, - '_nosecret' => true - ]); + $reviewUrl = $this->getUrl( + 'review/product/edit/', + [ + 'id' => $item->getReviewId(), + '_secure' => true, + '_nosecret' => true + ] + ); $storeName = $this->storeManager->getStore($item->getStoreId())->getName(); $description = '<p>' . __('Product: <a href="%1" target="_blank">%2</a> <br/>', $url, $item->getName()) @@ -80,7 +83,7 @@ public function getRssData() } /** - * {@inheritdoc} + * @inheritDoc */ public function getCacheLifetime() { @@ -88,7 +91,7 @@ public function getCacheLifetime() } /** - * {@inheritdoc} + * @inheritDoc */ public function isAllowed() { @@ -96,7 +99,7 @@ public function isAllowed() } /** - * {@inheritdoc} + * @inheritDoc */ public function getFeeds() { @@ -104,7 +107,7 @@ public function getFeeds() } /** - * {@inheritdoc} + * @inheritDoc */ public function isAuthRequired() { diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product.php b/app/code/Magento/Review/Controller/Adminhtml/Product.php index 8c4503d8f023..32e30b0906dd 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product.php @@ -12,10 +12,15 @@ use Magento\Review\Model\RatingFactory; /** - * Reviews admin controller + * Reviews admin controller. */ abstract class Product extends Action { + /** + * Authorization resource + */ + public const ADMIN_RESOURCE = 'Magento_Review::reviews_all'; + /** * Array of actions which can be processed without secret key validation * @@ -61,19 +66,4 @@ public function __construct( $this->ratingFactory = $ratingFactory; parent::__construct($context); } - - /** - * @return bool - */ - protected function _isAllowed() - { - switch ($this->getRequest()->getActionName()) { - case 'pending': - return $this->_authorization->isAllowed('Magento_Review::pending'); - break; - default: - return $this->_authorization->isAllowed('Magento_Review::reviews_all'); - break; - } - } } diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/Delete.php b/app/code/Magento/Review/Controller/Adminhtml/Product/Delete.php index 75015d65e1a1..ee74a2c569dc 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/Delete.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/Delete.php @@ -5,12 +5,24 @@ */ namespace Magento\Review\Controller\Adminhtml\Product; +use Magento\Framework\App\Action\HttpPostActionInterface; use Magento\Review\Controller\Adminhtml\Product as ProductController; use Magento\Framework\Controller\ResultFactory; +use Magento\Review\Model\Review; -class Delete extends ProductController +/** + * Delete action. + */ +class Delete extends ProductController implements HttpPostActionInterface { /** + * @var Review + */ + private $model; + + /** + * Execute action. + * * @return \Magento\Backend\Model\View\Result\Redirect */ public function execute() @@ -19,7 +31,7 @@ public function execute() $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); $reviewId = $this->getRequest()->getParam('id', false); try { - $this->reviewFactory->create()->setId($reviewId)->aggregate()->delete(); + $this->getModel()->aggregate()->delete(); $this->messageManager->addSuccess(__('The review has been deleted.')); if ($this->getRequest()->getParam('ret') == 'pending') { @@ -36,4 +48,46 @@ public function execute() return $resultRedirect->setPath('review/*/edit/', ['id' => $reviewId]); } + + /** + * @inheritdoc + */ + protected function _isAllowed() + { + if (parent::_isAllowed()) { + return true; + } + + if (!$this->_authorization->isAllowed('Magento_Review::pending')) { + return false; + } + + if ($this->getModel()->getStatusId() != Review::STATUS_PENDING) { + $this->messageManager->addErrorMessage( + __( + 'You don’t have permission to perform this operation.' + . ' The selected review must be in Pending Status.' + ) + ); + + return false; + } + + return true; + } + + /** + * Returns requested model. + * + * @return Review + */ + private function getModel(): Review + { + if ($this->model === null) { + $this->model = $this->reviewFactory->create() + ->load($this->getRequest()->getParam('id', false)); + } + + return $this->model; + } } diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/Edit.php b/app/code/Magento/Review/Controller/Adminhtml/Product/Edit.php index 7d922f30cd98..91e9e5becc6c 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/Edit.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/Edit.php @@ -8,10 +8,21 @@ use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface; use Magento\Review\Controller\Adminhtml\Product as ProductController; use Magento\Framework\Controller\ResultFactory; +use Magento\Review\Model\Review; +/** + * Edit action. + */ class Edit extends ProductController implements HttpGetActionInterface { /** + * @var Review + */ + private $review; + + /** + * Execute action. + * * @return \Magento\Backend\Model\View\Result\Page */ public function execute() @@ -24,4 +35,46 @@ public function execute() $resultPage->addContent($resultPage->getLayout()->createBlock(\Magento\Review\Block\Adminhtml\Edit::class)); return $resultPage; } + + /** + * @inheritdoc + */ + protected function _isAllowed() + { + if (parent::_isAllowed()) { + return true; + } + + if (!$this->_authorization->isAllowed('Magento_Review::pending')) { + return false; + } + + if ($this->getModel()->getStatusId() != Review::STATUS_PENDING) { + $this->messageManager->addErrorMessage( + __( + 'You don’t have permission to perform this operation.' + . ' The selected review must be in Pending Status.' + ) + ); + + return false; + } + + return true; + } + + /** + * Returns requested model. + * + * @return Review + */ + private function getModel(): Review + { + if ($this->review === null) { + $this->review = $this->reviewFactory->create() + ->load($this->getRequest()->getParam('id', false)); + } + + return $this->review; + } } diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/MassDelete.php b/app/code/Magento/Review/Controller/Adminhtml/Product/MassDelete.php index c79254000023..95f9ca3aa79d 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/MassDelete.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/MassDelete.php @@ -5,13 +5,54 @@ */ namespace Magento\Review\Controller\Adminhtml\Product; +use Magento\Backend\App\Action\Context; +use Magento\Framework\Registry; use Magento\Review\Controller\Adminhtml\Product as ProductController; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Controller\ResultFactory; +use Magento\Review\Model\RatingFactory; +use Magento\Review\Model\Review; +use Magento\Review\Model\ResourceModel\Review\Collection; +use Magento\Review\Model\ResourceModel\Review\CollectionFactory; +use Magento\Review\Model\ReviewFactory; +use Magento\Framework\App\Action\HttpPostActionInterface; -class MassDelete extends ProductController +/** + * Mass Delete action. + */ +class MassDelete extends ProductController implements HttpPostActionInterface { /** + * @var Collection + */ + private $collection; + + /** + * @var CollectionFactory + */ + private $collectionFactory; + + /** + * @param Context $context + * @param Registry $coreRegistry + * @param ReviewFactory $reviewFactory + * @param RatingFactory $ratingFactory + * @param CollectionFactory $collectionFactory + */ + public function __construct( + Context $context, + Registry $coreRegistry, + ReviewFactory $reviewFactory, + RatingFactory $ratingFactory, + CollectionFactory $collectionFactory + ) { + parent::__construct($context, $coreRegistry, $reviewFactory, $ratingFactory); + $this->collectionFactory = $collectionFactory; + } + + /** + * Execute action. + * * @return \Magento\Backend\Model\View\Result\Redirect */ public function execute() @@ -21,8 +62,7 @@ public function execute() $this->messageManager->addError(__('Please select review(s).')); } else { try { - foreach ($reviewsIds as $reviewId) { - $model = $this->reviewFactory->create()->load($reviewId); + foreach ($this->getCollection() as $model) { $model->delete(); } $this->messageManager->addSuccess( @@ -39,4 +79,54 @@ public function execute() $resultRedirect->setPath('review/*/' . $this->getRequest()->getParam('ret', 'index')); return $resultRedirect; } + + /** + * @inheritdoc + */ + protected function _isAllowed() + { + if (parent::_isAllowed()) { + return true; + } + + if (!$this->_authorization->isAllowed('Magento_Review::pending')) { + return false; + } + + foreach ($this->getCollection() as $model) { + if ($model->getStatusId() != Review::STATUS_PENDING) { + $this->messageManager->addErrorMessage( + __( + 'You don’t have permission to perform this operation.' + . ' Selected reviews must be in Pending Status only.' + ) + ); + + return false; + } + } + + return true; + } + + /** + * Returns requested collection. + * + * @return Collection + */ + private function getCollection(): Collection + { + if ($this->collection === null) { + $collection = $this->collectionFactory->create(); + $collection->addFieldToFilter( + 'main_table.' . $collection->getResource() + ->getIdFieldName(), + $this->getRequest()->getParam('reviews') + ); + + $this->collection = $collection; + } + + return $this->collection; + } } diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/MassUpdateStatus.php b/app/code/Magento/Review/Controller/Adminhtml/Product/MassUpdateStatus.php index 2769a35ba9a4..9e93fb8fce63 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/MassUpdateStatus.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/MassUpdateStatus.php @@ -5,13 +5,54 @@ */ namespace Magento\Review\Controller\Adminhtml\Product; +use Magento\Backend\App\Action\Context; +use Magento\Framework\Registry; use Magento\Review\Controller\Adminhtml\Product as ProductController; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Controller\ResultFactory; +use Magento\Review\Model\RatingFactory; +use Magento\Review\Model\Review; +use Magento\Review\Model\ResourceModel\Review\Collection; +use Magento\Review\Model\ResourceModel\Review\CollectionFactory; +use Magento\Review\Model\ReviewFactory; +use Magento\Framework\App\Action\HttpPostActionInterface; -class MassUpdateStatus extends ProductController +/** + * Mass Update Status action. + */ +class MassUpdateStatus extends ProductController implements HttpPostActionInterface { /** + * @var Collection + */ + private $collection; + + /** + * @var CollectionFactory + */ + private $collectionFactory; + + /** + * @param Context $context + * @param Registry $coreRegistry + * @param ReviewFactory $reviewFactory + * @param RatingFactory $ratingFactory + * @param CollectionFactory $collectionFactory + */ + public function __construct( + Context $context, + Registry $coreRegistry, + ReviewFactory $reviewFactory, + RatingFactory $ratingFactory, + CollectionFactory $collectionFactory + ) { + parent::__construct($context, $coreRegistry, $reviewFactory, $ratingFactory); + $this->collectionFactory = $collectionFactory; + } + + /** + * Execute action. + * * @return \Magento\Backend\Model\View\Result\Redirect */ public function execute() @@ -22,8 +63,7 @@ public function execute() } else { try { $status = $this->getRequest()->getParam('status'); - foreach ($reviewsIds as $reviewId) { - $model = $this->reviewFactory->create()->load($reviewId); + foreach ($this->getCollection() as $model) { $model->setStatusId($status)->save()->aggregate(); } $this->messageManager->addSuccess( @@ -43,4 +83,54 @@ public function execute() $resultRedirect->setPath('review/*/' . $this->getRequest()->getParam('ret', 'index')); return $resultRedirect; } + + /** + * @inheritdoc + */ + protected function _isAllowed() + { + if (parent::_isAllowed()) { + return true; + } + + if (!$this->_authorization->isAllowed('Magento_Review::pending')) { + return false; + } + + foreach ($this->getCollection() as $model) { + if ($model->getStatusId() != Review::STATUS_PENDING) { + $this->messageManager->addErrorMessage( + __( + 'You don’t have permission to perform this operation. ' + . 'Selected reviews must be in Pending Status only.' + ) + ); + + return false; + } + } + + return true; + } + + /** + * Returns requested collection. + * + * @return Collection + */ + private function getCollection(): Collection + { + if ($this->collection === null) { + $collection = $this->collectionFactory->create(); + $collection->addFieldToFilter( + 'main_table.' . $collection->getResource() + ->getIdFieldName(), + $this->getRequest()->getParam('reviews') + ); + + $this->collection = $collection; + } + + return $this->collection; + } } diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/Pending.php b/app/code/Magento/Review/Controller/Adminhtml/Product/Pending.php index 75eaaaeeef24..385b7e12bf32 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/Pending.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/Pending.php @@ -7,10 +7,17 @@ use Magento\Review\Controller\Adminhtml\Product as ProductController; use Magento\Framework\Controller\ResultFactory; +use Magento\Framework\App\Action\HttpGetActionInterface; +use Magento\Framework\App\Action\HttpPostActionInterface; -class Pending extends ProductController +/** + * Pending reviews grid. + */ +class Pending extends ProductController implements HttpGetActionInterface, HttpPostActionInterface { /** + * Execute action. + * * @return \Magento\Framework\Controller\ResultInterface */ public function execute() @@ -30,4 +37,13 @@ public function execute() $resultPage->addContent($resultPage->getLayout()->createBlock(\Magento\Review\Block\Adminhtml\Main::class)); return $resultPage; } + + /** + * @inheritdoc + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Review::reviews_all') + || $this->_authorization->isAllowed('Magento_Review::pending'); + } } diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/Post.php b/app/code/Magento/Review/Controller/Adminhtml/Product/Post.php index b62fcc7326ee..b42dd3b3063f 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/Post.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/Post.php @@ -10,10 +10,16 @@ use Magento\Framework\Controller\ResultFactory; use Magento\Store\Model\Store; use Magento\Framework\Exception\LocalizedException; +use Magento\Review\Model\Review; +/** + * Review admin controller for POST request. + */ class Post extends ProductController implements HttpPostActionInterface { /** + * Create a product review. + * * @return \Magento\Backend\Model\View\Result\Redirect */ public function execute() @@ -33,7 +39,7 @@ public function execute() } $review = $this->reviewFactory->create()->setData($data); try { - $review->setEntityId(1) // product + $review->setEntityId($review->getEntityIdByCode(Review::ENTITY_PRODUCT_CODE)) ->setEntityPkValue($productId) ->setStoreId(Store::DEFAULT_STORE_ID) ->setStatusId($data['status_id']) diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/ReviewGrid.php b/app/code/Magento/Review/Controller/Adminhtml/Product/ReviewGrid.php index 017fbc95a8b9..8925851e3342 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/ReviewGrid.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/ReviewGrid.php @@ -12,8 +12,14 @@ use Magento\Review\Model\RatingFactory; use Magento\Framework\View\LayoutFactory; use Magento\Framework\Controller\ResultFactory; +use Magento\Framework\App\Request\Http; +use Magento\Framework\App\Action\HttpGetActionInterface; +use Magento\Framework\App\Action\HttpPostActionInterface; -class ReviewGrid extends ProductController +/** + * Review grid. + */ +class ReviewGrid extends ProductController implements HttpGetActionInterface, HttpPostActionInterface { /** * @var \Magento\Framework\View\LayoutFactory @@ -39,6 +45,8 @@ public function __construct( } /** + * Execute action. + * * @return \Magento\Framework\Controller\Result\Raw */ public function execute() @@ -49,4 +57,13 @@ public function execute() $resultRaw->setContents($layout->createBlock(\Magento\Review\Block\Adminhtml\Grid::class)->toHtml()); return $resultRaw; } + + /** + * @inheritdoc + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Review::reviews_all') + || $this->_authorization->isAllowed('Magento_Review::pending'); + } } diff --git a/app/code/Magento/Review/Controller/Adminhtml/Product/Save.php b/app/code/Magento/Review/Controller/Adminhtml/Product/Save.php index d9498580c39b..5b8ad106987e 100644 --- a/app/code/Magento/Review/Controller/Adminhtml/Product/Save.php +++ b/app/code/Magento/Review/Controller/Adminhtml/Product/Save.php @@ -9,12 +9,18 @@ use Magento\Review\Controller\Adminhtml\Product as ProductController; use Magento\Framework\Controller\ResultFactory; use Magento\Framework\Exception\LocalizedException; +use Magento\Review\Model\Review; /** * Save Review action. */ class Save extends ProductController implements HttpPostActionInterface { + /** + * @var Review + */ + private $review; + /** * Save Review action. * @@ -26,7 +32,7 @@ public function execute() /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); if (($data = $this->getRequest()->getPostValue()) && ($reviewId = $this->getRequest()->getParam('id'))) { - $review = $this->reviewFactory->create()->load($reviewId); + $review = $this->getModel(); if (!$review->getId()) { $this->messageManager->addError(__('The review was removed by another user or does not exist.')); } else { @@ -67,7 +73,14 @@ public function execute() $nextId = (int)$this->getRequest()->getParam('next_item'); if ($nextId) { - $resultRedirect->setPath('review/*/edit', ['id' => $nextId]); + $resultRedirect->setPath( + 'review/*/edit', + [ + 'id' => $nextId, + 'ret' => $this->getRequest() + ->getParam('ret'), + ] + ); } elseif ($this->getRequest()->getParam('ret') == 'pending') { $resultRedirect->setPath('review/*/pending'); } else { @@ -86,4 +99,46 @@ public function execute() $resultRedirect->setPath('review/*/'); return $resultRedirect; } + + /** + * @inheritdoc + */ + protected function _isAllowed() + { + if (parent::_isAllowed()) { + return true; + } + + if (!$this->_authorization->isAllowed('Magento_Review::pending')) { + return false; + } + + if ($this->getModel()->getStatusId() != Review::STATUS_PENDING) { + $this->messageManager->addErrorMessage( + __( + 'You don’t have permission to perform this operation.' + . ' The selected review must be in Pending Status.' + ) + ); + + return false; + } + + return true; + } + + /** + * Returns requested model. + * + * @return Review + */ + private function getModel(): Review + { + if (!$this->review) { + $this->review = $this->reviewFactory->create() + ->load($this->getRequest()->getParam('id', false)); + } + + return $this->review; + } } diff --git a/app/code/Magento/Review/Test/Unit/Block/Adminhtml/RssTest.php b/app/code/Magento/Review/Test/Unit/Block/Adminhtml/RssTest.php index 8455f1f7c68f..2ffd0ea11814 100644 --- a/app/code/Magento/Review/Test/Unit/Block/Adminhtml/RssTest.php +++ b/app/code/Magento/Review/Test/Unit/Block/Adminhtml/RssTest.php @@ -8,6 +8,9 @@ use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper; +/** + * Test RSS adminhtml block + */ class RssTest extends \PHPUnit\Framework\TestCase { /** @@ -35,6 +38,9 @@ class RssTest extends \PHPUnit\Framework\TestCase */ protected $urlBuilder; + /** + * @inheritDoc + */ protected function setUp() { $this->storeManagerInterface = $this->createMock(\Magento\Store\Model\StoreManagerInterface::class); @@ -51,18 +57,22 @@ protected function setUp() ); } + /** + * @return void + */ public function testGetRssData() { + $rssUrl = ''; $rssData = [ 'title' => 'Pending product review(s)', 'description' => 'Pending product review(s)', - 'link' => 'http://rss.magento.com', + 'link' => $rssUrl, 'charset' => 'UTF-8', 'entries' => [ 'title' => 'Product: "Product Name" reviewed by: Product Nick', 'link' => 'http://product.magento.com', 'description' => [ - 'rss_url' => 'http://rss.magento.com', + 'rss_url' => $rssUrl, 'name' => 'Product Name', 'summary' => 'Product Title', 'review' => 'Product Detail', @@ -71,8 +81,9 @@ public function testGetRssData() ], ], ]; - $rssUrl = 'http://rss.magento.com'; - $productModel = $this->createPartialMock(\Magento\Catalog\Model\ResourceModel\Product::class, [ + $productModel = $this->createPartialMock( + \Magento\Catalog\Model\ResourceModel\Product::class, + [ 'getStoreId', 'getId', 'getReviewId', @@ -81,7 +92,8 @@ public function testGetRssData() 'getTitle', 'getNickname', 'getProductUrl' - ]); + ] + ); $storeModel = $this->createMock(\Magento\Store\Model\Store::class); $this->storeManagerInterface->expects($this->once())->method('getStore')->will($this->returnValue($storeModel)); $storeModel->expects($this->once())->method('getName') @@ -118,16 +130,25 @@ public function testGetRssData() $this->assertContains($rssData['entries']['description']['store'], $data['entries'][0]['description']); } + /** + * @return void + */ public function testGetCacheLifetime() { $this->assertEquals(0, $this->block->getCacheLifetime()); } + /** + * @return void + */ public function testIsAllowed() { $this->assertEquals(true, $this->block->isAllowed()); } + /** + * @return void + */ public function testGetFeeds() { $this->assertEquals([], $this->block->getFeeds()); diff --git a/app/code/Magento/Review/Test/Unit/Controller/Adminhtml/Product/PostTest.php b/app/code/Magento/Review/Test/Unit/Controller/Adminhtml/Product/PostTest.php index 7d22524895ae..6592ff977a06 100644 --- a/app/code/Magento/Review/Test/Unit/Controller/Adminhtml/Product/PostTest.php +++ b/app/code/Magento/Review/Test/Unit/Controller/Adminhtml/Product/PostTest.php @@ -6,6 +6,7 @@ namespace Magento\Review\Test\Unit\Controller\Adminhtml\Product; use Magento\Framework\Controller\ResultFactory; +use Magento\Review\Model\Review; /** * @SuppressWarnings(PHPMD.TooManyFields) @@ -109,7 +110,7 @@ protected function _prepareMockObjects() $this->storeModelMock = $this->createPartialMock(\Magento\Store\Model\Store::class, ['__wakeup', 'getId']); $this->reviewMock = $this->createPartialMock( \Magento\Review\Model\Review::class, - ['__wakeup', 'create', 'save', 'getId', 'getResource', 'aggregate'] + ['__wakeup', 'create', 'save', 'getId', 'getResource', 'aggregate', 'getEntityIdByCode'] ); $this->reviewFactoryMock = $this->createPartialMock(\Magento\Review\Model\ReviewFactory::class, ['create']); $this->ratingMock = $this->createPartialMock( @@ -174,6 +175,10 @@ public function testPostAction() $this->reviewMock->expects($this->once()) ->method('aggregate') ->willReturn($this->reviewMock); + $this->reviewMock->expects($this->once()) + ->method('getEntityIdByCode') + ->with(Review::ENTITY_PRODUCT_CODE) + ->willReturn(1); $this->ratingMock->expects($this->once()) ->method('setRatingId') ->willReturnSelf(); diff --git a/app/code/Magento/Review/i18n/en_US.csv b/app/code/Magento/Review/i18n/en_US.csv index b3ea21dfcae9..07b7e8c13bd1 100644 --- a/app/code/Magento/Review/i18n/en_US.csv +++ b/app/code/Magento/Review/i18n/en_US.csv @@ -135,3 +135,5 @@ Inactive,Inactive "Please select one of each of the ratings above.","Please select one of each of the ratings above." star,star stars,stars +"You don’t have permission to perform this operation. Selected reviews must be in Pending Status only.","You don’t have permission to perform this operation. Selected reviews must be in Pending Status only." +"You don’t have permission to perform this operation. The selected review must be in Pending Status.","You don’t have permission to perform this operation. The selected review must be in Pending Status." diff --git a/app/code/Magento/Sales/Block/Order/History.php b/app/code/Magento/Sales/Block/Order/History.php index 80925f66fc83..c06a5d8b24c1 100644 --- a/app/code/Magento/Sales/Block/Order/History.php +++ b/app/code/Magento/Sales/Block/Order/History.php @@ -67,7 +67,7 @@ public function __construct( } /** - * @return void + * @inheritDoc */ protected function _construct() { @@ -76,8 +76,9 @@ protected function _construct() } /** - * @return CollectionFactoryInterface + * Provide order collection factory * + * @return CollectionFactoryInterface * @deprecated 100.1.1 */ private function getOrderCollectionFactory() @@ -89,6 +90,8 @@ private function getOrderCollectionFactory() } /** + * Get customer orders + * * @return bool|\Magento\Sales\Model\ResourceModel\Order\Collection */ public function getOrders() @@ -111,7 +114,7 @@ public function getOrders() } /** - * @return $this + * @inheritDoc */ protected function _prepareLayout() { @@ -130,6 +133,8 @@ protected function _prepareLayout() } /** + * Get Pager child block output + * * @return string */ public function getPagerHtml() @@ -138,6 +143,8 @@ public function getPagerHtml() } /** + * Get order view URL + * * @param object $order * @return string */ @@ -147,15 +154,23 @@ public function getViewUrl($order) } /** + * Get order track URL + * * @param object $order * @return string + * @deprecated Action does not exist + * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function getTrackUrl($order) { - return $this->getUrl('sales/order/track', ['order_id' => $order->getId()]); + //phpcs:ignore Magento2.Functions.DiscouragedFunction + trigger_error('Method is deprecated', E_USER_DEPRECATED); + return ''; } /** + * Get reorder URL + * * @param object $order * @return string */ @@ -165,6 +180,8 @@ public function getReorderUrl($order) } /** + * Get customer account URL + * * @return string */ public function getBackUrl() diff --git a/app/code/Magento/Sales/Block/Order/Recent.php b/app/code/Magento/Sales/Block/Order/Recent.php index 7e5be0ebfbba..79119c185134 100644 --- a/app/code/Magento/Sales/Block/Order/Recent.php +++ b/app/code/Magento/Sales/Block/Order/Recent.php @@ -71,7 +71,7 @@ public function __construct( } /** - * @return void + * @inheritDoc */ protected function _construct() { @@ -105,6 +105,8 @@ private function getRecentOrders() } /** + * Get order view URL + * * @param object $order * @return string */ @@ -114,16 +116,22 @@ public function getViewUrl($order) } /** + * Get order track URL + * * @param object $order * @return string + * @deprecated Action does not exist + * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function getTrackUrl($order) { - return $this->getUrl('sales/order/track', ['order_id' => $order->getId()]); + //phpcs:ignore Magento2.Functions.DiscouragedFunction + trigger_error('Method is deprecated', E_USER_DEPRECATED); + return ''; } /** - * @return string + * @inheritDoc */ protected function _toHtml() { @@ -134,6 +142,8 @@ protected function _toHtml() } /** + * Get reorder URL + * * @param object $order * @return string */ diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Create.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Create.php index dcf5e617d055..b8567cee866f 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Create.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Create.php @@ -3,6 +3,8 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ +declare(strict_types=1); + namespace Magento\Sales\Controller\Adminhtml\Order; use Magento\Backend\App\Action; @@ -14,6 +16,7 @@ * * @author Magento Core Team <core@magentocommerce.com> * @SuppressWarnings(PHPMD.NumberOfChildren) + * @SuppressWarnings(PHPMD.AllPurposeAction) */ abstract class Create extends \Magento\Backend\App\Action { @@ -38,6 +41,7 @@ abstract class Create extends \Magento\Backend\App\Action * @param \Magento\Framework\Escaper $escaper * @param PageFactory $resultPageFactory * @param ForwardFactory $resultForwardFactory + * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function __construct( Action\Context $context, @@ -47,7 +51,6 @@ public function __construct( ForwardFactory $resultForwardFactory ) { parent::__construct($context); - $productHelper->setSkipSaleableCheck(true); $this->escaper = $escaper; $this->resultPageFactory = $resultPageFactory; $this->resultForwardFactory = $resultForwardFactory; @@ -362,6 +365,8 @@ protected function _processFiles($items) } /** + * Reload quote + * * @return $this */ protected function _reloadQuote() diff --git a/app/code/Magento/Sales/Model/Order/Creditmemo/Sender/EmailSender.php b/app/code/Magento/Sales/Model/Order/Creditmemo/Sender/EmailSender.php index 3d2c13cbaaaa..93c8ed00f9da 100644 --- a/app/code/Magento/Sales/Model/Order/Creditmemo/Sender/EmailSender.php +++ b/app/code/Magento/Sales/Model/Order/Creditmemo/Sender/EmailSender.php @@ -100,6 +100,8 @@ public function send( $creditmemo->setSendEmail($this->identityContainer->isEnabled()); if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) { + $this->identityContainer->setStore($order->getStore()); + $transport = [ 'order' => $order, 'creditmemo' => $creditmemo, diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoCommentSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoCommentSender.php index ce72f0fee778..09360d0685cf 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoCommentSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoCommentSender.php @@ -63,6 +63,8 @@ public function __construct( public function send(Creditmemo $creditmemo, $notify = true, $comment = '') { $order = $creditmemo->getOrder(); + $this->identityContainer->setStore($order->getStore()); + $transport = [ 'order' => $order, 'creditmemo' => $creditmemo, diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoSender.php index 126fe4f93f1e..3cbd06364136 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoSender.php @@ -104,6 +104,7 @@ public function send(Creditmemo $creditmemo, $forceSyncMode = false) if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) { $order = $creditmemo->getOrder(); + $this->identityContainer->setStore($order->getStore()); $transport = [ 'order' => $order, diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceCommentSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceCommentSender.php index 62d13eb8ce68..32855f78c157 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceCommentSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceCommentSender.php @@ -63,6 +63,8 @@ public function __construct( public function send(Invoice $invoice, $notify = true, $comment = '') { $order = $invoice->getOrder(); + $this->identityContainer->setStore($order->getStore()); + $transport = [ 'order' => $order, 'invoice' => $invoice, diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php index ba3895cfa152..3ac5342de74a 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php @@ -104,6 +104,7 @@ public function send(Invoice $invoice, $forceSyncMode = false) if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) { $order = $invoice->getOrder(); + $this->identityContainer->setStore($order->getStore()); $transport = [ 'order' => $order, diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/OrderCommentSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/OrderCommentSender.php index 98cb9304a494..e162e01bd755 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/OrderCommentSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/OrderCommentSender.php @@ -61,6 +61,8 @@ public function __construct( */ public function send(Order $order, $notify = true, $comment = '') { + $this->identityContainer->setStore($order->getStore()); + $transport = [ 'order' => $order, 'comment' => $comment, diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentCommentSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentCommentSender.php index 664f8ec9fc7e..b0b4907b96e7 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentCommentSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentCommentSender.php @@ -63,6 +63,8 @@ public function __construct( public function send(Shipment $shipment, $notify = true, $comment = '') { $order = $shipment->getOrder(); + $this->identityContainer->setStore($order->getStore()); + $transport = [ 'order' => $order, 'shipment' => $shipment, diff --git a/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentSender.php b/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentSender.php index 10e5e37a4939..df28dec70129 100644 --- a/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentSender.php +++ b/app/code/Magento/Sales/Model/Order/Email/Sender/ShipmentSender.php @@ -104,6 +104,7 @@ public function send(Shipment $shipment, $forceSyncMode = false) if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) { $order = $shipment->getOrder(); + $this->identityContainer->setStore($order->getStore()); $transport = [ 'order' => $order, diff --git a/app/code/Magento/Sales/Model/Order/Invoice/Sender/EmailSender.php b/app/code/Magento/Sales/Model/Order/Invoice/Sender/EmailSender.php index 5ae3306ddf75..004f36c27702 100644 --- a/app/code/Magento/Sales/Model/Order/Invoice/Sender/EmailSender.php +++ b/app/code/Magento/Sales/Model/Order/Invoice/Sender/EmailSender.php @@ -100,6 +100,8 @@ public function send( $invoice->setSendEmail($this->identityContainer->isEnabled()); if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) { + $this->identityContainer->setStore($order->getStore()); + $transport = [ 'order' => $order, 'invoice' => $invoice, diff --git a/app/code/Magento/Sales/Model/Order/Shipment/Sender/EmailSender.php b/app/code/Magento/Sales/Model/Order/Shipment/Sender/EmailSender.php index 3657f84d4445..1d4418c50047 100644 --- a/app/code/Magento/Sales/Model/Order/Shipment/Sender/EmailSender.php +++ b/app/code/Magento/Sales/Model/Order/Shipment/Sender/EmailSender.php @@ -100,6 +100,8 @@ public function send( $shipment->setSendEmail($this->identityContainer->isEnabled()); if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) { + $this->identityContainer->setStore($order->getStore()); + $transport = [ 'order' => $order, 'shipment' => $shipment, diff --git a/app/code/Magento/Sales/Test/Mftf/Section/AdminOrderFormConfigureProductSection.xml b/app/code/Magento/Sales/Test/Mftf/Section/AdminOrderFormConfigureProductSection.xml index d97717dd65be..a5b514c7c8ca 100644 --- a/app/code/Magento/Sales/Test/Mftf/Section/AdminOrderFormConfigureProductSection.xml +++ b/app/code/Magento/Sales/Test/Mftf/Section/AdminOrderFormConfigureProductSection.xml @@ -9,7 +9,8 @@ <sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd"> <section name="AdminOrderFormConfigureProductSection"> - <element name="optionSelect" type="select" selector="//div[contains(@class,'product-options')]/div/div/select[../../label[text() = '{{option}}']]" parameterized="true"/> + <element name="configure" type="button" selector="//a[@product_id='{{productId}}']" parameterized="true"/> + <element name="optionSelect" type="select" selector="//div[contains(@class,'product-options')]//select[//label[text() = '{{option}}']]" parameterized="true"/> <element name="quantity" type="input" selector="#product_composite_configure_input_qty"/> <element name="ok" type="button" selector=".modal-header .page-actions button[data-role='action']" timeout="30"/> <element name="selectOption" type="select" selector="//form[@id='product_composite_configure_form']//select"/> diff --git a/app/code/Magento/Sales/Test/Mftf/Test/AdminCreateInvoiceTest.xml b/app/code/Magento/Sales/Test/Mftf/Test/AdminCreateInvoiceTest.xml index ce66409ed9b3..800517236cb3 100644 --- a/app/code/Magento/Sales/Test/Mftf/Test/AdminCreateInvoiceTest.xml +++ b/app/code/Magento/Sales/Test/Mftf/Test/AdminCreateInvoiceTest.xml @@ -69,8 +69,11 @@ <waitForLoadingMaskToDisappear stepKey="waitForLoadingMask4"/> <click selector="{{AdminOrdersGridSection.firstRow}}" stepKey="clickOrderRow"/> + <waitForPageLoad stepKey="waitForOrderPageToLoad"/> <click selector="{{AdminOrderDetailsMainActionsSection.invoice}}" stepKey="clickInvoice"/> + <waitForPageLoad stepKey="waitForNewInvoicePageToLoad"/> <click selector="{{AdminInvoiceMainActionsSection.submitInvoice}}" stepKey="clickSubmitInvoice"/> + <waitForPageLoad stepKey="waitForInvoiceToBeCreated"/> <see selector="{{AdminOrderDetailsMessagesSection.successMessage}}" userInput="The invoice has been created." stepKey="seeSuccessMessage"/> <click selector="{{AdminOrderDetailsOrderViewSection.invoices}}" stepKey="clickInvoices"/> <waitForLoadingMaskToDisappear stepKey="waitForLoadingMask5" /> diff --git a/app/code/Magento/Sales/Test/Mftf/Test/AdminCreateOrderWithBundleProductTest.xml b/app/code/Magento/Sales/Test/Mftf/Test/AdminCreateOrderWithBundleProductTest.xml index d087b291de87..5613334c464b 100644 --- a/app/code/Magento/Sales/Test/Mftf/Test/AdminCreateOrderWithBundleProductTest.xml +++ b/app/code/Magento/Sales/Test/Mftf/Test/AdminCreateOrderWithBundleProductTest.xml @@ -77,6 +77,12 @@ <field key="qty">2</field> </createData> <actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/> + + <!--Go to bundle product page and save it to force "in stock" status--> + <actionGroup ref="goToProductPageViaID" stepKey="goToBundleProductPage"> + <argument name="productId" value="$product.id$"/> + </actionGroup> + <actionGroup ref="saveProductForm" stepKey="saveBundleProduct"/> </before> <!--Create new customer order--> diff --git a/app/code/Magento/Sales/Test/Mftf/Test/CreditMemoTotalAfterShippingDiscountTest.xml b/app/code/Magento/Sales/Test/Mftf/Test/CreditMemoTotalAfterShippingDiscountTest.xml index dfbdc5367799..93f4233af90e 100644 --- a/app/code/Magento/Sales/Test/Mftf/Test/CreditMemoTotalAfterShippingDiscountTest.xml +++ b/app/code/Magento/Sales/Test/Mftf/Test/CreditMemoTotalAfterShippingDiscountTest.xml @@ -104,7 +104,9 @@ <!-- Create invoice --> <click selector="{{AdminOrdersGridSection.firstRow}}" stepKey="clickOrderRow"/> + <waitForPageLoad stepKey="waitForOrderPageToLoad"/> <click selector="{{AdminOrderDetailsMainActionsSection.invoice}}" stepKey="clickInvoiceButton"/> + <waitForPageLoad stepKey="waitForNewInvoicePageToLoad"/> <see selector="{{AdminHeaderSection.pageTitle}}" userInput="New Invoice" stepKey="seeNewInvoiceInPageTitle" after="clickInvoiceButton"/> <!-- Verify Invoice Totals including subTotal Shipping Discount and GrandTotal --> diff --git a/app/code/Magento/Sales/etc/webapi_rest/di.xml b/app/code/Magento/Sales/etc/webapi_rest/di.xml index f2cbd14eb804..5d7838297a7c 100644 --- a/app/code/Magento/Sales/etc/webapi_rest/di.xml +++ b/app/code/Magento/Sales/etc/webapi_rest/di.xml @@ -6,9 +6,6 @@ */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <type name="Magento\Quote\Model\QuoteRepository"> - <plugin name="authorization" type="Magento\Quote\Model\QuoteRepository\Plugin\Authorization" /> - </type> <type name="Magento\Sales\Model\ResourceModel\Order"> <plugin name="authorization" type="Magento\Sales\Model\ResourceModel\Order\Plugin\Authorization" /> </type> diff --git a/app/code/Magento/Sales/etc/webapi_soap/di.xml b/app/code/Magento/Sales/etc/webapi_soap/di.xml index f2cbd14eb804..5d7838297a7c 100644 --- a/app/code/Magento/Sales/etc/webapi_soap/di.xml +++ b/app/code/Magento/Sales/etc/webapi_soap/di.xml @@ -6,9 +6,6 @@ */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> - <type name="Magento\Quote\Model\QuoteRepository"> - <plugin name="authorization" type="Magento\Quote\Model\QuoteRepository\Plugin\Authorization" /> - </type> <type name="Magento\Sales\Model\ResourceModel\Order"> <plugin name="authorization" type="Magento\Sales\Model\ResourceModel\Order\Plugin\Authorization" /> </type> diff --git a/app/code/Magento/Search/Model/ResourceModel/SynonymReader.php b/app/code/Magento/Search/Model/ResourceModel/SynonymReader.php index 45eee0a4001d..1ac1547eb8d0 100644 --- a/app/code/Magento/Search/Model/ResourceModel/SynonymReader.php +++ b/app/code/Magento/Search/Model/ResourceModel/SynonymReader.php @@ -106,7 +106,7 @@ private function queryByPhrase($phrase) */ private function escapePhrase(string $phrase): string { - return preg_replace('/@+|[@+-]+$/', '', $phrase); + return preg_replace('/@+|[@+-]+$|[<>]/', '', $phrase); } /** diff --git a/app/code/Magento/SendFriendGraphQl/Model/Provider/GetVisibleProduct.php b/app/code/Magento/SendFriendGraphQl/Model/Provider/GetVisibleProduct.php new file mode 100644 index 000000000000..9ff771afd57f --- /dev/null +++ b/app/code/Magento/SendFriendGraphQl/Model/Provider/GetVisibleProduct.php @@ -0,0 +1,64 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\SendFriendGraphQl\Model\Provider; + +use Magento\Catalog\Api\ProductRepositoryInterface; +use Magento\Catalog\Model\Product\Visibility; +use Magento\Catalog\Api\Data\ProductInterface; +use Magento\Framework\GraphQl\Exception\GraphQlNoSuchEntityException; +use Magento\Framework\Exception\NoSuchEntityException; + +/** + * Returns product if it is visible in catalog. + */ +class GetVisibleProduct +{ + /** @var ProductRepositoryInterface */ + private $productRepository; + + /** @var Visibility */ + private $visibility; + + /** + * @param ProductRepositoryInterface $productRepository + * @param Visibility $visibility + */ + public function __construct( + ProductRepositoryInterface $productRepository, + Visibility $visibility + ) { + $this->productRepository = $productRepository; + $this->visibility = $visibility; + } + + /** + * Get product + * + * @param int $productId + * @return ProductInterface + * @throws GraphQlNoSuchEntityException + */ + public function execute(int $productId): ProductInterface + { + try { + $product = $this->productRepository->getById($productId); + + if (!in_array( + $product->getVisibility(), + $this->visibility->getVisibleInCatalogIds() + )) { + throw new GraphQlNoSuchEntityException( + __("The product that was requested doesn't exist. Verify the product and try again.") + ); + } + } catch (NoSuchEntityException $e) { + throw new GraphQlNoSuchEntityException(__($e->getMessage()), $e); + } + return $product; + } +} diff --git a/app/code/Magento/SendFriendGraphQl/Model/Resolver/SendEmailToFriend.php b/app/code/Magento/SendFriendGraphQl/Model/Resolver/SendEmailToFriend.php index c0c01c71df76..0a4fe1e3e561 100644 --- a/app/code/Magento/SendFriendGraphQl/Model/Resolver/SendEmailToFriend.php +++ b/app/code/Magento/SendFriendGraphQl/Model/Resolver/SendEmailToFriend.php @@ -7,18 +7,14 @@ namespace Magento\SendFriendGraphQl\Model\Resolver; -use Magento\Catalog\Api\Data\ProductInterface; -use Magento\Catalog\Api\ProductRepositoryInterface; -use Magento\Framework\DataObjectFactory; -use Magento\Framework\Event\ManagerInterface; -use Magento\Framework\Exception\NoSuchEntityException; use Magento\Framework\GraphQl\Config\Element\Field; +use Magento\Framework\GraphQl\Exception\GraphQlAuthorizationException; use Magento\Framework\GraphQl\Exception\GraphQlInputException; -use Magento\Framework\GraphQl\Exception\GraphQlNoSuchEntityException; use Magento\Framework\GraphQl\Query\ResolverInterface; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; -use Magento\SendFriend\Model\SendFriend; -use Magento\SendFriend\Model\SendFriendFactory; +use Magento\GraphQl\Model\Query\ContextInterface; +use Magento\SendFriend\Helper\Data as SendFriendHelper; +use Magento\SendFriendGraphQl\Model\SendFriend\SendEmail; /** * @inheritdoc @@ -26,41 +22,25 @@ class SendEmailToFriend implements ResolverInterface { /** - * @var SendFriendFactory + * @var SendFriendHelper */ - private $sendFriendFactory; + private $sendFriendHelper; /** - * @var ProductRepositoryInterface + * @var SendEmail */ - private $productRepository; + private $sendEmail; /** - * @var DataObjectFactory - */ - private $dataObjectFactory; - - /** - * @var ManagerInterface - */ - private $eventManager; - - /** - * @param SendFriendFactory $sendFriendFactory - * @param ProductRepositoryInterface $productRepository - * @param DataObjectFactory $dataObjectFactory - * @param ManagerInterface $eventManager + * @param SendEmail $sendEmail + * @param SendFriendHelper $sendFriendHelper */ public function __construct( - SendFriendFactory $sendFriendFactory, - ProductRepositoryInterface $productRepository, - DataObjectFactory $dataObjectFactory, - ManagerInterface $eventManager + SendEmail $sendEmail, + SendFriendHelper $sendFriendHelper ) { - $this->sendFriendFactory = $sendFriendFactory; - $this->productRepository = $productRepository; - $this->dataObjectFactory = $dataObjectFactory; - $this->eventManager = $eventManager; + $this->sendEmail = $sendEmail; + $this->sendFriendHelper = $sendFriendHelper; } /** @@ -68,77 +48,24 @@ public function __construct( */ public function resolve(Field $field, $context, ResolveInfo $info, array $value = null, array $args = null) { - /** @var SendFriend $sendFriend */ - $sendFriend = $this->sendFriendFactory->create(); - - if ($sendFriend->getMaxSendsToFriend() && $sendFriend->isExceedLimit()) { - throw new GraphQlInputException( - __('You can\'t send messages more than %1 times an hour.', $sendFriend->getMaxSendsToFriend()) - ); + /** @var ContextInterface $context */ + if (!$this->sendFriendHelper->isAllowForGuest() + && false === $context->getExtensionAttributes()->getIsCustomer() + ) { + throw new GraphQlAuthorizationException(__('The current customer isn\'t authorized.')); } - $product = $this->getProduct($args['input']['product_id']); - $this->eventManager->dispatch('sendfriend_product', ['product' => $product]); - $sendFriend->setProduct($product); - $senderData = $this->extractSenderData($args); - $sendFriend->setSender($senderData); - $recipientsData = $this->extractRecipientsData($args); - $sendFriend->setRecipients($recipientsData); - - $this->validateSendFriendModel($sendFriend, $senderData, $recipientsData); - $sendFriend->send(); + $this->sendEmail->execute( + $args['input']['product_id'], + $senderData, + $recipientsData + ); return array_merge($senderData, $recipientsData); } - /** - * Validate send friend model - * - * @param SendFriend $sendFriend - * @param array $senderData - * @param array $recipientsData - * @return void - * @throws GraphQlInputException - */ - private function validateSendFriendModel(SendFriend $sendFriend, array $senderData, array $recipientsData): void - { - $sender = $this->dataObjectFactory->create()->setData($senderData['sender']); - $sendFriend->setData('_sender', $sender); - - $emails = array_column($recipientsData['recipients'], 'email'); - $recipients = $this->dataObjectFactory->create()->setData('emails', $emails); - $sendFriend->setData('_recipients', $recipients); - - $validationResult = $sendFriend->validate(); - if ($validationResult !== true) { - throw new GraphQlInputException(__(implode($validationResult))); - } - } - - /** - * Get product - * - * @param int $productId - * @return ProductInterface - * @throws GraphQlNoSuchEntityException - */ - private function getProduct(int $productId): ProductInterface - { - try { - $product = $this->productRepository->getById($productId); - if (!$product->isVisibleInCatalog()) { - throw new GraphQlNoSuchEntityException( - __("The product that was requested doesn't exist. Verify the product and try again.") - ); - } - } catch (NoSuchEntityException $e) { - throw new GraphQlNoSuchEntityException(__($e->getMessage()), $e); - } - return $product; - } - /** * Extract recipients data * diff --git a/app/code/Magento/SendFriendGraphQl/Model/SendFriend/SendEmail.php b/app/code/Magento/SendFriendGraphQl/Model/SendFriend/SendEmail.php new file mode 100644 index 000000000000..70df366fa173 --- /dev/null +++ b/app/code/Magento/SendFriendGraphQl/Model/SendFriend/SendEmail.php @@ -0,0 +1,130 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\SendFriendGraphQl\Model\SendFriend; + +use Magento\Catalog\Api\Data\ProductInterface; +use Magento\Catalog\Api\ProductRepositoryInterface; +use Magento\Framework\DataObjectFactory; +use Magento\Framework\Event\ManagerInterface; +use Magento\Framework\Exception\NoSuchEntityException; +use Magento\Framework\GraphQl\Exception\GraphQlInputException; +use Magento\Framework\GraphQl\Exception\GraphQlNoSuchEntityException; +use Magento\SendFriend\Model\SendFriend; +use Magento\SendFriend\Model\SendFriendFactory; +use Magento\SendFriendGraphQl\Model\Provider\GetVisibleProduct; + +/** + * Send Product Email to Friend(s) + */ +class SendEmail +{ + /** + * @var DataObjectFactory + */ + private $dataObjectFactory; + + /** + * @var ProductRepositoryInterface + */ + private $productRepository; + + /** + * @var SendFriendFactory + */ + private $sendFriendFactory; + + /** + * @var ManagerInterface + */ + private $eventManager; + + /** + * @var GetVisibleProduct + */ + private $visibleProductProvider; + + /** + * SendEmail constructor. + * @param DataObjectFactory $dataObjectFactory + * @param ProductRepositoryInterface $productRepository + * @param SendFriendFactory $sendFriendFactory + * @param ManagerInterface $eventManager + * @param GetVisibleProduct $visibleProductProvider + */ + public function __construct( + DataObjectFactory $dataObjectFactory, + ProductRepositoryInterface $productRepository, + SendFriendFactory $sendFriendFactory, + ManagerInterface $eventManager, + GetVisibleProduct $visibleProductProvider + ) { + $this->dataObjectFactory = $dataObjectFactory; + $this->productRepository = $productRepository; + $this->sendFriendFactory = $sendFriendFactory; + $this->eventManager = $eventManager; + $this->visibleProductProvider = $visibleProductProvider; + } + + /** + * Send product email to friend(s) + * + * @param int $productId + * @param array $senderData + * @param array $recipientsData + * @throws GraphQlInputException + * @throws GraphQlNoSuchEntityException + * @throws \Magento\Framework\Exception\LocalizedException + */ + public function execute(int $productId, array $senderData, array $recipientsData): void + { + /** @var SendFriend $sendFriend */ + $sendFriend = $this->sendFriendFactory->create(); + + if ($sendFriend->getMaxSendsToFriend() && $sendFriend->isExceedLimit()) { + throw new GraphQlInputException( + __('You can\'t send messages more than %1 times an hour.', $sendFriend->getMaxSendsToFriend()) + ); + } + + $product = $this->visibleProductProvider->execute($productId); + + $this->eventManager->dispatch('sendfriend_product', ['product' => $product]); + + $sendFriend->setProduct($product); + $sendFriend->setSender($senderData); + $sendFriend->setRecipients($recipientsData); + + $this->validateSendFriendModel($sendFriend, $senderData, $recipientsData); + + $sendFriend->send(); + } + + /** + * Validate send friend model + * + * @param SendFriend $sendFriend + * @param array $senderData + * @param array $recipientsData + * @return void + * @throws GraphQlInputException + */ + private function validateSendFriendModel(SendFriend $sendFriend, array $senderData, array $recipientsData): void + { + $sender = $this->dataObjectFactory->create()->setData($senderData['sender']); + $sendFriend->setData('_sender', $sender); + + $emails = array_column($recipientsData['recipients'], 'email'); + $recipients = $this->dataObjectFactory->create()->setData('emails', $emails); + $sendFriend->setData('_recipients', $recipients); + + $validationResult = $sendFriend->validate(); + if ($validationResult !== true) { + throw new GraphQlInputException(__(implode($validationResult))); + } + } +} diff --git a/app/code/Magento/SendFriendGraphQl/composer.json b/app/code/Magento/SendFriendGraphQl/composer.json index d401f57b2257..091c68487912 100644 --- a/app/code/Magento/SendFriendGraphQl/composer.json +++ b/app/code/Magento/SendFriendGraphQl/composer.json @@ -6,9 +6,7 @@ "php": "~7.1.3||~7.2.0", "magento/framework": "*", "magento/module-catalog": "*", - "magento/module-send-friend": "*" - }, - "suggest": { + "magento/module-send-friend": "*", "magento/module-graph-ql": "*" }, "license": [ diff --git a/app/code/Magento/Store/Controller/Store/SwitchAction.php b/app/code/Magento/Store/Controller/Store/SwitchAction.php index de721869c5ab..d8ac1b308d7e 100644 --- a/app/code/Magento/Store/Controller/Store/SwitchAction.php +++ b/app/code/Magento/Store/Controller/Store/SwitchAction.php @@ -4,6 +4,7 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ +declare(strict_types=1); namespace Magento\Store\Controller\Store; @@ -18,13 +19,15 @@ use Magento\Store\Model\StoreManagerInterface; use Magento\Store\Model\StoreSwitcher; use Magento\Store\Model\StoreSwitcherInterface; +use Magento\Framework\App\Action\HttpPostActionInterface; +use Magento\Framework\App\Action\HttpGetActionInterface; /** * Handles store switching url and makes redirect. * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ -class SwitchAction extends Action +class SwitchAction extends Action implements HttpGetActionInterface, HttpPostActionInterface { /** * @var StoreCookieManagerInterface @@ -89,10 +92,12 @@ public function __construct( public function execute() { $targetStoreCode = $this->_request->getParam( - \Magento\Store\Model\StoreManagerInterface::PARAM_NAME, + \Magento\Store\Model\StoreManagerInterface::PARAM_NAME + ); + $fromStoreCode = $this->_request->getParam( + '___from_store', $this->storeCookieManager->getStoreCodeFromCookie() ); - $fromStoreCode = $this->_request->getParam('___from_store'); $requestedUrlToRedirect = $this->_redirect->getRedirectUrl(); $redirectUrl = $requestedUrlToRedirect; diff --git a/app/code/Magento/Store/composer.json b/app/code/Magento/Store/composer.json index ebaa32b95f48..6f05d65e732f 100644 --- a/app/code/Magento/Store/composer.json +++ b/app/code/Magento/Store/composer.json @@ -11,7 +11,8 @@ "magento/module-config": "*", "magento/module-directory": "*", "magento/module-media-storage": "*", - "magento/module-ui": "*" + "magento/module-ui": "*", + "magento/module-backend": "*" }, "suggest": { "magento/module-deploy": "*" diff --git a/app/code/Magento/Theme/Block/Html/Topmenu.php b/app/code/Magento/Theme/Block/Html/Topmenu.php index fd8aaa7708cf..fe5fe686e485 100644 --- a/app/code/Magento/Theme/Block/Html/Topmenu.php +++ b/app/code/Magento/Theme/Block/Html/Topmenu.php @@ -74,6 +74,16 @@ protected function getCacheLifetime() return parent::getCacheLifetime() ?: 3600; } + /** + * Get cache key informative items + * + * @return array + */ + public function getCacheKeyInfo() + { + return array_merge(parent::getCacheKeyInfo(), $this->getIdentities()); + } + /** * Get top menu html * diff --git a/app/code/Magento/Theme/view/frontend/templates/js/calendar.phtml b/app/code/Magento/Theme/view/frontend/templates/js/calendar.phtml index fcc6f092ff18..e0a3169f4a8e 100644 --- a/app/code/Magento/Theme/view/frontend/templates/js/calendar.phtml +++ b/app/code/Magento/Theme/view/frontend/templates/js/calendar.phtml @@ -20,12 +20,12 @@ require([ //<![CDATA[ $.extend(true, $, { calendarConfig: { - dayNames: <?= $block->escapeJs($days['wide']) ?>, - dayNamesMin: <?= $block->escapeJs($days['abbreviated']) ?>, - monthNames: <?= $block->escapeJs($months['wide']) ?>, - monthNamesShort: <?= $block->escapeJs($months['abbreviated']) ?>, + dayNames: <?= /* @noEscape */ $days['wide'] ?>, + dayNamesMin: <?= /* @noEscape */ $days['abbreviated'] ?>, + monthNames: <?= /* @noEscape */ $months['wide'] ?>, + monthNamesShort: <?= /* @noEscape */ $months['abbreviated'] ?>, infoTitle: "<?= $block->escapeJs(__('About the calendar')) ?>", - firstDay: <?= $block->escapeJs($firstDay) ?>, + firstDay: <?= (int)$firstDay ?>, closeText: "<?= $block->escapeJs(__('Close')) ?>", currentText: "<?= $block->escapeJs(__('Go Today')) ?>", prevText: "<?= $block->escapeJs(__('Previous')) ?>", @@ -50,7 +50,7 @@ require([ } }); - enUS = <?= $block->escapeJs($enUS) ?>; // en_US locale reference + enUS = <?= /* @noEscape */ $enUS ?>; // en_US locale reference //]]> }); diff --git a/app/code/Magento/Tinymce3/composer.json b/app/code/Magento/Tinymce3/composer.json index 52e980052a87..9ea4c7b2f18a 100644 --- a/app/code/Magento/Tinymce3/composer.json +++ b/app/code/Magento/Tinymce3/composer.json @@ -7,7 +7,8 @@ "magento/module-backend": "*", "magento/module-ui": "*", "magento/module-variable": "*", - "magento/module-widget": "*" + "magento/module-widget": "*", + "magento/module-cms": "*" }, "suggest": { diff --git a/app/code/Magento/Ui/composer.json b/app/code/Magento/Ui/composer.json index 296332e38350..d0d93abc6b1e 100644 --- a/app/code/Magento/Ui/composer.json +++ b/app/code/Magento/Ui/composer.json @@ -11,7 +11,8 @@ "magento/module-backend": "*", "magento/module-eav": "*", "magento/module-store": "*", - "magento/module-user": "*" + "magento/module-user": "*", + "magento/module-cms": "*" }, "suggest": { "magento/module-config": "*" diff --git a/app/code/Magento/Ui/view/base/ui_component/etc/definition.xml b/app/code/Magento/Ui/view/base/ui_component/etc/definition.xml index 75374a82f1da..f0a5f357f8a9 100755 --- a/app/code/Magento/Ui/view/base/ui_component/etc/definition.xml +++ b/app/code/Magento/Ui/view/base/ui_component/etc/definition.xml @@ -258,7 +258,7 @@ <exportButton class="Magento\Ui\Component\ExportButton" component="Magento_Ui/js/grid/export" displayArea="dataGridActions"> <settings> <options> - <option name="cvs" xsi:type="array"> + <option name="csv" xsi:type="array"> <item name="value" xsi:type="string">csv</item> <item name="label" xsi:type="string" translate="true">CSV</item> <item name="url" xsi:type="string">mui/export/gridToCsv</item> diff --git a/app/code/Magento/Ui/view/base/web/js/grid/columns/expandable.js b/app/code/Magento/Ui/view/base/web/js/grid/columns/expandable.js index 8bbe5971490a..b694f2403127 100644 --- a/app/code/Magento/Ui/view/base/web/js/grid/columns/expandable.js +++ b/app/code/Magento/Ui/view/base/web/js/grid/columns/expandable.js @@ -67,7 +67,11 @@ define([ } }); - return labels.sort(); + return labels.sort( + function (labelFirst, labelSecond) { + return labelFirst.toLowerCase().localeCompare(labelSecond.toLowerCase()); + } + ); }, /** diff --git a/app/code/Magento/Ui/view/base/web/js/grid/toolbar.js b/app/code/Magento/Ui/view/base/web/js/grid/toolbar.js index fd2d09c6a65f..4f3f71289302 100644 --- a/app/code/Magento/Ui/view/base/web/js/grid/toolbar.js +++ b/app/code/Magento/Ui/view/base/web/js/grid/toolbar.js @@ -271,7 +271,10 @@ define([ */ show: function () { this.visible = true; - + //Check admin grid button has addedr not + if ($('.page-main-actions').length === 0) { + this.$sticky.style.top = 0; + } this.$sticky.style.display = ''; this.$toolbar.style.visibility = 'hidden'; diff --git a/app/code/Magento/Ui/view/base/web/js/modal/alert.js b/app/code/Magento/Ui/view/base/web/js/modal/alert.js index 911d0e02578d..b63294e3d875 100644 --- a/app/code/Magento/Ui/view/base/web/js/modal/alert.js +++ b/app/code/Magento/Ui/view/base/web/js/modal/alert.js @@ -39,11 +39,18 @@ define([ }] }, + /** + * Create widget. + */ + _create: function () { + this.options.actions.always(); + this._super(); + }, + /** * Close modal window. */ closeModal: function () { - this.options.actions.always(); this.element.bind('alertclosed', _.bind(this._remove, this)); return this._super(); diff --git a/app/code/Magento/UrlRewrite/Model/StoreSwitcher/RewriteUrl.php b/app/code/Magento/UrlRewrite/Model/StoreSwitcher/RewriteUrl.php index e1bb094e7fc3..16e9c37ee4e5 100644 --- a/app/code/Magento/UrlRewrite/Model/StoreSwitcher/RewriteUrl.php +++ b/app/code/Magento/UrlRewrite/Model/StoreSwitcher/RewriteUrl.php @@ -63,28 +63,27 @@ public function switch(StoreInterface $fromStore, StoreInterface $targetStore, s } $oldStoreId = $fromStore->getId(); - $oldRewrite = $this->urlFinder->findOneByData([ - UrlRewrite::REQUEST_PATH => $urlPath, - UrlRewrite::STORE_ID => $oldStoreId, - ]); + $oldRewrite = $this->urlFinder->findOneByData( + [ + UrlRewrite::REQUEST_PATH => $urlPath, + UrlRewrite::STORE_ID => $oldStoreId, + ] + ); if ($oldRewrite) { $targetUrl = $targetStore->getBaseUrl(); // look for url rewrite match on the target store - $currentRewrite = $this->urlFinder->findOneByData([ - UrlRewrite::TARGET_PATH => $oldRewrite->getTargetPath(), - UrlRewrite::STORE_ID => $targetStore->getId(), - ]); + $currentRewrite = $this->findCurrentRewrite($oldRewrite, $targetStore); if ($currentRewrite) { $targetUrl .= $currentRewrite->getRequestPath(); } } else { - $existingRewrite = $this->urlFinder->findOneByData([ - UrlRewrite::REQUEST_PATH => $urlPath - ]); - $currentRewrite = $this->urlFinder->findOneByData([ - UrlRewrite::REQUEST_PATH => $urlPath, - UrlRewrite::STORE_ID => $targetStore->getId(), - ]); + $existingRewrite = $this->urlFinder->findOneByData([UrlRewrite::REQUEST_PATH => $urlPath]); + $currentRewrite = $this->urlFinder->findOneByData( + [ + UrlRewrite::REQUEST_PATH => $urlPath, + UrlRewrite::STORE_ID => $targetStore->getId(), + ] + ); if ($existingRewrite && !$currentRewrite) { /** @var \Magento\Framework\App\Response\Http $response */ @@ -93,4 +92,30 @@ public function switch(StoreInterface $fromStore, StoreInterface $targetStore, s } return $targetUrl; } + + /** + * Look for url rewrite match on the target store + * + * @param UrlRewrite $oldRewrite + * @param StoreInterface $targetStore + * @return UrlRewrite|null + */ + private function findCurrentRewrite(UrlRewrite $oldRewrite, StoreInterface $targetStore) + { + $currentRewrite = $this->urlFinder->findOneByData( + [ + UrlRewrite::TARGET_PATH => $oldRewrite->getTargetPath(), + UrlRewrite::STORE_ID => $targetStore->getId(), + ] + ); + if (!$currentRewrite) { + $currentRewrite = $this->urlFinder->findOneByData( + [ + UrlRewrite::REQUEST_PATH => $oldRewrite->getTargetPath(), + UrlRewrite::STORE_ID => $targetStore->getId(), + ] + ); + } + return $currentRewrite; + } } diff --git a/app/code/Magento/User/Test/Mftf/ActionGroup/AdminCreateRoleActionGroup.xml b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminCreateRoleActionGroup.xml index da08ac469b7c..22ce7a54a635 100644 --- a/app/code/Magento/User/Test/Mftf/ActionGroup/AdminCreateRoleActionGroup.xml +++ b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminCreateRoleActionGroup.xml @@ -24,6 +24,26 @@ <click selector="{{AdminEditRoleInfoSection.saveButton}}" stepKey="clickSaveRoleButton" /> <waitForPageLoad stepKey="waitForPageLoad2" /> </actionGroup> + <actionGroup name="AdminFillUserRoleRequiredData" extends="AdminCreateRoleActionGroup"> + <remove keyForRemoval="clickRoleResourcesTab"/> + <remove keyForRemoval="waitForScopeSelection"/> + <remove keyForRemoval="selectResourceAccessCustom"/> + <remove keyForRemoval="waitForElementVisible"/> + <remove keyForRemoval="clickContentBlockCheckbox"/> + <remove keyForRemoval="clickSaveRoleButton"/> + <remove keyForRemoval="waitForPageLoad2"/> + </actionGroup> + <actionGroup name="AdminAddRestrictedRole" extends="AdminCreateRoleActionGroup"> + <remove keyForRemoval="navigateToNewRole"/> + <remove keyForRemoval="waitForPageLoad1"/> + <remove keyForRemoval="fillRoleName"/> + <remove keyForRemoval="enterPassword"/> + <remove keyForRemoval="clickRoleResourcesTab"/> + <remove keyForRemoval="waitForScopeSelection"/> + <remove keyForRemoval="clickSaveRoleButton"/> + <remove keyForRemoval="waitForPageLoad2"/> + <scrollTo selector="{{AdminEditRoleInfoSection.blockName('restrictedRole')}}" x="0" y="-100" stepKey="scrollToResourceElement" after="selectResourceAccessCustom"/> + </actionGroup> <!--Create new role--> <actionGroup name="AdminCreateRole"> <arguments> diff --git a/app/code/Magento/User/Test/Mftf/ActionGroup/AdminCreateUserActionGroup.xml b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminCreateUserActionGroup.xml index 5d51dcc610f7..d550d855fcdd 100644 --- a/app/code/Magento/User/Test/Mftf/ActionGroup/AdminCreateUserActionGroup.xml +++ b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminCreateUserActionGroup.xml @@ -15,12 +15,12 @@ <amOnPage url="{{AdminUsersPage.url}}" stepKey="amOnAdminUsersPage"/> <waitForPageLoad stepKey="waitForAdminUserPageLoad"/> <click selector="{{AdminCreateUserSection.create}}" stepKey="clickToCreateNewUser"/> - <fillField selector="{{AdminEditUserSection.usernameTextField}}" userInput="{{newAdmin.username}}" stepKey="enterUserName" /> - <fillField selector="{{AdminEditUserSection.firstNameTextField}}" userInput="{{newAdmin.firstName}}" stepKey="enterFirstName" /> - <fillField selector="{{AdminEditUserSection.lastNameTextField}}" userInput="{{newAdmin.lastName}}" stepKey="enterLastName" /> - <fillField selector="{{AdminEditUserSection.emailTextField}}" userInput="{{newAdmin.username}}@magento.com" stepKey="enterEmail" /> - <fillField selector="{{AdminEditUserSection.passwordTextField}}" userInput="{{newAdmin.password}}" stepKey="enterPassword" /> - <fillField selector="{{AdminEditUserSection.pwConfirmationTextField}}" userInput="{{newAdmin.password}}" stepKey="confirmPassword" /> + <fillField selector="{{AdminEditUserSection.usernameTextField}}" userInput="{{User.username}}" stepKey="enterUserName" /> + <fillField selector="{{AdminEditUserSection.firstNameTextField}}" userInput="{{User.firstName}}" stepKey="enterFirstName" /> + <fillField selector="{{AdminEditUserSection.lastNameTextField}}" userInput="{{User.lastName}}" stepKey="enterLastName" /> + <fillField selector="{{AdminEditUserSection.emailTextField}}" userInput="{{User.username}}@magento.com" stepKey="enterEmail" /> + <fillField selector="{{AdminEditUserSection.passwordTextField}}" userInput="{{User.password}}" stepKey="enterPassword" /> + <fillField selector="{{AdminEditUserSection.pwConfirmationTextField}}" userInput="{{User.password}}" stepKey="confirmPassword" /> <fillField selector="{{AdminEditUserSection.currentPasswordField}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="enterCurrentPassword" /> <scrollToTopOfPage stepKey="scrollToTopOfPage" /> <click selector="{{AdminEditUserSection.userRoleTab}}" stepKey="clickUserRole" /> diff --git a/app/code/Magento/User/Test/Mftf/ActionGroup/AdminDeleteCreatedRoleActionGroup.xml b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminDeleteCreatedRoleActionGroup.xml deleted file mode 100644 index 813e22df227c..000000000000 --- a/app/code/Magento/User/Test/Mftf/ActionGroup/AdminDeleteCreatedRoleActionGroup.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - /** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd"> - <actionGroup name="AdminDeleteCreatedRoleActionGroup"> - <arguments> - <argument name="role" defaultValue=""/> - </arguments> - <amOnPage url="{{AdminRolesPage.url}}" stepKey="amOnAdminUsersPage"/> - <waitForPageLoad stepKey="waitForUserRolePageLoad"/> - <click stepKey="clickToAddNewRole" selector="{{AdminDeleteRoleSection.role(role.name)}}"/> - <fillField stepKey="TypeCurrentPassword" selector="{{AdminDeleteRoleSection.current_pass}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}"/> - <click stepKey="clickToDeleteRole" selector="{{AdminDeleteRoleSection.delete}}"/> - <waitForElementVisible stepKey="wait" selector="{{AdminDeleteRoleSection.confirm}}" time="30"/> - <click stepKey="clickToConfirm" selector="{{AdminDeleteRoleSection.confirm}}"/> - <waitForPageLoad stepKey="waitForPageLoad"/> - <see stepKey="seeSuccessMessage" userInput="You deleted the role."/> - </actionGroup> -</actionGroups> diff --git a/app/code/Magento/User/Test/Mftf/ActionGroup/AdminDeleteCreatedUserActionGroup.xml b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminDeleteCreatedUserActionGroup.xml index 74124f366a54..8a1abc1ca162 100644 --- a/app/code/Magento/User/Test/Mftf/ActionGroup/AdminDeleteCreatedUserActionGroup.xml +++ b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminDeleteCreatedUserActionGroup.xml @@ -21,4 +21,18 @@ <click stepKey="clickToConfirm" selector="{{AdminDeleteUserSection.confirm}}"/> <see stepKey="seeDeleteMessageForUser" userInput="You deleted the user."/> </actionGroup> + <!--Delete User--> + <actionGroup name="AdminDeleteNewUserActionGroup"> + <arguments> + <argument name="userName" type="string" defaultValue="John"/> + </arguments> + <click stepKey="clickOnUser" selector="{{AdminDeleteUserSection.theUser(userName)}}"/> + <fillField stepKey="typeCurrentPassword" selector="{{AdminDeleteUserSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}"/> + <scrollToTopOfPage stepKey="scrollToTop"/> + <click stepKey="clickToDeleteUser" selector="{{AdminDeleteUserSection.delete}}"/> + <waitForPageLoad stepKey="waitForDeletePopupOpen" time="5"/> + <click stepKey="clickToConfirm" selector="{{AdminDeleteUserSection.confirm}}"/> + <waitForPageLoad stepKey="waitForPageLoad" time="10"/> + <see userInput="You deleted the user." stepKey="seeSuccessMessage" /> + </actionGroup> </actionGroups> diff --git a/app/code/Magento/User/Test/Mftf/ActionGroup/AdminDeleteUserRoleActionGroup.xml b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminDeleteUserRoleActionGroup.xml new file mode 100644 index 000000000000..d2c881b77197 --- /dev/null +++ b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminDeleteUserRoleActionGroup.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd"> + <actionGroup name="AdminDeleteUserRoleActionGroup"> + <arguments> + <argument name="roleName" type="string"/> + </arguments> + <amOnPage url="{{AdminRolesPage.url}}" stepKey="navigateToUserRolesGrid" /> + <fillField selector="{{AdminRoleGridSection.roleNameFilterTextField}}" userInput="{{roleName}}" stepKey="enterRoleName" /> + <click selector="{{AdminDataGridHeaderSection.applyFilters}}" stepKey="clickSearch" /> + <see selector="{{AdminDataGridTableSection.row('1')}}" userInput="{{roleName}}" stepKey="seeUserRole" /> + <click selector="{{AdminDataGridTableSection.row('1')}}" stepKey="openRoleEditPage"/> + <waitForPageLoad stepKey="waitForRoleEditPageLoad"/> + <fillField selector="{{AdminEditRoleInfoSection.password}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="enterThePassword" /> + <click selector="{{AdminEditRoleInfoSection.deleteButton}}" stepKey="deleteUserRole"/> + <waitForElementVisible selector="{{AdminConfirmationModalSection.message}}" stepKey="waitForConfirmModal"/> + <click selector="{{AdminConfirmationModalSection.ok}}" stepKey="confirmDelete"/> + <waitForElementVisible selector="{{AdminMessagesSection.successMessage}}" stepKey="waitSuccessMessage"/> + <see selector="{{AdminMessagesSection.successMessage}}" userInput="You deleted the role." stepKey="seeUserRoleDeleteMessage"/> + </actionGroup> +</actionGroups> diff --git a/app/code/Magento/User/Test/Mftf/ActionGroup/AdminUserActionGroup.xml b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminUserActionGroup.xml new file mode 100644 index 000000000000..79c3b0469432 --- /dev/null +++ b/app/code/Magento/User/Test/Mftf/ActionGroup/AdminUserActionGroup.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd"> + <!--Login New User--> + <actionGroup name="LoginNewUser"> + <arguments> + <argument name="user" defaultValue="NewAdmin"/> + </arguments> + <amOnPage url="{{_ENV.MAGENTO_BACKEND_NAME}}" stepKey="navigateToAdmin"/> + <fillField userInput="{{user.username}}" selector="{{LoginFormSection.username}}" stepKey="fillUsername"/> + <fillField userInput="{{user.password}}" selector="{{LoginFormSection.password}}" stepKey="fillPassword"/> + <click selector="{{LoginFormSection.signIn}}" stepKey="clickLogin"/> + </actionGroup> +</actionGroups> diff --git a/app/code/Magento/User/Test/Mftf/Section/AdminEditRoleResourcesSection.xml b/app/code/Magento/User/Test/Mftf/Section/AdminEditRoleResourcesSection.xml new file mode 100644 index 000000000000..48873bd9d152 --- /dev/null +++ b/app/code/Magento/User/Test/Mftf/Section/AdminEditRoleResourcesSection.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + /** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd"> + <section name="AdminEditRoleResourcesSection"> + <element name="resourceAccess" type="select" selector="#all"/> + <element name="resources" type="checkbox" selector="#role_info_tabs_account"/> + <element name="storeName" type="checkbox" selector="//label[contains(text(),'{{var1}}')]" parameterized="true"/> + <element name="reportsCheckbox" type="text" selector="//li[@data-id='Magento_Reports::report']//a[text()='Reports']"/> + <element name="userRoles" type="text" selector="//span[contains(text(), 'User Roles')]"/> + </section> +</sections> diff --git a/app/code/Magento/User/Test/Mftf/Section/AdminUserGridSection.xml b/app/code/Magento/User/Test/Mftf/Section/AdminUserGridSection.xml index c21a8b875e95..32e834615a27 100644 --- a/app/code/Magento/User/Test/Mftf/Section/AdminUserGridSection.xml +++ b/app/code/Magento/User/Test/Mftf/Section/AdminUserGridSection.xml @@ -16,7 +16,7 @@ </section> <section name="AdminDeleteUserSection"> - <element name="theUser" selector="//td[contains(text(), 'John')]" type="button"/> + <element name="theUser" selector="//td[contains(text(), '{{userName}}')]" type="button" parameterized="true"/> <element name="password" selector="#user_current_password" type="input"/> <element name="delete" selector="//button/span[contains(text(), 'Delete User')]" type="button"/> <element name="confirm" selector="//*[@class='action-primary action-accept']" type="button"/> diff --git a/app/code/Magento/Variable/composer.json b/app/code/Magento/Variable/composer.json index 017fd312bbdf..bacbf15729d2 100644 --- a/app/code/Magento/Variable/composer.json +++ b/app/code/Magento/Variable/composer.json @@ -9,7 +9,8 @@ "magento/framework": "*", "magento/module-backend": "*", "magento/module-store": "*", - "magento/module-config": "*" + "magento/module-config": "*", + "magento/module-ui": "*" }, "type": "magento2-module", "license": [ diff --git a/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/main/_collapsible-blocks.less b/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/main/_collapsible-blocks.less index a43f9acbaa09..bdc986e918c2 100644 --- a/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/main/_collapsible-blocks.less +++ b/app/design/adminhtml/Magento/backend/Magento_Backend/web/css/source/module/main/_collapsible-blocks.less @@ -511,6 +511,11 @@ right: 0; top: 0; } + + .time-separator { + font-size: 14px; + padding-left: 5px; + } .tooltip-content { background: @color-very-dark-gray-black2; diff --git a/app/design/adminhtml/Magento/backend/Magento_VisualMerchandiser/web/css/source/_module.less b/app/design/adminhtml/Magento/backend/Magento_VisualMerchandiser/web/css/source/_module.less index 554b6394a109..152dd4050ad4 100644 --- a/app/design/adminhtml/Magento/backend/Magento_VisualMerchandiser/web/css/source/_module.less +++ b/app/design/adminhtml/Magento/backend/Magento_VisualMerchandiser/web/css/source/_module.less @@ -82,6 +82,13 @@ .info-block { height: 100px; + > span { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 100%; + } } .controlbar-bottom { diff --git a/app/design/adminhtml/Magento/backend/web/css/source/forms/_extends.less b/app/design/adminhtml/Magento/backend/web/css/source/forms/_extends.less index 63f78940d404..9ba5458fd368 100644 --- a/app/design/adminhtml/Magento/backend/web/css/source/forms/_extends.less +++ b/app/design/adminhtml/Magento/backend/web/css/source/forms/_extends.less @@ -49,20 +49,6 @@ display: none; } } - - &.required, - &._required { - > .admin__field-label { - span { - padding-left: 1.5rem; - - &:after { - left: 0; - margin-left: @temp_gutter; // @todo ui: update after finalizing Form Grid mixing css/source/forms/_temp.less:10 - } - } - } - } } } diff --git a/composer.json b/composer.json index e2138fcb9be4..91e0253b25cd 100644 --- a/composer.json +++ b/composer.json @@ -108,6 +108,7 @@ "magento/module-authorization": "*", "magento/module-authorizenet": "*", "magento/module-authorizenet-acceptjs": "*", + "magento/module-authorizenet-cardinal": "*", "magento/module-authorizenet-graph-ql": "*", "magento/module-advanced-search": "*", "magento/module-backend": "*", @@ -119,6 +120,7 @@ "magento/module-bundle-import-export": "*", "magento/module-cache-invalidate": "*", "magento/module-captcha": "*", + "magento/module-cardinal-commerce": "*", "magento/module-catalog": "*", "magento/module-catalog-analytics": "*", "magento/module-catalog-import-export": "*", diff --git a/composer.lock b/composer.lock index f1672e7e0802..b4e4c31686fb 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9f031ee38764e5be76c8026c0754cfd5", + "content-hash": "d9b8aaa1a80162d96ac664a73863f3ec", "packages": [ { "name": "braintree/braintree_php", diff --git a/dev/tests/api-functional/testsuite/Magento/ConfigurableProduct/Api/LinkManagementTest.php b/dev/tests/api-functional/testsuite/Magento/ConfigurableProduct/Api/LinkManagementTest.php index d899839d43d4..53c1bf08bb79 100644 --- a/dev/tests/api-functional/testsuite/Magento/ConfigurableProduct/Api/LinkManagementTest.php +++ b/dev/tests/api-functional/testsuite/Magento/ConfigurableProduct/Api/LinkManagementTest.php @@ -6,11 +6,19 @@ */ namespace Magento\ConfigurableProduct\Api; +use Magento\Catalog\Model\ResourceModel\Eav\Attribute; use Magento\Eav\Model\AttributeRepository; +use Magento\Eav\Model\Entity\Attribute\Option; +use Magento\Framework\Webapi\Rest\Request; +use Magento\TestFramework\TestCase\WebapiAbstract; -class LinkManagementTest extends \Magento\TestFramework\TestCase\WebapiAbstract +/** + * Class LinkManagementTest for testing ConfigurableProduct to SimpleProduct link functionality + */ +class LinkManagementTest extends WebapiAbstract { const SERVICE_NAME = 'configurableProductLinkManagementV1'; + const OPTION_SERVICE_NAME = 'configurableProductOptionRepositoryV1'; const SERVICE_VERSION = 'V1'; const RESOURCE_PATH = '/V1/configurable-products'; @@ -85,9 +93,27 @@ public function testAddChildFullRestCreation() $this->createConfigurableProduct($productSku); $attribute = $this->attributeRepository->get('catalog_product', 'test_configurable'); - $attributeValue = $attribute->getOptions()[1]->getValue(); - $this->addOptionToConfigurableProduct($productSku, $attribute->getAttributeId(), $attributeValue); - $this->createSimpleProduct($childSku, $attributeValue); + + $this->addOptionToConfigurableProduct( + $productSku, + $attribute->getAttributeId(), + [ + [ + 'value_index' => $attribute->getOptions()[1]->getValue() + ] + ] + ); + + $this->createSimpleProduct( + $childSku, + [ + [ + 'attribute_code' => 'test_configurable', + 'value' => $attribute->getOptions()[1]->getValue() + ] + ] + ); + $res = $this->addChild($productSku, $childSku); $this->assertTrue($res); @@ -103,10 +129,129 @@ public function testAddChildFullRestCreation() $this->assertTrue($added); // clean up products + + $this->deleteProduct($productSku); + $this->deleteProduct($childSku); + } + + /** + * Test if configurable option attribute positions are being preserved after simple products were assigned to a + * configurable product. + * + * @magentoApiDataFixture Magento/ConfigurableProduct/_files/configurable_attributes_for_position_test.php + */ + public function testConfigurableOptionPositionPreservation() + { + $productSku = 'configurable-product-sku'; + $childProductSkus = [ + 'simple-product-sku-1', + 'simple-product-sku-2' + ]; + $attributesToAdd = [ + 'custom_attr_1', + 'custom_attr_2', + ]; + + $this->createConfigurableProduct($productSku); + + $position = 0; + $attributeOptions = []; + foreach ($attributesToAdd as $attributeToAdd) { + /** @var Attribute $attribute */ + $attribute = $this->attributeRepository->get('catalog_product', $attributeToAdd); + + /** @var Option $options[] */ + $options = $attribute->getOptions(); + array_shift($options); + + $attributeOptions[$attributeToAdd] = $options; + + $valueIndexesData = []; + foreach ($options as $option) { + $valueIndexesData []['value_index']= $option->getValue(); + } + $this->addOptionToConfigurableProduct( + $productSku, + $attribute->getAttributeId(), + $valueIndexesData, + $position + ); + $position++; + } + + $this->assertArrayHasKey($attributesToAdd[0], $attributeOptions); + $this->assertArrayHasKey($attributesToAdd[1], $attributeOptions); + $this->assertCount(4, $attributeOptions[$attributesToAdd[0]]); + $this->assertCount(4, $attributeOptions[$attributesToAdd[1]]); + + $attributesBeforeAssign = $this->getConfigurableAttribute($productSku); + + $simpleProdsAttributeData = []; + foreach ($attributeOptions as $attributeCode => $options) { + $simpleProdsAttributeData [0][] = [ + 'attribute_code' => $attributeCode, + 'value' => $options[0]->getValue(), + ]; + $simpleProdsAttributeData [0][] = [ + 'attribute_code' => $attributeCode, + 'value' => $options[1]->getValue(), + ]; + $simpleProdsAttributeData [1][] = [ + 'attribute_code' => $attributeCode, + 'value' => $options[2]->getValue(), + ]; + $simpleProdsAttributeData [1][] = [ + 'attribute_code' => $attributeCode, + 'value' => $options[3]->getValue(), + ]; + } + + foreach ($childProductSkus as $childNum => $childSku) { + $this->createSimpleProduct($childSku, $simpleProdsAttributeData[$childNum]); + $res = $this->addChild($productSku, $childSku); + $this->assertTrue($res); + } + + $childProductsDiff = array_diff( + $childProductSkus, + array_column( + $this->getChildren($productSku), + 'sku' + ) + ); + $this->assertCount(0, $childProductsDiff, 'Added child product count mismatch expected result'); + + $attributesAfterAssign = $this->getConfigurableAttribute($productSku); + + $this->assertEquals( + $attributesBeforeAssign[0]['position'], + $attributesAfterAssign[0]['position'], + 'Product 1 attribute option position mismatch' + ); + $this->assertEquals( + $attributesBeforeAssign[1]['position'], + $attributesAfterAssign[1]['position'], + 'Product 2 attribute option position mismatch' + ); + + foreach ($childProductSkus as $childSku) { + $this->deleteProduct($childSku); + } + $this->deleteProduct($productSku); + } + + /** + * Delete product by SKU + * + * @param string $sku + * @return bool + */ + private function deleteProduct(string $sku): bool + { $serviceInfo = [ 'rest' => [ - 'resourcePath' => '/V1/products/' . $productSku, - 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_DELETE + 'resourcePath' => '/V1/products/' . $sku, + 'httpMethod' => Request::HTTP_METHOD_DELETE ], 'soap' => [ 'service' => 'catalogProductRepositoryV1', @@ -114,19 +259,29 @@ public function testAddChildFullRestCreation() 'operation' => 'catalogProductRepositoryV1DeleteById', ], ]; - $this->_webApiCall($serviceInfo, ['sku' => $productSku]); + return $this->_webApiCall($serviceInfo, ['sku' => $sku]); + } + + /** + * Get configurable product attributes + * + * @param string $productSku + * @return array + */ + protected function getConfigurableAttribute(string $productSku): array + { $serviceInfo = [ 'rest' => [ - 'resourcePath' => '/V1/products/' . $childSku, - 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_DELETE + 'resourcePath' => self::RESOURCE_PATH . '/' . $productSku . '/options/all', + 'httpMethod' => Request::HTTP_METHOD_GET ], 'soap' => [ - 'service' => 'catalogProductRepositoryV1', + 'service' => self::OPTION_SERVICE_NAME, 'serviceVersion' => self::SERVICE_VERSION, - 'operation' => 'catalogProductRepositoryV1DeleteById', - ], + 'operation' => self::OPTION_SERVICE_NAME . 'GetList' + ] ]; - $this->_webApiCall($serviceInfo, ['sku' => $childSku]); + return $this->_webApiCall($serviceInfo, ['sku' => $productSku]); } private function addChild($productSku, $childSku) @@ -134,7 +289,7 @@ private function addChild($productSku, $childSku) $serviceInfo = [ 'rest' => [ 'resourcePath' => self::RESOURCE_PATH . '/' . $productSku . '/child', - 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST + 'httpMethod' => Request::HTTP_METHOD_POST ], 'soap' => [ 'service' => self::SERVICE_NAME, @@ -159,7 +314,7 @@ protected function createConfigurableProduct($productSku) $serviceInfo = [ 'rest' => [ 'resourcePath' => '/V1/products', - 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST + 'httpMethod' => Request::HTTP_METHOD_POST ], 'soap' => [ 'service' => 'catalogProductRepositoryV1', @@ -170,24 +325,22 @@ protected function createConfigurableProduct($productSku) return $this->_webApiCall($serviceInfo, $requestData); } - protected function addOptionToConfigurableProduct($productSku, $attributeId, $attributeValue) + protected function addOptionToConfigurableProduct($productSku, $attributeId, $attributeValues, $position = 0) { $requestData = [ 'sku' => $productSku, 'option' => [ 'attribute_id' => $attributeId, 'label' => 'test_configurable', - 'position' => 0, + 'position' => $position, 'is_use_default' => true, - 'values' => [ - ['value_index' => $attributeValue], - ] + 'values' => $attributeValues ] ]; $serviceInfo = [ 'rest' => [ 'resourcePath' => '/V1/configurable-products/'. $productSku .'/options', - 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST, + 'httpMethod' => Request::HTTP_METHOD_POST, ], 'soap' => [ 'service' => 'configurableProductOptionRepositoryV1', @@ -198,7 +351,7 @@ protected function addOptionToConfigurableProduct($productSku, $attributeId, $at return $this->_webApiCall($serviceInfo, $requestData); } - protected function createSimpleProduct($sku, $attributeValue) + protected function createSimpleProduct($sku, $customAttributes) { $requestData = [ 'product' => [ @@ -209,15 +362,13 @@ protected function createSimpleProduct($sku, $attributeValue) 'price' => 3.62, 'status' => 1, 'visibility' => 4, - 'custom_attributes' => [ - ['attribute_code' => 'test_configurable', 'value' => $attributeValue], - ] + 'custom_attributes' => $customAttributes ] ]; $serviceInfo = [ 'rest' => [ 'resourcePath' => '/V1/products', - 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST, + 'httpMethod' => Request::HTTP_METHOD_POST, ], 'soap' => [ 'service' => 'catalogProductRepositoryV1', @@ -244,7 +395,7 @@ protected function removeChild($productSku, $childSku) $serviceInfo = [ 'rest' => [ 'resourcePath' => sprintf($resourcePath, $productSku, $childSku), - 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_DELETE + 'httpMethod' => Request::HTTP_METHOD_DELETE ], 'soap' => [ 'service' => self::SERVICE_NAME, @@ -265,7 +416,7 @@ protected function getChildren($productSku) $serviceInfo = [ 'rest' => [ 'resourcePath' => self::RESOURCE_PATH . '/' . $productSku . '/children', - 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_GET + 'httpMethod' => Request::HTTP_METHOD_GET ], 'soap' => [ 'service' => self::SERVICE_NAME, diff --git a/dev/tests/api-functional/testsuite/Magento/GraphQl/Catalog/CategoryTest.php b/dev/tests/api-functional/testsuite/Magento/GraphQl/Catalog/CategoryTest.php index 63073a389f27..df8e399ce6c6 100644 --- a/dev/tests/api-functional/testsuite/Magento/GraphQl/Catalog/CategoryTest.php +++ b/dev/tests/api-functional/testsuite/Magento/GraphQl/Catalog/CategoryTest.php @@ -168,6 +168,25 @@ public function testGetCategoryById() self::assertEquals(13, $response['category']['id']); } + /** + * @magentoApiDataFixture Magento/Catalog/_files/categories.php + * @expectedException \Exception + * @expectedExceptionMessage Category doesn't exist + */ + public function testGetDisabledCategory() + { + $categoryId = 8; + $query = <<<QUERY +{ + category(id: {$categoryId}) { + id + name + } +} +QUERY; + $this->graphQlQuery($query); + } + public function testNonExistentCategoryWithProductCount() { $query = <<<QUERY diff --git a/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Customer/UpdateCartItemsTest.php b/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Customer/UpdateCartItemsTest.php index bc88bd1ddb43..48ea4ab7a15e 100644 --- a/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Customer/UpdateCartItemsTest.php +++ b/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Customer/UpdateCartItemsTest.php @@ -285,7 +285,7 @@ public function dataProviderUpdateWithMissedRequiredParameters(): array ], 'missed_cart_item_qty' => [ 'cart_items: [{ cart_item_id: 1 }]', - 'Field CartItemUpdateInput.quantity of required type Float! was not provided.' + 'Required parameter "quantity" for "cart_items" is missing.' ], ]; } diff --git a/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/EditQuoteItemWithCustomOptionsTest.php b/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/EditQuoteItemWithCustomOptionsTest.php new file mode 100644 index 000000000000..62c1ae0dab3c --- /dev/null +++ b/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/EditQuoteItemWithCustomOptionsTest.php @@ -0,0 +1,273 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\GraphQl\Quote; + +use Magento\Catalog\Api\ProductCustomOptionRepositoryInterface; +use Magento\Catalog\Api\ProductRepositoryInterface; +use Magento\Framework\Exception\NoSuchEntityException as NoSuchEntityException; +use Magento\Quote\Model\Quote\Item; +use Magento\Quote\Model\QuoteFactory; +use Magento\Quote\Model\ResourceModel\Quote as QuoteResource; +use Magento\TestFramework\Helper\Bootstrap; +use Magento\TestFramework\TestCase\GraphQlAbstract; + +/** + * Edit cart customizable options test + */ +class EditQuoteItemWithCustomOptionsTest extends GraphQlAbstract +{ + /** + * @var ProductRepositoryInterface + */ + private $productRepository; + + /** + * @var GetMaskedQuoteIdByReservedOrderId + */ + private $getMaskedQuoteIdByReservedOrderId; + + /** + * @var ProductCustomOptionRepositoryInterface + */ + private $productCustomOptionsRepository; + + /** + * @var QuoteFactory + */ + private $quoteFactory; + + /** + * @var QuoteResource + */ + private $quoteResource; + + /** + * @inheritdoc + */ + protected function setUp() + { + $objectManager = Bootstrap::getObjectManager(); + $this->getMaskedQuoteIdByReservedOrderId = $objectManager->get(GetMaskedQuoteIdByReservedOrderId::class); + $this->productCustomOptionsRepository = $objectManager->get(ProductCustomOptionRepositoryInterface::class); + $this->quoteFactory = $objectManager->get(QuoteFactory::class); + $this->quoteResource = $objectManager->get(QuoteResource::class); + $this->productRepository = $objectManager->get(ProductRepositoryInterface::class); + } + + /** + * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php + * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/set_custom_options_simple_product.php + * @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php + * @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product_with_options.php + */ + public function testChangeQuoteItemCustomOptions() + { + $sku = 'simple_product'; + $quoteItemId = $this->getQuoteItemIdBySku($sku); + $customOptionsValues = $this->getCustomOptionsValuesForQuery($sku); + $maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote'); + $customizableOptionsQuery = preg_replace('/"([^"]+)"\s*:\s*/', '$1:', json_encode($customOptionsValues)); + + $query = $this->getQuery($maskedQuoteId, $quoteItemId, $customizableOptionsQuery); + $response = $this->graphQlMutation($query); + $itemOptionsResponse = $response['updateCartItems']['cart']['items'][0]['customizable_options']; + self::assertCount(2, $itemOptionsResponse); + self::assertEquals('test', $itemOptionsResponse[0]['values'][0]['value']); + self::assertEquals('test', $itemOptionsResponse[1]['values'][0]['value']); + } + + /** + * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php + * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/set_custom_options_simple_product.php + * @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php + * @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product_with_options.php + */ + public function testOptionsSetPersistsOnQtyChange() + { + $sku = 'simple_product'; + $newQuantity = 2; + $quoteItemId = $this->getQuoteItemIdBySku($sku); + $maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote'); + + $query = <<<QUERY +mutation { + updateCartItems(input: { + cart_id:"$maskedQuoteId" + cart_items: [ + { + cart_item_id: $quoteItemId + quantity: $newQuantity + } + ] + }) { + cart { + items { + quantity + ... on SimpleCartItem { + customizable_options { + label + values { + value + } + } + } + } + } + } +} +QUERY; + $response = $this->graphQlMutation($query); + $cartItemResponse = $response['updateCartItems']['cart']['items'][0]; + + self::assertEquals($newQuantity, $cartItemResponse['quantity']); + self::assertCount(2, $cartItemResponse['customizable_options']); + self::assertEquals('initial value', $cartItemResponse['customizable_options'][0]['values'][0]['value']); + self::assertEquals('initial value', $cartItemResponse['customizable_options'][1]['values'][0]['value']); + } + + /** + * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php + * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/set_custom_options_simple_product.php + * @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php + * @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product_with_options.php + */ + public function testOptionsSetChangedOnChangeOneOption() + { + $sku = 'simple_product'; + $quoteItemId = $this->getQuoteItemIdBySku($sku); + + /* Get only the first option */ + $customOptionsValues = array_slice($this->getCustomOptionsValuesForQuery($sku), 0, 1); + + $maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote'); + $customizableOptionsQuery = preg_replace('/"([^"]+)"\s*:\s*/', '$1:', json_encode($customOptionsValues)); + $query = $this->getQuery($maskedQuoteId, $quoteItemId, $customizableOptionsQuery); + + $response = $this->graphQlMutation($query); + $itemOptionsResponse = $response['updateCartItems']['cart']['items'][0]['customizable_options']; + self::assertCount(1, $itemOptionsResponse); + self::assertEquals('test', $itemOptionsResponse[0]['values'][0]['value']); + } + + /** + * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php + * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/set_custom_options_simple_product.php + * @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php + * @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product_with_options.php + */ + public function testOptionSetPersistsOnExtraOptionWithIncorrectId() + { + $sku = 'simple_product'; + $quoteItemId = $this->getQuoteItemIdBySku($sku); + $customOptionsValues = $this->getCustomOptionsValuesForQuery($sku); + + /* Add nonexistent option to the query */ + $customOptionsValues[] = ['id' => -10, 'value_string' => 'value']; + + $maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote'); + $customizableOptionsQuery = preg_replace('/"([^"]+)"\s*:\s*/', '$1:', json_encode($customOptionsValues)); + $query = $this->getQuery($maskedQuoteId, $quoteItemId, $customizableOptionsQuery); + + $response = $this->graphQlMutation($query); + $itemOptionsResponse = $response['updateCartItems']['cart']['items'][0]['customizable_options']; + self::assertCount(2, $itemOptionsResponse); + } + + /** + * Returns GraphQl query for updating items in shopping cart + * + * @param string $maskedQuoteId + * @param int $quoteItemId + * @param $customizableOptionsQuery + * @return string + */ + private function getQuery(string $maskedQuoteId, int $quoteItemId, $customizableOptionsQuery): string + { + return <<<QUERY +mutation { + updateCartItems(input: { + cart_id:"$maskedQuoteId" + cart_items: [ + { + cart_item_id: $quoteItemId + quantity: 1 + customizable_options: $customizableOptionsQuery + } + ] + }) { + cart { + items { + quantity + product { + name + } + ... on SimpleCartItem { + customizable_options { + label + values { + label + value + } + } + } + } + } + } +} +QUERY; + } + + /** + * Returns quote item id by product's SKU + * + * @param string $sku + * @return int + * @throws NoSuchEntityException + */ + private function getQuoteItemIdBySku(string $sku): int + { + $quote = $this->quoteFactory->create(); + $product = $this->productRepository->get($sku); + $this->quoteResource->load($quote, 'test_quote', 'reserved_order_id'); + /** @var Item $quoteItem */ + $quoteItem = $quote->getItemByProduct($product); + + return (int)$quoteItem->getId(); + } + + /** + * Generate an array with test values for customizable options + * based on the option type + * + * @param string $sku + * @return array + */ + private function getCustomOptionsValuesForQuery(string $sku): array + { + $customOptions = $this->productCustomOptionsRepository->getList($sku); + $customOptionsValues = []; + + foreach ($customOptions as $customOption) { + $optionType = $customOption->getType(); + if ($optionType == 'field' || $optionType == 'area') { + $customOptionsValues[] = [ + 'id' => (int) $customOption->getOptionId(), + 'value_string' => 'test' + ]; + } elseif ($optionType == 'drop_down') { + $optionSelectValues = $customOption->getValues(); + $customOptionsValues[] = [ + 'id' => (int) $customOption->getOptionId(), + 'value_string' => reset($optionSelectValues)->getOptionTypeId() + ]; + } + } + + return $customOptionsValues; + } +} diff --git a/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Guest/UpdateCartItemsTest.php b/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Guest/UpdateCartItemsTest.php index 1e1fb0a17699..988ead7d86df 100644 --- a/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Guest/UpdateCartItemsTest.php +++ b/dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Guest/UpdateCartItemsTest.php @@ -236,7 +236,7 @@ public function dataProviderUpdateWithMissedRequiredParameters(): array ], 'missed_cart_item_qty' => [ 'cart_items: [{ cart_item_id: 1 }]', - 'Field CartItemUpdateInput.quantity of required type Float! was not provided.' + 'Required parameter "quantity" for "cart_items" is missing.' ], ]; } diff --git a/dev/tests/api-functional/testsuite/Magento/GraphQl/SendFriend/SendFriendTest.php b/dev/tests/api-functional/testsuite/Magento/GraphQl/SendFriend/SendFriendTest.php index e7401100b786..200bae76e0ae 100644 --- a/dev/tests/api-functional/testsuite/Magento/GraphQl/SendFriend/SendFriendTest.php +++ b/dev/tests/api-functional/testsuite/Magento/GraphQl/SendFriend/SendFriendTest.php @@ -8,6 +8,8 @@ namespace Magento\GraphQl\SendFriend; use Magento\Catalog\Api\ProductRepositoryInterface; +use Magento\Framework\Exception\AuthenticationException; +use Magento\Integration\Api\CustomerTokenServiceInterface; use Magento\SendFriend\Model\SendFriend; use Magento\SendFriend\Model\SendFriendFactory; use Magento\TestFramework\Helper\Bootstrap; @@ -23,21 +25,29 @@ class SendFriendTest extends GraphQlAbstract * @var SendFriendFactory */ private $sendFriendFactory; + /** * @var ProductRepositoryInterface */ private $productRepository; + /** + * @var CustomerTokenServiceInterface + */ + private $customerTokenService; + protected function setUp() { $this->sendFriendFactory = Bootstrap::getObjectManager()->get(SendFriendFactory::class); $this->productRepository = Bootstrap::getObjectManager()->get(ProductRepositoryInterface::class); + $this->customerTokenService = Bootstrap::getObjectManager()->get(CustomerTokenServiceInterface::class); } /** * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php + * @magentoApiDataFixture Magento/GraphQl/SendFriend/_files/enable_send_friend_guest.php */ - public function testSendFriend() + public function testSendFriendGuestEnable() { $productId = (int)$this->productRepository->get('simple_product')->getId(); $recipients = '{ @@ -51,15 +61,57 @@ public function testSendFriend() $query = $this->getQuery($productId, $recipients); $response = $this->graphQlMutation($query); - self::assertEquals('Name', $response['sendEmailToFriend']['sender']['name']); - self::assertEquals('e@mail.com', $response['sendEmailToFriend']['sender']['email']); - self::assertEquals('Lorem Ipsum', $response['sendEmailToFriend']['sender']['message']); - self::assertEquals('Recipient Name 1', $response['sendEmailToFriend']['recipients'][0]['name']); - self::assertEquals('recipient1@mail.com', $response['sendEmailToFriend']['recipients'][0]['email']); - self::assertEquals('Recipient Name 2', $response['sendEmailToFriend']['recipients'][1]['name']); - self::assertEquals('recipient2@mail.com', $response['sendEmailToFriend']['recipients'][1]['email']); + $this->assertResponse($response); + } + + /** + * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php + * @magentoApiDataFixture Magento/GraphQl/SendFriend/_files/disable_send_friend_guest.php + * @expectedException \Exception + * @expectedExceptionMessage The current customer isn't authorized. + */ + public function testSendFriendGuestDisableAsGuest() + { + $productId = (int)$this->productRepository->get('simple_product')->getId(); + $recipients = '{ + name: "Recipient Name 1" + email:"recipient1@mail.com" + }, + { + name: "Recipient Name 2" + email:"recipient2@mail.com" + }'; + $query = $this->getQuery($productId, $recipients); + + $response = $this->graphQlMutation($query); + $this->assertResponse($response); } + /** + * @magentoApiDataFixture Magento/Customer/_files/customer.php + * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php + * @magentoApiDataFixture Magento/GraphQl/SendFriend/_files/disable_send_friend_guest.php + */ + public function testSendFriendGuestDisableAsCustomer() + { + $productId = (int)$this->productRepository->get('simple_product')->getId(); + $recipients = '{ + name: "Recipient Name 1" + email:"recipient1@mail.com" + }, + { + name: "Recipient Name 2" + email:"recipient2@mail.com" + }'; + $query = $this->getQuery($productId, $recipients); + + $response = $this->graphQlMutation($query, [], '', $this->getHeaderMap()); + $this->assertResponse($response); + } + + /** + * @magentoApiDataFixture Magento/Customer/_files/customer.php + */ public function testSendWithoutExistProduct() { $productId = 2018; @@ -73,14 +125,14 @@ public function testSendWithoutExistProduct() }'; $query = $this->getQuery($productId, $recipients); - $this->expectException(\Exception::class); $this->expectExceptionMessage( 'The product that was requested doesn\'t exist. Verify the product and try again.' ); - $this->graphQlMutation($query); + $this->graphQlMutation($query, [], '', $this->getHeaderMap()); } /** + * @magentoApiDataFixture Magento/Customer/_files/customer.php * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php */ public function testMaxSendEmailToFriend() @@ -118,10 +170,11 @@ public function testMaxSendEmailToFriend() $this->expectException(\Exception::class); $this->expectExceptionMessage("No more than {$sendFriend->getMaxRecipients()} emails can be sent at a time."); - $this->graphQlMutation($query); + $this->graphQlMutation($query, [], '', $this->getHeaderMap()); } /** + * @magentoApiDataFixture Magento/Customer/_files/customer.php * @magentoApiDataFixture Magento/Catalog/_files/product_simple.php * @dataProvider sendFriendsErrorsDataProvider * @param string $input @@ -151,10 +204,11 @@ public function testErrors(string $input, string $errorMessage) QUERY; $this->expectException(\Exception::class); $this->expectExceptionMessage($errorMessage); - $this->graphQlMutation($query); + $this->graphQlMutation($query, [], '', $this->getHeaderMap()); } /** + * @magentoApiDataFixture Magento/Customer/_files/customer.php * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php * TODO: use magentoApiConfigFixture (to be merged https://github.com/magento/graphql-ce/pull/351) * @magentoApiDataFixture Magento/SendFriend/Fixtures/sendfriend_configuration.php @@ -183,11 +237,12 @@ public function testLimitMessagesPerHour() $maxSendToFriends = $sendFriend->getMaxSendsToFriend(); for ($i = 0; $i <= $maxSendToFriends + 1; $i++) { - $this->graphQlMutation($query); + $this->graphQlMutation($query, [], '', $this->getHeaderMap()); } } /** + * @magentoApiDataFixture Magento/Customer/_files/customer.php * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php */ public function testSendProductWithoutSenderEmail() @@ -201,10 +256,11 @@ public function testSendProductWithoutSenderEmail() $this->expectException(\Exception::class); $this->expectExceptionMessage('GraphQL response contains errors: Please provide Email for all of recipients.'); - $this->graphQlMutation($query); + $this->graphQlMutation($query, [], '', $this->getHeaderMap()); } /** + * @magentoApiDataFixture Magento/Customer/_files/customer.php * @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product_without_visibility.php */ public function testSendProductWithoutVisibility() @@ -219,15 +275,10 @@ public function testSendProductWithoutVisibility() email:"recipient2@mail.com" }'; $query = $this->getQuery($productId, $recipients); - - $response = $this->graphQlMutation($query); - self::assertEquals('Name', $response['sendEmailToFriend']['sender']['name']); - self::assertEquals('e@mail.com', $response['sendEmailToFriend']['sender']['email']); - self::assertEquals('Lorem Ipsum', $response['sendEmailToFriend']['sender']['message']); - self::assertEquals('Recipient Name 1', $response['sendEmailToFriend']['recipients'][0]['name']); - self::assertEquals('recipient1@mail.com', $response['sendEmailToFriend']['recipients'][0]['email']); - self::assertEquals('Recipient Name 2', $response['sendEmailToFriend']['recipients'][1]['name']); - self::assertEquals('recipient2@mail.com', $response['sendEmailToFriend']['recipients'][1]['email']); + $this->expectExceptionMessage( + 'The product that was requested doesn\'t exist. Verify the product and try again.' + ); + $this->graphQlMutation($query, [], '', $this->getHeaderMap()); } /** @@ -311,6 +362,37 @@ public function sendFriendsErrorsDataProvider() ]; } + /** + * Generic assertions for send a friend response + * + * @param array $response + */ + private function assertResponse(array $response): void + { + self::assertEquals('Name', $response['sendEmailToFriend']['sender']['name']); + self::assertEquals('e@mail.com', $response['sendEmailToFriend']['sender']['email']); + self::assertEquals('Lorem Ipsum', $response['sendEmailToFriend']['sender']['message']); + self::assertEquals('Recipient Name 1', $response['sendEmailToFriend']['recipients'][0]['name']); + self::assertEquals('recipient1@mail.com', $response['sendEmailToFriend']['recipients'][0]['email']); + self::assertEquals('Recipient Name 2', $response['sendEmailToFriend']['recipients'][1]['name']); + self::assertEquals('recipient2@mail.com', $response['sendEmailToFriend']['recipients'][1]['email']); + } + + /** + * Retrieve customer authorization headers + * + * @param string $username + * @param string $password + * @return array + * @throws AuthenticationException + */ + private function getHeaderMap(string $username = 'customer@example.com', string $password = 'password'): array + { + $customerToken = $this->customerTokenService->createCustomerAccessToken($username, $password); + $headerMap = ['Authorization' => 'Bearer ' . $customerToken]; + return $headerMap; + } + /** * @param int $productId * @param string $recipients diff --git a/dev/tests/functional/.htaccess.sample b/dev/tests/functional/.htaccess.sample deleted file mode 100644 index 67c2f3fe2d02..000000000000 --- a/dev/tests/functional/.htaccess.sample +++ /dev/null @@ -1,11 +0,0 @@ -############################################## -## Allow access to command.php, website.php, export.php, pathChecker.php, locales.php, deleteMagentoGeneratedCode.php and log.php - <FilesMatch "command.php|website.php|export.php|pathChecker.php|deleteMagentoGeneratedCode.php|log.php|locales.php"> - <IfVersion < 2.4> - order allow,deny - allow from all - </IfVersion> - <IfVersion >= 2.4> - Require all granted - </IfVersion> - </FilesMatch> diff --git a/dev/tests/functional/utils/authenticate.php b/dev/tests/functional/utils/authenticate.php deleted file mode 100644 index 958b692cbd38..000000000000 --- a/dev/tests/functional/utils/authenticate.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ - -/** - * Check if token passed in is a valid auth token. - * - * @param string $token - * @return bool - * - * phpcs:disable Squiz.Functions.GlobalFunction - */ -function authenticate($token) -{ - // phpcs:ignore Magento2.Security.IncludeFile - require_once __DIR__ . '/../../../../app/bootstrap.php'; - - // phpcs:ignore Magento2.Security.Superglobal - $magentoObjectManagerFactory = \Magento\Framework\App\Bootstrap::createObjectManagerFactory(BP, $_SERVER); - // phpcs:ignore Magento2.Security.Superglobal - $magentoObjectManager = $magentoObjectManagerFactory->create($_SERVER); - $tokenModel = $magentoObjectManager->get(\Magento\Integration\Model\Oauth\Token::class); - - $tokenPassedIn = $token; - // Token returned will be null if the token we passed in is invalid - $tokenFromMagento = $tokenModel->loadByToken($tokenPassedIn)->getToken(); - if (!empty($tokenFromMagento) && ($tokenFromMagento == $tokenPassedIn)) { - return true; - } else { - return false; - } -} diff --git a/dev/tests/functional/utils/command.php b/dev/tests/functional/utils/command.php deleted file mode 100644 index 9405f4ff7c4c..000000000000 --- a/dev/tests/functional/utils/command.php +++ /dev/null @@ -1,37 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -// phpcs:ignore Magento2.Security.IncludeFile -include __DIR__ . '/authenticate.php'; -// phpcs:ignore Magento2.Security.IncludeFile -require_once __DIR__ . '/../../../../app/bootstrap.php'; - -use Symfony\Component\Console\Input\StringInput; -use Symfony\Component\Console\Output\NullOutput; - -// phpcs:ignore Magento2.Security.Superglobal -if (!empty($_POST['token']) && !empty($_POST['command'])) { - // phpcs:ignore Magento2.Security.Superglobal - if (authenticate(urldecode($_POST['token']))) { - // phpcs:ignore Magento2.Security.Superglobal - $command = urldecode($_POST['command']); - // phpcs:ignore Magento2.Security.Superglobal - $magentoObjectManagerFactory = \Magento\Framework\App\Bootstrap::createObjectManagerFactory(BP, $_SERVER); - // phpcs:ignore Magento2.Security.Superglobal - $magentoObjectManager = $magentoObjectManagerFactory->create($_SERVER); - $cli = $magentoObjectManager->create(\Magento\Framework\Console\Cli::class); - // phpcs:ignore Magento2.Functions.DiscouragedFunction - $input = new StringInput(escapeshellcmd($command)); - $input->setInteractive(false); - $output = new NullOutput(); - $cli->doRun($input, $output); - } else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "Command not unauthorized."; - } -} else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "'token' or 'command' parameter is not set."; -} diff --git a/dev/tests/functional/utils/deleteMagentoGeneratedCode.php b/dev/tests/functional/utils/deleteMagentoGeneratedCode.php deleted file mode 100644 index bd4ed828202e..000000000000 --- a/dev/tests/functional/utils/deleteMagentoGeneratedCode.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -// phpcs:ignore Magento2.Security.IncludeFile -include __DIR__ . '/authenticate.php'; - -// phpcs:ignore Magento2.Security.Superglobal -if (!empty($_POST['token']) && !empty($_POST['path'])) { - // phpcs:ignore Magento2.Security.Superglobal - if (authenticate(urldecode($_POST['token']))) { - // phpcs:ignore Magento2.Security.InsecureFunction - exec('rm -rf ../../../../generated/*'); - } else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "Command not unauthorized."; - } -} else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "'token' parameter is not set."; -} diff --git a/dev/tests/functional/utils/export.php b/dev/tests/functional/utils/export.php deleted file mode 100644 index df97c8db4840..000000000000 --- a/dev/tests/functional/utils/export.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -// phpcs:ignore Magento2.Security.IncludeFile -include __DIR__ . '/authenticate.php'; - -// phpcs:ignore Magento2.Security.Superglobal -if (!empty($_POST['token']) && !empty($_POST['template'])) { - // phpcs:ignore Magento2.Security.Superglobal - if (authenticate(urldecode($_POST['token']))) { - $varDir = '../../../../var/export/'; - // phpcs:ignore Magento2.Security.Superglobal - $template = urldecode($_POST['template']); - // phpcs:ignore Magento2.Functions.DiscouragedFunction - $fileList = scandir($varDir, SCANDIR_SORT_NONE); - $files = []; - - foreach ($fileList as $fileName) { - if (preg_match("`$template`", $fileName) === 1) { - $filePath = $varDir . $fileName; - $files[] = [ - // phpcs:ignore Magento2.Functions.DiscouragedFunction - 'content' => file_get_contents($filePath), - 'name' => $fileName, - // phpcs:ignore Magento2.Functions.DiscouragedFunction - 'date' => filectime($filePath), - ]; - } - } - - // phpcs:ignore Magento2.Security.LanguageConstruct, Magento2.Security.InsecureFunction - echo serialize($files); - } else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "Command not unauthorized."; - } -} else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "'token' or 'template' parameter is not set."; -} diff --git a/dev/tests/functional/utils/locales.php b/dev/tests/functional/utils/locales.php deleted file mode 100644 index 40781ba8b68e..000000000000 --- a/dev/tests/functional/utils/locales.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -// phpcs:ignore Magento2.Security.IncludeFile -include __DIR__ . '/authenticate.php'; - -// phpcs:ignore Magento2.Security.Superglobal -if (!empty($_POST['token'])) { - // phpcs:ignore Magento2.Security.Superglobal - if (authenticate(urldecode($_POST['token']))) { - // phpcs:ignore Magento2.Security.Superglobal - if ($_POST['type'] == 'deployed') { - // phpcs:ignore Magento2.Security.Superglobal - $themePath = isset($_POST['theme_path']) ? $_POST['theme_path'] : 'adminhtml/Magento/backend'; - $directory = __DIR__ . '/../../../../pub/static/' . $themePath; - // phpcs:ignore Magento2.Functions.DiscouragedFunction - $locales = array_diff(scandir($directory), ['..', '.']); - } else { - // phpcs:ignore Magento2.Security.IncludeFile - require_once __DIR__ . DIRECTORY_SEPARATOR . 'bootstrap.php'; - $localeConfig = $magentoObjectManager->create(\Magento\Framework\Locale\Config::class); - $locales = $localeConfig->getAllowedLocales(); - } - // phpcs:ignore Magento2.Security.LanguageConstruct - echo implode('|', $locales); - } else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "Command not unauthorized."; - } -} else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "'token' parameter is not set."; -} diff --git a/dev/tests/functional/utils/log.php b/dev/tests/functional/utils/log.php deleted file mode 100644 index c07f52575504..000000000000 --- a/dev/tests/functional/utils/log.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -declare(strict_types=1); -// phpcs:ignore Magento2.Security.IncludeFile -include __DIR__ . '/authenticate.php'; - -// phpcs:ignore Magento2.Security.Superglobal -if (!empty($_POST['token']) && !empty($_POST['name'])) { - // phpcs:ignore Magento2.Security.Superglobal - if (authenticate(urldecode($_POST['token']))) { - // phpcs:ignore Magento2.Security.Superglobal - $name = urldecode($_POST['name']); - if (preg_match('/\.\.(\\\|\/)/', $name)) { - // phpcs:ignore Magento2.Exceptions.DirectThrow - throw new \InvalidArgumentException('Invalid log file name'); - } - - // phpcs:ignore Magento2.Security.InsecureFunction, Magento2.Functions.DiscouragedFunction, Magento2.Security.LanguageConstruct - echo serialize(file_get_contents('../../../../var/log' . '/' . $name)); - } else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "Command not unauthorized."; - } -} else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "'token' or 'name' parameter is not set."; -} diff --git a/dev/tests/functional/utils/pathChecker.php b/dev/tests/functional/utils/pathChecker.php deleted file mode 100644 index d4a59529fac4..000000000000 --- a/dev/tests/functional/utils/pathChecker.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -// phpcs:ignore Magento2.Security.IncludeFile -include __DIR__ . '/authenticate.php'; - -// phpcs:ignore Magento2.Security.Superglobal -if (!empty($_POST['token']) && !empty($_POST['path'])) { - // phpcs:ignore Magento2.Security.Superglobal - if (authenticate(urldecode($_POST['token']))) { - // phpcs:ignore Magento2.Security.Superglobal - $path = urldecode($_POST['path']); - // phpcs:ignore Magento2.Functions.DiscouragedFunction - if (file_exists('../../../../' . $path)) { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo 'path exists: true'; - } else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo 'path exists: false'; - } - } else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "Command not unauthorized."; - } -} else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "'token' or 'path' parameter is not set."; -} diff --git a/dev/tests/functional/utils/website.php b/dev/tests/functional/utils/website.php deleted file mode 100644 index 859b60785e49..000000000000 --- a/dev/tests/functional/utils/website.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -// phpcs:ignore Magento2.Security.IncludeFile -include __DIR__ . '/authenticate.php'; - -// phpcs:ignore Magento2.Security.Superglobal -if (!empty($_POST['token']) && !empty($_POST['website_code'])) { - // phpcs:ignore Magento2.Security.Superglobal - if (authenticate(urldecode($_POST['token']))) { - // phpcs:ignore Magento2.Security.Superglobal - $websiteCode = urldecode($_POST['website_code']); - $rootDir = '../../../../'; - $websiteDir = $rootDir . 'websites/' . $websiteCode . '/'; - // phpcs:ignore Magento2.Functions.DiscouragedFunction - $contents = file_get_contents($rootDir . 'index.php'); - - $websiteParam = <<<EOD -\$params = \$_SERVER; -\$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = '$websiteCode'; -\$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website'; -EOD; - - $pattern = '`(try {.*?)(\/app\/bootstrap.*?}\n)(.*?)\$_SERVER`mis'; - $replacement = "$1/../..$2\n$websiteParam$3\$params"; - - $contents = preg_replace($pattern, $replacement, $contents); - - $old = umask(0); - // phpcs:ignore Magento2.Functions.DiscouragedFunction - mkdir($websiteDir, 0760, true); - umask($old); - - // phpcs:ignore Magento2.Functions.DiscouragedFunction - copy($rootDir . '.htaccess', $websiteDir . '.htaccess'); - // phpcs:ignore Magento2.Functions.DiscouragedFunction - file_put_contents($websiteDir . 'index.php', $contents); - } else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "Command not unauthorized."; - } -} else { - // phpcs:ignore Magento2.Security.LanguageConstruct - echo "'token' or 'website_code' parameter is not set."; -} diff --git a/dev/tests/integration/framework/Magento/TestFramework/Catalog/Model/Indexer/Product/Flat/Action/Full.php b/dev/tests/integration/framework/Magento/TestFramework/Catalog/Model/Indexer/Product/Flat/Action/Full.php new file mode 100644 index 000000000000..17ffb5cf2748 --- /dev/null +++ b/dev/tests/integration/framework/Magento/TestFramework/Catalog/Model/Indexer/Product/Flat/Action/Full.php @@ -0,0 +1,22 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\TestFramework\Catalog\Model\Indexer\Product\Flat\Action; + +/** + * Class Full reindex action + */ +class Full extends \Magento\Catalog\Model\Indexer\Product\Flat\Action\Full +{ + /** + * List of product types available in installation + * + * @var array + */ + protected $_productTypes; +} diff --git a/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/expected_request/authorize.php b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/expected_request/authorize.php new file mode 100644 index 000000000000..ceab22403d98 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/expected_request/authorize.php @@ -0,0 +1,70 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +return [ + 'createTransactionRequest' => [ + 'merchantAuthentication' =>[ + 'name' => 'someusername', + 'transactionKey' => 'somepassword', + ], + 'transactionRequest' => [ + 'transactionType' => 'authOnlyTransaction', + 'amount' => '100.00', + 'payment' => [ + 'opaqueData' => [ + 'dataDescriptor' => 'mydescriptor', + 'dataValue' => 'myvalue', + ], + ], + 'solution' => [ + 'id' => 'AAA102993', + ], + 'order' => [ + 'invoiceNumber' => '100000001', + ], + 'poNumber' => null, + 'customer' => [ + 'id' => 1, + 'email' => 'admin@example.com', + ], + 'billTo' => [ + 'firstName' => 'firstname', + 'lastName' => 'lastname', + 'company' => '', + 'address' => 'street', + 'city' => 'Los Angeles', + 'state' => 'CA', + 'zip' => '11111', + 'country' => 'US', + ], + 'shipTo' => [ + 'firstName' => 'John', + 'lastName' => 'Doe', + 'company' => '', + 'address' => '6161 West Centinela Avenue', + 'city' => 'Los Angeles', + 'state' => 'CA', + 'zip' => '11111', + 'country' => 'US', + ], + 'customerIP' => '127.0.0.1', + 'cardholderAuthentication' => [ + 'authenticationIndicator' => '05', + 'cardholderAuthenticationValue' => 'AAABAWFlmQAAAABjRWWZEEFgFz8=', + ], + 'userFields' => [ + 'userField' => [ + [ + 'name' => 'transactionType', + 'value' => 'authOnlyTransaction', + ], + ], + ], + ], + ] +]; diff --git a/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/expected_request/sale.php b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/expected_request/sale.php new file mode 100644 index 000000000000..f96facb19b3b --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/expected_request/sale.php @@ -0,0 +1,70 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +return [ + 'createTransactionRequest' => [ + 'merchantAuthentication' =>[ + 'name' => 'someusername', + 'transactionKey' => 'somepassword', + ], + 'transactionRequest' => [ + 'transactionType' => 'authCaptureTransaction', + 'amount' => '100.00', + 'payment' => [ + 'opaqueData' => [ + 'dataDescriptor' => 'mydescriptor', + 'dataValue' => 'myvalue', + ], + ], + 'solution' => [ + 'id' => 'AAA102993', + ], + 'order' => [ + 'invoiceNumber' => '100000001', + ], + 'poNumber' => null, + 'customer' => [ + 'id' => 1, + 'email' => 'admin@example.com', + ], + 'billTo' => [ + 'firstName' => 'firstname', + 'lastName' => 'lastname', + 'company' => '', + 'address' => 'street', + 'city' => 'Los Angeles', + 'state' => 'CA', + 'zip' => '11111', + 'country' => 'US', + ], + 'shipTo' => [ + 'firstName' => 'John', + 'lastName' => 'Doe', + 'company' => '', + 'address' => '6161 West Centinela Avenue', + 'city' => 'Los Angeles', + 'state' => 'CA', + 'zip' => '11111', + 'country' => 'US', + ], + 'customerIP' => '127.0.0.1', + 'cardholderAuthentication' => [ + 'authenticationIndicator' => '05', + 'cardholderAuthenticationValue' => 'AAABAWFlmQAAAABjRWWZEEFgFz8=', + ], + 'userFields' => [ + 'userField' => [ + [ + 'name' => 'transactionType', + 'value' => 'authCaptureTransaction', + ], + ], + ], + ], + ] +]; diff --git a/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/full_order_with_3dsecure.php b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/full_order_with_3dsecure.php new file mode 100644 index 000000000000..4f50b502e855 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/full_order_with_3dsecure.php @@ -0,0 +1,21 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +use Magento\Sales\Model\Order\Payment; +use Magento\TestFramework\Helper\Bootstrap; + +$order = include __DIR__ . '/../../AuthorizenetAcceptjs/_files/full_order.php'; + +$objectManager = Bootstrap::getObjectManager(); +$cardinalJWT = include __DIR__ . '/response/cardinal_jwt.php'; + +/** @var Payment $payment */ +$payment = $order->getPayment(); +$payment->setAdditionalInformation('cardinalJWT', $cardinalJWT); + +return $order; diff --git a/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/response/authorize.php b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/response/authorize.php new file mode 100644 index 000000000000..3af04813c1ac --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/response/authorize.php @@ -0,0 +1,47 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +return [ + 'transactionResponse' => [ + 'responseCode' => '1', + 'authCode' => 'abc123', + 'avsResultCode' => 'P', + 'cvvResultCode' => '', + 'cavvResultCode' => '', + 'transId' => '123456', + 'refTransID' => '', + 'transHash' => 'foobar', + 'testRequest' => '0', + 'accountNumber' => 'XXXX1111', + 'accountType' => 'Visa', + 'messages' => [ + [ + 'code' => '1', + 'description' => 'This transaction has been approved.' + ] + ], + 'userFields' => [ + [ + 'name' => 'transactionType', + 'value' => 'authOnlyTransaction' + ] + ], + 'transHashSha2' => 'CD1E57FB1B5C876FDBD536CB16F8BBBA687580EDD78DD881C7F14DC4467C32BF6C' + . '808620FBD59E5977DF19460B98CCFC0DA0D90755992C0D611CABB8E2BA52B0', + 'SupplementalDataQualificationIndicator' => 0 + ], + 'messages' => [ + 'resultCode' => 'Ok', + 'message' => [ + [ + 'code' => 'I00001', + 'text' => 'Successful.' + ] + ] + ] +]; diff --git a/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/response/cardinal_jwt.php b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/response/cardinal_jwt.php new file mode 100644 index 000000000000..80f42524897f --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Fixture/response/cardinal_jwt.php @@ -0,0 +1,48 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +use Magento\CardinalCommerce\Model\Config; +use Magento\CardinalCommerce\Model\JwtManagement; +use Magento\TestFramework\Helper\Bootstrap; + +$objectManager = Bootstrap::getObjectManager(); +/** @var JwtManagement $jwtManagment */ +$jwtManagment = $objectManager->get(JwtManagement::class); +/** @var Config $config */ +$config = $objectManager->get(Config::class); +$currentDate = new \DateTime('now', new \DateTimeZone('UTC')); +$response = [ + 'iss' => 'some_api_identifier', + 'iat' => 1559855656, + 'exp' => $currentDate->getTimestamp() + 3600, + 'jti' => '0d695df5-ca06-4f7d-b150-ff169510f6d2', + 'ConsumerSessionId' => '0_9e6a4084-2191-4fd7-9631-19f576375e0a', + 'ReferenceId' => '0_9e6a4084-2191-4fd7-9631-19f576375e0a', + 'aud' => '52efb9cc-843c-4ee9-a38c-107943be6b03', + 'Payload' => [ + 'Validated' => true, + 'Payment' => [ + 'Type' => 'CCA', + 'ProcessorTransactionId' => '4l7xg1WA7CS0YwgPgNZ0', + 'ExtendedData' => [ + 'CAVV' => 'AAABAWFlmQAAAABjRWWZEEFgFz8=', + 'ECIFlag' => '05', + 'XID' => 'NGw3eGcxV0E3Q1MwWXdnUGdOWjA=', + 'Enrolled' => 'Y', + 'PAResStatus' => 'Y', + 'SignatureVerification' => 'Y', + ], + ], + 'ActionCode' => 'SUCCESS', + 'ErrorNumber' => 0, + 'ErrorDescription' => 'Success', + ], +]; +$cardinalJWT = $jwtManagment->encode($response, $config->getApiKey()); + +return $cardinalJWT; diff --git a/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Gateway/Command/AuthorizeCommandTest.php b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Gateway/Command/AuthorizeCommandTest.php new file mode 100644 index 000000000000..f41025e08ec2 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Gateway/Command/AuthorizeCommandTest.php @@ -0,0 +1,186 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\AuthorizenetCardinal\Gateway\Command; + +use Magento\AuthorizenetAcceptjs\Gateway\AbstractTest; +use Magento\Framework\Exception\LocalizedException; +use Magento\Payment\Gateway\Command\CommandPoolInterface; +use Magento\Sales\Model\Order\Payment; +use Magento\Sales\Model\Order\Payment\Transaction; + +/** + * Tests "Authorize" command for Authorize.net payment requests with 3D-Secure. + */ +class AuthorizeCommandTest extends AbstractTest +{ + /** + * Tests Authorize command with enabled 3D secure and valid Cardinal response JWT. + * + * @magentoConfigFixture default_store three_d_secure/cardinal/enabled_authorizenet 1 + * @magentoConfigFixture default_store three_d_secure/cardinal/environment sandbox + * @magentoConfigFixture default_store three_d_secure/cardinal/api_key some_api_key + * @magentoConfigFixture default_store three_d_secure/cardinal/api_identifier some_api_identifier + * @magentoConfigFixture default_store three_d_secure/cardinal/org_unit_id some_org_unit_id + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/environment sandbox + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/login someusername + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/trans_key somepassword + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/trans_signature_key abc + * + * @magentoAppIsolation enabled + */ + public function testAuthorizeCommandWith3dSecure() + { + /** @var CommandPoolInterface $commandPool */ + $commandPool = $this->objectManager->get('AuthorizenetAcceptjsCommandPool'); + $command = $commandPool->get('authorize'); + + $order = include __DIR__ . '/../../Fixture/full_order_with_3dsecure.php'; + $payment = $order->getPayment(); + + $paymentDO = $this->paymentFactory->create($payment); + + $expectedRequest = include __DIR__ . '/../../Fixture/expected_request/authorize.php'; + $response = include __DIR__ . '/../../Fixture/response/authorize.php'; + + $this->clientMock->method('setRawData') + ->with(json_encode($expectedRequest), 'application/json'); + + $this->responseMock->method('getBody') + ->willReturn(json_encode($response)); + + $command->execute( + [ + 'payment' => $paymentDO, + 'amount' => 100.00 + ] + ); + + /** @var Payment $payment */ + $rawDetails = [ + 'authCode' => 'abc123', + 'avsResultCode' => 'P', + 'cvvResultCode' => '', + 'cavvResultCode' => '', + 'accountType' => 'Visa', + ]; + $this->assertSame('1111', $payment->getCcLast4()); + $this->assertSame('P', $payment->getCcAvsStatus()); + $this->assertFalse($payment->getData('is_transaction_closed')); + + $transactionDetails = $payment->getTransactionAdditionalInfo(); + foreach ($rawDetails as $key => $value) { + $this->assertSame($value, $payment->getAdditionalInformation($key)); + $this->assertSame($value, $transactionDetails[Transaction::RAW_DETAILS][$key]); + } + + $this->assertSame('123456', $payment->getTransactionId()); + $this->assertSame('123456', $transactionDetails['real_transaction_id']); + } + + /** + * Tests Authorize command with enabled 3D secure and invalid Cardinal response JWT. + * + * @magentoConfigFixture default_store three_d_secure/cardinal/enabled_authorizenet 1 + * @magentoConfigFixture default_store three_d_secure/cardinal/environment sandbox + * @magentoConfigFixture default_store three_d_secure/cardinal/api_key some_api_key + * @magentoConfigFixture default_store three_d_secure/cardinal/api_identifier some_api_identifier + * @magentoConfigFixture default_store three_d_secure/cardinal/org_unit_id some_org_unit_id + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/environment sandbox + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/login someusername + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/trans_key somepassword + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/trans_signature_key abc + * + * @magentoAppIsolation enabled + */ + public function testAuthorizeCommandWithInvalidJwt() + { + /** @var CommandPoolInterface $commandPool */ + $commandPool = $this->objectManager->get('AuthorizenetAcceptjsCommandPool'); + $command = $commandPool->get('authorize'); + + $order = include __DIR__ . '/../../../AuthorizenetAcceptjs/_files/full_order.php'; + $payment = $order->getPayment(); + $payment->setAdditionalInformation('cardinalJWT', 'Invalid JWT'); + + $paymentDO = $this->paymentFactory->create($payment); + + $this->expectException(LocalizedException::class); + + $command->execute( + [ + 'payment' => $paymentDO, + 'amount' => 100.00 + ] + ); + } + + /** + * Tests Authorize command with disabled 3D secure. + * + * @magentoConfigFixture default_store three_d_secure/cardinal/enabled_authorizenet 0 + * @magentoConfigFixture default_store three_d_secure/cardinal/environment sandbox + * @magentoConfigFixture default_store three_d_secure/cardinal/api_key some_api_key + * @magentoConfigFixture default_store three_d_secure/cardinal/api_identifier some_api_identifier + * @magentoConfigFixture default_store three_d_secure/cardinal/org_unit_id some_org_unit_id + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/environment sandbox + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/login someusername + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/trans_key somepassword + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/trans_signature_key abc + * + * @magentoAppIsolation enabled + */ + public function testAuthorizeCommandWithDisabled3dSecure() + { + /** @var CommandPoolInterface $commandPool */ + $commandPool = $this->objectManager->get('AuthorizenetAcceptjsCommandPool'); + $command = $commandPool->get('authorize'); + + $order = include __DIR__ . '/../../Fixture/full_order_with_3dsecure.php'; + $payment = $order->getPayment(); + + $paymentDO = $this->paymentFactory->create($payment); + + $expectedRequest = include __DIR__ . '/../../../AuthorizenetAcceptjs/_files/expected_request/authorize.php'; + $response = include __DIR__ . '/../../../AuthorizenetAcceptjs/_files/response/authorize.php'; + + $this->clientMock->method('setRawData') + ->with(json_encode($expectedRequest), 'application/json'); + + $this->responseMock->method('getBody') + ->willReturn(json_encode($response)); + + $command->execute( + [ + 'payment' => $paymentDO, + 'amount' => 100.00 + ] + ); + + /** @var Payment $payment */ + $rawDetails = [ + 'authCode' => 'abc123', + 'avsResultCode' => 'Y', + 'cvvResultCode' => 'P', + 'cavvResultCode' => '2', + 'accountType' => 'Visa', + ]; + $this->assertSame('1111', $payment->getCcLast4()); + $this->assertSame('Y', $payment->getCcAvsStatus()); + $this->assertFalse($payment->getData('is_transaction_closed')); + + $transactionDetails = $payment->getTransactionAdditionalInfo(); + foreach ($rawDetails as $key => $value) { + $this->assertSame($value, $payment->getAdditionalInformation($key)); + $this->assertSame($value, $transactionDetails[Transaction::RAW_DETAILS][$key]); + } + + $this->assertSame('123456', $payment->getTransactionId()); + $this->assertSame('123456', $transactionDetails['real_transaction_id']); + } +} diff --git a/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Gateway/Command/SaleCommandTest.php b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Gateway/Command/SaleCommandTest.php new file mode 100644 index 000000000000..c22e1fceaa84 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AuthorizenetCardinal/Gateway/Command/SaleCommandTest.php @@ -0,0 +1,85 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\AuthorizenetCardinal\Gateway\Command; + +use Magento\AuthorizenetAcceptjs\Gateway\AbstractTest; +use Magento\Framework\Exception\LocalizedException; +use Magento\Payment\Gateway\Command\CommandPoolInterface; +use Magento\Sales\Model\Order\Payment; +use Magento\Sales\Model\Order\Payment\Transaction; + +/** + * Tests "Sale" command for Authorize.net payment requests with 3D-Secure. + */ +class SaleCommandTest extends AbstractTest +{ + /** + * Tests Sale command with enabled 3D secure and valid Cardinal response JWT. + * + * @magentoConfigFixture default_store three_d_secure/cardinal/enabled_authorizenet 1 + * @magentoConfigFixture default_store three_d_secure/cardinal/environment sandbox + * @magentoConfigFixture default_store three_d_secure/cardinal/api_key some_api_key + * @magentoConfigFixture default_store three_d_secure/cardinal/api_identifier some_api_identifier + * @magentoConfigFixture default_store three_d_secure/cardinal/org_unit_id some_org_unit_id + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/environment sandbox + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/login someusername + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/trans_key somepassword + * @magentoConfigFixture default_store payment/authorizenet_acceptjs/trans_signature_key abc + * + * @magentoAppIsolation enabled + */ + public function testSaleCommandWith3dSecure() + { + /** @var CommandPoolInterface $commandPool */ + $commandPool = $this->objectManager->get('AuthorizenetAcceptjsCommandPool'); + $command = $commandPool->get('sale'); + + $order = include __DIR__ . '/../../Fixture/full_order_with_3dsecure.php'; + $payment = $order->getPayment(); + + $paymentDO = $this->paymentFactory->create($payment); + + $expectedRequest = include __DIR__ . '/../../Fixture/expected_request/sale.php'; + $response = include __DIR__ . '/../../../AuthorizenetAcceptjs/_files/response/sale.php'; + + $this->clientMock->method('setRawData') + ->with(json_encode($expectedRequest), 'application/json'); + + $this->responseMock->method('getBody') + ->willReturn(json_encode($response)); + + $command->execute( + [ + 'payment' => $paymentDO, + 'amount' => 100.00 + ] + ); + + /** @var Payment $payment */ + $rawDetails = [ + 'authCode' => 'abc123', + 'avsResultCode' => 'Y', + 'cvvResultCode' => 'P', + 'cavvResultCode' => '2', + 'accountType' => 'Visa', + ]; + $this->assertSame('1111', $payment->getCcLast4()); + $this->assertSame('Y', $payment->getCcAvsStatus()); + $this->assertFalse($payment->getData('is_transaction_closed')); + + $transactionDetails = $payment->getTransactionAdditionalInfo(); + foreach ($rawDetails as $key => $value) { + $this->assertSame($value, $payment->getAdditionalInformation($key)); + $this->assertSame($value, $transactionDetails[Transaction::RAW_DETAILS][$key]); + } + + $this->assertSame('123456', $payment->getTransactionId()); + $this->assertSame('123456', $transactionDetails['real_transaction_id']); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Bundle/Model/Product/DynamicBundleWithCatalogPriceRuleCalculatorTest.php b/dev/tests/integration/testsuite/Magento/Bundle/Model/Product/DynamicBundleWithCatalogPriceRuleCalculatorTest.php index 3c756041eacc..0162f70c76b2 100644 --- a/dev/tests/integration/testsuite/Magento/Bundle/Model/Product/DynamicBundleWithCatalogPriceRuleCalculatorTest.php +++ b/dev/tests/integration/testsuite/Magento/Bundle/Model/Product/DynamicBundleWithCatalogPriceRuleCalculatorTest.php @@ -10,6 +10,7 @@ * @codingStandardsIgnoreStart * @magentoDataFixtureBeforeTransaction Magento/Bundle/_files/PriceCalculator/dynamic_bundle_product_with_catalog_rule.php * @codingStandardsIgnoreEnd + * @magentoDbIsolation enabled * @magentoAppArea frontend */ class DynamicBundleWithCatalogPriceRuleCalculatorTest extends BundlePriceAbstract diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Indexer/Product/Flat/Action/RelationTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Indexer/Product/Flat/Action/RelationTest.php new file mode 100644 index 000000000000..85bcd54767e3 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Indexer/Product/Flat/Action/RelationTest.php @@ -0,0 +1,134 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\Catalog\Model\Indexer\Product\Flat\Action; + +use Magento\Framework\App\ResourceConnection; +use Magento\Framework\DB\Adapter\AdapterInterface; +use Magento\Store\Model\StoreManagerInterface; +use Magento\TestFramework\Catalog\Model\Indexer\Product\Flat\Action\Full as FlatIndexerFull; + +/** + * Test relation customization + */ +class RelationTest extends \Magento\TestFramework\Indexer\TestCase +{ + /** + * @var FlatIndexerFull + */ + private $indexer; + + /** + * @var StoreManagerInterface + */ + private $storeManager; + + /** + * @var AdapterInterface + */ + private $connection; + + /** + * Updated flat tables + * + * @var array + */ + private $flatUpdated = []; + + /** + * @inheritdoc + */ + protected function setUp() + { + $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); + + $tableBuilderMock = $this->createMock(\Magento\Catalog\Model\Indexer\Product\Flat\TableBuilder::class); + $flatTableBuilderMock = $this->createMock(\Magento\Catalog\Model\Indexer\Product\Flat\FlatTableBuilder::class); + + $productIndexerHelper = $objectManager->create( + \Magento\Catalog\Helper\Product\Flat\Indexer::class, + ['addChildData' => 1] + ); + $this->indexer = $objectManager->create( + FlatIndexerFull::class, + [ + 'productHelper' => $productIndexerHelper, + 'tableBuilder' => $tableBuilderMock, + 'flatTableBuilder' => $flatTableBuilderMock + ] + ); + $this->storeManager = $objectManager->create(StoreManagerInterface::class); + $this->connection = $objectManager->get(ResourceConnection::class)->getConnection(); + + foreach ($this->storeManager->getStores() as $store) { + $flatTable = $productIndexerHelper->getFlatTableName($store->getId()); + if ($this->connection->isTableExists($flatTable) && + !$this->connection->tableColumnExists($flatTable, 'child_id') && + !$this->connection->tableColumnExists($flatTable, 'is_child') + ) { + $this->connection->addColumn( + $flatTable, + 'child_id', + [ + 'type' => 'integer', + 'length' => null, + 'unsigned' => true, + 'nullable' => true, + 'default' => null, + 'unique' => true, + 'comment' => 'Child Id', + ] + ); + $this->connection->addColumn( + $flatTable, + 'is_child', + [ + 'type' => 'smallint', + 'length' => 1, + 'unsigned' => true, + 'nullable' => false, + 'default' => '0', + 'comment' => 'Checks If Entity Is Child', + ] + ); + + $this->flatUpdated[] = $flatTable; + } + } + } + + /** + * @inheritdoc + */ + protected function tearDown() + { + foreach ($this->flatUpdated as $flatTable) { + $this->connection->dropColumn($flatTable, 'child_id'); + $this->connection->dropColumn($flatTable, 'is_child'); + } + } + + /** + * Test that SQL generated for relation customization is valid + * + * @return void + * @throws \Magento\Framework\Exception\LocalizedException + * @throws \Exception + */ + public function testExecute() : void + { + try { + $this->indexer->execute(); + } catch (\Magento\Framework\Exception\LocalizedException $e) { + if ($e->getPrevious() instanceof \Zend_Db_Statement_Exception) { + $this->fail($e->getMessage()); + } + throw $e; + } + } +} diff --git a/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Export/ProductTest.php b/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Export/ProductTest.php index c212d4c0d971..183ba86ca757 100644 --- a/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Export/ProductTest.php +++ b/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Export/ProductTest.php @@ -3,6 +3,9 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + +declare(strict_types = 1); + namespace Magento\CatalogImportExport\Model\Export; /** @@ -248,9 +251,11 @@ public function testExceptionInGetExportData() */ public function testExportWithFieldsEnclosure() { - $this->model->setParameters([ - \Magento\ImportExport\Model\Export::FIELDS_ENCLOSURE => 1 - ]); + $this->model->setParameters( + [ + \Magento\ImportExport\Model\Export::FIELDS_ENCLOSURE => 1 + ] + ); $this->model->setWriter( $this->objectManager->create( @@ -278,11 +283,13 @@ public function testCategoryIdsFilter() ) ); - $this->model->setParameters([ - \Magento\ImportExport\Model\Export::FILTER_ELEMENT_GROUP => [ - 'category_ids' => '2,13' + $this->model->setParameters( + [ + \Magento\ImportExport\Model\Export::FILTER_ELEMENT_GROUP => [ + 'category_ids' => '2,13' + ] ] - ]); + ); $exportData = $this->model->export(); @@ -292,6 +299,22 @@ public function testCategoryIdsFilter() $this->assertNotContains('Simple Product Not Visible On Storefront', $exportData); } + /** + * Verify that export processed successfully with wrong category path + * + * @magentoDataFixture Magento/CatalogImportExport/_files/product_export_with_broken_categories_path.php + */ + public function testExportWithWrongCategoryPath() + { + $this->model->setWriter( + $this->objectManager->create( + \Magento\ImportExport\Model\Export\Adapter\Csv::class + ) + ); + + $this->model->export(); + } + /** * Test 'hide from product page' export for non-default store. * diff --git a/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest.php b/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest.php index 41cd85e6ec2f..b04d1394e5c1 100644 --- a/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest.php +++ b/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest.php @@ -20,12 +20,12 @@ use Magento\Framework\App\Bootstrap; use Magento\Framework\App\Filesystem\DirectoryList; use Magento\Framework\App\ObjectManager; +use Magento\Framework\Exception\NoSuchEntityException; use Magento\Framework\Filesystem; use Magento\Framework\Registry; use Magento\ImportExport\Model\Import; use Magento\Store\Model\Store; use Psr\Log\LoggerInterface; -use Magento\Framework\Exception\NoSuchEntityException; /** * Class ProductTest @@ -95,6 +95,7 @@ protected function tearDown() try { $product = $productRepository->get($productSku, false, null, true); $productRepository->delete($product); + // phpcs:ignore Magento2.CodeAnalysis.EmptyBlock } catch (NoSuchEntityException $e) { // nothing to delete } @@ -1097,6 +1098,7 @@ public function testProductsWithMultipleStores() /** * Test url keys properly generated in multistores environment. * + * @magentoConfigFixture current_store catalog/seo/product_use_categories 1 * @magentoDataFixture Magento/Store/_files/core_fixturestore.php * @magentoDataFixture Magento/Catalog/_files/category_with_two_stores.php * @magentoDbIsolation enabled diff --git a/dev/tests/integration/testsuite/Magento/CatalogImportExport/_files/product_export_with_broken_categories_path.php b/dev/tests/integration/testsuite/Magento/CatalogImportExport/_files/product_export_with_broken_categories_path.php new file mode 100644 index 000000000000..3fdfeda826ab --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/CatalogImportExport/_files/product_export_with_broken_categories_path.php @@ -0,0 +1,90 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types = 1); + +$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); + +$defaultAttributeSet = $objectManager->get(Magento\Eav\Model\Config::class) + ->getEntityType('catalog_product') + ->getDefaultAttributeSetId(); + +$productRepository = $objectManager->create( + \Magento\Catalog\Api\ProductRepositoryInterface::class +); + +$categoryLinkRepository = $objectManager->create( + \Magento\Catalog\Api\CategoryLinkRepositoryInterface::class, + [ + 'productRepository' => $productRepository + ] +); + +/** @var Magento\Catalog\Api\CategoryLinkManagementInterface $linkManagement */ +$categoryLinkManagement = $objectManager->create(\Magento\Catalog\Api\CategoryLinkManagementInterface::class); +$reflectionClass = new \ReflectionClass(get_class($categoryLinkManagement)); +$properties = [ + 'productRepository' => $productRepository, + 'categoryLinkRepository' => $categoryLinkRepository +]; +foreach ($properties as $key => $value) { + if ($reflectionClass->hasProperty($key)) { + $reflectionProperty = $reflectionClass->getProperty($key); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue($categoryLinkManagement, $value); + } +} + +/** + * After installation system has two categories: root one with ID:1 and Default category with ID:2 + */ +/** @var $category \Magento\Catalog\Model\Category */ +$category = $objectManager->create(\Magento\Catalog\Model\Category::class); +$category->isObjectNew(true); +$category->setId(3) + ->setName('Category 1') + ->setParentId(2) + ->setPath('1/2/3') + ->setLevel(2) + ->setAvailableSortBy('name') + ->setDefaultSortBy('name') + ->setIsActive(true) + ->setPosition(1) + ->save(); + +$category = $objectManager->create(\Magento\Catalog\Model\Category::class); +$category->isObjectNew(true); +$category->setId(5) + ->setName('Category 1.1') + ->setParentId(3) + ->setPath('1/2/3/4/5') + ->setLevel(4) + ->setAvailableSortBy('name') + ->setDefaultSortBy('name') + ->setIsActive(true) + ->setIsAnchor(true) + ->setPosition(1) + ->save(); + +/** @var $product \Magento\Catalog\Model\Product */ +$product = $objectManager->create(\Magento\Catalog\Model\Product::class); +$product->isObjectNew(true); +$product->setTypeId(\Magento\Catalog\Model\Product\Type::TYPE_SIMPLE) + ->setAttributeSetId($defaultAttributeSet) + ->setStoreId(1) + ->setWebsiteIds([1]) + ->setName('Simple Product') + ->setSku('simple') + ->setPrice(10) + ->setWeight(18) + ->setStockData(['use_config_manage_stock' => 0]) + ->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH) + ->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED) + ->save(); + +$categoryLinkManagement->assignProductToCategories( + $product->getSku(), + [5] +); diff --git a/dev/tests/integration/testsuite/Magento/CatalogImportExport/_files/product_export_with_broken_categories_path_rollback.php b/dev/tests/integration/testsuite/Magento/CatalogImportExport/_files/product_export_with_broken_categories_path_rollback.php new file mode 100644 index 000000000000..d03c95cbeb4b --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/CatalogImportExport/_files/product_export_with_broken_categories_path_rollback.php @@ -0,0 +1,41 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types = 1); + +$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); +/** @var \Magento\Framework\Registry $registry */ +$registry = $objectManager->get(\Magento\Framework\Registry::class); + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', true); + +// Remove products +/** @var \Magento\Catalog\Api\ProductRepositoryInterface $productRepository */ +$productRepository = $objectManager->create(\Magento\Catalog\Api\ProductRepositoryInterface::class); + +try { + $product = $productRepository->get('simple', false, null, true); + $productRepository->delete($product); +} catch (\Magento\Framework\Exception\NoSuchEntityException $exception) { + //Product already removed +} + +$productCollection = \Magento\TestFramework\Helper\Bootstrap::getObjectManager() + ->get(\Magento\Catalog\Model\ResourceModel\Product\Collection::class); +foreach ($productCollection as $product) { + $product->delete(); +} + +//Remove categories +/** @var Magento\Catalog\Model\ResourceModel\Category\Collection $collection */ +$collection = $objectManager->create(\Magento\Catalog\Model\ResourceModel\Category\Collection::class); +foreach ($collection->addAttributeToFilter('level', ['in' => [2, 3, 4]]) as $category) { + /** @var \Magento\Catalog\Model\Category $category */ + $category->delete(); +} + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', false); diff --git a/dev/tests/integration/testsuite/Magento/CatalogInventory/Observer/SaveInventoryDataObserverTest.php b/dev/tests/integration/testsuite/Magento/CatalogInventory/Observer/SaveInventoryDataObserverTest.php new file mode 100644 index 000000000000..a50a7b096fe1 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/CatalogInventory/Observer/SaveInventoryDataObserverTest.php @@ -0,0 +1,86 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +declare(strict_types=1); + +namespace Magento\CatalogInventory\Observer; + +use Magento\TestFramework\Helper\Bootstrap; +use PHPUnit\Framework\TestCase; +use Magento\Catalog\Api\ProductRepositoryInterface; +use Magento\Catalog\Api\Data\ProductExtensionInterface; +use Magento\Catalog\Api\Data\ProductInterface; +use Magento\CatalogInventory\Api\Data\StockItemInterface; +use Magento\CatalogInventory\Api\StockItemRepositoryInterface; +use Magento\Framework\Exception\NoSuchEntityException; +use Magento\Framework\Exception\InputException; +use Magento\Framework\Exception\StateException; +use Magento\Framework\Exception\CouldNotSaveException; + +/** + * Test for SaveInventoryDataObserver + */ +class SaveInventoryDataObserverTest extends TestCase +{ + /** + * @var ProductRepositoryInterface + */ + private $productRepository; + + /** + * @var StockItemRepositoryInterface + */ + private $stockItemRepository; + + /** + * @inheritDoc + */ + protected function setUp() + { + $this->productRepository = Bootstrap::getObjectManager() + ->get(ProductRepositoryInterface::class); + $this->stockItemRepository = Bootstrap::getObjectManager() + ->get(StockItemRepositoryInterface::class); + } + + /** + * Check that parent product will be out of stock + * + * @magentoAppArea adminhtml + * @magentoAppIsolation enabled + * @magentoDataFixture Magento/ConfigurableProduct/_files/product_configurable.php + * @magentoDataFixture Magento/CatalogInventory/_files/configurable_options_with_low_stock.php + * @throws NoSuchEntityException + * @throws InputException + * @throws StateException + * @throws CouldNotSaveException + * @return void + */ + public function testAutoChangingIsInStockForParent() + { + /** @var ProductInterface $product */ + $product = $this->productRepository->get('simple_10'); + + /** @var ProductExtensionInterface $attributes*/ + $attributes = $product->getExtensionAttributes(); + + /** @var StockItemInterface $stockItem */ + $stockItem = $attributes->getStockItem(); + $stockItem->setQty(0); + $stockItem->setIsInStock(false); + $attributes->setStockItem($stockItem); + $product->setExtensionAttributes($attributes); + $this->productRepository->save($product); + + /** @var ProductInterface $product */ + $parentProduct = $this->productRepository->get('configurable'); + + $parentProductStockItem = $this->stockItemRepository->get( + $parentProduct->getExtensionAttributes()->getStockItem()->getItemId() + ); + $this->assertSame(false, $parentProductStockItem->getIsInStock()); + } +} diff --git a/dev/tests/integration/testsuite/Magento/CatalogInventory/_files/configurable_options_with_low_stock.php b/dev/tests/integration/testsuite/Magento/CatalogInventory/_files/configurable_options_with_low_stock.php new file mode 100644 index 000000000000..f6013b2e4b93 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/CatalogInventory/_files/configurable_options_with_low_stock.php @@ -0,0 +1,38 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +use Magento\Catalog\Api\Data\ProductInterface; +use Magento\CatalogInventory\Api\Data\StockItemInterface; +use Magento\CatalogInventory\Api\StockItemRepositoryInterface; +use Magento\TestFramework\Helper\Bootstrap; +use Magento\Catalog\Api\ProductRepositoryInterface; + +$objectManager = Bootstrap::getObjectManager(); + +/** @var ProductRepositoryInterface $productRepository */ +$productRepository = $objectManager->create(ProductRepositoryInterface::class); + +/** @var StockItemRepositoryInterface $stockItemRepository */ +$stockItemRepository = $objectManager->get(StockItemRepositoryInterface::class); + +/** @var ProductInterface $product */ +$product = $productRepository->get('simple_10'); + +/** @var StockItemInterface $stockItem */ +$stockItem = $product->getExtensionAttributes()->getStockItem(); +$stockItem->setIsInStock(true) + ->setQty(1); +$stockItemRepository->save($stockItem); + +/** @var ProductInterface $product */ +$product = $productRepository->get('simple_20'); + +/** @var StockItemInterface $stockItem */ +$stockItem = $product->getExtensionAttributes()->getStockItem(); +$stockItem->setIsInStock(false) + ->setQty(0); +$stockItemRepository->save($stockItem); diff --git a/dev/tests/integration/testsuite/Magento/CatalogUrlRewrite/Model/CategoryUrlRewriteGeneratorTest.php b/dev/tests/integration/testsuite/Magento/CatalogUrlRewrite/Model/CategoryUrlRewriteGeneratorTest.php index cfa82b90e2f6..1c2ee602c3bd 100644 --- a/dev/tests/integration/testsuite/Magento/CatalogUrlRewrite/Model/CategoryUrlRewriteGeneratorTest.php +++ b/dev/tests/integration/testsuite/Magento/CatalogUrlRewrite/Model/CategoryUrlRewriteGeneratorTest.php @@ -8,7 +8,9 @@ use Magento\Catalog\Api\CategoryRepositoryInterface; use Magento\Catalog\Model\Category; +use Magento\Catalog\Model\CategoryRepository; use Magento\Catalog\Model\ProductRepository; +use Magento\CatalogUrlRewrite\Model\ResourceModel\Category\Product; use Magento\Framework\Exception\CouldNotSaveException; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Exception\NoSuchEntityException; @@ -318,6 +320,53 @@ public function testGenerateUrlRewritesWithoutGenerateProductRewrites() $this->assertResults($productExpectedResult, $actualResults); } + /** + * Check number of records after removing product + * + * @magentoDataFixture Magento/CatalogUrlRewrite/_files/categories_with_products.php + * @magentoConfigFixture default/catalog/seo/generate_category_product_rewrites 1 + * @magentoDbIsolation enabled + * @magentoAppIsolation enabled + * + * @return void + */ + public function testRemoveCatalogUrlRewrites() + { + /** @var CategoryRepository $categoryRepository */ + $categoryRepository = $this->objectManager->create(CategoryRepository::class); + $category = $categoryRepository->get(5); + $categoryId = $category->getId(); + + /** @var ProductRepository $productRepository */ + $productRepository = $this->objectManager->create(ProductRepository::class); + $product = $productRepository->get('12345'); + $productId = $product->getId(); + + $countBeforeRemoving = $this->getCountOfRewrites($productId, $categoryId); + $productRepository->delete($product); + $countAfterRemoving = $this->getCountOfRewrites($productId, $categoryId); + $this->assertEquals($countBeforeRemoving - 1, $countAfterRemoving); + } + + /** + * Get count of records in table + * + * @param $productId + * @param $categoryId + * @return string + */ + private function getCountOfRewrites($productId, $categoryId): string + { + /** @var Product $model */ + $model = $this->objectManager->get(Product::class); + $connection = $model->getConnection(); + $select = $connection->select(); + $select->from(Product::TABLE_NAME, 'COUNT(*)'); + $select->where('category_id = ?', $categoryId); + $select->where('product_id = ?', $productId); + return $connection->fetchOne($select); + } + /** * @param array $expected * @param array $actual diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Api/PaymentInformationManagementTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Api/PaymentInformationManagementTest.php index f6338c1ee166..1266dc7bb884 100644 --- a/dev/tests/integration/testsuite/Magento/Checkout/Api/PaymentInformationManagementTest.php +++ b/dev/tests/integration/testsuite/Magento/Checkout/Api/PaymentInformationManagementTest.php @@ -96,7 +96,7 @@ public function testSavePaymentInformationAndPlaceOrderWithErrors( array_push($errors['errors'], ['code' => $testErrorCode]); } - $response = new Error(['errors' => $errors]); + $response = new Error(['errors' => $errors, 'transaction' => ['status' => 'declined']]); $this->client->method('placeRequest') ->willReturn(['object' => $response]); diff --git a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/_files/configurable_attributes_for_position_test.php b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/_files/configurable_attributes_for_position_test.php new file mode 100644 index 000000000000..3f907c0ad0cb --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/_files/configurable_attributes_for_position_test.php @@ -0,0 +1,101 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +use Magento\Catalog\Model\ResourceModel\Eav\Attribute; +use Magento\Catalog\Setup\CategorySetup; +use Magento\Eav\Model\Config; +use Magento\TestFramework\Helper\Bootstrap; +use Magento\Eav\Api\AttributeRepositoryInterface; + +Bootstrap::getInstance()->reinitialize(); + +/** @var $eavConfig Config */ +$eavConfig = Bootstrap::getObjectManager()->get(Config::class); + +/** @var $installer CategorySetup */ +$installer = Bootstrap::getObjectManager()->create(CategorySetup::class); + +$attributesData = [ + [ + 'code' => 'custom_attr_1', + 'label' => 'custom_attr_1', + ], + [ + 'code' => 'custom_attr_2', + 'label' => 'custom_attr_2', + ], +]; + +foreach ($attributesData as $attributeData) { + $attribute = $eavConfig->getAttribute('catalog_product', $attributeData['code']); + + $eavConfig->clear(); + + + if (!$attribute->getId()) { + + /** @var $attribute Attribute */ + $attribute = Bootstrap::getObjectManager()->create( + Attribute::class + ); + + /** @var AttributeRepositoryInterface $attributeRepository */ + $attributeRepository = Bootstrap::getObjectManager()->create(AttributeRepositoryInterface::class); + + $attribute->setData( + [ + 'attribute_code' => $attributeData['code'], + 'entity_type_id' => $installer->getEntityTypeId('catalog_product'), + 'is_global' => 1, + 'is_user_defined' => 1, + 'frontend_input' => 'select', + 'is_unique' => 0, + 'is_required' => 0, + 'is_searchable' => 0, + 'is_visible_in_advanced_search' => 0, + 'is_comparable' => 0, + 'is_filterable' => 0, + 'is_filterable_in_search' => 0, + 'is_used_for_promo_rules' => 0, + 'is_html_allowed_on_front' => 1, + 'is_visible_on_front' => 0, + 'used_in_product_listing' => 0, + 'used_for_sort_by' => 0, + 'frontend_label' => $attributeData['label'], + 'backend_type' => 'int', + 'option' => [ + 'value' => [ + 'option_0' => [ + $attributeData['label'] . ' Option 1' + ], + 'option_1' => [ + $attributeData['label'] . ' Option 2' + ], + 'option_2' => [ + $attributeData['label'] . ' Option 3' + ], + 'option_3' => [ + $attributeData['label'] . ' Option 4' + ] + ], + 'order' => [ + 'option_0' => 1, + 'option_1' => 2, + 'option_2' => 3, + 'option_3' => 4 + ], + ], + ] + ); + + $attributeRepository->save($attribute); + + /* Assign attribute to attribute set */ + $installer->addAttributeToGroup('catalog_product', 'Default', 'General', $attribute->getId()); + } +} + +$eavConfig->clear(); diff --git a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/_files/configurable_attributes_for_position_test_rollback.php b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/_files/configurable_attributes_for_position_test_rollback.php new file mode 100644 index 000000000000..c947eaafda39 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/_files/configurable_attributes_for_position_test_rollback.php @@ -0,0 +1,41 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +use Magento\Catalog\Model\ResourceModel\Product\Collection; +use Magento\Eav\Model\Config; +use Magento\Eav\Model\Entity\Attribute\AbstractAttribute; +use Magento\Framework\Registry; +use Magento\TestFramework\Helper\Bootstrap; + +/** @var Registry $registry */ +$registry = Bootstrap::getObjectManager()->get(Registry::class); + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', true); +$productCollection = Bootstrap::getObjectManager() + ->get(Collection::class); +foreach ($productCollection as $product) { + $product->delete(); +} + +$attributesToDelete = [ + 'custom_attr_1', + 'custom_attr_2', +]; + +foreach ($attributesToDelete as $attributeToDelete) { + $eavConfig = Bootstrap::getObjectManager()->get(Config::class); + $attribute = $eavConfig->getAttribute('catalog_product', $attributeToDelete); + if ($attribute instanceof AbstractAttribute + && $attribute->getId() + ) { + $attribute->delete(); + } + $eavConfig->clear(); +} + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', false); diff --git a/dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php b/dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php index 3c1d77ac9e75..b1aee3ace528 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php @@ -81,7 +81,7 @@ public function testGetRequiredPhpVersion($composerDir) ['composerFactory' => $this->composerFactory] ); - $this->assertEquals("~5.5.0|~5.6.0|~7.0.0", $composerInfo->getRequiredPhpVersion()); + $this->assertEquals("~7.1.3||~7.2.0", $composerInfo->getRequiredPhpVersion()); } /** @@ -92,7 +92,7 @@ public function testGetRequiredPhpVersion($composerDir) public function testGetRequiredExtensions($composerDir) { $this->setupDirectory($composerDir); - $expectedExtensions = ['ctype', 'gd', 'spl', 'dom', 'simplexml', 'mcrypt', 'hash', 'curl', 'iconv', 'intl']; + $expectedExtensions = ['ctype', 'gd', 'spl', 'dom', 'simplexml', 'hash', 'curl', 'iconv', 'intl']; /** @var \Magento\Framework\Composer\ComposerInformation $composerInfo */ $composerInfo = $this->objectManager->create( diff --git a/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/composer.lock b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/composer.lock index c2df6e0637e1..094f899a2605 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/composer.lock +++ b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/composer.lock @@ -1,39 +1,300 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "hash": "68035e485f35f7660cc3e736d3f8fde2", + "content-hash": "60007664938710edf52eadddd7551867", "packages": [ + { + "name": "braintree/braintree_php", + "version": "3.35.0", + "source": { + "type": "git", + "url": "https://github.com/braintree/braintree_php.git", + "reference": "6c4388199ce379432804a5c18b88585157ef2ed7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/braintree/braintree_php/zipball/6c4388199ce379432804a5c18b88585157ef2ed7", + "reference": "6c4388199ce379432804a5c18b88585157ef2ed7", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-dom": "*", + "ext-hash": "*", + "ext-openssl": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "Braintree": "lib/" + }, + "psr-4": { + "Braintree\\": "lib/Braintree" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Braintree", + "homepage": "https://www.braintreepayments.com" + } + ], + "description": "Braintree PHP Client Library", + "time": "2018-07-26T14:37:38+00:00" + }, + { + "name": "colinmollenhour/cache-backend-file", + "version": "v1.4.4", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/Cm_Cache_Backend_File.git", + "reference": "184171cc79933a828c3f9b1a1054724cea22a216" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/colinmollenhour/Cm_Cache_Backend_File/zipball/184171cc79933a828c3f9b1a1054724cea22a216", + "reference": "184171cc79933a828c3f9b1a1054724cea22a216", + "shasum": "" + }, + "type": "magento-module", + "autoload": { + "classmap": [ + "File.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin Mollenhour" + } + ], + "description": "The stock Zend_Cache_Backend_File backend has extremely poor performance for cleaning by tags making it become unusable as the number of cached items increases. This backend makes many changes resulting in a huge performance boost, especially for tag cleaning.", + "homepage": "https://github.com/colinmollenhour/Cm_Cache_Backend_File", + "time": "2018-04-05T15:28:43+00:00" + }, + { + "name": "colinmollenhour/cache-backend-redis", + "version": "1.10.6", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/Cm_Cache_Backend_Redis.git", + "reference": "cc941a5f4cc017e11d3eab9061811ba9583ed6bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/colinmollenhour/Cm_Cache_Backend_Redis/zipball/cc941a5f4cc017e11d3eab9061811ba9583ed6bf", + "reference": "cc941a5f4cc017e11d3eab9061811ba9583ed6bf", + "shasum": "" + }, + "require": { + "magento-hackathon/magento-composer-installer": "*" + }, + "type": "magento-module", + "autoload": { + "classmap": [ + "Cm/Cache/Backend/Redis.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin Mollenhour" + } + ], + "description": "Zend_Cache backend using Redis with full support for tags.", + "homepage": "https://github.com/colinmollenhour/Cm_Cache_Backend_Redis", + "time": "2018-09-24T16:02:07+00:00" + }, + { + "name": "colinmollenhour/credis", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/credis.git", + "reference": "8ab6db707c821055f9856b8cf76d5f44beb6fd8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/colinmollenhour/credis/zipball/8ab6db707c821055f9856b8cf76d5f44beb6fd8a", + "reference": "8ab6db707c821055f9856b8cf76d5f44beb6fd8a", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "Client.php", + "Cluster.php", + "Sentinel.php", + "Module.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Colin Mollenhour", + "email": "colin@mollenhour.com" + } + ], + "description": "Credis is a lightweight interface to the Redis key-value store which wraps the phpredis library when available for better performance.", + "homepage": "https://github.com/colinmollenhour/credis", + "time": "2018-05-07T14:45:04+00:00" + }, + { + "name": "colinmollenhour/php-redis-session-abstract", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/php-redis-session-abstract.git", + "reference": "4cb15d557f58f45ad257cbcce3c12511e6deb5bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/colinmollenhour/php-redis-session-abstract/zipball/4cb15d557f58f45ad257cbcce3c12511e6deb5bc", + "reference": "4cb15d557f58f45ad257cbcce3c12511e6deb5bc", + "shasum": "" + }, + "require": { + "colinmollenhour/credis": "~1.6", + "php": "~5.5.0|~5.6.0|~7.0.0|~7.1.0|~7.2.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Cm\\RedisSession\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin Mollenhour" + } + ], + "description": "A Redis-based session handler with optimistic locking", + "homepage": "https://github.com/colinmollenhour/php-redis-session-abstract", + "time": "2018-03-29T15:54:15+00:00" + }, + { + "name": "composer/ca-bundle", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2019-01-28T09:30:10+00:00" + }, { "name": "composer/composer", - "version": "1.0.0-alpha9", + "version": "1.8.4", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "eb1ce550ca51134ee619ad3e37f5a0b7e980dd24" + "reference": "bc364c2480c17941e2135cfc568fa41794392534" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/eb1ce550ca51134ee619ad3e37f5a0b7e980dd24", - "reference": "eb1ce550ca51134ee619ad3e37f5a0b7e980dd24", + "url": "https://api.github.com/repos/composer/composer/zipball/bc364c2480c17941e2135cfc568fa41794392534", + "reference": "bc364c2480c17941e2135cfc568fa41794392534", "shasum": "" }, "require": { - "justinrainbow/json-schema": "~1.1", - "php": ">=5.3.2", - "seld/jsonlint": "~1.0", - "symfony/console": "~2.3", - "symfony/finder": "~2.2", - "symfony/process": "~2.1" + "composer/ca-bundle": "^1.0", + "composer/semver": "^1.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.7 || ^3.0 || ^4.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0" + }, + "conflict": { + "symfony/console": "2.8.38" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "^4.8.35 || ^5.7", + "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" }, "suggest": { "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives, and allows gzip compression of all internet traffic" + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" }, "bin": [ "bin/composer" @@ -41,12 +302,12 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "1.8-dev" } }, "autoload": { - "psr-0": { - "Composer": "src/" + "psr-4": { + "Composer\\": "src/Composer" } }, "notification-url": "https://packagist.org/downloads/", @@ -66,253 +327,5746 @@ } ], "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", - "homepage": "http://getcomposer.org/", + "homepage": "https://getcomposer.org/", "keywords": [ "autoload", "dependency", "package" ], - "time": "2014-12-07 17:15:20" + "time": "2019-02-11T09:52:10+00:00" }, { - "name": "justinrainbow/json-schema", - "version": "1.4.4", + "name": "composer/semver", + "version": "1.4.2", "source": { "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "8dc9b9d85ab639ca60ab4608b34c1279d6ae7bce" + "url": "https://github.com/composer/semver.git", + "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/8dc9b9d85ab639ca60ab4608b34c1279d6ae7bce", - "reference": "8dc9b9d85ab639ca60ab4608b34c1279d6ae7bce", + "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", + "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": "^5.3.2 || ^7.0" }, "require-dev": { - "json-schema/json-schema-test-suite": "1.1.0", - "phpdocumentor/phpdocumentor": "~2", - "phpunit/phpunit": "~3.7" + "phpunit/phpunit": "^4.5 || ^5.0.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" }, - "bin": [ - "bin/validate-json" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { - "psr-0": { - "JsonSchema": "src/" + "psr-4": { + "Composer\\Semver\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" }, { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", + "description": "Semver library that offers utilities, version constraint parsing and validation.", "keywords": [ - "json", - "schema" + "semantic", + "semver", + "validation", + "versioning" ], - "time": "2015-07-14 16:29:50" + "time": "2016-08-30T16:08:34+00:00" }, { - "name": "magento/magento-composer-installer", - "version": "0.1.4", + "name": "composer/spdx-licenses", + "version": "1.5.0", "source": { "type": "git", - "url": "https://github.com/magento/magento-composer-installer.git", - "reference": "7f03451f71e55d52c2bb07325d56a4e6df322f30" + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "7a9556b22bd9d4df7cad89876b00af58ef20d3a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento/magento-composer-installer/zipball/7f03451f71e55d52c2bb07325d56a4e6df322f30", - "reference": "7f03451f71e55d52c2bb07325d56a4e6df322f30", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/7a9556b22bd9d4df7cad89876b00af58ef20d3a2", + "reference": "7a9556b22bd9d4df7cad89876b00af58ef20d3a2", "shasum": "" }, "require": { - "composer-plugin-api": "1.0.0" + "php": "^5.3.2 || ^7.0" }, "require-dev": { - "composer/composer": "*@dev", - "firegento/phpcs": "dev-patch-1", - "mikey179/vfsstream": "*", - "phpunit/phpunit": "*", - "phpunit/phpunit-mock-objects": "dev-master", - "squizlabs/php_codesniffer": "1.4.7", - "symfony/process": "*" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" }, - "type": "composer-plugin", + "type": "library", "extra": { - "composer-command-registry": [ - "MagentoHackathon\\Composer\\Magento\\Command\\DeployCommand" - ], - "class": "MagentoHackathon\\Composer\\Magento\\Plugin" + "branch-alias": { + "dev-master": "1.x-dev" + } }, "autoload": { - "psr-0": { - "MagentoHackathon\\Composer\\Magento": "src/" + "psr-4": { + "Composer\\Spdx\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0" + "MIT" ], "authors": [ { - "name": "Vinai Kopp", - "email": "vinai@netzarbeiter.com" - }, - { - "name": "Daniel Fahlke aka Flyingmana", - "email": "flyingmana@googlemail.com" - }, - { - "name": "Jörg Weller", - "email": "weller@flagbit.de" - }, - { - "name": "Karl Spies", - "email": "karl.spies@gmx.net" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Tobias Vogt", - "email": "tobi@webguys.de" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" }, { - "name": "David Fuhr", - "email": "fuhr@flagbit.de" + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "Composer installer for Magento modules", - "homepage": "https://github.com/magento/magento-composer-installer", + "description": "SPDX licenses list and validation library.", "keywords": [ - "composer-installer", - "magento" + "license", + "spdx", + "validator" ], - "time": "2015-03-05 21:40:30" + "time": "2018-11-01T09:45:54+00:00" }, { - "name": "magento/zendframework1", - "version": "1.12.10", + "name": "composer/xdebug-handler", + "version": "1.3.2", "source": { "type": "git", - "url": "https://github.com/magento/zf1.git", - "reference": "d1e5cd8c9f83229bcdd9bb485c3ce25259c77884" + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "d17708133b6c276d6e42ef887a877866b909d892" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento/zf1/zipball/d1e5cd8c9f83229bcdd9bb485c3ce25259c77884", - "reference": "d1e5cd8c9f83229bcdd9bb485c3ce25259c77884", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/d17708133b6c276d6e42ef887a877866b909d892", + "reference": "d17708133b6c276d6e42ef887a877866b909d892", "shasum": "" }, "require": { - "php": ">=5.2.11" + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0" }, "require-dev": { - "phpunit/dbunit": "1.3.*", - "phpunit/phpunit": "3.7.*" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" }, "type": "library", - "extra": { - "branch-alias": { + "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" + ], + "time": "2019-01-28T20:25:53+00:00" + }, + { + "name": "container-interop/container-interop", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/container-interop.git", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "shasum": "" + }, + "require": { + "psr/container": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/Interop/Container/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "homepage": "https://github.com/container-interop/container-interop", + "time": "2017-02-14T19:40:03+00:00" + }, + { + "name": "elasticsearch/elasticsearch", + "version": "v6.1.0", + "source": { + "type": "git", + "url": "https://github.com/elastic/elasticsearch-php.git", + "reference": "b237a37b2cdf23a5a17fd3576cdea771394ad00d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/elastic/elasticsearch-php/zipball/b237a37b2cdf23a5a17fd3576cdea771394ad00d", + "reference": "b237a37b2cdf23a5a17fd3576cdea771394ad00d", + "shasum": "" + }, + "require": { + "ext-json": ">=1.3.7", + "guzzlehttp/ringphp": "~1.0", + "php": "^7.0", + "psr/log": "~1.0" + }, + "require-dev": { + "cpliakas/git-wrapper": "~1.0", + "doctrine/inflector": "^1.1", + "mockery/mockery": "0.9.4", + "phpstan/phpstan-shim": "0.8.3", + "phpunit/phpunit": "6.3.0", + "squizlabs/php_codesniffer": "3.0.2", + "symfony/finder": "^2.8", + "symfony/yaml": "^2.8" + }, + "suggest": { + "ext-curl": "*", + "monolog/monolog": "Allows for client-level logging and tracing" + }, + "type": "library", + "autoload": { + "psr-4": { + "Elasticsearch\\": "src/Elasticsearch/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Zachary Tong" + } + ], + "description": "PHP Client for Elasticsearch", + "keywords": [ + "client", + "elasticsearch", + "search" + ], + "time": "2019-01-08T18:53:46+00:00" + }, + { + "name": "guzzlehttp/ringphp", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/RingPHP.git", + "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/5e2a174052995663dd68e6b5ad838afd47dd615b", + "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b", + "shasum": "" + }, + "require": { + "guzzlehttp/streams": "~3.0", + "php": ">=5.4.0", + "react/promise": "~2.0" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-curl": "Guzzle will use specific adapters if cURL is present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Ring\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.", + "time": "2018-07-31T13:22:33+00:00" + }, + { + "name": "guzzlehttp/streams", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/streams.git", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Stream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple abstraction over streams of data", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "Guzzle", + "stream" + ], + "time": "2014-10-12T19:18:40+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "5.2.8", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2019-01-14T23:55:14+00:00" + }, + { + "name": "magento/composer", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/magento/composer.git", + "reference": "6fb9eb3dd72a5e70aa53983f132f8e1883e79978" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/magento/composer/zipball/6fb9eb3dd72a5e70aa53983f132f8e1883e79978", + "reference": "6fb9eb3dd72a5e70aa53983f132f8e1883e79978", + "shasum": "" + }, + "require": { + "composer/composer": "^1.6", + "php": "~7.1.3|~7.2.0", + "symfony/console": "~4.0.0 || ~4.1.0" + }, + "require-dev": { + "phpunit/phpunit": "~7.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Magento\\Composer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Magento composer library helps to instantiate Composer application and run composer commands.", + "time": "2018-06-29T18:46:51+00:00" + }, + { + "name": "magento/magento-composer-installer", + "version": "0.1.13", + "source": { + "type": "git", + "url": "https://github.com/magento/magento-composer-installer.git", + "reference": "8b6c32f53b4944a5d6656e86344cd0f9784709a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/magento/magento-composer-installer/zipball/8b6c32f53b4944a5d6656e86344cd0f9784709a1", + "reference": "8b6c32f53b4944a5d6656e86344cd0f9784709a1", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0" + }, + "replace": { + "magento-hackathon/magento-composer-installer": "*" + }, + "require-dev": { + "composer/composer": "*@dev", + "firegento/phpcs": "dev-patch-1", + "mikey179/vfsstream": "*", + "phpunit/phpunit": "*", + "phpunit/phpunit-mock-objects": "dev-master", + "squizlabs/php_codesniffer": "1.4.7", + "symfony/process": "*" + }, + "type": "composer-plugin", + "extra": { + "composer-command-registry": [ + "MagentoHackathon\\Composer\\Magento\\Command\\DeployCommand" + ], + "class": "MagentoHackathon\\Composer\\Magento\\Plugin" + }, + "autoload": { + "psr-0": { + "MagentoHackathon\\Composer\\Magento": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "OSL-3.0" + ], + "authors": [ + { + "name": "Vinai Kopp", + "email": "vinai@netzarbeiter.com" + }, + { + "name": "Daniel Fahlke aka Flyingmana", + "email": "flyingmana@googlemail.com" + }, + { + "name": "Jörg Weller", + "email": "weller@flagbit.de" + }, + { + "name": "Karl Spies", + "email": "karl.spies@gmx.net" + }, + { + "name": "Tobias Vogt", + "email": "tobi@webguys.de" + }, + { + "name": "David Fuhr", + "email": "fuhr@flagbit.de" + } + ], + "description": "Composer installer for Magento modules", + "homepage": "https://github.com/magento/magento-composer-installer", + "keywords": [ + "composer-installer", + "magento" + ], + "time": "2017-12-29T16:45:24+00:00" + }, + { + "name": "magento/zendframework1", + "version": "1.14.1", + "source": { + "type": "git", + "url": "https://github.com/magento/zf1.git", + "reference": "4df018254c70b5b998b00a8cb1a30760f831ff0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/magento/zf1/zipball/4df018254c70b5b998b00a8cb1a30760f831ff0d", + "reference": "4df018254c70b5b998b00a8cb1a30760f831ff0d", + "shasum": "" + }, + "require": { + "php": ">=5.2.11" + }, + "require-dev": { + "phpunit/dbunit": "1.3.*", + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "extra": { + "branch-alias": { "dev-master": "1.12.x-dev" } }, "autoload": { "psr-0": { - "Zend_": "library/" + "Zend_": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "library/" + ], + "license": [ + "BSD-3-Clause" + ], + "description": "Magento Zend Framework 1", + "homepage": "http://framework.zend.com/", + "keywords": [ + "ZF1", + "framework" + ], + "time": "2018-08-09T15:03:40+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.24.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2018-11-05T09:00:11+00:00" + }, + { + "name": "oyejorge/less.php", + "version": "v1.7.0.14", + "source": { + "type": "git", + "url": "https://github.com/oyejorge/less.php.git", + "reference": "42925c5a01a07d67ca7e82dfc8fb31814d557bc9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/oyejorge/less.php/zipball/42925c5a01a07d67ca7e82dfc8fb31814d557bc9", + "reference": "42925c5a01a07d67ca7e82dfc8fb31814d557bc9", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.24" + }, + "bin": [ + "bin/lessc" + ], + "type": "library", + "autoload": { + "psr-0": { + "Less": "lib/" + }, + "classmap": [ + "lessc.inc.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Matt Agar", + "homepage": "https://github.com/agar" + }, + { + "name": "Martin Jantošovič", + "homepage": "https://github.com/Mordred" + }, + { + "name": "Josh Schmidt", + "homepage": "https://github.com/oyejorge" + } + ], + "description": "PHP port of the Javascript version of LESS http://lesscss.org (Originally maintained by Josh Schmidt)", + "homepage": "http://lessphp.gpeasy.com", + "keywords": [ + "css", + "less", + "less.js", + "lesscss", + "php", + "stylesheet" + ], + "time": "2017-03-28T22:19:25+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.99", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "shasum": "" + }, + "require": { + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2018-07-02T15:55:56+00:00" + }, + { + "name": "paragonie/sodium_compat", + "version": "v1.8.1", + "source": { + "type": "git", + "url": "https://github.com/paragonie/sodium_compat.git", + "reference": "57bb5ef079d3724148da3d5c99e30695ab17afda" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/57bb5ef079d3724148da3d5c99e30695ab17afda", + "reference": "57bb5ef079d3724148da3d5c99e30695ab17afda", + "shasum": "" + }, + "require": { + "paragonie/random_compat": ">=1", + "php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7" + }, + "require-dev": { + "phpunit/phpunit": "^3|^4|^5" + }, + "suggest": { + "ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.", + "ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." + }, + "type": "library", + "autoload": { + "files": [ + "autoload.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Paragon Initiative", + "email": "security@paragonie.com" + }, + { + "name": "Frank Denis", + "email": "jedisct1@pureftpd.org" + } + ], + "description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists", + "keywords": [ + "Authentication", + "BLAKE2b", + "ChaCha20", + "ChaCha20-Poly1305", + "Chapoly", + "Curve25519", + "Ed25519", + "EdDSA", + "Edwards-curve Digital Signature Algorithm", + "Elliptic Curve Diffie-Hellman", + "Poly1305", + "Pure-PHP cryptography", + "RFC 7748", + "RFC 8032", + "Salpoly", + "Salsa20", + "X25519", + "XChaCha20-Poly1305", + "XSalsa20-Poly1305", + "Xchacha20", + "Xsalsa20", + "aead", + "cryptography", + "ecdh", + "elliptic curve", + "elliptic curve cryptography", + "encryption", + "libsodium", + "php", + "public-key cryptography", + "secret-key cryptography", + "side-channel resistant" + ], + "time": "2019-01-03T21:00:55+00:00" + }, + { + "name": "pelago/emogrifier", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/MyIntervals/emogrifier.git", + "reference": "8ee7fb5ad772915451ed3415c1992bd3697d4983" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MyIntervals/emogrifier/zipball/8ee7fb5ad772915451ed3415c1992bd3697d4983", + "reference": "8ee7fb5ad772915451ed3415c1992bd3697d4983", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0", + "symfony/css-selector": "^3.4.0 || ^4.0.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.2.0", + "phpmd/phpmd": "^2.6.0", + "phpunit/phpunit": "^4.8.0", + "squizlabs/php_codesniffer": "^3.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Pelago\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Reeve", + "email": "jreeve@pelagodesign.com" + }, + { + "name": "Cameron Brooks" + }, + { + "name": "Jaime Prado" + }, + { + "name": "Oliver Klee", + "email": "github@oliverklee.de" + }, + { + "name": "Zoli Szabó", + "email": "zoli.szabo+github@gmail.com" + }, + { + "name": "Jake Hotson", + "email": "jake@qzdesign.co.uk" + } + ], + "description": "Converts CSS styles into inline style attributes in your HTML code", + "homepage": "https://www.myintervals.com/emogrifier.php", + "keywords": [ + "css", + "email", + "pre-processing" + ], + "time": "2018-12-10T10:36:30+00:00" + }, + { + "name": "php-amqplib/php-amqplib", + "version": "v2.7.3", + "source": { + "type": "git", + "url": "https://github.com/php-amqplib/php-amqplib.git", + "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", + "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", + "shasum": "" + }, + "require": { + "ext-bcmath": "*", + "ext-mbstring": "*", + "php": ">=5.3.0" + }, + "replace": { + "videlalvaro/php-amqplib": "self.version" + }, + "require-dev": { + "phpdocumentor/phpdocumentor": "^2.9", + "phpunit/phpunit": "^4.8", + "scrutinizer/ocular": "^1.1", + "squizlabs/php_codesniffer": "^2.5" + }, + "suggest": { + "ext-sockets": "Use AMQPSocketConnection" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "PhpAmqpLib\\": "PhpAmqpLib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Alvaro Videla", + "role": "Original Maintainer" + }, + { + "name": "John Kelly", + "email": "johnmkelly86@gmail.com", + "role": "Maintainer" + }, + { + "name": "Raúl Araya", + "email": "nubeiro@gmail.com", + "role": "Maintainer" + } + ], + "description": "Formerly videlalvaro/php-amqplib. This library is a pure PHP implementation of the AMQP protocol. It's been tested against RabbitMQ.", + "homepage": "https://github.com/php-amqplib/php-amqplib/", + "keywords": [ + "message", + "queue", + "rabbitmq" + ], + "time": "2018-04-30T03:54:54+00:00" + }, + { + "name": "phpseclib/mcrypt_compat", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/mcrypt_compat.git", + "reference": "f74c7b1897b62f08f268184b8bb98d9d9ab723b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/mcrypt_compat/zipball/f74c7b1897b62f08f268184b8bb98d9d9ab723b0", + "reference": "f74c7b1897b62f08f268184b8bb98d9d9ab723b0", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "phpseclib/phpseclib": ">=2.0.11 <3.0.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|^5.7|^6.0" + }, + "suggest": { + "ext-openssl": "Will enable faster cryptographic operations" + }, + "type": "library", + "autoload": { + "files": [ + "lib/mcrypt.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "homepage": "http://phpseclib.sourceforge.net" + } + ], + "description": "PHP 7.1 polyfill for the mcrypt extension from PHP <= 7.0", + "keywords": [ + "cryptograpy", + "encryption", + "mcrypt" + ], + "time": "2018-08-22T03:11:43+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "2.0.14", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "8ebfcadbf30524aeb75b2c446bc2519d5b321478" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/8ebfcadbf30524aeb75b2c446bc2519d5b321478", + "reference": "8ebfcadbf30524aeb75b2c446bc2519d5b321478", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "^4.8.35|^5.7|^6.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "time": "2019-01-27T19:37:29+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2018-11-20T15:27:04+00:00" + }, + { + "name": "ramsey/uuid", + "version": "3.8.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "^1.0|^2.0|9.99.99", + "php": "^5.4 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "codeception/aspect-mock": "^1.0 | ~2.0.0", + "doctrine/annotations": "~1.2.0", + "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ~2.1.0", + "ircmaxell/random-lib": "^1.1", + "jakub-onderka/php-parallel-lint": "^0.9.0", + "mockery/mockery": "^0.9.9", + "moontoast/math": "^1.1", + "php-mock/php-mock-phpunit": "^0.3|^1.1", + "phpunit/phpunit": "^4.7|^5.0|^6.5", + "squizlabs/php_codesniffer": "^2.3" + }, + "suggest": { + "ext-ctype": "Provides support for PHP Ctype functions", + "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", + "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", + "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", + "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marijn Huizendveld", + "email": "marijn.huizendveld@gmail.com" + }, + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + }, + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", + "homepage": "https://github.com/ramsey/uuid", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "time": "2018-07-19T23:38:55+00:00" + }, + { + "name": "react/promise", + "version": "v2.7.1", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "31ffa96f8d2ed0341a57848cbb84d88b89dd664d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/31ffa96f8d2ed0341a57848cbb84d88b89dd664d", + "reference": "31ffa96f8d2ed0341a57848cbb84d88b89dd664d", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "time": "2019-01-07T21:25:54+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "time": "2018-01-24T12:46:19+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phra" + ], + "time": "2015-10-13T18:44:15+00:00" + }, + { + "name": "symfony/console", + "version": "v4.1.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "9e87c798f67dc9fceeb4f3d57847b52d945d1a02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/9e87c798f67dc9fceeb4f3d57847b52d945d1a02", + "reference": "9e87c798f67dc9fceeb4f3d57847b52d945d1a02", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "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": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2019-01-25T14:34:37+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v4.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "48eddf66950fa57996e1be4a55916d65c10c604a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/48eddf66950fa57996e1be4a55916d65c10c604a", + "reference": "48eddf66950fa57996e1be4a55916d65c10c604a", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2019-01-16T20:31:39+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v4.1.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "51be1b61dfe04d64a260223f2b81475fa8066b97" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/51be1b61dfe04d64a260223f2b81475fa8066b97", + "reference": "51be1b61dfe04d64a260223f2b81475fa8066b97", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "conflict": { + "symfony/dependency-injection": "<3.4" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "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": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2019-01-16T18:35:49+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v4.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "e16b9e471703b2c60b95f14d31c1239f68f11601" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/e16b9e471703b2c60b95f14d31c1239f68f11601", + "reference": "e16b9e471703b2c60b95f14d31c1239f68f11601", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "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": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2019-02-07T11:40:08+00:00" + }, + { + "name": "symfony/finder", + "version": "v4.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "267b7002c1b70ea80db0833c3afe05f0fbde580a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/267b7002c1b70ea80db0833c3afe05f0fbde580a", + "reference": "267b7002c1b70ea80db0833c3afe05f0fbde580a", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "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": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:42:05+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.10.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.10.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.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": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2018-09-21T13:07:52+00:00" + }, + { + "name": "symfony/process", + "version": "v4.1.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "72d838aafaa7c790330fe362b9cecec362c64629" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/72d838aafaa7c790330fe362b9cecec362c64629", + "reference": "72d838aafaa7c790330fe362b9cecec362c64629", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "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": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2019-01-16T19:07:26+00:00" + }, + { + "name": "tedivm/jshrink", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/tedious/JShrink.git", + "reference": "21254058dc3ce6aba6bef458cff4bfa25cf8b198" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tedious/JShrink/zipball/21254058dc3ce6aba6bef458cff4bfa25cf8b198", + "reference": "21254058dc3ce6aba6bef458cff4bfa25cf8b198", + "shasum": "" + }, + "require": { + "php": "^5.6|^7.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.8", + "php-coveralls/php-coveralls": "^1.1.0", + "phpunit/phpunit": "^6" + }, + "type": "library", + "autoload": { + "psr-0": { + "JShrink": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Robert Hafner", + "email": "tedivm@tedivm.com" + } + ], + "description": "Javascript Minifier built in PHP", + "homepage": "http://github.com/tedious/JShrink", + "keywords": [ + "javascript", + "minifier" + ], + "time": "2018-09-16T00:02:51+00:00" + }, + { + "name": "true/punycode", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/true/php-punycode.git", + "reference": "a4d0c11a36dd7f4e7cd7096076cab6d3378a071e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/true/php-punycode/zipball/a4d0c11a36dd7f4e7cd7096076cab6d3378a071e", + "reference": "a4d0c11a36dd7f4e7cd7096076cab6d3378a071e", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.7", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "TrueBV\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Renan Gonçalves", + "email": "renan.saddam@gmail.com" + } + ], + "description": "A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)", + "homepage": "https://github.com/true/php-punycode", + "keywords": [ + "idna", + "punycode" + ], + "time": "2016-11-16T10:37:54+00:00" + }, + { + "name": "tubalmartin/cssmin", + "version": "v4.1.1", + "source": { + "type": "git", + "url": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port.git", + "reference": "3cbf557f4079d83a06f9c3ff9b957c022d7805cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tubalmartin/YUI-CSS-compressor-PHP-port/zipball/3cbf557f4079d83a06f9c3ff9b957c022d7805cf", + "reference": "3cbf557f4079d83a06f9c3ff9b957c022d7805cf", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": ">=5.3.2" + }, + "require-dev": { + "cogpowered/finediff": "0.3.*", + "phpunit/phpunit": "4.8.*" + }, + "bin": [ + "cssmin" + ], + "type": "library", + "autoload": { + "psr-4": { + "tubalmartin\\CssMin\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Túbal Martín", + "homepage": "http://tubalmartin.me/" + } + ], + "description": "A PHP port of the YUI CSS compressor", + "homepage": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port", + "keywords": [ + "compress", + "compressor", + "css", + "cssmin", + "minify", + "yui" + ], + "time": "2018-01-15T15:26:51+00:00" + }, + { + "name": "webonyx/graphql-php", + "version": "v0.12.6", + "source": { + "type": "git", + "url": "https://github.com/webonyx/graphql-php.git", + "reference": "4c545e5ec4fc37f6eb36c19f5a0e7feaf5979c95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/4c545e5ec4fc37f6eb36c19f5a0e7feaf5979c95", + "reference": "4c545e5ec4fc37f6eb36c19f5a0e7feaf5979c95", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.6" + }, + "require-dev": { + "phpunit/phpunit": "^4.8", + "psr/http-message": "^1.0", + "react/promise": "2.*" + }, + "suggest": { + "psr/http-message": "To use standard GraphQL server", + "react/promise": "To leverage async resolving on React PHP platform" + }, + "type": "library", + "autoload": { + "psr-4": { + "GraphQL\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP port of GraphQL reference implementation", + "homepage": "https://github.com/webonyx/graphql-php", + "keywords": [ + "api", + "graphql" + ], + "time": "2018-09-02T14:59:54+00:00" + }, + { + "name": "zendframework/zend-captcha", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-captcha.git", + "reference": "37e9b6a4f632a9399eecbf2e5e325ad89083f87b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-captcha/zipball/37e9b6a4f632a9399eecbf2e5e325ad89083f87b", + "reference": "37e9b6a4f632a9399eecbf2e5e325ad89083f87b", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-math": "^2.7 || ^3.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-session": "^2.8", + "zendframework/zend-text": "^2.6", + "zendframework/zend-validator": "^2.10.1", + "zendframework/zendservice-recaptcha": "^3.0" + }, + "suggest": { + "zendframework/zend-i18n-resources": "Translations of captcha messages", + "zendframework/zend-session": "Zend\\Session component", + "zendframework/zend-text": "Zend\\Text component", + "zendframework/zend-validator": "Zend\\Validator component", + "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Captcha\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Generate and validate CAPTCHAs using Figlets, images, ReCaptcha, and more", + "keywords": [ + "ZendFramework", + "captcha", + "zf" + ], + "time": "2018-04-24T17:24:10+00:00" + }, + { + "name": "zendframework/zend-code", + "version": "3.3.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-code.git", + "reference": "c21db169075c6ec4b342149f446e7b7b724f95eb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-code/zipball/c21db169075c6ec4b342149f446e7b7b724f95eb", + "reference": "c21db169075c6ec4b342149f446e7b7b724f95eb", + "shasum": "" + }, + "require": { + "php": "^7.1", + "zendframework/zend-eventmanager": "^2.6 || ^3.0" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "ext-phar": "*", + "phpunit/phpunit": "^6.2.3", + "zendframework/zend-coding-standard": "^1.0.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "suggest": { + "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", + "zendframework/zend-stdlib": "Zend\\Stdlib component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3.x-dev", + "dev-develop": "3.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Code\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides facilities to generate arbitrary code using an object oriented interface", + "homepage": "https://github.com/zendframework/zend-code", + "keywords": [ + "code", + "zf2" + ], + "time": "2018-08-13T20:36:59+00:00" + }, + { + "name": "zendframework/zend-config", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-config.git", + "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-config/zipball/2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", + "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-i18n": "^2.5", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-i18n": "Zend\\I18n component", + "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes", + "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Config\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides a nested object property based user interface for accessing this configuration data within application code", + "homepage": "https://github.com/zendframework/zend-config", + "keywords": [ + "config", + "zf2" + ], + "time": "2016-02-04T23:01:10+00:00" + }, + { + "name": "zendframework/zend-console", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-console.git", + "reference": "e8aa08da83de3d265256c40ba45cd649115f0e18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-console/zipball/e8aa08da83de3d265256c40ba45cd649115f0e18", + "reference": "e8aa08da83de3d265256c40ba45cd649115f0e18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-filter": "^2.7.2", + "zendframework/zend-json": "^2.6 || ^3.0", + "zendframework/zend-validator": "^2.10.1" + }, + "suggest": { + "zendframework/zend-filter": "To support DefaultRouteMatcher usage", + "zendframework/zend-validator": "To support DefaultRouteMatcher usage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Console\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Build console applications using getopt syntax or routing, complete with prompts", + "keywords": [ + "ZendFramework", + "console", + "zf" + ], + "time": "2018-01-25T19:08:04+00:00" + }, + { + "name": "zendframework/zend-crypt", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-crypt.git", + "reference": "1b2f5600bf6262904167116fa67b58ab1457036d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-crypt/zipball/1b2f5600bf6262904167116fa67b58ab1457036d", + "reference": "1b2f5600bf6262904167116fa67b58ab1457036d", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "~1.0", + "php": "^5.5 || ^7.0", + "zendframework/zend-math": "^2.6", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-mcrypt": "Required for most features of Zend\\Crypt" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Crypt\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-crypt", + "keywords": [ + "crypt", + "zf2" + ], + "time": "2016-02-03T23:46:30+00:00" + }, + { + "name": "zendframework/zend-db", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-db.git", + "reference": "77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-db/zipball/77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e", + "reference": "77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.25 || ^6.4.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-hydrator": "^1.1 || ^2.1 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-eventmanager": "Zend\\EventManager component", + "zendframework/zend-hydrator": "Zend\\Hydrator component for using HydratingResultSets", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.9-dev", + "dev-develop": "2.10-dev" + }, + "zf": { + "component": "Zend\\Db", + "config-provider": "Zend\\Db\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Db\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Database abstraction layer, SQL abstraction, result set abstraction, and RowDataGateway and TableDataGateway implementations", + "keywords": [ + "ZendFramework", + "db", + "zf" + ], + "time": "2019-02-25T11:37:45+00:00" + }, + { + "name": "zendframework/zend-di", + "version": "2.6.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-di.git", + "reference": "1fd1ba85660b5a2718741b38639dc7c4c3194b37" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-di/zipball/1fd1ba85660b5a2718741b38639dc7c4c3194b37", + "reference": "1fd1ba85660b5a2718741b38639dc7c4c3194b37", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "^1.1", + "php": "^5.5 || ^7.0", + "zendframework/zend-code": "^2.6 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Di\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-di", + "keywords": [ + "di", + "zf2" + ], + "time": "2016-04-25T20:58:11+00:00" + }, + { + "name": "zendframework/zend-diactoros", + "version": "1.8.6", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-diactoros.git", + "reference": "20da13beba0dde8fb648be3cc19765732790f46e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/20da13beba0dde8fb648be3cc19765732790f46e", + "reference": "20da13beba0dde8fb648be3cc19765732790f46e", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "psr/http-message": "^1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-dom": "*", + "ext-libxml": "*", + "php-http/psr7-integration-tests": "dev-master", + "phpunit/phpunit": "^5.7.16 || ^6.0.8 || ^7.2.7", + "zendframework/zend-coding-standard": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev", + "dev-develop": "1.9.x-dev", + "dev-release-2.0": "2.0.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/marshal_uri_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php" + ], + "psr-4": { + "Zend\\Diactoros\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "description": "PSR HTTP Message implementations", + "homepage": "https://github.com/zendframework/zend-diactoros", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2018-09-05T19:29:37+00:00" + }, + { + "name": "zendframework/zend-escaper", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-escaper.git", + "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/31d8aafae982f9568287cb4dce987e6aff8fd074", + "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev", + "dev-develop": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Escaper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", + "keywords": [ + "ZendFramework", + "escaper", + "zf" + ], + "time": "2018-04-25T15:48:53+00:00" + }, + { + "name": "zendframework/zend-eventmanager", + "version": "2.6.4", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-eventmanager.git", + "reference": "d238c443220dce4b6396579c8ab2200ec25f9108" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/d238c443220dce4b6396579c8ab2200ec25f9108", + "reference": "d238c443220dce4b6396579c8ab2200ec25f9108", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7" + }, + "require-dev": { + "athletic/athletic": "dev-master", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-release-2.6": "2.6-dev", + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\EventManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-eventmanager", + "keywords": [ + "eventmanager", + "zf2" + ], + "time": "2017-12-12T17:48:56+00:00" + }, + { + "name": "zendframework/zend-feed", + "version": "2.10.3", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-feed.git", + "reference": "6641f4cf3f4586c63f83fd70b6d19966025c8888" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/6641f4cf3f4586c63f83fd70b6d19966025c8888", + "reference": "6641f4cf3f4586c63f83fd70b6d19966025c8888", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-escaper": "^2.5.2", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "psr/http-message": "^1.0.1", + "zendframework/zend-cache": "^2.7.2", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.8.2", + "zendframework/zend-http": "^2.7", + "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", + "zendframework/zend-validator": "^2.10.1" + }, + "suggest": { + "psr/http-message": "PSR-7 ^1.0.1, if you wish to use Zend\\Feed\\Reader\\Http\\Psr7ResponseDecorator", + "zendframework/zend-cache": "Zend\\Cache component, for optionally caching feeds between requests", + "zendframework/zend-db": "Zend\\Db component, for use with PubSubHubbub", + "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for easily extending ExtensionManager implementations", + "zendframework/zend-validator": "Zend\\Validator component, for validating email addresses used in Atom feeds and entries when using the Writer subcomponent" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Feed\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides functionality for consuming RSS and Atom feeds", + "keywords": [ + "ZendFramework", + "feed", + "zf" + ], + "time": "2018-08-01T13:53:20+00:00" + }, + { + "name": "zendframework/zend-filter", + "version": "2.9.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-filter.git", + "reference": "1c3e6d02f9cd5f6c929c9859498f5efbe216e86f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/1c3e6d02f9cd5f6c929c9859498f5efbe216e86f", + "reference": "1c3e6d02f9cd5f6c929c9859498f5efbe216e86f", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" + }, + "conflict": { + "zendframework/zend-validator": "<2.10.1" + }, + "require-dev": { + "pear/archive_tar": "^1.4.3", + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "psr/http-factory": "^1.0", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-crypt": "^3.2.1", + "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", + "zendframework/zend-uri": "^2.6" + }, + "suggest": { + "psr/http-factory-implementation": "psr/http-factory-implementation, for creating file upload instances when consuming PSR-7 in file upload filters", + "zendframework/zend-crypt": "Zend\\Crypt component, for encryption filters", + "zendframework/zend-i18n": "Zend\\I18n component for filters depending on i18n functionality", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for using the filter chain functionality", + "zendframework/zend-uri": "Zend\\Uri component, for the UriNormalize filter" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\Filter", + "config-provider": "Zend\\Filter\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Filter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides a set of commonly needed data filters", + "keywords": [ + "ZendFramework", + "filter", + "zf" + ], + "time": "2018-12-17T16:00:04+00:00" + }, + { + "name": "zendframework/zend-form", + "version": "2.13.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-form.git", + "reference": "c713a12ccbd43148b71c9339e171ca11e3f8a1da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-form/zipball/c713a12ccbd43148b71c9339e171ca11e3f8a1da", + "reference": "c713a12ccbd43148b71c9339e171ca11e3f8a1da", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-hydrator": "^1.1 || ^2.1 || ^3.0", + "zendframework/zend-inputfilter": "^2.8", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "phpunit/phpunit": "^5.7.23 || ^6.5.3", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-captcha": "^2.7.1", + "zendframework/zend-code": "^2.6 || ^3.0", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.8.1", + "zendframework/zend-text": "^2.6", + "zendframework/zend-validator": "^2.6", + "zendframework/zend-view": "^2.6.2", + "zendframework/zendservice-recaptcha": "^3.0.0" + }, + "suggest": { + "zendframework/zend-captcha": "^2.7.1, required for using CAPTCHA form elements", + "zendframework/zend-code": "^2.6 || ^3.0, required to use zend-form annotations support", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, reuired for zend-form annotations support", + "zendframework/zend-i18n": "^2.6, required when using zend-form view helpers", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, required to use the form factories or provide services", + "zendframework/zend-view": "^2.6.2, required for using the zend-form view helpers", + "zendframework/zendservice-recaptcha": "in order to use the ReCaptcha form element" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.13.x-dev", + "dev-develop": "2.14.x-dev" + }, + "zf": { + "component": "Zend\\Form", + "config-provider": "Zend\\Form\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Form\\": "src/" + }, + "files": [ + "autoload/formElementManagerPolyfill.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Validate and display simple and complex forms, casting forms to business objects and vice versa", + "keywords": [ + "ZendFramework", + "form", + "zf" + ], + "time": "2018-12-11T22:51:29+00:00" + }, + { + "name": "zendframework/zend-http", + "version": "2.8.4", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-http.git", + "reference": "d160aedc096be230af0fe9c31151b2b33ad4e807" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-http/zipball/d160aedc096be230af0fe9c31151b2b33ad4e807", + "reference": "d160aedc096be230af0fe9c31151b2b33ad4e807", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-loader": "^2.5.1", + "zendframework/zend-stdlib": "^3.1 || ^2.7.7", + "zendframework/zend-uri": "^2.5.2", + "zendframework/zend-validator": "^2.10.1" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^3.1 || ^2.6" + }, + "suggest": { + "paragonie/certainty": "For automated management of cacert.pem" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Http\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", + "keywords": [ + "ZendFramework", + "http", + "http client", + "zend", + "zf" + ], + "time": "2019-02-07T17:47:08+00:00" + }, + { + "name": "zendframework/zend-hydrator", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-hydrator.git", + "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/22652e1661a5a10b3f564cf7824a2206cf5a4a65", + "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "^2.0@dev", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-inputfilter": "^2.6", + "zendframework/zend-serializer": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, to support aggregate hydrator usage", + "zendframework/zend-filter": "^2.6, to support naming strategy hydrator usage", + "zendframework/zend-serializer": "^2.6.1, to use the SerializableStrategy", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, to support hydrator plugin manager usage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-release-1.0": "1.0-dev", + "dev-release-1.1": "1.1-dev", + "dev-master": "2.0-dev", + "dev-develop": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Hydrator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-hydrator", + "keywords": [ + "hydrator", + "zf2" + ], + "time": "2016-02-18T22:38:26+00:00" + }, + { + "name": "zendframework/zend-i18n", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-i18n.git", + "reference": "6d69af5a04e1a4de7250043cb1322f077a0cdb7f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/6d69af5a04e1a4de7250043cb1322f077a0cdb7f", + "reference": "6d69af5a04e1a4de7250043cb1322f077a0cdb7f", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-validator": "^2.6", + "zendframework/zend-view": "^2.6.3" + }, + "suggest": { + "ext-intl": "Required for most features of Zend\\I18n; included in default builds of PHP", + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-config": "Zend\\Config component", + "zendframework/zend-eventmanager": "You should install this package to use the events in the translator", + "zendframework/zend-filter": "You should install this package to use the provided filters", + "zendframework/zend-i18n-resources": "Translation resources", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-validator": "You should install this package to use the provided validators", + "zendframework/zend-view": "You should install this package to use the provided view helpers" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\I18n", + "config-provider": "Zend\\I18n\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\I18n\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Provide translations for your application, and filter and validate internationalized values", + "keywords": [ + "ZendFramework", + "i18n", + "zf" + ], + "time": "2018-05-16T16:39:13+00:00" + }, + { + "name": "zendframework/zend-inputfilter", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-inputfilter.git", + "reference": "4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-inputfilter/zipball/4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c", + "reference": "4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-filter": "^2.9.1", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.3.1", + "zendframework/zend-stdlib": "^2.7 || ^3.0", + "zendframework/zend-validator": "^2.11" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "psr/http-message": "^1.0", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "suggest": { + "psr/http-message-implementation": "PSR-7 is required if you wish to validate PSR-7 UploadedFileInterface payloads" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + }, + "zf": { + "component": "Zend\\InputFilter", + "config-provider": "Zend\\InputFilter\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\InputFilter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Normalize and validate input sets from the web, APIs, the CLI, and more, including files", + "keywords": [ + "ZendFramework", + "inputfilter", + "zf" + ], + "time": "2019-01-30T16:58:51+00:00" + }, + { + "name": "zendframework/zend-json", + "version": "2.6.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-json.git", + "reference": "4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-json/zipball/4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28", + "reference": "4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-server": "^2.6.1", + "zendframework/zend-stdlib": "^2.5 || ^3.0", + "zendframework/zendxml": "^1.0.2" + }, + "suggest": { + "zendframework/zend-http": "Zend\\Http component, required to use Zend\\Json\\Server", + "zendframework/zend-server": "Zend\\Server component, required to use Zend\\Json\\Server", + "zendframework/zend-stdlib": "Zend\\Stdlib component, for use with caching Zend\\Json\\Server responses", + "zendframework/zendxml": "To support Zend\\Json\\Json::fromXml() usage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Json\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP", + "homepage": "https://github.com/zendframework/zend-json", + "keywords": [ + "json", + "zf2" + ], + "time": "2016-02-04T21:20:26+00:00" + }, + { + "name": "zendframework/zend-loader", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-loader.git", + "reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/78f11749ea340f6ca316bca5958eef80b38f9b6c", + "reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev", + "dev-develop": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Loader\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Autoloading and plugin loading strategies", + "keywords": [ + "ZendFramework", + "loader", + "zf" + ], + "time": "2018-04-30T15:20:54+00:00" + }, + { + "name": "zendframework/zend-log", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-log.git", + "reference": "9cec3b092acb39963659c2f32441cccc56b3f430" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-log/zipball/9cec3b092acb39963659c2f32441cccc56b3f430", + "reference": "9cec3b092acb39963659c2f32441cccc56b3f430", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "psr/log": "^1.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^5.7.15 || ^6.0.8", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.6", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-filter": "^2.5", + "zendframework/zend-mail": "^2.6.1", + "zendframework/zend-validator": "^2.10.1" + }, + "suggest": { + "ext-mongo": "mongo extension to use Mongo writer", + "ext-mongodb": "mongodb extension to use MongoDB writer", + "zendframework/zend-console": "Zend\\Console component to use the RequestID log processor", + "zendframework/zend-db": "Zend\\Db component to use the database log writer", + "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML log formatter", + "zendframework/zend-mail": "Zend\\Mail component to use the email log writer", + "zendframework/zend-validator": "Zend\\Validator component to block invalid log messages" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + }, + "zf": { + "component": "Zend\\Log", + "config-provider": "Zend\\Log\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Log\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "component for general purpose logging", + "homepage": "https://github.com/zendframework/zend-log", + "keywords": [ + "log", + "logging", + "zf2" + ], + "time": "2018-04-09T21:59:51+00:00" + }, + { + "name": "zendframework/zend-mail", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-mail.git", + "reference": "d7beb63d5f7144a21ac100072c453e63860cdab8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-mail/zipball/d7beb63d5f7144a21ac100072c453e63860cdab8", + "reference": "d7beb63d5f7144a21ac100072c453e63860cdab8", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": "^5.6 || ^7.0", + "true/punycode": "^2.1", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-mime": "^2.5", + "zendframework/zend-stdlib": "^2.7 || ^3.0", + "zendframework/zend-validator": "^2.10.2" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.25 || ^6.4.4 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-crypt": "^2.6 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.3.1" + }, + "suggest": { + "zendframework/zend-crypt": "Crammd5 support in SMTP Auth", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.3.1 when using SMTP to deliver messages" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + }, + "zf": { + "component": "Zend\\Mail", + "config-provider": "Zend\\Mail\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Mail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Provides generalized functionality to compose and send both text and MIME-compliant multipart e-mail messages", + "keywords": [ + "ZendFramework", + "mail", + "zf" + ], + "time": "2018-06-07T13:37:07+00:00" + }, + { + "name": "zendframework/zend-math", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-math.git", + "reference": "1abce074004dacac1a32cd54de94ad47ef960d38" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-math/zipball/1abce074004dacac1a32cd54de94ad47ef960d38", + "reference": "1abce074004dacac1a32cd54de94ad47ef960d38", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "ircmaxell/random-lib": "~1.1", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-bcmath": "If using the bcmath functionality", + "ext-gmp": "If using the gmp functionality", + "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if Mcrypt extensions is unavailable" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-math", + "keywords": [ + "math", + "zf2" + ], + "time": "2018-12-04T15:34:17+00:00" + }, + { + "name": "zendframework/zend-mime", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-mime.git", + "reference": "52ae5fa9f12845cae749271034a2d594f0e4c6f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-mime/zipball/52ae5fa9f12845cae749271034a2d594f0e4c6f2", + "reference": "52ae5fa9f12845cae749271034a2d594f0e4c6f2", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.21 || ^6.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-mail": "^2.6" + }, + "suggest": { + "zendframework/zend-mail": "Zend\\Mail component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Mime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Create and parse MIME messages and parts", + "homepage": "https://github.com/zendframework/zend-mime", + "keywords": [ + "ZendFramework", + "mime", + "zf" + ], + "time": "2018-05-14T19:02:50+00:00" + }, + { + "name": "zendframework/zend-modulemanager", + "version": "2.8.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-modulemanager.git", + "reference": "394df6e12248ac430a312d4693f793ee7120baa6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/394df6e12248ac430a312d4693f793ee7120baa6", + "reference": "394df6e12248ac430a312d4693f793ee7120baa6", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-config": "^3.1 || ^2.6", + "zendframework/zend-eventmanager": "^3.2 || ^2.6.3", + "zendframework/zend-stdlib": "^3.1 || ^2.7" + }, + "require-dev": { + "phpunit/phpunit": "^6.0.8 || ^5.7.15", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-console": "^2.6", + "zendframework/zend-di": "^2.6", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-mvc": "^3.0 || ^2.7", + "zendframework/zend-servicemanager": "^3.0.3 || ^2.7.5" + }, + "suggest": { + "zendframework/zend-console": "Zend\\Console component", + "zendframework/zend-loader": "Zend\\Loader component if you are not using Composer autoloading for your modules", + "zendframework/zend-mvc": "Zend\\Mvc component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\ModuleManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Modular application system for zend-mvc applications", + "homepage": "https://github.com/zendframework/zend-modulemanager", + "keywords": [ + "ZendFramework", + "modulemanager", + "zf" + ], + "time": "2017-12-02T06:11:18+00:00" + }, + { + "name": "zendframework/zend-mvc", + "version": "2.7.15", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-mvc.git", + "reference": "a8d45689d37a9e4ff4b75ea0b7478fa3d4f9c089" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-mvc/zipball/a8d45689d37a9e4ff4b75ea0b7478fa3d4f9c089", + "reference": "a8d45689d37a9e4ff4b75ea0b7478fa3d4f9c089", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "^1.1", + "php": "^5.5 || ^7.0", + "zendframework/zend-console": "^2.7", + "zendframework/zend-eventmanager": "^2.6.4 || ^3.0", + "zendframework/zend-form": "^2.11", + "zendframework/zend-hydrator": "^1.1 || ^2.4", + "zendframework/zend-psr7bridge": "^0.2", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7.5 || ^3.0" + }, + "replace": { + "zendframework/zend-router": "^2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "^4.8.36", + "sebastian/comparator": "^1.2.4", + "sebastian/version": "^1.0.4", + "zendframework/zend-authentication": "^2.6", + "zendframework/zend-cache": "^2.8", + "zendframework/zend-di": "^2.6", + "zendframework/zend-filter": "^2.8", + "zendframework/zend-http": "^2.8", + "zendframework/zend-i18n": "^2.8", + "zendframework/zend-inputfilter": "^2.8", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-log": "^2.9.3", + "zendframework/zend-modulemanager": "^2.8", + "zendframework/zend-serializer": "^2.8", + "zendframework/zend-session": "^2.8.1", + "zendframework/zend-text": "^2.7", + "zendframework/zend-uri": "^2.6", + "zendframework/zend-validator": "^2.10", + "zendframework/zend-view": "^2.9" + }, + "suggest": { + "zendframework/zend-authentication": "Zend\\Authentication component for Identity plugin", + "zendframework/zend-config": "Zend\\Config component", + "zendframework/zend-di": "Zend\\Di component", + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-i18n": "Zend\\I18n component for translatable segments", + "zendframework/zend-inputfilter": "Zend\\Inputfilter component", + "zendframework/zend-json": "Zend\\Json component", + "zendframework/zend-log": "Zend\\Log component", + "zendframework/zend-modulemanager": "Zend\\ModuleManager component", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager-di": "^1.0.1, if using zend-servicemanager v3 and requiring the zend-di integration", + "zendframework/zend-session": "Zend\\Session component for FlashMessenger, PRG, and FPRG plugins", + "zendframework/zend-text": "Zend\\Text component", + "zendframework/zend-uri": "Zend\\Uri component", + "zendframework/zend-validator": "Zend\\Validator component", + "zendframework/zend-view": "Zend\\View component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "3.0-dev" + } + }, + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Zend\\Mvc\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-mvc", + "keywords": [ + "mvc", + "zf2" + ], + "time": "2018-05-03T13:13:41+00:00" + }, + { + "name": "zendframework/zend-psr7bridge", + "version": "0.2.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-psr7bridge.git", + "reference": "86c0b53b0c6381391c4add4a93a56e51d5c74605" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-psr7bridge/zipball/86c0b53b0c6381391c4add4a93a56e51d5c74605", + "reference": "86c0b53b0c6381391c4add4a93a56e51d5c74605", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "psr/http-message": "^1.0", + "zendframework/zend-diactoros": "^1.1", + "zendframework/zend-http": "^2.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.7", + "squizlabs/php_codesniffer": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev", + "dev-develop": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Psr7Bridge\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "PSR-7 <-> Zend\\Http bridge", + "homepage": "https://github.com/zendframework/zend-psr7bridge", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2016-05-10T21:44:39+00:00" + }, + { + "name": "zendframework/zend-serializer", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-serializer.git", + "reference": "0172690db48d8935edaf625c4cba38b79719892c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/0172690db48d8935edaf625c4cba38b79719892c", + "reference": "0172690db48d8935edaf625c4cba38b79719892c", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-json": "^2.5 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.25 || ^6.4.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-math": "^2.6 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-math": "(^2.6 || ^3.0) To support Python Pickle serialization", + "zendframework/zend-servicemanager": "(^2.7.5 || ^3.0.3) To support plugin manager support" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\Serializer", + "config-provider": "Zend\\Serializer\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Serializer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides an adapter based interface to simply generate storable representation of PHP types by different facilities, and recover", + "keywords": [ + "ZendFramework", + "serializer", + "zf" + ], + "time": "2018-05-14T18:45:18+00:00" + }, + { + "name": "zendframework/zend-server", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-server.git", + "reference": "23a2e9a5599c83c05da831cb7c649e8a7809595e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-server/zipball/23a2e9a5599c83c05da831cb7c649e8a7809595e", + "reference": "23a2e9a5599c83c05da831cb7c649e8a7809595e", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-code": "^2.5 || ^3.0", + "zendframework/zend-stdlib": "^2.5 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Create Reflection-based RPC servers", + "keywords": [ + "ZendFramework", + "server", + "zf" + ], + "time": "2018-04-30T22:21:28+00:00" + }, + { + "name": "zendframework/zend-servicemanager", + "version": "2.7.11", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-servicemanager.git", + "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/99ec9ed5d0f15aed9876433c74c2709eb933d4c7", + "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "~1.0", + "php": "^5.5 || ^7.0" + }, + "require-dev": { + "athletic/athletic": "dev-master", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-di": "~2.5", + "zendframework/zend-mvc": "~2.5" + }, + "suggest": { + "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services", + "zendframework/zend-di": "Zend\\Di component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\ServiceManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-servicemanager", + "keywords": [ + "servicemanager", + "zf2" + ], + "time": "2018-06-22T14:49:54+00:00" + }, + { + "name": "zendframework/zend-session", + "version": "2.8.5", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-session.git", + "reference": "2cfd90e1a2f6b066b9f908599251d8f64f07021b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-session/zipball/2cfd90e1a2f6b066b9f908599251d8f64f07021b", + "reference": "2cfd90e1a2f6b066b9f908599251d8f64f07021b", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "container-interop/container-interop": "^1.1", + "mongodb/mongodb": "^1.0.1", + "php-mock/php-mock-phpunit": "^1.1.2 || ^2.0", + "phpunit/phpunit": "^5.7.5 || >=6.0.13 <6.5.0", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.7", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-validator": "^2.6" + }, + "suggest": { + "mongodb/mongodb": "If you want to use the MongoDB session save handler", + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-db": "Zend\\Db component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-validator": "Zend\\Validator component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev", + "dev-develop": "2.9-dev" + }, + "zf": { + "component": "Zend\\Session", + "config-provider": "Zend\\Session\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Session\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "manage and preserve session data, a logical complement of cookie data, across multiple page requests by the same client", + "keywords": [ + "ZendFramework", + "session", + "zf" + ], + "time": "2018-02-22T16:33:54+00:00" + }, + { + "name": "zendframework/zend-soap", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-soap.git", + "reference": "af03c32f0db2b899b3df8cfe29aeb2b49857d284" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-soap/zipball/af03c32f0db2b899b3df8cfe29aeb2b49857d284", + "reference": "af03c32f0db2b899b3df8cfe29aeb2b49857d284", + "shasum": "" + }, + "require": { + "ext-soap": "*", + "php": "^5.6 || ^7.0", + "zendframework/zend-server": "^2.6.1", + "zendframework/zend-stdlib": "^2.7 || ^3.0", + "zendframework/zend-uri": "^2.5.2" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.21 || ^6.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-http": "^2.5.4" + }, + "suggest": { + "zendframework/zend-http": "Zend\\Http component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Soap\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-soap", + "keywords": [ + "soap", + "zf2" + ], + "time": "2018-01-29T17:51:26+00:00" + }, + { + "name": "zendframework/zend-stdlib", + "version": "2.7.7", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-stdlib.git", + "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/0e44eb46788f65e09e077eb7f44d2659143bcc1f", + "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-hydrator": "~1.1" + }, + "require-dev": { + "athletic/athletic": "~0.1", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-config": "~2.5", + "zendframework/zend-eventmanager": "~2.5", + "zendframework/zend-filter": "~2.5", + "zendframework/zend-inputfilter": "~2.5", + "zendframework/zend-serializer": "~2.5", + "zendframework/zend-servicemanager": "~2.5" + }, + "suggest": { + "zendframework/zend-eventmanager": "To support aggregate hydrator usage", + "zendframework/zend-filter": "To support naming strategy hydrator usage", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-release-2.7": "2.7-dev", + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Stdlib\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-stdlib", + "keywords": [ + "stdlib", + "zf2" + ], + "time": "2016-04-12T21:17:31+00:00" + }, + { + "name": "zendframework/zend-text", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-text.git", + "reference": "ca987dd4594f5f9508771fccd82c89bc7fbb39ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-text/zipball/ca987dd4594f5f9508771fccd82c89bc7fbb39ac", + "reference": "ca987dd4594f5f9508771fccd82c89bc7fbb39ac", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Text\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Create FIGlets and text-based tables", + "keywords": [ + "ZendFramework", + "text", + "zf" + ], + "time": "2018-04-30T14:55:10+00:00" + }, + { + "name": "zendframework/zend-uri", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-uri.git", + "reference": "b2785cd38fe379a784645449db86f21b7739b1ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-uri/zipball/b2785cd38fe379a784645449db86f21b7739b1ee", + "reference": "b2785cd38fe379a784645449db86f21b7739b1ee", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-validator": "^2.10" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Uri\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", + "keywords": [ + "ZendFramework", + "uri", + "zf" + ], + "time": "2019-02-27T21:39:04+00:00" + }, + { + "name": "zendframework/zend-validator", + "version": "2.11.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-validator.git", + "reference": "3c28dfe4e5951ba38059cea895244d9d206190b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/3c28dfe4e5951ba38059cea895244d9d206190b3", + "reference": "3c28dfe4e5951ba38059cea895244d9d206190b3", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "^1.1", + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7.6 || ^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.0.8 || ^5.7.15", + "psr/http-message": "^1.0", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-db": "^2.7", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-math": "^2.6", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.8", + "zendframework/zend-uri": "^2.5" + }, + "suggest": { + "psr/http-message": "psr/http-message, required when validating PSR-7 UploadedFileInterface instances via the Upload and UploadFile validators", + "zendframework/zend-db": "Zend\\Db component, required by the (No)RecordExists validator", + "zendframework/zend-filter": "Zend\\Filter component, required by the Digits validator", + "zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages", + "zendframework/zend-i18n-resources": "Translations of validator messages", + "zendframework/zend-math": "Zend\\Math component, required by the Csrf validator", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", + "zendframework/zend-session": "Zend\\Session component, ^2.8; required by the Csrf validator", + "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.11.x-dev", + "dev-develop": "2.12.x-dev" + }, + "zf": { + "component": "Zend\\Validator", + "config-provider": "Zend\\Validator\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Validator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides a set of commonly needed validators", + "homepage": "https://github.com/zendframework/zend-validator", + "keywords": [ + "validator", + "zf2" + ], + "time": "2019-01-29T22:26:39+00:00" + }, + { + "name": "zendframework/zend-view", + "version": "2.10.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-view.git", + "reference": "c1a3f2043fb75b5983ab9adfc369ae396601be7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-view/zipball/c1a3f2043fb75b5983ab9adfc369ae396601be7e", + "reference": "c1a3f2043fb75b5983ab9adfc369ae396601be7e", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.15 || ^6.0.8", + "zendframework/zend-authentication": "^2.5", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-console": "^2.6", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-feed": "^2.7", + "zendframework/zend-filter": "^2.6.1", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-log": "^2.7", + "zendframework/zend-modulemanager": "^2.7.1", + "zendframework/zend-mvc": "^2.7.14 || ^3.0", + "zendframework/zend-navigation": "^2.5", + "zendframework/zend-paginator": "^2.5", + "zendframework/zend-permissions-acl": "^2.6", + "zendframework/zend-router": "^3.0.1", + "zendframework/zend-serializer": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.8.1", + "zendframework/zend-uri": "^2.5" + }, + "suggest": { + "zendframework/zend-authentication": "Zend\\Authentication component", + "zendframework/zend-escaper": "Zend\\Escaper component", + "zendframework/zend-feed": "Zend\\Feed component", + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-i18n": "Zend\\I18n component", + "zendframework/zend-mvc": "Zend\\Mvc component", + "zendframework/zend-mvc-plugin-flashmessenger": "zend-mvc-plugin-flashmessenger component, if you want to use the FlashMessenger view helper with zend-mvc versions 3 and up", + "zendframework/zend-navigation": "Zend\\Navigation component", + "zendframework/zend-paginator": "Zend\\Paginator component", + "zendframework/zend-permissions-acl": "Zend\\Permissions\\Acl component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-uri": "Zend\\Uri component" + }, + "bin": [ + "bin/templatemap_generator.php" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\View\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides a system of helpers, output filters, and variable escaping", + "homepage": "https://github.com/zendframework/zend-view", + "keywords": [ + "view", + "zf2" + ], + "time": "2018-12-06T21:20:01+00:00" + } + ], + "packages-dev": [ + { + "name": "allure-framework/allure-codeception", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/allure-framework/allure-codeception.git", + "reference": "9d31d781b3622b028f1f6210bc76ba88438bd518" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/allure-framework/allure-codeception/zipball/9d31d781b3622b028f1f6210bc76ba88438bd518", + "reference": "9d31d781b3622b028f1f6210bc76ba88438bd518", + "shasum": "" + }, + "require": { + "allure-framework/allure-php-api": "~1.1.0", + "codeception/codeception": "~2.1", + "php": ">=5.4.0", + "symfony/filesystem": ">=2.6", + "symfony/finder": ">=2.6" + }, + "type": "library", + "autoload": { + "psr-0": { + "Yandex": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Ivan Krutov", + "email": "vania-pooh@yandex-team.ru", + "role": "Developer" + } + ], + "description": "A Codeception adapter for Allure report.", + "homepage": "http://allure.qatools.ru/", + "keywords": [ + "allure", + "attachments", + "cases", + "codeception", + "report", + "steps", + "testing" + ], + "time": "2018-12-18T19:47:23+00:00" + }, + { + "name": "allure-framework/allure-php-api", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/allure-framework/allure-php-adapter-api.git", + "reference": "a462a0da121681577033e13c123b6cc4e89cdc64" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/allure-framework/allure-php-adapter-api/zipball/a462a0da121681577033e13c123b6cc4e89cdc64", + "reference": "a462a0da121681577033e13c123b6cc4e89cdc64", + "shasum": "" + }, + "require": { + "jms/serializer": ">=0.16.0", + "moontoast/math": ">=1.1.0", + "php": ">=5.4.0", + "phpunit/phpunit": ">=4.0.0", + "ramsey/uuid": ">=3.0.0", + "symfony/http-foundation": ">=2.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Yandex": [ + "src/", + "test/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Ivan Krutov", + "email": "vania-pooh@yandex-team.ru", + "role": "Developer" + } + ], + "description": "PHP API for Allure adapter", + "homepage": "http://allure.qatools.ru/", + "keywords": [ + "allure", + "api", + "php", + "report" + ], + "time": "2016-12-07T12:15:46+00:00" + }, + { + "name": "allure-framework/allure-phpunit", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/allure-framework/allure-phpunit.git", + "reference": "45504aeba41304cf155a898fa9ac1aae79f4a089" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/allure-framework/allure-phpunit/zipball/45504aeba41304cf155a898fa9ac1aae79f4a089", + "reference": "45504aeba41304cf155a898fa9ac1aae79f4a089", + "shasum": "" + }, + "require": { + "allure-framework/allure-php-api": "~1.1.0", + "mikey179/vfsstream": "1.*", + "php": ">=7.0.0", + "phpunit/phpunit": ">=6.0.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Yandex": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Ivan Krutov", + "email": "vania-pooh@yandex-team.ru", + "role": "Developer" + } + ], + "description": "A PHPUnit adapter for Allure report.", + "homepage": "http://allure.qatools.ru/", + "keywords": [ + "allure", + "attachments", + "cases", + "phpunit", + "report", + "steps", + "testing" + ], + "time": "2017-11-03T13:08:21+00:00" + }, + { + "name": "behat/gherkin", + "version": "v4.6.0", + "source": { + "type": "git", + "url": "https://github.com/Behat/Gherkin.git", + "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/ab0a02ea14893860bca00f225f5621d351a3ad07", + "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07", + "shasum": "" + }, + "require": { + "php": ">=5.3.1" + }, + "require-dev": { + "phpunit/phpunit": "~4.5|~5", + "symfony/phpunit-bridge": "~2.7|~3|~4", + "symfony/yaml": "~2.3|~3|~4" + }, + "suggest": { + "symfony/yaml": "If you want to parse features, represented in YAML files" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.4-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Gherkin": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Gherkin DSL parser for PHP 5.3", + "homepage": "http://behat.org/", + "keywords": [ + "BDD", + "Behat", + "Cucumber", + "DSL", + "gherkin", + "parser" + ], + "time": "2019-01-16T14:22:17+00:00" + }, + { + "name": "codeception/codeception", + "version": "2.4.5", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Codeception.git", + "reference": "5fee32d5c82791548931cbc34806b4de6aa1abfc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/5fee32d5c82791548931cbc34806b4de6aa1abfc", + "reference": "5fee32d5c82791548931cbc34806b4de6aa1abfc", + "shasum": "" + }, + "require": { + "behat/gherkin": "^4.4.0", + "codeception/phpunit-wrapper": "^6.0.9|^7.0.6", + "codeception/stub": "^2.0", + "ext-json": "*", + "ext-mbstring": "*", + "facebook/webdriver": ">=1.1.3 <2.0", + "guzzlehttp/guzzle": ">=4.1.4 <7.0", + "guzzlehttp/psr7": "~1.0", + "php": ">=5.6.0 <8.0", + "symfony/browser-kit": ">=2.7 <5.0", + "symfony/console": ">=2.7 <5.0", + "symfony/css-selector": ">=2.7 <5.0", + "symfony/dom-crawler": ">=2.7 <5.0", + "symfony/event-dispatcher": ">=2.7 <5.0", + "symfony/finder": ">=2.7 <5.0", + "symfony/yaml": ">=2.7 <5.0" + }, + "require-dev": { + "codeception/specify": "~0.3", + "facebook/graph-sdk": "~5.3", + "flow/jsonpath": "~0.2", + "monolog/monolog": "~1.8", + "pda/pheanstalk": "~3.0", + "php-amqplib/php-amqplib": "~2.4", + "predis/predis": "^1.0", + "squizlabs/php_codesniffer": "~2.0", + "symfony/process": ">=2.7 <5.0", + "vlucas/phpdotenv": "^2.4.0" + }, + "suggest": { + "aws/aws-sdk-php": "For using AWS Auth in REST module and Queue module", + "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests", + "codeception/specify": "BDD-style code blocks", + "codeception/verify": "BDD-style assertions", + "flow/jsonpath": "For using JSONPath in REST module", + "league/factory-muffin": "For DataFactory module", + "league/factory-muffin-faker": "For Faker support in DataFactory module", + "phpseclib/phpseclib": "for SFTP option in FTP Module", + "stecman/symfony-console-completion": "For BASH autocompletion", + "symfony/phpunit-bridge": "For phpunit-bridge support" + }, + "bin": [ + "codecept" + ], + "type": "library", + "extra": { + "branch-alias": [] + }, + "autoload": { + "psr-4": { + "Codeception\\": "src\\Codeception", + "Codeception\\Extension\\": "ext" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Bodnarchuk", + "email": "davert@mail.ua", + "homepage": "http://codegyre.com" + } + ], + "description": "BDD-style testing framework", + "homepage": "http://codeception.com/", + "keywords": [ + "BDD", + "TDD", + "acceptance testing", + "functional testing", + "unit testing" + ], + "time": "2018-08-01T07:21:49+00:00" + }, + { + "name": "codeception/phpunit-wrapper", + "version": "6.6.1", + "source": { + "type": "git", + "url": "https://github.com/Codeception/phpunit-wrapper.git", + "reference": "d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c", + "reference": "d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c", + "shasum": "" + }, + "require": { + "phpunit/php-code-coverage": ">=4.0.4 <6.0", + "phpunit/phpunit": ">=6.5.13 <7.0", + "sebastian/comparator": ">=1.2.4 <3.0", + "sebastian/diff": ">=1.4 <4.0" + }, + "replace": { + "codeception/phpunit-wrapper": "*" + }, + "require-dev": { + "codeception/specify": "*", + "vlucas/phpdotenv": "^3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\PHPUnit\\": "src\\" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Davert", + "email": "davert.php@resend.cc" + } + ], + "description": "PHPUnit classes used by Codeception", + "time": "2019-02-26T20:47:39+00:00" + }, + { + "name": "codeception/stub", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Stub.git", + "reference": "853657f988942f7afb69becf3fd0059f192c705a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Stub/zipball/853657f988942f7afb69becf3fd0059f192c705a", + "reference": "853657f988942f7afb69becf3fd0059f192c705a", + "shasum": "" + }, + "require": { + "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", + "time": "2019-03-02T15:35:10+00:00" + }, + { + "name": "consolidation/annotated-command", + "version": "2.11.2", + "source": { + "type": "git", + "url": "https://github.com/consolidation/annotated-command.git", + "reference": "004af26391cd7d1cd04b0ac736dc1324d1b4f572" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/004af26391cd7d1cd04b0ac736dc1324d1b4f572", + "reference": "004af26391cd7d1cd04b0ac736dc1324d1b4f572", + "shasum": "" + }, + "require": { + "consolidation/output-formatters": "^3.4", + "php": ">=5.4.5", + "psr/log": "^1", + "symfony/console": "^2.8|^3|^4", + "symfony/event-dispatcher": "^2.5|^3|^4", + "symfony/finder": "^2.5|^3|^4" + }, + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^6", + "squizlabs/php_codesniffer": "^2.7" + }, + "type": "library", + "extra": { + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + }, + "phpunit4": { + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\AnnotatedCommand\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Initialize Symfony Console commands from annotated command class methods.", + "time": "2019-02-02T02:29:53+00:00" + }, + { + "name": "consolidation/config", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/config.git", + "reference": "cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/config/zipball/cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1", + "reference": "cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^1.1.0", + "grasmash/expander": "^1", + "php": ">=5.4.0" + }, + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^5", + "squizlabs/php_codesniffer": "2.*", + "symfony/console": "^2.5|^3|^4", + "symfony/yaml": "^2.8.11|^3|^4" + }, + "suggest": { + "symfony/yaml": "Required to use Consolidation\\Config\\Loader\\YamlConfigLoader" + }, + "type": "library", + "extra": { + "scenarios": { + "symfony4": { + "require-dev": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require-dev": { + "symfony/console": "^2.8", + "symfony/event-dispatcher": "^2.8", + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Provide configuration services for a commandline tool.", + "time": "2019-03-03T19:37:04+00:00" + }, + { + "name": "consolidation/log", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/log.git", + "reference": "b2e887325ee90abc96b0a8b7b474cd9e7c896e3a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/log/zipball/b2e887325ee90abc96b0a8b7b474cd9e7c896e3a", + "reference": "b2e887325ee90abc96b0a8b7b474cd9e7c896e3a", + "shasum": "" + }, + "require": { + "php": ">=5.4.5", + "psr/log": "^1.0", + "symfony/console": "^2.8|^3|^4" + }, + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^6", + "squizlabs/php_codesniffer": "^2" + }, + "type": "library", + "extra": { + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + }, + "phpunit4": { + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Improved Psr-3 / Psr\\Log logger based on Symfony Console components.", + "time": "2019-01-01T17:30:51+00:00" + }, + { + "name": "consolidation/output-formatters", + "version": "3.4.0", + "source": { + "type": "git", + "url": "https://github.com/consolidation/output-formatters.git", + "reference": "a942680232094c4a5b21c0b7e54c20cce623ae19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/a942680232094c4a5b21c0b7e54c20cce623ae19", + "reference": "a942680232094c4a5b21c0b7e54c20cce623ae19", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4.0", + "symfony/console": "^2.8|^3|^4", + "symfony/finder": "^2.5|^3|^4" + }, + "require-dev": { + "g1a/composer-test-scenarios": "^2", + "phpunit/phpunit": "^5.7.27", + "satooshi/php-coveralls": "^2", + "squizlabs/php_codesniffer": "^2.7", + "symfony/console": "3.2.3", + "symfony/var-dumper": "^2.8|^3|^4", + "victorjonsson/markdowndocs": "^1.3" + }, + "suggest": { + "symfony/var-dumper": "For using the var_dump formatter" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\OutputFormatters\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Format text by applying transformations provided by plug-in formatters.", + "time": "2018-10-19T22:35:38+00:00" + }, + { + "name": "consolidation/robo", + "version": "1.4.6", + "source": { + "type": "git", + "url": "https://github.com/consolidation/Robo.git", + "reference": "d4805a1abbc730e9a6d64ede2eba56f91a2b4eb3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/Robo/zipball/d4805a1abbc730e9a6d64ede2eba56f91a2b4eb3", + "reference": "d4805a1abbc730e9a6d64ede2eba56f91a2b4eb3", + "shasum": "" + }, + "require": { + "consolidation/annotated-command": "^2.10.2", + "consolidation/config": "^1.0.10", + "consolidation/log": "~1", + "consolidation/output-formatters": "^3.1.13", + "consolidation/self-update": "^1", + "grasmash/yaml-expander": "^1.3", + "league/container": "^2.2", + "php": ">=5.5.0", + "symfony/console": "^2.8|^3|^4", + "symfony/event-dispatcher": "^2.5|^3|^4", + "symfony/filesystem": "^2.5|^3|^4", + "symfony/finder": "^2.5|^3|^4", + "symfony/process": "^2.5|^3|^4" + }, + "replace": { + "codegyre/robo": "< 1.0" + }, + "require-dev": { + "codeception/aspect-mock": "^1|^2.1.1", + "codeception/base": "^2.3.7", + "codeception/verify": "^0.3.2", + "g1a/composer-test-scenarios": "^3", + "goaop/framework": "~2.1.2", + "goaop/parser-reflection": "^1.1.0", + "natxet/cssmin": "3.0.4", + "nikic/php-parser": "^3.1.5", + "patchwork/jsqueeze": "~2", + "pear/archive_tar": "^1.4.4", + "php-coveralls/php-coveralls": "^1", + "phpunit/php-code-coverage": "~2|~4", + "squizlabs/php_codesniffer": "^2.8" + }, + "suggest": { + "henrikbjorn/lurker": "For monitoring filesystem changes in taskWatch", + "natxet/CssMin": "For minifying CSS files in taskMinify", + "patchwork/jsqueeze": "For minifying JS files in taskMinify", + "pear/archive_tar": "Allows tar archives to be created and extracted in taskPack and taskExtract, respectively." + }, + "bin": [ + "robo" + ], + "type": "library", + "extra": { + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "remove": [ + "goaop/framework" + ], + "config": { + "platform": { + "php": "5.5.9" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + } + }, + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Robo\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Davert", + "email": "davert.php@resend.cc" + } + ], + "description": "Modern task runner", + "time": "2019-02-17T05:32:27+00:00" + }, + { + "name": "consolidation/self-update", + "version": "1.1.5", + "source": { + "type": "git", + "url": "https://github.com/consolidation/self-update.git", + "reference": "a1c273b14ce334789825a09d06d4c87c0a02ad54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/self-update/zipball/a1c273b14ce334789825a09d06d4c87c0a02ad54", + "reference": "a1c273b14ce334789825a09d06d4c87c0a02ad54", + "shasum": "" + }, + "require": { + "php": ">=5.5.0", + "symfony/console": "^2.8|^3|^4", + "symfony/filesystem": "^2.5|^3|^4" + }, + "bin": [ + "scripts/release" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "SelfUpdate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + }, + { + "name": "Alexander Menk", + "email": "menk@mestrona.net" + } + ], + "description": "Provides a self:update command for Symfony Console applications.", + "time": "2018-10-28T01:52:03+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/3fbd874921ab2c041e899d044585a2ab9795df8a", + "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Dflydev\\DotAccessData": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "time": "2017-01-20T21:14:22+00:00" + }, + { + "name": "doctrine/annotations", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2017-12-06T07:11:42+00:00" + }, + { + "name": "doctrine/collections", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "~0.1@dev", + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2017-07-22T10:37:32+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "^6.2.3", + "squizlabs/php_codesniffer": "^3.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "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": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2017-07-22T11:58:36+00:00" + }, + { + "name": "doctrine/lexer", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "library/" + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" ], + "time": "2014-09-09T13:34:57+00:00" + }, + { + "name": "epfremme/swagger-php", + "version": "v2.0.0", + "source": { + "type": "git", + "url": "https://github.com/epfremmer/swagger-php.git", + "reference": "eee28a442b7e6220391ec953d3c9b936354f23bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/epfremmer/swagger-php/zipball/eee28a442b7e6220391ec953d3c9b936354f23bc", + "reference": "eee28a442b7e6220391ec953d3c9b936354f23bc", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.2", + "doctrine/collections": "^1.3", + "jms/serializer": "^1.1", + "php": ">=5.5", + "phpoption/phpoption": "^1.1", + "symfony/yaml": "^2.7|^3.1" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "~4.8|~5.0", + "satooshi/php-coveralls": "^1.0" + }, + "type": "package", + "autoload": { + "psr-4": { + "Epfremme\\Swagger\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "Magento Zend Framework 1", - "homepage": "http://framework.zend.com/", + "authors": [ + { + "name": "Edward Pfremmer", + "email": "epfremme@nerdery.com" + } + ], + "description": "Library for parsing swagger documentation into PHP entities for use in testing and code generation", + "time": "2016-09-26T17:24:17+00:00" + }, + { + "name": "facebook/webdriver", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/facebook/php-webdriver.git", + "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bd8c740097eb9f2fc3735250fc1912bc811a954e", + "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-zip": "*", + "php": "^5.6 || ~7.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "php-coveralls/php-coveralls": "^2.0", + "php-mock/php-mock-phpunit": "^1.1", + "phpunit/phpunit": "^5.7", + "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", + "squizlabs/php_codesniffer": "^2.6", + "symfony/var-dumper": "^3.3 || ^4.0" + }, + "suggest": { + "ext-SimpleXML": "For Firefox profile creation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-community": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Facebook\\WebDriver\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "A PHP client for Selenium WebDriver", + "homepage": "https://github.com/facebook/php-webdriver", + "keywords": [ + "facebook", + "php", + "selenium", + "webdriver" + ], + "time": "2018-05-16T17:37:13+00:00" + }, + { + "name": "flow/jsonpath", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/FlowCommunications/JSONPath.git", + "reference": "f0222818d5c938e4ab668ab2e2c079bd51a27112" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FlowCommunications/JSONPath/zipball/f0222818d5c938e4ab668ab2e2c079bd51a27112", + "reference": "f0222818d5c938e4ab668ab2e2c079bd51a27112", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "peekmo/jsonpath": "dev-master", + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Flow\\JSONPath": "src/", + "Flow\\JSONPath\\Test": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Stephen Frank", + "email": "stephen@flowsa.com" + } + ], + "description": "JSONPath implementation for parsing, searching and flattening arrays", + "time": "2018-03-04T16:39:47+00:00" + }, + { + "name": "friendsofphp/php-cs-fixer", + "version": "v2.13.3", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", + "reference": "38d6f2e9be2aa80bf3c7365612af7f9eb9078719" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/38d6f2e9be2aa80bf3c7365612af7f9eb9078719", + "reference": "38d6f2e9be2aa80bf3c7365612af7f9eb9078719", + "shasum": "" + }, + "require": { + "composer/semver": "^1.4", + "composer/xdebug-handler": "^1.2", + "doctrine/annotations": "^1.2", + "ext-json": "*", + "ext-tokenizer": "*", + "php": "^5.6 || >=7.0 <7.3", + "php-cs-fixer/diff": "^1.3", + "symfony/console": "^3.4.17 || ^4.1.6", + "symfony/event-dispatcher": "^3.0 || ^4.0", + "symfony/filesystem": "^3.0 || ^4.0", + "symfony/finder": "^3.0 || ^4.0", + "symfony/options-resolver": "^3.0 || ^4.0", + "symfony/polyfill-php70": "^1.0", + "symfony/polyfill-php72": "^1.4", + "symfony/process": "^3.0 || ^4.0", + "symfony/stopwatch": "^3.0 || ^4.0" + }, + "conflict": { + "hhvm": "*" + }, + "require-dev": { + "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", + "justinrainbow/json-schema": "^5.0", + "keradus/cli-executor": "^1.2", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.1", + "php-cs-fixer/accessible-object": "^1.0", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.0.1", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.0.1", + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1", + "phpunitgoodpractices/traits": "^1.5.1", + "symfony/phpunit-bridge": "^4.0" + }, + "suggest": { + "ext-mbstring": "For handling non-UTF8 characters in cache signature.", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "For IsIdenticalString constraint.", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "For XmlMatchesXsd constraint.", + "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", + "autoload": { + "psr-4": { + "PhpCsFixer\\": "src/" + }, + "classmap": [ + "tests/Test/AbstractFixerTestCase.php", + "tests/Test/AbstractIntegrationCaseFactory.php", + "tests/Test/AbstractIntegrationTestCase.php", + "tests/Test/Assert/AssertTokensTrait.php", + "tests/Test/IntegrationCase.php", + "tests/Test/IntegrationCaseFactory.php", + "tests/Test/IntegrationCaseFactoryInterface.php", + "tests/Test/InternalIntegrationCaseFactory.php", + "tests/TestCase.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "A tool to automatically fix PHP code style", + "time": "2019-01-04T18:24:28+00:00" + }, + { + "name": "fzaninotto/faker", + "version": "v1.8.0", + "source": { + "type": "git", + "url": "https://github.com/fzaninotto/Faker.git", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "squizlabs/php_codesniffer": "^1.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", "keywords": [ - "ZF1", - "framework" + "data", + "faker", + "fixtures" ], - "time": "2015-02-06 17:25:45" + "time": "2018-07-12T10:23:15+00:00" }, { - "name": "monolog/monolog", - "version": "1.11.0", + "name": "grasmash/expander", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "ec3961874c43840e96da3a8a1ed20d8c73d7e5aa" + "url": "https://github.com/grasmash/expander.git", + "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/ec3961874c43840e96da3a8a1ed20d8c73d7e5aa", - "reference": "ec3961874c43840e96da3a8a1ed20d8c73d7e5aa", + "url": "https://api.github.com/repos/grasmash/expander/zipball/95d6037344a4be1dd5f8e0b0b2571a28c397578f", + "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f", "shasum": "" }, "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4" }, "require-dev": { - "aws/aws-sdk-php": "~2.4, >2.4.8", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "phpunit/phpunit": "~3.7.0", - "raven/raven": "~0.5", - "ruflin/elastica": "0.90.*", - "videlalvaro/php-amqplib": "~2.4" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "raven/raven": "Allow sending log messages to a Sentry server", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib" + "greg-1-anderson/composer-test-scenarios": "^1", + "phpunit/phpunit": "^4|^5.5.4", + "satooshi/php-coveralls": "^1.0.2|dev-master", + "squizlabs/php_codesniffer": "^2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "Monolog\\": "src/Monolog" + "Grasmash\\Expander\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -321,240 +6075,214 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Matthew Grasmick" } ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2014-09-30 13:30:58" + "description": "Expands internal property references in PHP arrays file.", + "time": "2017-12-21T22:14:55+00:00" }, { - "name": "oyejorge/less.php", - "version": "v1.7.0.3", + "name": "grasmash/yaml-expander", + "version": "1.4.0", "source": { "type": "git", - "url": "https://github.com/oyejorge/less.php.git", - "reference": "6e08ecb07e6f6d9170c23e8744c58fdd822ad0de" + "url": "https://github.com/grasmash/yaml-expander.git", + "reference": "3f0f6001ae707a24f4d9733958d77d92bf9693b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/oyejorge/less.php/zipball/6e08ecb07e6f6d9170c23e8744c58fdd822ad0de", - "reference": "6e08ecb07e6f6d9170c23e8744c58fdd822ad0de", + "url": "https://api.github.com/repos/grasmash/yaml-expander/zipball/3f0f6001ae707a24f4d9733958d77d92bf9693b1", + "reference": "3f0f6001ae707a24f4d9733958d77d92bf9693b1", "shasum": "" }, "require": { - "php": ">=5.2" + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4", + "symfony/yaml": "^2.8.11|^3|^4" + }, + "require-dev": { + "greg-1-anderson/composer-test-scenarios": "^1", + "phpunit/phpunit": "^4.8|^5.5.4", + "satooshi/php-coveralls": "^1.0.2|dev-master", + "squizlabs/php_codesniffer": "^2.7" }, - "bin": [ - "bin/lessc" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, "autoload": { - "psr-0": { - "Less": "lib/" - }, - "classmap": [ - "lessc.inc.php" - ] + "psr-4": { + "Grasmash\\YamlExpander\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "MIT" ], "authors": [ { - "name": "Matt Agar", - "homepage": "https://github.com/agar" - }, - { - "name": "Martin Jantošovič", - "homepage": "https://github.com/Mordred" - }, - { - "name": "Josh Schmidt", - "homepage": "https://github.com/oyejorge" + "name": "Matthew Grasmick" } ], - "description": "PHP port of the Javascript version of LESS http://lesscss.org", - "homepage": "http://lessphp.gpeasy.com", - "keywords": [ - "css", - "less", - "less.js", - "lesscss", - "php", - "stylesheet" - ], - "time": "2015-03-10 18:12:59" + "description": "Expands internal property references in a yaml file.", + "time": "2017-12-16T16:06:03+00:00" }, { - "name": "phpseclib/phpseclib", - "version": "0.3.10", + "name": "guzzlehttp/guzzle", + "version": "6.3.3", "source": { "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "d15bba1edcc7c89e09cc74c5d961317a8b947bf4" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/d15bba1edcc7c89e09cc74c5d961317a8b947bf4", - "reference": "d15bba1edcc7c89e09cc74c5d961317a8b947bf4", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", "shasum": "" }, "require": { - "php": ">=5.0.0" + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" }, "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "~4.0", - "sami/sami": "~2.0", - "squizlabs/php_codesniffer": "~1.5" + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.0" }, "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.", - "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 4.3.3." + "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.3-dev" + "dev-master": "6.3-dev" } }, "autoload": { - "psr-0": { - "Crypt": "phpseclib/", - "File": "phpseclib/", - "Math": "phpseclib/", - "Net": "phpseclib/", - "System": "phpseclib/" - }, "files": [ - "phpseclib/Crypt/Random.php" - ] + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "phpseclib/" - ], "license": [ "MIT" ], "authors": [ { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" } ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" ], - "time": "2015-01-28 21:50:33" + "time": "2018-04-22T15:46:56+00:00" }, { - "name": "psr/log", - "version": "1.0.0", + "name": "guzzlehttp/promises", + "version": "v1.3.1", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", "shasum": "" }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, "type": "library", - "autoload": { - "psr-0": { - "Psr\\Log\\": "" + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" } }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" } ], - "description": "Common interface for logging libraries", + "description": "Guzzle promises library", "keywords": [ - "log", - "psr", - "psr-3" + "promise" ], - "time": "2012-12-21 11:40:51" + "time": "2016-12-20T10:07:11+00:00" }, { - "name": "seld/jsonlint", - "version": "1.3.1", + "name": "guzzlehttp/psr7", + "version": "1.5.2", "source": { "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "863ae85c6d3ef60ca49cb12bd051c4a0648c40c4" + "url": "https://github.com/guzzle/psr7.git", + "reference": "9f83dded91781a01c63574e387eaa769be769115" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/863ae85c6d3ef60ca49cb12bd051c4a0648c40c4", - "reference": "863ae85c6d3ef60ca49cb12bd051c4a0648c40c4", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", + "reference": "9f83dded91781a01c63574e387eaa769be769115", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" }, - "bin": [ - "bin/jsonlint" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, "autoload": { "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -562,57 +6290,58 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" } ], - "description": "JSON Linter", + "description": "PSR-7 message implementation that also provides common utility methods", "keywords": [ - "json", - "linter", - "parser", - "validator" + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" ], - "time": "2015-01-04 21:18:15" + "time": "2018-12-04T20:46:45+00:00" }, { - "name": "symfony/console", - "version": "v2.7.3", + "name": "jms/metadata", + "version": "1.7.0", "source": { "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "d6cf02fe73634c96677e428f840704bfbcaec29e" + "url": "https://github.com/schmittjoh/metadata.git", + "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/d6cf02fe73634c96677e428f840704bfbcaec29e", - "reference": "d6cf02fe73634c96677e428f840704bfbcaec29e", + "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/e5854ab1aa643623dc64adde718a8eec32b957a8", + "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.0" }, "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.1" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" + "doctrine/cache": "~1.0", + "symfony/cache": "~3.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.5.x-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" + "psr-0": { + "Metadata\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -621,96 +6350,111 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2015-07-28 15:18:12" + "description": "Class/method/property metadata management in PHP", + "keywords": [ + "annotations", + "metadata", + "xml", + "yaml" + ], + "time": "2018-10-26T12:40:10+00:00" }, { - "name": "symfony/finder", - "version": "v2.7.3", + "name": "jms/parser-lib", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/Finder.git", - "reference": "ae0f363277485094edc04c9f3cbe595b183b78e4" + "url": "https://github.com/schmittjoh/parser-lib.git", + "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/ae0f363277485094edc04c9f3cbe595b183b78e4", - "reference": "ae0f363277485094edc04c9f3cbe595b183b78e4", + "url": "https://api.github.com/repos/schmittjoh/parser-lib/zipball/c509473bc1b4866415627af0e1c6cc8ac97fa51d", + "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d", "shasum": "" }, "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "phpoption/phpoption": ">=0.9,<2.0-dev" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" + "psr-0": { + "JMS\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } + "Apache2" ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "time": "2015-07-09 16:07:40" + "description": "A library for easily creating recursive-descent parsers.", + "time": "2012-11-18T18:08:43+00:00" }, { - "name": "symfony/process", - "version": "v2.7.3", + "name": "jms/serializer", + "version": "1.13.0", "source": { "type": "git", - "url": "https://github.com/symfony/Process.git", - "reference": "48aeb0e48600321c272955132d7606ab0a49adb3" + "url": "https://github.com/schmittjoh/serializer.git", + "reference": "00863e1d55b411cc33ad3e1de09a4c8d3aae793c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/48aeb0e48600321c272955132d7606ab0a49adb3", - "reference": "48aeb0e48600321c272955132d7606ab0a49adb3", + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/00863e1d55b411cc33ad3e1de09a4c8d3aae793c", + "reference": "00863e1d55b411cc33ad3e1de09a4c8d3aae793c", "shasum": "" }, "require": { - "php": ">=5.3.9" + "doctrine/annotations": "^1.0", + "doctrine/instantiator": "^1.0.3", + "jms/metadata": "^1.3", + "jms/parser-lib": "1.*", + "php": "^5.5|^7.0", + "phpcollection/phpcollection": "~0.1", + "phpoption/phpoption": "^1.1" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "doctrine/orm": "~2.1", + "doctrine/phpcr-odm": "^1.3|^2.0", + "ext-pdo_sqlite": "*", + "jackalope/jackalope-doctrine-dbal": "^1.1.5", + "phpunit/phpunit": "^4.8|^5.0", + "propel/propel1": "~1.7", + "psr/container": "^1.0", + "symfony/dependency-injection": "^2.7|^3.3|^4.0", + "symfony/expression-language": "^2.6|^3.0", + "symfony/filesystem": "^2.1", + "symfony/form": "~2.1|^3.0", + "symfony/translation": "^2.1|^3.0", + "symfony/validator": "^2.2|^3.0", + "symfony/yaml": "^2.1|^3.0" + }, + "suggest": { + "doctrine/cache": "Required if you like to use cache functionality.", + "doctrine/collections": "Required if you like to use doctrine collection types as ArrayCollection.", + "symfony/yaml": "Required if you'd like to serialize data to YAML format." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-1.x": "1.13-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" + "psr-0": { + "JMS\\Serializer": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -719,1860 +6463,1818 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2015-07-01 11:25:50" + "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.", + "homepage": "http://jmsyst.com/libs/serializer", + "keywords": [ + "deserialization", + "jaxb", + "json", + "serialization", + "xml" + ], + "time": "2018-07-25T13:58:54+00:00" }, { - "name": "tubalmartin/cssmin", - "version": "v2.4.8-p4", + "name": "league/container", + "version": "2.4.1", "source": { "type": "git", - "url": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port.git", - "reference": "fe84d71e8420243544c0ce3bd0f5d7c1936b0f90" + "url": "https://github.com/thephpleague/container.git", + "reference": "43f35abd03a12977a60ffd7095efd6a7808488c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tubalmartin/YUI-CSS-compressor-PHP-port/zipball/fe84d71e8420243544c0ce3bd0f5d7c1936b0f90", - "reference": "fe84d71e8420243544c0ce3bd0f5d7c1936b0f90", + "url": "https://api.github.com/repos/thephpleague/container/zipball/43f35abd03a12977a60ffd7095efd6a7808488c0", + "reference": "43f35abd03a12977a60ffd7095efd6a7808488c0", "shasum": "" }, "require": { - "php": ">=5.0.0" + "container-interop/container-interop": "^1.2", + "php": "^5.4.0 || ^7.0" + }, + "provide": { + "container-interop/container-interop-implementation": "^1.2", + "psr/container-implementation": "^1.0" + }, + "replace": { + "orno/di": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-1.x": "1.x-dev" + } }, - "type": "library", "autoload": { - "classmap": [ - "cssmin.php" - ] + "psr-4": { + "League\\Container\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Túbal Martín", - "homepage": "http://tubalmartin.me/" + "name": "Phil Bennett", + "email": "philipobenito@gmail.com", + "homepage": "http://www.philipobenito.com", + "role": "Developer" } ], - "description": "A PHP port of the YUI CSS compressor", - "homepage": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port", + "description": "A fast and intuitive dependency injection container.", + "homepage": "https://github.com/thephpleague/container", "keywords": [ - "compress", - "compressor", - "css", - "minify", - "yui" + "container", + "dependency", + "di", + "injection", + "league", + "provider", + "service" ], - "time": "2014-09-22 08:08:50" + "time": "2017-05-10T09:20:27+00:00" }, { - "name": "zendframework/zend-code", - "version": "2.4.0", + "name": "lusitanian/oauth", + "version": "v0.8.11", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-code.git", - "reference": "0ed94f842ba60cdc900c46a61bdbd7ac95a3e140" + "url": "https://github.com/Lusitanian/PHPoAuthLib.git", + "reference": "fc11a53db4b66da555a6a11fce294f574a8374f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-code/zipball/0ed94f842ba60cdc900c46a61bdbd7ac95a3e140", - "reference": "0ed94f842ba60cdc900c46a61bdbd7ac95a3e140", + "url": "https://api.github.com/repos/Lusitanian/PHPoAuthLib/zipball/fc11a53db4b66da555a6a11fce294f574a8374f9", + "reference": "fc11a53db4b66da555a6a11fce294f574a8374f9", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version" + "php": ">=5.3.0" }, "require-dev": { - "doctrine/common": ">=2.1", - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-stdlib": "self.version" + "phpunit/phpunit": "3.7.*", + "predis/predis": "0.8.*@dev", + "squizlabs/php_codesniffer": "2.*", + "symfony/http-foundation": "~2.1" }, "suggest": { - "doctrine/common": "Doctrine\\Common >=2.1 for annotation features", - "zendframework/zend-stdlib": "Zend\\Stdlib component" + "ext-openssl": "Allows for usage of secure connections with the stream-based HTTP client.", + "predis/predis": "Allows using the Redis storage backend.", + "symfony/http-foundation": "Allows using the Symfony Session storage backend." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "0.1-dev" } }, "autoload": { - "psr-4": { - "Zend\\Code\\": "src/" + "psr-0": { + "OAuth": "src", + "OAuth\\Unit": "tests" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "provides facilities to generate arbitrary code using an object oriented interface", - "homepage": "https://github.com/zendframework/zend-code", + "authors": [ + { + "name": "David Desberg", + "email": "david@daviddesberg.com" + }, + { + "name": "Elliot Chance", + "email": "elliotchance@gmail.com" + }, + { + "name": "Pieter Hordijk", + "email": "info@pieterhordijk.com" + } + ], + "description": "PHP 5.3+ oAuth 1/2 Library", "keywords": [ - "code", - "zf2" + "Authentication", + "authorization", + "oauth", + "security" ], - "time": "2015-03-31 15:39:14" + "time": "2018-02-14T22:37:14+00:00" }, { - "name": "zendframework/zend-config", - "version": "2.4.0", + "name": "magento/magento2-functional-testing-framework", + "version": "2.3.14", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-config.git", - "reference": "95f3a4b3fa85d49e6f060183122de4596fa6d29d" + "url": "https://github.com/magento/magento2-functional-testing-framework.git", + "reference": "b4002b3fe53884895921b44cf519d42918e3c7c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-config/zipball/95f3a4b3fa85d49e6f060183122de4596fa6d29d", - "reference": "95f3a4b3fa85d49e6f060183122de4596fa6d29d", + "url": "https://api.github.com/repos/magento/magento2-functional-testing-framework/zipball/b4002b3fe53884895921b44cf519d42918e3c7c6", + "reference": "b4002b3fe53884895921b44cf519d42918e3c7c6", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "allure-framework/allure-codeception": "~1.3.0", + "codeception/codeception": "~2.3.4 || ~2.4.0 ", + "consolidation/robo": "^1.0.0", + "epfremme/swagger-php": "^2.0", + "ext-curl": "*", + "flow/jsonpath": ">0.2", + "fzaninotto/faker": "^1.6", + "monolog/monolog": "^1.0", + "mustache/mustache": "~2.5", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0|~7.2.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0", + "vlucas/phpdotenv": "^2.4" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-filter": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-json": "self.version", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes", - "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances" + "brainmaestro/composer-git-hooks": "^2.3", + "codacy/coverage": "^1.4", + "codeception/aspect-mock": "^3.0", + "doctrine/cache": "<1.7.0", + "goaop/framework": "2.2.0", + "php-coveralls/php-coveralls": "^1.0", + "phpmd/phpmd": "^2.6.0", + "phpunit/phpunit": "~6.5.0 || ~7.0.0", + "rregeer/phpunit-coverage-check": "^0.1.4", + "sebastian/phpcpd": "~3.0 || ~4.0", + "squizlabs/php_codesniffer": "~3.2", + "symfony/stopwatch": "~3.4.6" }, + "bin": [ + "bin/mftf" + ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "hooks": { + "pre-push": "bin/all-checks" } }, "autoload": { + "files": [ + "src/Magento/FunctionalTestingFramework/_bootstrap.php" + ], "psr-4": { - "Zend\\Config\\": "src/" + "Magento\\FunctionalTestingFramework\\": "src/Magento/FunctionalTestingFramework", + "MFTF\\": "dev/tests/functional/MFTF" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "AGPL-3.0" ], - "description": "provides a nested object property based user interface for accessing this configuration data within application code", - "homepage": "https://github.com/zendframework/zend-config", + "description": "Magento2 Functional Testing Framework", "keywords": [ - "config", - "zf2" + "automation", + "functional", + "magento", + "testing" ], - "time": "2015-03-25 20:55:48" + "time": "2019-02-19T16:03:22+00:00" }, { - "name": "zendframework/zend-console", - "version": "2.4.0", + "name": "mikey179/vfsStream", + "version": "v1.6.5", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-console.git", - "reference": "54823d9ba6f8ce39046384ee5a043b5b3d5f56d7" + "url": "https://github.com/mikey179/vfsStream.git", + "reference": "d5fec95f541d4d71c4823bb5e30cf9b9e5b96145" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-console/zipball/54823d9ba6f8ce39046384ee5a043b5b3d5f56d7", - "reference": "54823d9ba6f8ce39046384ee5a043b5b3d5f56d7", + "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/d5fec95f541d4d71c4823bb5e30cf9b9e5b96145", + "reference": "d5fec95f541d4d71c4823bb5e30cf9b9e5b96145", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": ">=5.3.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" - }, - "suggest": { - "zendframework/zend-filter": "To support DefaultRouteMatcher usage", - "zendframework/zend-validator": "To support DefaultRouteMatcher usage" + "phpunit/phpunit": "~4.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.6.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Console\\": "src/" + "psr-0": { + "org\\bovigo\\vfs\\": "src/main/php" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-console", - "keywords": [ - "console", - "zf2" + "authors": [ + { + "name": "Frank Kleine", + "homepage": "http://frankkleine.de/", + "role": "Developer" + } ], - "time": "2015-03-25 20:55:48" + "description": "Virtual file system to mock the real file system in unit tests.", + "homepage": "http://vfs.bovigo.org/", + "time": "2017-08-01T08:02:14+00:00" }, { - "name": "zendframework/zend-di", - "version": "2.4.0", + "name": "moontoast/math", + "version": "1.1.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-di.git", - "reference": "b9f8de081adecf71a003a569e9ba76c0a4c00bf2" + "url": "https://github.com/ramsey/moontoast-math.git", + "reference": "c2792a25df5cad4ff3d760dd37078fc5b6fccc79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-di/zipball/b9f8de081adecf71a003a569e9ba76c0a4c00bf2", - "reference": "b9f8de081adecf71a003a569e9ba76c0a4c00bf2", + "url": "https://api.github.com/repos/ramsey/moontoast-math/zipball/c2792a25df5cad4ff3d760dd37078fc5b6fccc79", + "reference": "c2792a25df5cad4ff3d760dd37078fc5b6fccc79", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-code": "self.version", - "zendframework/zend-stdlib": "self.version" + "ext-bcmath": "*", + "php": ">=5.3.3" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + "jakub-onderka/php-parallel-lint": "^0.9.0", + "phpunit/phpunit": "^4.7|>=5.0 <5.4", + "satooshi/php-coveralls": "^0.6.1", + "squizlabs/php_codesniffer": "^2.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { "psr-4": { - "Zend\\Di\\": "src/" + "Moontoast\\Math\\": "src/Moontoast/Math/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "Apache-2.0" ], - "homepage": "https://github.com/zendframework/zend-di", + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A mathematics library, providing functionality for large numbers", + "homepage": "https://github.com/ramsey/moontoast-math", "keywords": [ - "di", - "zf2" + "bcmath", + "math" ], - "time": "2015-03-25 20:55:48" + "time": "2017-02-16T16:54:46+00:00" }, { - "name": "zendframework/zend-escaper", - "version": "2.4.0", + "name": "mustache/mustache", + "version": "v2.12.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-escaper.git", - "reference": "15e5769e4fcdb4bf07ebd76500810e7070e23a97" + "url": "https://github.com/bobthecow/mustache.php.git", + "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/15e5769e4fcdb4bf07ebd76500810e7070e23a97", - "reference": "15e5769e4fcdb4bf07ebd76500810e7070e23a97", + "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/fe8fe72e9d580591854de404cc59a1b83ca4d19e", + "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": ">=5.2.4" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "friendsofphp/php-cs-fixer": "~1.11", + "phpunit/phpunit": "~3.7|~4.0|~5.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\Escaper\\": "src/" + "psr-0": { + "Mustache": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } ], - "homepage": "https://github.com/zendframework/zend-escaper", + "description": "A Mustache implementation in PHP.", + "homepage": "https://github.com/bobthecow/mustache.php", "keywords": [ - "escaper", - "zf2" + "mustache", + "templating" ], - "time": "2015-03-23 18:29:14" + "time": "2017-07-11T12:54:05+00:00" }, { - "name": "zendframework/zend-eventmanager", - "version": "2.4.0", + "name": "myclabs/deep-copy", + "version": "1.8.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-eventmanager.git", - "reference": "58d21c95c7005a527262fd536499195f104e83f9" + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/58d21c95c7005a527262fd536499195f104e83f9", - "reference": "58d21c95c7005a527262fd536499195f104e83f9", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { "psr-4": { - "Zend\\EventManager\\": "src/" - } + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-event-manager", + "description": "Create deep copies (clones) of your objects", "keywords": [ - "eventmanager", - "zf2" + "clone", + "copy", + "duplicate", + "object", + "object graph" ], - "time": "2015-03-23 18:29:14" + "time": "2018-06-11T23:09:50+00:00" }, { - "name": "zendframework/zend-filter", - "version": "2.4.0", + "name": "pdepend/pdepend", + "version": "2.5.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-filter.git", - "reference": "6d8aed2da81b62a04747346c4370562cdbe34595" + "url": "https://github.com/pdepend/pdepend.git", + "reference": "9daf26d0368d4a12bed1cacae1a9f3a6f0adf239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/6d8aed2da81b62a04747346c4370562cdbe34595", - "reference": "6d8aed2da81b62a04747346c4370562cdbe34595", + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/9daf26d0368d4a12bed1cacae1a9f3a6f0adf239", + "reference": "9daf26d0368d4a12bed1cacae1a9f3a6f0adf239", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": ">=5.3.7", + "symfony/config": "^2.3.0|^3|^4", + "symfony/dependency-injection": "^2.3.0|^3|^4", + "symfony/filesystem": "^2.3.0|^3|^4" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-crypt": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-uri": "self.version" - }, - "suggest": { - "zendframework/zend-crypt": "Zend\\Crypt component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-uri": "Zend\\Uri component for UriNormalize filter" + "phpunit/phpunit": "^4.8|^5.7", + "squizlabs/php_codesniffer": "^2.0.0" }, + "bin": [ + "src/bin/pdepend" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { "psr-4": { - "Zend\\Filter\\": "src/" + "PDepend\\": "src/main/php/PDepend" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides a set of commonly needed data filters", - "homepage": "https://github.com/zendframework/zend-filter", - "keywords": [ - "filter", - "zf2" - ], - "time": "2015-03-25 20:55:48" + "description": "Official version of pdepend to be handled with Composer", + "time": "2017-12-13T13:21:38+00:00" }, { - "name": "zendframework/zend-form", - "version": "2.4.0", + "name": "phar-io/manifest", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-form.git", - "reference": "bca0db55718355d25c2c10fdd41a83561f1c94b3" + "url": "https://github.com/phar-io/manifest.git", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-form/zipball/bca0db55718355d25c2c10fdd41a83561f1c94b3", - "reference": "bca0db55718355d25c2c10fdd41a83561f1c94b3", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-inputfilter": "self.version", - "zendframework/zend-stdlib": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-captcha": "self.version", - "zendframework/zend-code": "self.version", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-validator": "self.version", - "zendframework/zend-view": "self.version", - "zendframework/zendservice-recaptcha": "*" - }, - "suggest": { - "zendframework/zend-captcha": "Zend\\Captcha component", - "zendframework/zend-code": "Zend\\Code component", - "zendframework/zend-eventmanager": "Zend\\EventManager component", - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-validator": "Zend\\Validator component", - "zendframework/zend-view": "Zend\\View component", - "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component" + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^1.0.1", + "php": "^5.6 || ^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Form\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-form", - "keywords": [ - "form", - "zf2" + "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" + } ], - "time": "2015-03-28 20:29:18" + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2017-03-05T18:14:27+00:00" }, { - "name": "zendframework/zend-http", - "version": "2.4.0", + "name": "phar-io/version", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-http.git", - "reference": "9c6047a0bdb3094d3ea07a215ff929cc47de4deb" + "url": "https://github.com/phar-io/version.git", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-http/zipball/9c6047a0bdb3094d3ea07a215ff929cc47de4deb", - "reference": "9c6047a0bdb3094d3ea07a215ff929cc47de4deb", + "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-loader": "self.version", - "zendframework/zend-stdlib": "self.version", - "zendframework/zend-uri": "self.version", - "zendframework/zend-validator": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "php": "^5.6 || ^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\Http\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", - "homepage": "https://github.com/zendframework/zend-http", - "keywords": [ - "http", - "zf2" + "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" + } ], - "time": "2015-03-27 15:46:30" + "description": "Library for handling version information and constraints", + "time": "2017-03-05T17:38:23+00:00" }, { - "name": "zendframework/zend-i18n", - "version": "2.4.0", + "name": "php-cs-fixer/diff", + "version": "v1.3.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-i18n.git", - "reference": "9aebc5287373a802540d75fe5508417f866c2e52" + "url": "https://github.com/PHP-CS-Fixer/diff.git", + "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/9aebc5287373a802540d75fe5508417f866c2e52", - "reference": "9aebc5287373a802540d75fe5508417f866c2e52", + "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/78bb099e9c16361126c86ce82ec4405ebab8e756", + "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": "^5.6 || ^7.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-cache": "self.version", - "zendframework/zend-config": "self.version", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-validator": "self.version", - "zendframework/zend-view": "self.version" - }, - "suggest": { - "ext-intl": "Required for most features of Zend\\I18n; included in default builds of PHP", - "zendframework/zend-cache": "Zend\\Cache component", - "zendframework/zend-config": "Zend\\Config component", - "zendframework/zend-eventmanager": "You should install this package to use the events in the translator", - "zendframework/zend-filter": "You should install this package to use the provided filters", - "zendframework/zend-resources": "Translation resources", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-validator": "You should install this package to use the provided validators", - "zendframework/zend-view": "You should install this package to use the provided view helpers" + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "symfony/process": "^3.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\I18n\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-i18n", + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "SpacePossum" + } + ], + "description": "sebastian/diff v2 backport support for PHP5.6", + "homepage": "https://github.com/PHP-CS-Fixer", "keywords": [ - "i18n", - "zf2" + "diff" ], - "time": "2015-03-25 20:55:48" + "time": "2018-02-15T16:58:55+00:00" }, { - "name": "zendframework/zend-inputfilter", - "version": "2.4.0", + "name": "phpcollection/phpcollection", + "version": "0.5.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-inputfilter.git", - "reference": "4b1398f3635fae3cc5e873c5bb067274f3d10a93" + "url": "https://github.com/schmittjoh/php-collection.git", + "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-inputfilter/zipball/4b1398f3635fae3cc5e873c5bb067274f3d10a93", - "reference": "4b1398f3635fae3cc5e873c5bb067274f3d10a93", + "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", + "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-filter": "self.version", - "zendframework/zend-stdlib": "self.version", - "zendframework/zend-validator": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-servicemanager": "To support plugin manager support" + "phpoption/phpoption": "1.*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "0.4-dev" } }, "autoload": { - "psr-4": { - "Zend\\InputFilter\\": "src/" + "psr-0": { + "PhpCollection": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } ], - "homepage": "https://github.com/zendframework/zend-input-filter", + "description": "General-Purpose Collection Library for PHP", "keywords": [ - "inputfilter", - "zf2" + "collection", + "list", + "map", + "sequence", + "set" ], - "time": "2015-03-23 18:29:14" + "time": "2015-05-17T12:39:23+00:00" }, { - "name": "zendframework/zend-json", - "version": "2.4.0", + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-json.git", - "reference": "2d845e151c1b9a237cf1899ac31e17fb10bd1e3f" + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-json/zipball/2d845e151c1b9a237cf1899ac31e17fb10bd1e3f", - "reference": "2d845e151c1b9a237cf1899ac31e17fb10bd1e3f", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": ">=5.5" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-http": "self.version", - "zendframework/zend-server": "self.version" - }, - "suggest": { - "zendframework/zend-http": "Zend\\Http component", - "zendframework/zend-server": "Zend\\Server component", - "zendframework/zendxml": "To support Zend\\Json\\Json::fromXml() usage" + "phpunit/phpunit": "^4.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Zend\\Json\\": "src/" + "phpDocumentor\\Reflection\\": [ + "src" + ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP", - "homepage": "https://github.com/zendframework/zend-json", + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", "keywords": [ - "json", - "zf2" + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" ], - "time": "2015-03-25 20:55:48" + "time": "2017-09-11T18:02:19+00:00" }, { - "name": "zendframework/zend-loader", - "version": "2.4.0", + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-loader.git", - "reference": "65de2c7a56f8eee633c6bf1cfab73e45648880d4" + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/65de2c7a56f8eee633c6bf1cfab73e45648880d4", - "reference": "65de2c7a56f8eee633c6bf1cfab73e45648880d4", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "4.x-dev" } }, "autoload": { "psr-4": { - "Zend\\Loader\\": "src/" + "phpDocumentor\\Reflection\\": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-loader", - "keywords": [ - "loader", - "zf2" + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } ], - "time": "2015-03-23 18:29:14" + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-30T07:14:17+00:00" }, { - "name": "zendframework/zend-log", - "version": "2.4.0", + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-log.git", - "reference": "002e3c810cad7e31e51c9895e9e3cb6fbd312cdd" + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-log/zipball/002e3c810cad7e31e51c9895e9e3cb6fbd312cdd", - "reference": "002e3c810cad7e31e51c9895e9e3cb6fbd312cdd", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-console": "self.version", - "zendframework/zend-db": "self.version", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-mail": "self.version", - "zendframework/zend-validator": "self.version" - }, - "suggest": { - "ext-mongo": "*", - "zendframework/zend-console": "Zend\\Console component", - "zendframework/zend-db": "Zend\\Db component", - "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML formatter", - "zendframework/zend-mail": "Zend\\Mail component", - "zendframework/zend-validator": "Zend\\Validator component" + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Zend\\Log\\": "src/" + "phpDocumentor\\Reflection\\": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "component for general purpose logging", - "homepage": "https://github.com/zendframework/zend-log", - "keywords": [ - "log", - "logging", - "zf2" + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } ], - "time": "2015-03-25 20:55:48" + "time": "2017-07-14T14:27:02+00:00" }, { - "name": "zendframework/zend-math", - "version": "2.4.0", + "name": "phpmd/phpmd", + "version": "2.6.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-math.git", - "reference": "f41fe4acfd809c14f2a802d1aa45dec8fcd2cc73" + "url": "https://github.com/phpmd/phpmd.git", + "reference": "4e9924b2c157a3eb64395460fcf56b31badc8374" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-math/zipball/f41fe4acfd809c14f2a802d1aa45dec8fcd2cc73", - "reference": "f41fe4acfd809c14f2a802d1aa45dec8fcd2cc73", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/4e9924b2c157a3eb64395460fcf56b31badc8374", + "reference": "4e9924b2c157a3eb64395460fcf56b31badc8374", "shasum": "" }, "require": { - "php": ">=5.3.23" + "ext-xml": "*", + "pdepend/pdepend": "^2.5", + "php": ">=5.3.9" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" - }, - "suggest": { - "ext-bcmath": "If using the bcmath functionality", - "ext-gmp": "If using the gmp functionality", - "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable", - "zendframework/zend-servicemanager": ">= current version, if using the BigInteger::factory functionality" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } + "phpunit/phpunit": "^4.0", + "squizlabs/php_codesniffer": "^2.0" }, + "bin": [ + "src/bin/phpmd" + ], + "type": "project", "autoload": { - "psr-4": { - "Zend\\Math\\": "src/" + "psr-0": { + "PHPMD\\": "src/main/php" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-math", + "authors": [ + { + "name": "Manuel Pichler", + "email": "github@manuel-pichler.de", + "homepage": "https://github.com/manuelpichler", + "role": "Project Founder" + }, + { + "name": "Other contributors", + "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", + "role": "Contributors" + }, + { + "name": "Marc Würth", + "email": "ravage@bluewin.ch", + "homepage": "https://github.com/ravage84", + "role": "Project Maintainer" + } + ], + "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", + "homepage": "http://phpmd.org/", "keywords": [ - "math", - "zf2" + "mess detection", + "mess detector", + "pdepend", + "phpmd", + "pmd" ], - "time": "2015-03-23 18:29:14" + "time": "2017-01-20T14:41:10+00:00" }, { - "name": "zendframework/zend-modulemanager", - "version": "2.4.0", + "name": "phpoption/phpoption", + "version": "1.5.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-modulemanager.git", - "reference": "af7ae3cd29a1efb73cc66ae1081e606039d5c20f" + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/af7ae3cd29a1efb73cc66ae1081e606039d5c20f", - "reference": "af7ae3cd29a1efb73cc66ae1081e606039d5c20f", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/94e644f7d2051a5f0fcf77d81605f152eecff0ed", + "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": ">=5.3.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-config": "self.version", - "zendframework/zend-console": "self.version", - "zendframework/zend-loader": "self.version", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-config": "Zend\\Config component", - "zendframework/zend-console": "Zend\\Console component", - "zendframework/zend-loader": "Zend\\Loader component", - "zendframework/zend-mvc": "Zend\\Mvc component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + "phpunit/phpunit": "4.7.*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.3-dev" } }, "autoload": { - "psr-4": { - "Zend\\ModuleManager\\": "src/" + "psr-0": { + "PhpOption\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } ], - "homepage": "https://github.com/zendframework/zend-module-manager", + "description": "Option Type for PHP", "keywords": [ - "modulemanager", - "zf2" + "language", + "option", + "php", + "type" ], - "time": "2015-03-23 18:29:14" + "time": "2015-07-25T16:39:46+00:00" }, { - "name": "zendframework/zend-mvc", - "version": "2.4.0", + "name": "phpspec/prophecy", + "version": "1.8.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-mvc.git", - "reference": "0b4a4a829b30be510a3f215c4ff00c703ee8b431" + "url": "https://github.com/phpspec/prophecy.git", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-mvc/zipball/0b4a4a829b30be510a3f215c4ff00c703ee8b431", - "reference": "0b4a4a829b30be510a3f215c4ff00c703ee8b431", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-form": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0|^3.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-authentication": "self.version", - "zendframework/zend-console": "self.version", - "zendframework/zend-di": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-http": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-inputfilter": "self.version", - "zendframework/zend-json": "self.version", - "zendframework/zend-log": "self.version", - "zendframework/zend-modulemanager": "self.version", - "zendframework/zend-serializer": "self.version", - "zendframework/zend-session": "self.version", - "zendframework/zend-text": "self.version", - "zendframework/zend-uri": "self.version", - "zendframework/zend-validator": "self.version", - "zendframework/zend-version": "self.version", - "zendframework/zend-view": "self.version" - }, - "suggest": { - "zendframework/zend-authentication": "Zend\\Authentication component for Identity plugin", - "zendframework/zend-config": "Zend\\Config component", - "zendframework/zend-console": "Zend\\Console component", - "zendframework/zend-di": "Zend\\Di component", - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-http": "Zend\\Http component", - "zendframework/zend-i18n": "Zend\\I18n component for translatable segments", - "zendframework/zend-inputfilter": "Zend\\Inputfilter component", - "zendframework/zend-json": "Zend\\Json component", - "zendframework/zend-log": "Zend\\Log component", - "zendframework/zend-modulemanager": "Zend\\ModuleManager component", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-session": "Zend\\Session component for FlashMessenger, PRG, and FPRG plugins", - "zendframework/zend-stdlib": "Zend\\Stdlib component", - "zendframework/zend-text": "Zend\\Text component", - "zendframework/zend-uri": "Zend\\Uri component", - "zendframework/zend-validator": "Zend\\Validator component", - "zendframework/zend-version": "Zend\\Version component", - "zendframework/zend-view": "Zend\\View component" + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.8.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Mvc\\": "src/" + "psr-0": { + "Prophecy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-mvc", + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", "keywords": [ - "mvc", - "zf2" + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" ], - "time": "2015-03-26 18:55:14" + "time": "2018-08-05T17:53:17+00:00" }, { - "name": "zendframework/zend-serializer", - "version": "2.4.0", + "name": "phpunit/php-code-coverage", + "version": "5.3.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-serializer.git", - "reference": "3c531789a9882a5deb721356a7bd2642b65d4b09" + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/3c531789a9882a5deb721356a7bd2642b65d4b09", - "reference": "3c531789a9882a5deb721356a7bd2642b65d4b09", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-json": "self.version", - "zendframework/zend-math": "self.version", - "zendframework/zend-stdlib": "self.version" + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^7.0", + "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^2.0.1", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.0", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-servicemanager": "self.version" + "phpunit/phpunit": "^6.0" }, "suggest": { - "zendframework/zend-servicemanager": "To support plugin manager support" + "ext-xdebug": "^2.5.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "5.3.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Serializer\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides an adapter based interface to simply generate storable representation of PHP types by different facilities, and recover", - "homepage": "https://github.com/zendframework/zend-serializer", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", "keywords": [ - "serializer", - "zf2" + "coverage", + "testing", + "xunit" ], - "time": "2015-03-25 20:55:48" + "time": "2018-04-06T15:36:58+00:00" }, { - "name": "zendframework/zend-server", - "version": "2.4.0", + "name": "phpunit/php-file-iterator", + "version": "1.4.5", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-server.git", - "reference": "d11ff0bd529d202022823d4accf5983cbd50fc49" + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-server/zipball/d11ff0bd529d202022823d4accf5983cbd50fc49", - "reference": "d11ff0bd529d202022823d4accf5983cbd50fc49", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-code": "self.version", - "zendframework/zend-stdlib": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Server\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-server", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ - "server", - "zf2" + "filesystem", + "iterator" ], - "time": "2015-03-25 20:55:48" + "time": "2017-11-27T13:52:08+00:00" }, { - "name": "zendframework/zend-servicemanager", - "version": "2.4.0", + "name": "phpunit/php-text-template", + "version": "1.2.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-servicemanager.git", - "reference": "57cf99fa5ac08c05a135a8d0d676c52a5e450083" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/57cf99fa5ac08c05a135a8d0d676c52a5e450083", - "reference": "57cf99fa5ac08c05a135a8d0d676c52a5e450083", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", "shasum": "" }, "require": { - "php": ">=5.3.23" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-di": "self.version" - }, - "suggest": { - "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services", - "zendframework/zend-di": "Zend\\Di component" + "php": ">=5.3.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\ServiceManager\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-service-manager", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "servicemanager", - "zf2" + "template" ], - "time": "2015-03-23 18:29:14" + "time": "2015-06-21T13:50:34+00:00" }, { - "name": "zendframework/zend-soap", - "version": "2.4.0", + "name": "phpunit/php-timer", + "version": "1.0.9", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-soap.git", - "reference": "a599463aba97ce247faf3fb443e3c7858b46449b" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-soap/zipball/a599463aba97ce247faf3fb443e3c7858b46449b", - "reference": "a599463aba97ce247faf3fb443e3c7858b46449b", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-server": "self.version", - "zendframework/zend-stdlib": "self.version", - "zendframework/zend-uri": "self.version" + "php": "^5.3.3 || ^7.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-http": "self.version" - }, - "suggest": { - "zendframework/zend-http": "Zend\\Http component" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0-dev" } }, "autoload": { - "psr-4": { - "Zend\\Soap\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-soap", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "soap", - "zf2" + "timer" ], - "time": "2015-03-25 20:55:48" + "time": "2017-02-26T11:10:40+00:00" }, { - "name": "zendframework/zend-stdlib", - "version": "2.4.0", + "name": "phpunit/php-token-stream", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-stdlib.git", - "reference": "cf05c5ba75606e47ffee91cedc72778da46f74c3" + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "791198a2c6254db10131eecfe8c06670700904db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cf05c5ba75606e47ffee91cedc72778da46f74c3", - "reference": "cf05c5ba75606e47ffee91cedc72778da46f74c3", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", + "reference": "791198a2c6254db10131eecfe8c06670700904db", "shasum": "" }, "require": { - "php": ">=5.3.23" + "ext-tokenizer": "*", + "php": "^7.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-serializer": "self.version", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-eventmanager": "To support aggregate hydrator usage", - "zendframework/zend-filter": "To support naming strategy hydrator usage", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + "phpunit/phpunit": "^6.2.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { - "psr-4": { - "Zend\\Stdlib\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-stdlib", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", "keywords": [ - "stdlib", - "zf2" + "tokenizer" ], - "time": "2015-03-25 20:55:48" + "time": "2017-11-27T05:48:46+00:00" }, { - "name": "zendframework/zend-text", - "version": "2.4.0", + "name": "phpunit/phpunit", + "version": "6.5.14", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-text.git", - "reference": "d962ea25647b20527f3ca34ae225bbc885dabfc7" + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-text/zipball/d962ea25647b20527f3ca34ae225bbc885dabfc7", - "reference": "d962ea25647b20527f3ca34ae225bbc885dabfc7", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bac23fe7ff13dbdb461481f706f0e9fe746334b7", + "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "^1.6.1", + "phar-io/manifest": "^1.0.1", + "phar-io/version": "^1.0", + "php": "^7.0", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^5.3", + "phpunit/php-file-iterator": "^1.4.3", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^1.0.9", + "phpunit/phpunit-mock-objects": "^5.0.9", + "sebastian/comparator": "^2.1", + "sebastian/diff": "^2.0", + "sebastian/environment": "^3.1", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^1.0", + "sebastian/version": "^2.0.1" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2", + "phpunit/dbunit": "<3.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "ext-pdo": "*" + }, + "suggest": { + "ext-xdebug": "*", + "phpunit/php-invoker": "^1.1" }, + "bin": [ + "phpunit" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "6.5.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Text\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-text", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", "keywords": [ - "text", - "zf2" + "phpunit", + "testing", + "xunit" ], - "time": "2015-03-25 20:55:48" + "time": "2019-02-01T05:22:47+00:00" }, { - "name": "zendframework/zend-uri", - "version": "2.4.0", + "name": "phpunit/phpunit-mock-objects", + "version": "5.0.10", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-uri.git", - "reference": "bd9e625639415376f6a82551c73328448d7bc7d1" + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-uri/zipball/bd9e625639415376f6a82551c73328448d7bc7d1", - "reference": "bd9e625639415376f6a82551c73328448d7bc7d1", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-validator": "self.version" + "doctrine/instantiator": "^1.0.5", + "php": "^7.0", + "phpunit/php-text-template": "^1.2.1", + "sebastian/exporter": "^3.1" + }, + "conflict": { + "phpunit/phpunit": "<6.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "phpunit/phpunit": "^6.5.11" + }, + "suggest": { + "ext-soap": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "5.0.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Uri\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "a component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", - "homepage": "https://github.com/zendframework/zend-uri", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", "keywords": [ - "uri", - "zf2" + "mock", + "xunit" ], - "time": "2015-03-25 20:55:48" + "abandoned": true, + "time": "2018-08-09T05:50:03+00:00" }, { - "name": "zendframework/zend-validator", - "version": "2.4.0", + "name": "ralouphie/getallheaders", + "version": "2.0.5", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-validator.git", - "reference": "45fac2545a0f2eb66d71cb7966feee481e7c475f" + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/45fac2545a0f2eb66d71cb7966feee481e7c475f", - "reference": "45fac2545a0f2eb66d71cb7966feee481e7c475f", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": ">=5.3" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-db": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-math": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-session": "self.version", - "zendframework/zend-uri": "self.version" - }, - "suggest": { - "zendframework/zend-db": "Zend\\Db component", - "zendframework/zend-filter": "Zend\\Filter component, required by the Digits validator", - "zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages as well as to use the various Date validators", - "zendframework/zend-math": "Zend\\Math component", - "zendframework/zend-resources": "Translations of validator messages", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", - "zendframework/zend-session": "Zend\\Session component", - "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators" + "phpunit/phpunit": "~3.7.0", + "satooshi/php-coveralls": ">=1.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\Validator\\": "src/" - } + "files": [ + "src/getallheaders.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "provides a set of commonly needed validators", - "homepage": "https://github.com/zendframework/zend-validator", - "keywords": [ - "validator", - "zf2" + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } ], - "time": "2015-03-25 20:55:48" + "description": "A polyfill for getallheaders.", + "time": "2016-02-11T07:05:27+00:00" }, { - "name": "zendframework/zend-view", - "version": "2.4.0", + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-view.git", - "reference": "37beb1ad46e530f627b4b6c3716efd728e976ba9" + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-view/zipball/37beb1ad46e530f627b4b6c3716efd728e976ba9", - "reference": "37beb1ad46e530f627b4b6c3716efd728e976ba9", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-loader": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^5.6 || ^7.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-authentication": "self.version", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-feed": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-http": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-json": "self.version", - "zendframework/zend-mvc": "self.version", - "zendframework/zend-navigation": "self.version", - "zendframework/zend-paginator": "self.version", - "zendframework/zend-permissions-acl": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-uri": "self.version" - }, - "suggest": { - "zendframework/zend-authentication": "Zend\\Authentication component", - "zendframework/zend-escaper": "Zend\\Escaper component", - "zendframework/zend-feed": "Zend\\Feed component", - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-http": "Zend\\Http component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-json": "Zend\\Json component", - "zendframework/zend-mvc": "Zend\\Mvc component", - "zendframework/zend-navigation": "Zend\\Navigation component", - "zendframework/zend-paginator": "Zend\\Paginator component", - "zendframework/zend-permissions-acl": "Zend\\Permissions\\Acl component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-uri": "Zend\\Uri component" + "phpunit/phpunit": "^5.7 || ^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\View\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides a system of helpers, output filters, and variable escaping", - "homepage": "https://github.com/zendframework/zend-view", - "keywords": [ - "view", - "zf2" + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } ], - "time": "2015-03-25 20:55:48" - } - ], - "packages-dev": [ + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" + }, { - "name": "doctrine/instantiator", - "version": "1.0.5", + "name": "sebastian/comparator", + "version": "2.1.3", "source": { "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", "shasum": "" }, "require": { - "php": ">=5.3,<8.0-DEV" + "php": "^7.0", + "sebastian/diff": "^2.0 || ^3.0", + "sebastian/exporter": "^3.1" }, "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.1.x-dev" } }, "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", "keywords": [ - "constructor", - "instantiate" + "comparator", + "compare", + "equality" ], - "time": "2015-06-14 21:17:01" + "time": "2018-02-01T13:46:46+00:00" }, { - "name": "fabpot/php-cs-fixer", - "version": "v1.10", + "name": "sebastian/diff", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "8e21b4fb32c4618a425817d9f0daf3d57a9808d1" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/8e21b4fb32c4618a425817d9f0daf3d57a9808d1", - "reference": "8e21b4fb32c4618a425817d9f0daf3d57a9808d1", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.3.6", - "sebastian/diff": "~1.1", - "symfony/console": "~2.3", - "symfony/event-dispatcher": "~2.1", - "symfony/filesystem": "~2.1", - "symfony/finder": "~2.1", - "symfony/process": "~2.3", - "symfony/stopwatch": "~2.5" + "php": "^7.0" }, "require-dev": { - "satooshi/php-coveralls": "0.7.*@dev" + "phpunit/phpunit": "^6.2" }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", - "autoload": { - "psr-4": { - "Symfony\\CS\\": "Symfony/CS/" + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "A tool to automatically fix PHP code style", - "time": "2015-07-27 20:56:10" + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2017-08-03T08:09:46+00:00" }, { - "name": "league/climate", - "version": "2.6.1", + "name": "sebastian/environment", + "version": "3.1.0", "source": { "type": "git", - "url": "https://github.com/thephpleague/climate.git", - "reference": "28851c909017424f61cc6a62089316313c645d1c" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/climate/zipball/28851c909017424f61cc6a62089316313c645d1c", - "reference": "28851c909017424f61cc6a62089316313c645d1c", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", "shasum": "" }, "require": { - "php": ">=5.4.0" + "php": "^7.0" }, "require-dev": { - "mockery/mockery": "dev-master", - "phpunit/phpunit": "4.1.*" + "phpunit/phpunit": "^6.1" }, "type": "library", - "autoload": { - "psr-4": { - "League\\CLImate\\": "src/" + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Joe Tannenbaum", - "email": "hey@joe.codes", - "homepage": "http://joe.codes/", - "role": "Developer" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "PHP's best friend for the terminal. CLImate allows you to easily output colored text, special formats, and more.", + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", "keywords": [ - "cli", - "colors", - "command", - "php", - "terminal" + "Xdebug", + "environment", + "hhvm" ], - "time": "2015-01-18 14:31:58" + "time": "2017-07-01T08:51:00+00:00" }, { - "name": "lusitanian/oauth", - "version": "v0.3.5", + "name": "sebastian/exporter", + "version": "3.1.0", "source": { "type": "git", - "url": "https://github.com/Lusitanian/PHPoAuthLib.git", - "reference": "ac5a1cd5a4519143728dce2213936eea302edf8a" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Lusitanian/PHPoAuthLib/zipball/ac5a1cd5a4519143728dce2213936eea302edf8a", - "reference": "ac5a1cd5a4519143728dce2213936eea302edf8a", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.0", + "sebastian/recursion-context": "^3.0" }, "require-dev": { - "phpunit/phpunit": "3.7.*", - "predis/predis": "0.8.*@dev", - "symfony/http-foundation": "~2.1" - }, - "suggest": { - "ext-openssl": "Allows for usage of secure connections with the stream-based HTTP client.", - "predis/predis": "Allows using the Redis storage backend.", - "symfony/http-foundation": "Allows using the Symfony Session storage backend." + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.1-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { - "psr-0": { - "OAuth": "src", - "OAuth\\Unit": "tests" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "David Desberg", - "email": "david@daviddesberg.com" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" }, { - "name": "Pieter Hordijk", - "email": "info@pieterhordijk.com" + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "PHP 5.3+ oAuth 1/2 Library", + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", "keywords": [ - "Authentication", - "authorization", - "oauth", - "security" + "export", + "exporter" ], - "time": "2014-09-05 15:19:58" + "time": "2017-04-03T13:19:02+00:00" }, { - "name": "pdepend/pdepend", - "version": "2.0.6", + "name": "sebastian/finder-facade", + "version": "1.2.2", "source": { "type": "git", - "url": "https://github.com/pdepend/pdepend.git", - "reference": "a15ffcbfbcc4570d4a733ca7b76e9cac0a56c3f4" + "url": "https://github.com/sebastianbergmann/finder-facade.git", + "reference": "4a3174709c2dc565fe5fb26fcf827f6a1fc7b09f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdepend/pdepend/zipball/a15ffcbfbcc4570d4a733ca7b76e9cac0a56c3f4", - "reference": "a15ffcbfbcc4570d4a733ca7b76e9cac0a56c3f4", + "url": "https://api.github.com/repos/sebastianbergmann/finder-facade/zipball/4a3174709c2dc565fe5fb26fcf827f6a1fc7b09f", + "reference": "4a3174709c2dc565fe5fb26fcf827f6a1fc7b09f", "shasum": "" }, "require": { - "symfony/config": ">=2.4", - "symfony/dependency-injection": ">=2.4", - "symfony/filesystem": ">=2.4" - }, - "require-dev": { - "phpunit/phpunit": "4.*@stable", - "squizlabs/php_codesniffer": "@stable" + "symfony/finder": "~2.3|~3.0|~4.0", + "theseer/fdomdocument": "~1.3" }, - "bin": [ - "src/bin/pdepend" - ], "type": "library", "autoload": { - "psr-0": { - "PDepend\\": "src/main/php/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "Official version of pdepend to be handled with Composer", - "time": "2015-03-02 08:06:43" + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FinderFacade is a convenience wrapper for Symfony's Finder component.", + "homepage": "https://github.com/sebastianbergmann/finder-facade", + "time": "2017-11-18T17:31:49+00:00" }, { - "name": "phpmd/phpmd", - "version": "2.2.3", + "name": "sebastian/global-state", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/phpmd/phpmd.git", - "reference": "5eeb5a4d39c8304910b33ae49f8813905346cc35" + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmd/phpmd/zipball/5eeb5a4d39c8304910b33ae49f8813905346cc35", - "reference": "5eeb5a4d39c8304910b33ae49f8813905346cc35", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", "shasum": "" }, "require": { - "pdepend/pdepend": "~2.0", - "php": ">=5.3.0", - "symfony/config": ">=2.4", - "symfony/dependency-injection": ">=2.4", - "symfony/filesystem": ">=2.4" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "*", - "squizlabs/php_codesniffer": "*" + "phpunit/phpunit": "^6.0" }, - "bin": [ - "src/bin/phpmd" - ], - "type": "project", - "autoload": { - "psr-0": { - "PHPMD\\": "src/main/php" + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { - "name": "Manuel Pichler", - "email": "github@manuel-pichler.de", - "homepage": "https://github.com/manuelpichler", - "role": "Project founder" - }, - { - "name": "Other contributors", - "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", - "role": "Contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", - "homepage": "http://phpmd.org/", + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", "keywords": [ - "mess detection", - "mess detector", - "pdepend", - "phpmd", - "pmd" + "global state" ], - "time": "2015-05-27 18:16:57" + "time": "2017-04-27T15:39:26+00:00" }, { - "name": "phpunit/php-code-coverage", - "version": "2.2.2", + "name": "sebastian/object-enumerator", + "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c" + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2d7c03c0e4e080901b8f33b2897b0577be18a13c", - "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", "shasum": "" }, "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" }, "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -2587,82 +8289,88 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-08-04 03:42:39" + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-08-03T12:35:26+00:00" }, { - "name": "phpunit/php-file-iterator", - "version": "1.3.4", + "name": "sebastian/object-reflector", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb" + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, "autoload": { "classmap": [ - "File/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2013-10-10 15:34:57" + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.1", + "name": "sebastian/phpcpd", + "version": "3.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "url": "https://github.com/sebastianbergmann/phpcpd.git", + "reference": "dfed51c1288790fc957c9433e2f49ab152e8a564" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/phpcpd/zipball/dfed51c1288790fc957c9433e2f49ab152e8a564", + "reference": "dfed51c1288790fc957c9433e2f49ab152e8a564", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.6|^7.0", + "phpunit/php-timer": "^1.0.6", + "sebastian/finder-facade": "^1.1", + "sebastian/version": "^1.0|^2.0", + "symfony/console": "^2.7|^3.0|^4.0" }, + "bin": [ + "phpcpd" + ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -2679,31 +8387,36 @@ "role": "lead" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21 13:50:34" + "description": "Copy/Paste Detector (CPD) for PHP code.", + "homepage": "https://github.com/sebastianbergmann/phpcpd", + "time": "2017-11-16T08:49:28+00:00" }, { - "name": "phpunit/php-timer", - "version": "1.0.7", + "name": "sebastian/recursion-context", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b", - "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -2714,44 +8427,44 @@ "BSD-3-Clause" ], "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2015-06-21 08:01:12" + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2017-03-03T06:23:57+00:00" }, { - "name": "phpunit/php-token-stream", - "version": "1.4.6", + "name": "sebastian/resource-operations", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b" + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3ab72c62e550370a6cd5dc873e1a04ab57562f5b", - "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" + "php": ">=5.6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { @@ -2769,56 +8482,31 @@ "email": "sebastian@phpunit.de" } ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2015-08-16 08:51:00" + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" }, { - "name": "phpunit/phpunit", - "version": "4.1.0", + "name": "sebastian/version", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "efb1b1334605594417a3bd466477772d06d460a8" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/efb1b1334605594417a3bd466477772d06d460a8", - "reference": "efb1b1334605594417a3bd466477772d06d460a8", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpunit/php-code-coverage": "~2.0", - "phpunit/php-file-iterator": "~1.3.1", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0.2", - "phpunit/phpunit-mock-objects": "~2.1", - "sebastian/comparator": "~1.0", - "sebastian/diff": "~1.1", - "sebastian/environment": "~1.0", - "sebastian/exporter": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" + "php": ">=5.6" }, - "bin": [ - "phpunit" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -2827,10 +8515,6 @@ ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "", - "../../symfony/yaml/" - ], "license": [ "BSD-3-Clause" ], @@ -2841,429 +8525,463 @@ "role": "lead" } ], - "description": "The PHP Unit Testing framework.", - "homepage": "http://www.phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2014-05-02 07:13:40" + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" }, { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.7", + "name": "squizlabs/php_codesniffer", + "version": "3.3.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "5e2645ad49d196e020b85598d7c97e482725786a" + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "628a481780561150481a9ec74709092b9759b3ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/5e2645ad49d196e020b85598d7c97e482725786a", - "reference": "5e2645ad49d196e020b85598d7c97e482725786a", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/628a481780561150481a9ec74709092b9759b3ec", + "reference": "628a481780561150481a9ec74709092b9759b3ec", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "3.x-dev" } }, - "autoload": { - "classmap": [ - "src/" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "name": "Greg Sherwood", "role": "lead" } ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "http://www.squizlabs.com/php-codesniffer", "keywords": [ - "mock", - "xunit" + "phpcs", + "standards" ], - "time": "2015-08-19 09:14:08" + "time": "2018-07-26T23:47:18+00:00" }, { - "name": "sebastian/comparator", - "version": "1.2.0", + "name": "symfony/browser-kit", + "version": "v4.2.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" + "url": "https://github.com/symfony/browser-kit.git", + "reference": "61d85c5af2fc058014c7c89504c3944e73a086f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/61d85c5af2fc058014c7c89504c3944e73a086f0", + "reference": "61d85c5af2fc058014c7c89504c3944e73a086f0", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" + "php": "^7.1.3", + "symfony/dom-crawler": "~3.4|~4.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "symfony/css-selector": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "4.2-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2015-07-26 15:48:44" + "description": "Symfony BrowserKit Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:17:42+00:00" }, { - "name": "sebastian/diff", - "version": "1.3.0", + "name": "symfony/config", + "version": "v4.2.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" + "url": "https://github.com/symfony/config.git", + "reference": "7f70d79c7a24a94f8e98abb988049403a53d7b31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", + "url": "https://api.github.com/repos/symfony/config/zipball/7f70d79c7a24a94f8e98abb988049403a53d7b31", + "reference": "7f70d79c7a24a94f8e98abb988049403a53d7b31", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.1.3", + "symfony/filesystem": "~3.4|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/finder": "<3.4" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "4.2-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-02-22 15:13:53" + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:17:42+00:00" }, { - "name": "sebastian/environment", - "version": "1.3.2", + "name": "symfony/contracts", + "version": "v1.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44" + "url": "https://github.com/symfony/contracts.git", + "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44", - "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44", + "url": "https://api.github.com/repos/symfony/contracts/zipball/1aa7ab2429c3d594dd70689604b5cf7421254cdf", + "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.1.3" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "psr/cache": "^1.0", + "psr/container": "^1.0" + }, + "suggest": { + "psr/cache": "When using the Cache contracts", + "psr/container": "When using the Service contracts", + "symfony/cache-contracts-implementation": "", + "symfony/service-contracts-implementation": "", + "symfony/translation-contracts-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "1.0-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Contracts\\": "" + }, + "exclude-from-classmap": [ + "**/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", + "description": "A set of abstractions extracted out of the Symfony components", + "homepage": "https://symfony.com", "keywords": [ - "Xdebug", - "environment", - "hhvm" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], - "time": "2015-08-03 06:14:51" + "time": "2018-12-05T08:06:11+00:00" }, { - "name": "sebastian/exporter", - "version": "1.2.1", + "name": "symfony/dependency-injection", + "version": "v4.2.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "7ae5513327cb536431847bcc0c10edba2701064e" + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "cdadb3765df7c89ac93628743913b92bb91f1704" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", - "reference": "7ae5513327cb536431847bcc0c10edba2701064e", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/cdadb3765df7c89ac93628743913b92bb91f1704", + "reference": "cdadb3765df7c89ac93628743913b92bb91f1704", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" + "php": "^7.1.3", + "psr/container": "^1.0", + "symfony/contracts": "^1.0" + }, + "conflict": { + "symfony/config": "<4.2", + "symfony/finder": "<3.4", + "symfony/proxy-manager-bridge": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "psr/container-implementation": "1.0", + "symfony/service-contracts-implementation": "1.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "symfony/config": "~4.2", + "symfony/expression-language": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "4.2-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2015-06-21 07:55:53" + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:17:42+00:00" }, { - "name": "sebastian/recursion-context", - "version": "1.0.1", + "name": "symfony/dom-crawler", + "version": "v4.2.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba" + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "53c97769814c80a84a8403efcf3ae7ae966d53bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba", - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/53c97769814c80a84a8403efcf3ae7ae966d53bb", + "reference": "53c97769814c80a84a8403efcf3ae7ae966d53bb", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "symfony/css-selector": "~3.4|~4.0" + }, + "suggest": { + "symfony/css-selector": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "4.2-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-06-21 08:04:50" + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:17:42+00:00" }, { - "name": "sebastian/version", - "version": "1.0.6", + "name": "symfony/http-foundation", + "version": "v4.2.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "850a667d6254ccf6c61d853407b16f21c4579c77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/850a667d6254ccf6c61d853407b16f21c4579c77", + "reference": "850a667d6254ccf6c61d853407b16f21c4579c77", "shasum": "" }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.1" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/expression-language": "~3.4|~4.0" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-06-21 13:59:46" + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2019-02-26T08:03:39+00:00" }, { - "name": "sjparkinson/static-review", - "version": "4.1.1", + "name": "symfony/options-resolver", + "version": "v4.2.4", "source": { "type": "git", - "url": "https://github.com/sjparkinson/static-review.git", - "reference": "493c3410cf146a12fca84209bad126c494e125f0" + "url": "https://github.com/symfony/options-resolver.git", + "reference": "3896e5a7d06fd15fa4947694c8dcdd371ff147d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sjparkinson/static-review/zipball/493c3410cf146a12fca84209bad126c494e125f0", - "reference": "493c3410cf146a12fca84209bad126c494e125f0", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/3896e5a7d06fd15fa4947694c8dcdd371ff147d1", + "reference": "3896e5a7d06fd15fa4947694c8dcdd371ff147d1", "shasum": "" }, "require": { - "league/climate": "~2.0", - "php": ">=5.4.0", - "symfony/console": "~2.0", - "symfony/process": "~2.0" - }, - "require-dev": { - "mockery/mockery": "~0.9", - "phpunit/phpunit": "~4.0", - "sensiolabs/security-checker": "~2.0", - "squizlabs/php_codesniffer": "~1.0" - }, - "suggest": { - "sensiolabs/security-checker": "Required for ComposerSecurityReview.", - "squizlabs/php_codesniffer": "Required for PhpCodeSnifferReview." + "php": "^7.1.3" }, - "bin": [ - "bin/static-review.php" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, "autoload": { "psr-4": { - "StaticReview\\": "src/" - } + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3271,120 +8989,112 @@ ], "authors": [ { - "name": "Samuel Parkinson", - "email": "sam.james.parkinson@gmail.com", - "homepage": "http://samp.im" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "An extendable framework for version control hooks.", - "time": "2014-09-22 08:40:36" + "description": "Symfony OptionsResolver Component", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "time": "2019-02-23T15:17:42+00:00" }, { - "name": "squizlabs/php_codesniffer", - "version": "1.5.3", + "name": "symfony/polyfill-php70", + "version": "v1.10.0", "source": { "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "396178ada8499ec492363587f037125bf7b07fcc" + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/396178ada8499ec492363587f037125bf7b07fcc", - "reference": "396178ada8499ec492363587f037125bf7b07fcc", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224", + "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.1.2" - }, - "suggest": { - "phpunit/php-timer": "dev-master" + "paragonie/random_compat": "~1.0|~2.0|~9.99", + "php": ">=5.3.3" }, - "bin": [ - "scripts/phpcs" - ], "type": "library", "extra": { "branch-alias": { - "dev-phpcs-fixer": "2.0.x-dev" + "dev-master": "1.9-dev" } }, "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php70\\": "" + }, + "files": [ + "bootstrap.php" + ], "classmap": [ - "CodeSniffer.php", - "CodeSniffer/CLI.php", - "CodeSniffer/Exception.php", - "CodeSniffer/File.php", - "CodeSniffer/Report.php", - "CodeSniffer/Reporting.php", - "CodeSniffer/Sniff.php", - "CodeSniffer/Tokens.php", - "CodeSniffer/Reports/", - "CodeSniffer/CommentParser/", - "CodeSniffer/Tokenizers/", - "CodeSniffer/DocGenerators/", - "CodeSniffer/Standards/AbstractPatternSniff.php", - "CodeSniffer/Standards/AbstractScopeSniff.php", - "CodeSniffer/Standards/AbstractVariableSniff.php", - "CodeSniffer/Standards/IncorrectPatternException.php", - "CodeSniffer/Standards/Generic/Sniffs/", - "CodeSniffer/Standards/MySource/Sniffs/", - "CodeSniffer/Standards/PEAR/Sniffs/", - "CodeSniffer/Standards/PSR1/Sniffs/", - "CodeSniffer/Standards/PSR2/Sniffs/", - "CodeSniffer/Standards/Squiz/Sniffs/", - "CodeSniffer/Standards/Zend/Sniffs/" + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Greg Sherwood", - "role": "lead" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "PHP_CodeSniffer tokenises PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "http://www.squizlabs.com/php-codesniffer", + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "phpcs", - "standards" + "compatibility", + "polyfill", + "portable", + "shim" ], - "time": "2014-05-01 03:07:07" + "time": "2018-09-21T06:26:08+00:00" }, { - "name": "symfony/config", - "version": "v2.7.3", + "name": "symfony/polyfill-php72", + "version": "v1.10.0", "source": { "type": "git", - "url": "https://github.com/symfony/Config.git", - "reference": "6c905bbed1e728226de656e4c07d620dfe9e80d9" + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Config/zipball/6c905bbed1e728226de656e4c07d620dfe9e80d9", - "reference": "6c905bbed1e728226de656e4c07d620dfe9e80d9", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", + "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/filesystem": "~2.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.9-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Config\\": "" - } + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3392,59 +9102,55 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Config Component", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", - "time": "2015-07-09 16:07:40" + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2018-09-21T13:07:52+00:00" }, { - "name": "symfony/dependency-injection", - "version": "v2.7.3", + "name": "symfony/stopwatch", + "version": "v4.2.4", "source": { "type": "git", - "url": "https://github.com/symfony/DependencyInjection.git", - "reference": "851e3ffe8a366b1590bdaf3df2c1395f2d27d8a6" + "url": "https://github.com/symfony/stopwatch.git", + "reference": "b1a5f646d56a3290230dbc8edf2a0d62cda23f67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/851e3ffe8a366b1590bdaf3df2c1395f2d27d8a6", - "reference": "851e3ffe8a366b1590bdaf3df2c1395f2d27d8a6", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b1a5f646d56a3290230dbc8edf2a0d62cda23f67", + "reference": "b1a5f646d56a3290230dbc8edf2a0d62cda23f67", "shasum": "" }, "require": { - "php": ">=5.3.9" - }, - "conflict": { - "symfony/expression-language": "<2.6" - }, - "require-dev": { - "symfony/config": "~2.2", - "symfony/expression-language": "~2.6", - "symfony/phpunit-bridge": "~2.7", - "symfony/yaml": "~2.1" - }, - "suggest": { - "symfony/config": "", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" + "php": "^7.1.3", + "symfony/contracts": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "4.2-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" - } + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3460,49 +9166,50 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DependencyInjection Component", + "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2015-07-28 14:07:07" + "time": "2019-01-16T20:31:39+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v2.7.3", + "name": "symfony/yaml", + "version": "v3.4.23", "source": { "type": "git", - "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3" + "url": "https://github.com/symfony/yaml.git", + "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/9310b5f9a87ec2ea75d20fec0b0017c77c66dac3", - "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3", + "url": "https://api.github.com/repos/symfony/yaml/zipball/57f1ce82c997f5a8701b89ef970e36bb657fd09c", + "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.6", - "symfony/expression-language": "~2.6", - "symfony/phpunit-bridge": "~2.7", - "symfony/stopwatch": "~2.3" + "symfony/console": "~3.4|~4.0" }, "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/console": "For validating YAML files using the lint command" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - } + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3518,137 +9225,172 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2015-06-18 19:21:56" + "time": "2019-02-23T15:06:07+00:00" }, { - "name": "symfony/filesystem", - "version": "v2.7.3", + "name": "theseer/fdomdocument", + "version": "1.6.6", "source": { "type": "git", - "url": "https://github.com/symfony/Filesystem.git", - "reference": "2d7b2ddaf3f548f4292df49a99d19c853d43f0b8" + "url": "https://github.com/theseer/fDOMDocument.git", + "reference": "6e8203e40a32a9c770bcb62fe37e68b948da6dca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Filesystem/zipball/2d7b2ddaf3f548f4292df49a99d19c853d43f0b8", - "reference": "2d7b2ddaf3f548f4292df49a99d19c853d43f0b8", + "url": "https://api.github.com/repos/theseer/fDOMDocument/zipball/6e8203e40a32a9c770bcb62fe37e68b948da6dca", + "reference": "6e8203e40a32a9c770bcb62fe37e68b948da6dca", "shasum": "" }, "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "ext-dom": "*", + "lib-libxml": "*", + "php": ">=5.3.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "lead" } + ], + "description": "The classes contained within this repository extend the standard DOM to use exceptions at all occasions of errors instead of PHP warnings or notices. They also add various custom methods and shortcuts for convenience and to simplify the usage of DOM.", + "homepage": "https://github.com/theseer/fDOMDocument", + "time": "2017-06-30T11:53:12+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" }, + "type": "library", "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" } ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2015-07-09 16:07:40" + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2017-04-07T12:08:54+00:00" }, { - "name": "symfony/stopwatch", - "version": "v2.7.3", + "name": "vlucas/phpdotenv", + "version": "v2.6.1", "source": { "type": "git", - "url": "https://github.com/symfony/Stopwatch.git", - "reference": "b07a866719bbac5294c67773340f97b871733310" + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Stopwatch/zipball/b07a866719bbac5294c67773340f97b871733310", - "reference": "b07a866719bbac5294c67773340f97b871733310", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2a7dcf7e3e02dc5e701004e51a6f304b713107d5", + "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.9", + "symfony/polyfill-ctype": "^1.9" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "phpunit/phpunit": "^4.8.35 || ^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.6-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" + "Dotenv\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "http://www.vancelucas.com" } ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com", - "time": "2015-07-01 18:23:16" + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "time": "2019-01-29T11:11:52+00:00" }, { - "name": "symfony/yaml", - "version": "v2.7.3", + "name": "webmozart/assert", + "version": "1.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "71340e996171474a53f3d29111d046be4ad8a0ff" + "url": "https://github.com/webmozart/assert.git", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/71340e996171474a53f3d29111d046be4ad8a0ff", - "reference": "71340e996171474a53f3d29111d046be4ad8a0ff", + "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.3-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Yaml\\": "" + "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3657,41 +9399,45 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2015-07-28 14:07:07" + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2018-12-25T11:19:39+00:00" } ], "aliases": [], - "minimum-stability": "alpha", + "minimum-stability": "stable", "stability-flags": { - "composer/composer": 15, "phpmd/phpmd": 0 }, "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "~5.5.0|~5.6.0|~7.0.0" - }, - "platform-dev": { - "lib-libxml": "*", + "php": "~7.1.3||~7.2.0", + "ext-bcmath": "*", "ext-ctype": "*", - "ext-gd": "*", - "ext-spl": "*", + "ext-curl": "*", "ext-dom": "*", - "ext-simplexml": "*", - "ext-mcrypt": "*", + "ext-gd": "*", "ext-hash": "*", - "ext-curl": "*", "ext-iconv": "*", - "ext-intl": "*" - } + "ext-intl": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-pdo_mysql": "*", + "ext-simplexml": "*", + "ext-soap": "*", + "ext-spl": "*", + "ext-xsl": "*", + "ext-zip": "*", + "lib-libxml": "*" + }, + "platform-dev": [] } diff --git a/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.lock b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.lock index 756542fbdb22..4fb998ab77b3 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.lock +++ b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.lock @@ -1,4437 +1,15991 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "hash": "8500e076fe26c04cf68124e561f62f52", + "content-hash": "758832dca53cba659d813c126f37d8a1", "packages": [ { - "name": "composer/composer", - "version": "1.0.0-alpha9", + "name": "amzn/amazon-pay-and-login-magento-2-module", + "version": "3.1.4", + "require": { + "amzn/amazon-pay-and-login-with-amazon-core-module": "3.1.4", + "amzn/amazon-pay-module": "3.1.4", + "amzn/login-with-amazon-module": "3.1.4" + }, + "type": "metapackage", + "license": [ + "Apache-2.0" + ], + "description": "Official Magento2 Plugin to integrate with Amazon Pay and Login with Amazon" + }, + { + "name": "amzn/amazon-pay-and-login-with-amazon-core-module", + "version": "3.1.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/amzn/amazon-pay-and-login-with-amazon-core-module/amzn-amazon-pay-and-login-with-amazon-core-module-3.1.4.0.zip", + "reference": null, + "shasum": "1ad5fdd9a997284f005d933b1fead3a746f158bb" + }, + "require": { + "amzn/amazon-pay-sdk-php": "^3.2.0", + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-checkout": "*", + "magento/module-config": "*", + "magento/module-customer": "*", + "magento/module-developer": "*", + "magento/module-payment": "*", + "magento/module-paypal": "*", + "magento/module-quote": "*", + "magento/module-sales": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Amazon\\Core\\": "" + } + }, + "license": [ + "Apache-2.0" + ], + "description": "Shared functionality for Amazon Pay and Login with Amazon modules" + }, + { + "name": "amzn/amazon-pay-module", + "version": "3.1.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/amzn/amazon-pay-module/amzn-amazon-pay-module-3.1.4.0.zip", + "reference": null, + "shasum": "03cec957586f9e14f0914b58f651c661c509d08d" + }, + "require": { + "amzn/amazon-pay-and-login-with-amazon-core-module": "^3.1.4", + "amzn/login-with-amazon-module": "^3.1.4", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-checkout": "*", + "magento/module-customer": "*", + "magento/module-directory": "*", + "magento/module-eav": "*", + "magento/module-payment": "*", + "magento/module-paypal": "*", + "magento/module-quote": "*", + "magento/module-sales": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-customer": "*", + "magento/module-scalable-checkout": "*", + "magento/module-scalable-oms": "*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Amazon\\Payment\\": "" + } + }, + "license": [ + "Apache-2.0" + ], + "description": "Amazon Pay module" + }, + { + "name": "amzn/amazon-pay-sdk-php", + "version": "3.4.1", "source": { "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "eb1ce550ca51134ee619ad3e37f5a0b7e980dd24" + "url": "https://github.com/amzn/amazon-pay-sdk-php.git", + "reference": "aff849d831b95469d68708ac1bdb316a56896e4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/eb1ce550ca51134ee619ad3e37f5a0b7e980dd24", - "reference": "eb1ce550ca51134ee619ad3e37f5a0b7e980dd24", + "url": "https://api.github.com/repos/amzn/amazon-pay-sdk-php/zipball/aff849d831b95469d68708ac1bdb316a56896e4c", + "reference": "aff849d831b95469d68708ac1bdb316a56896e4c", "shasum": "" }, "require": { - "justinrainbow/json-schema": "~1.1", - "php": ">=5.3.2", - "seld/jsonlint": "~1.0", - "symfony/console": "~2.3", - "symfony/finder": "~2.2", - "symfony/process": "~2.1" + "ext-curl": "*", + "php": ">=5.5.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "^4" }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives, and allows gzip compression of all internet traffic" - }, - "bin": [ - "bin/composer" - ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, "autoload": { - "psr-0": { - "Composer": "src/" + "psr-4": { + "AmazonPay\\": "AmazonPay/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "Apache OSL-2" ], "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": "Amazon Pay SDK", + "email": "amazon-pay-sdk@amazon.com" } ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", - "homepage": "http://getcomposer.org/", + "description": "Amazon Pay SDK (PHP)", + "homepage": "https://github.com/amzn/amazon-pay-sdk-php", "keywords": [ - "autoload", - "dependency", - "package" + "amazon", + "amazon pay", + "amazon payments", + "pay", + "pay with amazon", + "payment", + "payments" + ], + "time": "2019-02-11T16:32:17+00:00" + }, + { + "name": "amzn/login-with-amazon-module", + "version": "3.1.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/amzn/login-with-amazon-module/amzn-login-with-amazon-module-3.1.4.0.zip", + "reference": null, + "shasum": "d927403b521e59d36d42a29998c774986c65398b" + }, + "require": { + "amzn/amazon-pay-and-login-with-amazon-core-module": "^3.1.4", + "magento/module-checkout": "*", + "magento/module-checkout-agreements": "*", + "magento/module-customer": "*", + "magento/module-eav": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-sales": "*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Amazon\\Login\\": "" + } + }, + "license": [ + "Apache-2.0" ], - "time": "2014-12-07 17:15:20" + "description": "Login with Amazon module" }, { - "name": "justinrainbow/json-schema", - "version": "1.4.1", + "name": "bacon/bacon-qr-code", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "2465fe486c864e30badaa4d005ebdf89dbc503f3" + "url": "https://github.com/Bacon/BaconQrCode.git", + "reference": "5a91b62b9d37cee635bbf8d553f4546057250bee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2465fe486c864e30badaa4d005ebdf89dbc503f3", - "reference": "2465fe486c864e30badaa4d005ebdf89dbc503f3", + "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/5a91b62b9d37cee635bbf8d553f4546057250bee", + "reference": "5a91b62b9d37cee635bbf8d553f4546057250bee", "shasum": "" }, "require": { - "php": ">=5.3.0" + "ext-iconv": "*", + "php": "^5.4|^7.0" }, "require-dev": { - "json-schema/json-schema-test-suite": "1.1.0", - "phpdocumentor/phpdocumentor": "~2", - "phpunit/phpunit": "~3.7" + "phpunit/phpunit": "^4.8" }, - "bin": [ - "bin/validate-json" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } + "suggest": { + "ext-gd": "to generate QR code images" }, + "type": "library", "autoload": { "psr-0": { - "JsonSchema": "src/" + "BaconQrCode": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "BSD-2-Clause" ], "authors": [ { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" + "name": "Ben Scholzen 'DASPRiD'", + "email": "mail@dasprids.de", + "homepage": "http://www.dasprids.de", + "role": "Developer" + } + ], + "description": "BaconQrCode is a QR code generator for PHP.", + "homepage": "https://github.com/Bacon/BaconQrCode", + "time": "2017-10-17T09:59:25+00:00" + }, + { + "name": "beberlei/assert", + "version": "v2.9.6", + "source": { + "type": "git", + "url": "https://github.com/beberlei/assert.git", + "reference": "ec9e4cf0b63890edce844ee3922e2b95a526e936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/beberlei/assert/zipball/ec9e4cf0b63890edce844ee3922e2b95a526e936", + "reference": "ec9e4cf0b63890edce844ee3922e2b95a526e936", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.1.1", + "phpunit/phpunit": "^4.8.35|^5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Assert\\": "lib/Assert" }, + "files": [ + "lib/Assert/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de", + "role": "Lead Developer" }, { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Collaborator" } ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", + "description": "Thin assertion library for input validation in business models.", "keywords": [ - "json", - "schema" + "assert", + "assertion", + "validation" ], - "time": "2015-03-27 16:41:39" + "time": "2018-06-11T17:15:25+00:00" }, { - "name": "magento/framework", - "version": "0.74.0-beta9", + "name": "braintree/braintree_php", + "version": "3.35.0", + "source": { + "type": "git", + "url": "https://github.com/braintree/braintree_php.git", + "reference": "6c4388199ce379432804a5c18b88585157ef2ed7" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_framework-0.74.0-beta9.zip", - "reference": null, - "shasum": "bd9d7a552b4f71dc2b3c74f9bd2d81f15a9037c4" + "url": "https://api.github.com/repos/braintree/braintree_php/zipball/6c4388199ce379432804a5c18b88585157ef2ed7", + "reference": "6c4388199ce379432804a5c18b88585157ef2ed7", + "shasum": "" }, "require": { "ext-curl": "*", "ext-dom": "*", - "ext-gd": "*", "ext-hash": "*", - "ext-iconv": "*", - "ext-mcrypt": "*", - "ext-simplexml": "*", - "ext-spl": "*", - "lib-libxml": "*", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" - }, - "suggest": { - "ext-imagick": "Use Image Magick >=3.0.0 as an optional alternative image processing library" + "ext-openssl": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" }, - "type": "magento2-library", - "extra": { - "map": [ - [ - "*", - "Magento/Framework" - ] - ] + "require-dev": { + "phpunit/phpunit": "3.7.*" }, + "type": "library", "autoload": { + "psr-0": { + "Braintree": "lib/" + }, "psr-4": { - "Magento\\Framework\\": "" + "Braintree\\": "lib/Braintree" } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Braintree", + "homepage": "https://www.braintreepayments.com" + } + ], + "description": "Braintree PHP Client Library", + "time": "2018-07-26T14:37:38+00:00" }, { - "name": "magento/language-de_de", - "version": "0.74.0-beta9", + "name": "christian-riesen/base32", + "version": "1.3.2", + "source": { + "type": "git", + "url": "https://github.com/ChristianRiesen/base32.git", + "reference": "80ff0e3b2124e61b4b39e2535709452f70bff367" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-de_de-0.74.0-beta9.zip", - "reference": null, - "shasum": "6b1072242183699164f1717d996bb165769c1b6b" + "url": "https://api.github.com/repos/ChristianRiesen/base32/zipball/80ff0e3b2124e61b4b39e2535709452f70bff367", + "reference": "80ff0e3b2124e61b4b39e2535709452f70bff367", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*" + "php": ">=5.3" }, - "type": "magento2-language", + "require-dev": { + "php": ">=5.6", + "phpunit/phpunit": "^5.0", + "satooshi/php-coveralls": "^1.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "magento/de_de" - ] - ] + "branch-alias": { + "dev-master": "1.1.x-dev" + } }, + "autoload": { + "psr-4": { + "Base32\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "German (Germany) language" + "authors": [ + { + "name": "Christian Riesen", + "email": "chris.riesen@gmail.com", + "homepage": "http://christianriesen.com", + "role": "Developer" + } + ], + "description": "Base32 encoder/decoder according to RFC 4648", + "homepage": "https://github.com/ChristianRiesen/base32", + "keywords": [ + "base32", + "decode", + "encode", + "rfc4648" + ], + "time": "2018-11-02T09:03:50+00:00" }, { - "name": "magento/language-en_us", - "version": "0.74.0-beta9", + "name": "colinmollenhour/cache-backend-file", + "version": "v1.4.4", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/Cm_Cache_Backend_File.git", + "reference": "184171cc79933a828c3f9b1a1054724cea22a216" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-en_us-0.74.0-beta9.zip", - "reference": null, - "shasum": "70adc34f8d995776366273ff94a0524861b463a2" - }, - "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*" + "url": "https://api.github.com/repos/colinmollenhour/Cm_Cache_Backend_File/zipball/184171cc79933a828c3f9b1a1054724cea22a216", + "reference": "184171cc79933a828c3f9b1a1054724cea22a216", + "shasum": "" }, - "type": "magento2-language", - "extra": { - "map": [ - [ - "*", - "magento/en_us" - ] + "type": "magento-module", + "autoload": { + "classmap": [ + "File.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "English (United States) language" + "authors": [ + { + "name": "Colin Mollenhour" + } + ], + "description": "The stock Zend_Cache_Backend_File backend has extremely poor performance for cleaning by tags making it become unusable as the number of cached items increases. This backend makes many changes resulting in a huge performance boost, especially for tag cleaning.", + "homepage": "https://github.com/colinmollenhour/Cm_Cache_Backend_File", + "time": "2018-04-05T15:28:43+00:00" }, { - "name": "magento/language-es_es", - "version": "0.74.0-beta9", + "name": "colinmollenhour/cache-backend-redis", + "version": "1.10.6", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/Cm_Cache_Backend_Redis.git", + "reference": "cc941a5f4cc017e11d3eab9061811ba9583ed6bf" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-es_es-0.74.0-beta9.zip", - "reference": null, - "shasum": "ff62ceb7ce109c31c67fb1fdf154a2415bcc8045" + "url": "https://api.github.com/repos/colinmollenhour/Cm_Cache_Backend_Redis/zipball/cc941a5f4cc017e11d3eab9061811ba9583ed6bf", + "reference": "cc941a5f4cc017e11d3eab9061811ba9583ed6bf", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*" + "magento-hackathon/magento-composer-installer": "*" }, - "type": "magento2-language", - "extra": { - "map": [ - [ - "*", - "magento/es_es" - ] + "type": "magento-module", + "autoload": { + "classmap": [ + "Cm/Cache/Backend/Redis.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "Spanish (Spain) language" + "authors": [ + { + "name": "Colin Mollenhour" + } + ], + "description": "Zend_Cache backend using Redis with full support for tags.", + "homepage": "https://github.com/colinmollenhour/Cm_Cache_Backend_Redis", + "time": "2018-09-24T16:02:07+00:00" }, { - "name": "magento/language-fr_fr", - "version": "0.74.0-beta9", + "name": "colinmollenhour/credis", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/credis.git", + "reference": "8ab6db707c821055f9856b8cf76d5f44beb6fd8a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-fr_fr-0.74.0-beta9.zip", - "reference": null, - "shasum": "69f30ec0de09458d7e99d9c4ea42548f31411ee2" + "url": "https://api.github.com/repos/colinmollenhour/credis/zipball/8ab6db707c821055f9856b8cf76d5f44beb6fd8a", + "reference": "8ab6db707c821055f9856b8cf76d5f44beb6fd8a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*" + "php": ">=5.4.0" }, - "type": "magento2-language", - "extra": { - "map": [ - [ - "*", - "magento/fr_fr" - ] + "type": "library", + "autoload": { + "classmap": [ + "Client.php", + "Cluster.php", + "Sentinel.php", + "Module.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "French (France) language" + "authors": [ + { + "name": "Colin Mollenhour", + "email": "colin@mollenhour.com" + } + ], + "description": "Credis is a lightweight interface to the Redis key-value store which wraps the phpredis library when available for better performance.", + "homepage": "https://github.com/colinmollenhour/credis", + "time": "2018-05-07T14:45:04+00:00" }, { - "name": "magento/language-nl_nl", - "version": "0.74.0-beta9", + "name": "colinmollenhour/php-redis-session-abstract", + "version": "v1.4.1", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/php-redis-session-abstract.git", + "reference": "4949ca28b86037abb44984c77bab9d0a4e075643" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-nl_nl-0.74.0-beta9.zip", - "reference": null, - "shasum": "e11c7880d71955b794bccefcf2a26e6f381657a7" + "url": "https://api.github.com/repos/colinmollenhour/php-redis-session-abstract/zipball/4949ca28b86037abb44984c77bab9d0a4e075643", + "reference": "4949ca28b86037abb44984c77bab9d0a4e075643", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*" + "colinmollenhour/credis": "~1.6", + "php": "^5.5 || ^7.0" }, - "type": "magento2-language", - "extra": { - "map": [ - [ - "*", - "magento/nl_nl" - ] - ] + "type": "library", + "autoload": { + "psr-0": { + "Cm\\RedisSession\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "Dutch (Netherlands) language" + "authors": [ + { + "name": "Colin Mollenhour" + } + ], + "description": "A Redis-based session handler with optimistic locking", + "homepage": "https://github.com/colinmollenhour/php-redis-session-abstract", + "time": "2019-03-18T14:43:14+00:00" }, { - "name": "magento/language-pt_br", - "version": "0.74.0-beta9", + "name": "composer/ca-bundle", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-pt_br-0.74.0-beta9.zip", - "reference": null, - "shasum": "0b74dfba9407e5d69aca5f6723529e2c1daab7cf" + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*" + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0" }, - "type": "magento2-language", + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "magento/pt_br" - ] - ] + "branch-alias": { + "dev-master": "1.x-dev" + } }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "Portuguese (Brazil) language" + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2019-01-28T09:30:10+00:00" }, { - "name": "magento/language-zh_cn", - "version": "0.74.0-beta9", + "name": "composer/composer", + "version": "1.8.5", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "949b116f9e7d98d8d276594fed74b580d125c0e6" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-zh_cn-0.74.0-beta9.zip", - "reference": null, - "shasum": "360355c1ee1d29b958630427d086ba33607f3ef3" + "url": "https://api.github.com/repos/composer/composer/zipball/949b116f9e7d98d8d276594fed74b580d125c0e6", + "reference": "949b116f9e7d98d8d276594fed74b580d125c0e6", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*" + "composer/ca-bundle": "^1.0", + "composer/semver": "^1.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.7 || ^3.0 || ^4.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0" }, - "type": "magento2-language", + "conflict": { + "symfony/console": "2.8.38" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7", + "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "bin": [ + "bin/composer" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "magento/zh_cn" - ] - ] + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\": "src/Composer" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "Chinese (China) language" + "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" + } + ], + "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "time": "2019-04-09T15:46:48+00:00" }, { - "name": "magento/magento-composer-installer", - "version": "0.1.4", + "name": "composer/semver", + "version": "1.5.0", "source": { "type": "git", - "url": "https://github.com/magento/magento-composer-installer.git", - "reference": "7f03451f71e55d52c2bb07325d56a4e6df322f30" + "url": "https://github.com/composer/semver.git", + "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento/magento-composer-installer/zipball/7f03451f71e55d52c2bb07325d56a4e6df322f30", - "reference": "7f03451f71e55d52c2bb07325d56a4e6df322f30", + "url": "https://api.github.com/repos/composer/semver/zipball/46d9139568ccb8d9e7cdd4539cab7347568a5e2e", + "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e", "shasum": "" }, "require": { - "composer-plugin-api": "1.0.0" + "php": "^5.3.2 || ^7.0" }, "require-dev": { - "composer/composer": "*@dev", - "firegento/phpcs": "dev-patch-1", - "mikey179/vfsstream": "*", - "phpunit/phpunit": "*", - "phpunit/phpunit-mock-objects": "dev-master", - "squizlabs/php_codesniffer": "1.4.7", - "symfony/process": "*" + "phpunit/phpunit": "^4.5 || ^5.0.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" }, - "type": "composer-plugin", + "type": "library", "extra": { - "composer-command-registry": [ - "MagentoHackathon\\Composer\\Magento\\Command\\DeployCommand" - ], - "class": "MagentoHackathon\\Composer\\Magento\\Plugin" + "branch-alias": { + "dev-master": "1.x-dev" + } }, "autoload": { - "psr-0": { - "MagentoHackathon\\Composer\\Magento": "src/" + "psr-4": { + "Composer\\Semver\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0" + "MIT" ], "authors": [ { - "name": "Vinai Kopp", - "email": "vinai@netzarbeiter.com" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Daniel Fahlke aka Flyingmana", - "email": "flyingmana@googlemail.com" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" }, { - "name": "Jörg Weller", - "email": "weller@flagbit.de" - }, + "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" + ], + "time": "2019-03-19T17:25:45+00:00" + }, + { + "name": "composer/spdx-licenses", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "a1aa51cf3ab838b83b0867b14e56fc20fbd55b3d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/a1aa51cf3ab838b83b0867b14e56fc20fbd55b3d", + "reference": "a1aa51cf3ab838b83b0867b14e56fc20fbd55b3d", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ { - "name": "Karl Spies", - "email": "karl.spies@gmx.net" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Tobias Vogt", - "email": "tobi@webguys.de" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" }, { - "name": "David Fuhr", - "email": "fuhr@flagbit.de" + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "Composer installer for Magento modules", - "homepage": "https://github.com/magento/magento-composer-installer", + "description": "SPDX licenses list and validation library.", "keywords": [ - "composer-installer", - "magento" + "license", + "spdx", + "validator" ], - "time": "2015-03-05 21:40:30" + "time": "2019-03-26T10:23:26+00:00" }, { - "name": "magento/magento2-base", - "version": "0.74.0-beta9", + "name": "composer/xdebug-handler", + "version": "1.3.2", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "d17708133b6c276d6e42ef887a877866b909d892" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_magento2-base-0.74.0-beta9.zip", - "reference": null, - "shasum": "268b541398bbca13688ade93d66d390b2f30da7a" + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/d17708133b6c276d6e42ef887a877866b909d892", + "reference": "d17708133b6c276d6e42ef887a877866b909d892", + "shasum": "" }, "require": { - "magento/magento-composer-installer": "*" + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0" }, - "replace": { - "blueimp/jquery-file-upload": "5.6.14", - "colinmollenhour/cache-backend-redis": "dev-master#193d377b7fb2e88595578b282fa01a62d1185abc", - "colinmollenhour/credis": "dev-master#f07bbfd4117294f462f0fb19c49221d350bf396f", - "components/jquery": "1.11.0", - "components/jqueryui": "1.10.4", - "linkorb/jsmin-php": "1.1.2", - "tinymce/tinymce": "3.4.7", - "trentrichardson/jquery-timepicker-addon": "1.4.3", - "twbs/bootstrap": "3.1.0" + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" }, - "type": "magento2-component", - "extra": { - "component_paths": { - "trentrichardson/jquery-timepicker-addon": "lib/web/jquery/jquery-ui-timepicker-addon.js", - "colinmollenhour/cache-backend-redis": "lib/internal/Cm/Cache/Backend/Redis.php", - "colinmollenhour/credis": "lib/internal/Credis", - "linkorb/jsmin-php": "lib/internal/JSMin", - "components/jquery": [ - "lib/web/jquery.js", - "lib/web/jquery/jquery.min.js", - "lib/web/jquery/jquery-migrate.js", - "lib/web/jquery/jquery-migrate.min.js" - ], - "blueimp/jquery-file-upload": "lib/web/jquery/fileUploader", - "components/jqueryui": [ - "lib/web/jquery/jquery-ui.js", - "lib/web/jquery/jquery-ui.min.js" - ], - "twbs/bootstrap": "lib/web/jquery/jquery.tabs.js", - "tinymce/tinymce": "lib/web/tiny_mce" - }, - "map": [ - [ - "lib/internal/Cm", - "lib/internal/Cm" - ], - [ - "lib/internal/LinLibertineFont", - "lib/internal/LinLibertineFont" + "type": "library", + "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" + ], + "time": "2019-01-28T20:25:53+00:00" + }, + { + "name": "container-interop/container-interop", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/container-interop.git", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "shasum": "" + }, + "require": { + "psr/container": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/Interop/Container/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "homepage": "https://github.com/container-interop/container-interop", + "time": "2017-02-14T19:40:03+00:00" + }, + { + "name": "donatj/phpuseragentparser", + "version": "v0.13.0", + "source": { + "type": "git", + "url": "https://github.com/donatj/PhpUserAgent.git", + "reference": "5f2da266d2a386f9b231d4344ae37baf7a467c2d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/donatj/PhpUserAgent/zipball/5f2da266d2a386f9b231d4344ae37baf7a467c2d", + "reference": "5f2da266d2a386f9b231d4344ae37baf7a467c2d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "camspiers/json-pretty": "0.1.*", + "donatj/drop": "*", + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "files": [ + "src/UserAgentParser.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jesse G. Donat", + "email": "donatj@gmail.com", + "homepage": "http://donatstudios.com", + "role": "Developer" + } + ], + "description": "Lightning fast, minimalist PHP UserAgent string parser.", + "homepage": "http://donatstudios.com/PHP-Parser-HTTP_USER_AGENT", + "keywords": [ + "browser", + "browser detection", + "parser", + "user agent", + "useragent" + ], + "time": "2019-03-08T20:52:23+00:00" + }, + { + "name": "dotmailer/dotmailer-magento2-extension", + "version": "3.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/dotmailer/dotmailer-magento2-extension/dotmailer-dotmailer-magento2-extension-3.1.1.0.zip", + "reference": null, + "shasum": "2ede8827f7faacf72f6bc2004f9d4325f61cbd3f" + }, + "require": { + "magento/framework": ">=100 <103", + "magento/module-backend": ">=100 <102", + "magento/module-catalog": ">=101 <104", + "magento/module-catalog-inventory": "100.*", + "magento/module-catalog-rule": ">=100 <102", + "magento/module-checkout": "100.*", + "magento/module-config": ">=100 <103", + "magento/module-cron": "100.*", + "magento/module-customer": ">=100 <103", + "magento/module-directory": "100.*", + "magento/module-eav": ">=100 <103", + "magento/module-email": ">=100 <102", + "magento/module-newsletter": "100.*", + "magento/module-payment": "100.*", + "magento/module-product-alert": "100.*", + "magento/module-quote": ">=100 <102", + "magento/module-reports": "100.*", + "magento/module-review": ">=100 <102", + "magento/module-sales": ">=100 <103", + "magento/module-sales-rule": ">=100 <102", + "magento/module-send-friend": "100.*", + "magento/module-shipping": "100.*", + "magento/module-store": ">=100 <102", + "magento/module-ui": ">=100 <102", + "magento/module-user": ">=100 <102", + "magento/module-wishlist": ">=100 <102" + }, + "require-dev": { + "magento/marketplace-eqp": "dev-master", + "phpmd/phpmd": "@stable", + "squizlabs/php_codesniffer": "@stable" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Dotdigitalgroup\\Email\\": "" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Calin Diacon", + "email": "calin.diacon@dotmailer.com" + }, + { + "name": "Adeel Qamar", + "email": "adeel.qamar@dotmailer.com" + }, + { + "name": "Zygimantas", + "email": "zygimantas.simkus@dotmailer.com" + } + ], + "description": "dotmailer integration for magento 2" + }, + { + "name": "elasticsearch/elasticsearch", + "version": "v6.1.0", + "source": { + "type": "git", + "url": "https://github.com/elastic/elasticsearch-php.git", + "reference": "b237a37b2cdf23a5a17fd3576cdea771394ad00d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/elastic/elasticsearch-php/zipball/b237a37b2cdf23a5a17fd3576cdea771394ad00d", + "reference": "b237a37b2cdf23a5a17fd3576cdea771394ad00d", + "shasum": "" + }, + "require": { + "ext-json": ">=1.3.7", + "guzzlehttp/ringphp": "~1.0", + "php": "^7.0", + "psr/log": "~1.0" + }, + "require-dev": { + "cpliakas/git-wrapper": "~1.0", + "doctrine/inflector": "^1.1", + "mockery/mockery": "0.9.4", + "phpstan/phpstan-shim": "0.8.3", + "phpunit/phpunit": "6.3.0", + "squizlabs/php_codesniffer": "3.0.2", + "symfony/finder": "^2.8", + "symfony/yaml": "^2.8" + }, + "suggest": { + "ext-curl": "*", + "monolog/monolog": "Allows for client-level logging and tracing" + }, + "type": "library", + "autoload": { + "psr-4": { + "Elasticsearch\\": "src/Elasticsearch/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Zachary Tong" + } + ], + "description": "PHP Client for Elasticsearch", + "keywords": [ + "client", + "elasticsearch", + "search" + ], + "time": "2019-01-08T18:53:46+00:00" + }, + { + "name": "endroid/qr-code", + "version": "2.5.0", + "source": { + "type": "git", + "url": "https://github.com/endroid/qr-code.git", + "reference": "a9a57ab57ac75928fcdcfb2a71179963ff6fe573" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/endroid/qr-code/zipball/a9a57ab57ac75928fcdcfb2a71179963ff6fe573", + "reference": "a9a57ab57ac75928fcdcfb2a71179963ff6fe573", + "shasum": "" + }, + "require": { + "bacon/bacon-qr-code": "^1.0.3", + "ext-gd": "*", + "khanamiryan/qrcode-detector-decoder": "^1.0", + "myclabs/php-enum": "^1.5", + "php": ">=5.6", + "symfony/options-resolver": ">=2.7", + "symfony/property-access": ">=2.7" + }, + "require-dev": { + "phpunit/phpunit": ">=5.7", + "symfony/asset": ">=2.7", + "symfony/browser-kit": ">=2.7", + "symfony/finder": ">=2.7", + "symfony/framework-bundle": ">=2.7", + "symfony/http-kernel": ">=2.7", + "symfony/templating": ">=2.7", + "symfony/yaml": ">=2.7" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Endroid\\QrCode\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeroen van den Enden", + "email": "info@endroid.nl", + "homepage": "http://endroid.nl/" + } + ], + "description": "Endroid QR Code", + "homepage": "https://github.com/endroid/QrCode", + "keywords": [ + "bundle", + "code", + "endroid", + "flex", + "qr", + "qrcode", + "symfony" + ], + "time": "2017-10-22T18:56:00+00:00" + }, + { + "name": "google/recaptcha", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/google/recaptcha.git", + "reference": "e7add3be59211482ecdb942288f52da64a35f61a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/google/recaptcha/zipball/e7add3be59211482ecdb942288f52da64a35f61a", + "reference": "e7add3be59211482ecdb942288f52da64a35f61a", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.2.20|^2.12", + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^4.8.36|^5.7.27|^6.59|^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "ReCaptcha\\": "src/ReCaptcha" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Client library for reCAPTCHA, a free service that protects websites from spam and abuse.", + "homepage": "https://www.google.com/recaptcha/", + "keywords": [ + "Abuse", + "captcha", + "recaptcha", + "spam" + ], + "time": "2018-08-05T09:31:53+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.3.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.3-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2018-04-22T15:46:56+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.5.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "9f83dded91781a01c63574e387eaa769be769115" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", + "reference": "9f83dded91781a01c63574e387eaa769be769115", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2018-12-04T20:46:45+00:00" + }, + { + "name": "guzzlehttp/ringphp", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/RingPHP.git", + "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/5e2a174052995663dd68e6b5ad838afd47dd615b", + "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b", + "shasum": "" + }, + "require": { + "guzzlehttp/streams": "~3.0", + "php": ">=5.4.0", + "react/promise": "~2.0" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-curl": "Guzzle will use specific adapters if cURL is present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Ring\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.", + "time": "2018-07-31T13:22:33+00:00" + }, + { + "name": "guzzlehttp/streams", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/streams.git", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Stream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple abstraction over streams of data", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "Guzzle", + "stream" + ], + "time": "2014-10-12T19:18:40+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "5.2.8", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2019-01-14T23:55:14+00:00" + }, + { + "name": "khanamiryan/qrcode-detector-decoder", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/khanamiryan/php-qrcode-detector-decoder.git", + "reference": "a75482d3bc804e3f6702332bfda6cccbb0dfaa76" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/khanamiryan/php-qrcode-detector-decoder/zipball/a75482d3bc804e3f6702332bfda6cccbb0dfaa76", + "reference": "a75482d3bc804e3f6702332bfda6cccbb0dfaa76", + "shasum": "" + }, + "require": { + "php": "^5.6|^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Zxing\\": "lib/" + }, + "files": [ + "lib/Common/customFunctions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ashot Khanamiryan", + "email": "a.khanamiryan@gmail.com", + "homepage": "https://github.com/khanamiryan", + "role": "Developer" + } + ], + "description": "QR code decoder / reader", + "homepage": "https://github.com/khanamiryan/php-qrcode-detector-decoder/", + "keywords": [ + "barcode", + "qr", + "zxing" + ], + "time": "2018-04-26T11:41:33+00:00" + }, + { + "name": "klarna/m2-payments", + "version": "7.1.0", + "require": { + "klarna/module-core": "5.1.0", + "klarna/module-kp": "6.1.0", + "klarna/module-ordermanagement": "5.0.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.10.1", + "jakub-onderka/php-console-highlighter": "^0.3.2", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "lusitanian/oauth": "~0.8.10", + "magento-ecg/coding-standard": "^3.1", + "mikey179/vfsstream": "^1.6", + "pdepend/pdepend": "^2.5", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "@stable", + "phpro/grumphp": "^0.14", + "phpunit/phpunit": "~6.2.0", + "sebastian/phpcpd": "~3.0.0", + "squizlabs/php_codesniffer": "^3.2", + "theseer/phpdox": "^0.10.1" + }, + "type": "metapackage", + "license": [ + "Apache-2.0" + ], + "description": "Klarna Payments for Magento 2 (CE & EE)" + }, + { + "name": "klarna/module-core", + "version": "5.1.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/klarna/module-core/klarna-module-core-5.1.0.0.zip", + "reference": null, + "shasum": "050cc44c0077880e6a364e93f60d607cfd33c813" + }, + "require": { + "guzzlehttp/guzzle": "^6.0", + "magento/framework": "^100.1||^101.0||^102.0", + "magento/module-bundle": "^100.1", + "magento/module-catalog": "^102.0||^103.0", + "magento/module-config": "^101.0||^102.0", + "magento/module-customer": "^101.0||^102.0", + "magento/module-directory": "^100.1", + "magento/module-payment": "^100.2", + "magento/module-quote": "^101.0", + "magento/module-sales": "^101.0||^102.0", + "magento/module-store": "^100.1||^101.0", + "magento/module-tax": "^100.1", + "php": "~7.0.13|~7.1.0|~7.2.0", + "psr/log": "^1.0", + "ramsey/uuid": "3.6.1||^3.7" + }, + "conflict": { + "magento/module-payment": "100.0.8 || 100.1.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.10.1", + "jakub-onderka/php-console-highlighter": "^0.3.2", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "lusitanian/oauth": "~0.8.10", + "magento-ecg/coding-standard": "^3.1", + "mikey179/vfsstream": "^1.6", + "pdepend/pdepend": "^2.5", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "@stable", + "phpro/grumphp": "^0.14", + "phpunit/phpunit": "~6.2.0", + "sebastian/phpcpd": "~3.0", + "squizlabs/php_codesniffer": "^3.2", + "theseer/phpdox": "^0.10.1" + }, + "type": "magento2-module", + "autoload": { + "psr-4": { + "Klarna\\Core\\": "." + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Joe Constant", + "email": "joe.constant@klarna.com" + }, + { + "name": "Jason Grim", + "email": "jason.grim@klarna.com" + }, + { + "name": "Fei Chen", + "email": "fei.chen@klarna.com" + } + ], + "description": "Klarna Core Magento 2 Extension" + }, + { + "name": "klarna/module-kp", + "version": "6.1.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/klarna/module-kp/klarna-module-kp-6.1.0.0.zip", + "reference": null, + "shasum": "cf1911ce01da43e226fced1d3d72baec66875393" + }, + "require": { + "klarna/module-core": "^4.0||^5.0", + "klarna/module-ordermanagement": "^4.0||^5.0", + "magento/framework": "^100.1||^101.0||^102.0", + "magento/module-checkout": "^100.1", + "magento/module-customer": "^100.1||^101.0||^102.0", + "magento/module-directory": "^100.1", + "magento/module-payment": "^100.1", + "magento/module-quote": "^100.1||^101.0", + "magento/module-sales": "^100.1||^101.0||^102.0", + "magento/module-store": "^100.1||^101.0", + "php": "~7.0.13|~7.1.0|~7.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.10.1", + "jakub-onderka/php-console-highlighter": "^0.3.2", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "lusitanian/oauth": "~0.8.10", + "magento-ecg/coding-standard": "^3.1", + "magento/framework": "^101.0.0", + "mikey179/vfsstream": "^1.6", + "pdepend/pdepend": "^2.5", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "@stable", + "phpro/grumphp": "^0.14", + "phpunit/phpunit": "~6.2.0", + "sebastian/phpcpd": "~3.0", + "squizlabs/php_codesniffer": "^3.2", + "theseer/phpdox": "^0.10.1" + }, + "type": "magento2-module", + "autoload": { + "psr-4": { + "Klarna\\Kp\\": "" + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Joe Constant", + "email": "joe.constant@klarna.com" + }, + { + "name": "Jason Grim", + "email": "jason.grim@klarna.com" + }, + { + "name": "Fei Chen", + "email": "fei.chen@klarna.com" + }, + { + "name": "Dario Kassler", + "email": "dario.kassler@klarna.com" + } + ], + "description": "Klarna Payments Magento 2 Extension" + }, + { + "name": "klarna/module-ordermanagement", + "version": "5.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/klarna/module-ordermanagement/klarna-module-ordermanagement-5.0.3.0.zip", + "reference": null, + "shasum": "5a73ab885349d4c7f9a56dc9465c4ff712e808ca" + }, + "require": { + "klarna/module-core": "^4.0||^5.0", + "magento/framework": "^102.0", + "magento/module-payment": "^100.1", + "magento/module-quote": "^100.1||^101.0||^102.0", + "magento/module-sales": "^100.1||^101.0||^102.0", + "magento/module-store": "^100.1||^101.0", + "php": "~7.1.0|~7.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.10.1", + "jakub-onderka/php-console-highlighter": "^0.3.2", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "lusitanian/oauth": "~0.8.10", + "magento-ecg/coding-standard": "^3.1", + "magento/framework": "^101.0.0", + "mikey179/vfsstream": "^1.6", + "pdepend/pdepend": "^2.5", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "@stable", + "phpro/grumphp": "^0.14", + "phpunit/phpunit": "~6.2.0", + "sebastian/phpcpd": "~3.0", + "squizlabs/php_codesniffer": "^3.2", + "theseer/phpdox": "^0.10.1" + }, + "type": "magento2-module", + "autoload": { + "psr-4": { + "Klarna\\Ordermanagement\\": "." + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Joe Constant", + "email": "joe.constant@klarna.com" + }, + { + "name": "Jason Grim", + "email": "jason.grim@klarna.com" + }, + { + "name": "Fei Chen", + "email": "fei.chen@klarna.com" + }, + { + "name": "Dario Kassler", + "email": "dario.kassler@klarna.com" + } + ], + "description": "Klarna Order Management Magento 2 Extension" + }, + { + "name": "magento/composer", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/magento/composer.git", + "reference": "6fb9eb3dd72a5e70aa53983f132f8e1883e79978" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/magento/composer/zipball/6fb9eb3dd72a5e70aa53983f132f8e1883e79978", + "reference": "6fb9eb3dd72a5e70aa53983f132f8e1883e79978", + "shasum": "" + }, + "require": { + "composer/composer": "^1.6", + "php": "~7.1.3|~7.2.0", + "symfony/console": "~4.0.0 || ~4.1.0" + }, + "require-dev": { + "phpunit/phpunit": "~7.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Magento\\Composer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Magento composer library helps to instantiate Composer application and run composer commands.", + "time": "2018-06-29T18:46:51+00:00" + }, + { + "name": "magento/framework", + "version": "102.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/framework/magento-framework-102.0.1.0.zip", + "reference": null, + "shasum": "399d85904a005db76ce518a265cfdaff68d02984" + }, + "require": { + "colinmollenhour/php-redis-session-abstract": "~1.4.0", + "composer/composer": "^1.6", + "ext-bcmath": "*", + "ext-curl": "*", + "ext-dom": "*", + "ext-gd": "*", + "ext-hash": "*", + "ext-iconv": "*", + "ext-openssl": "*", + "ext-simplexml": "*", + "ext-spl": "*", + "ext-xsl": "*", + "lib-libxml": "*", + "magento/zendframework1": "~1.14.0", + "monolog/monolog": "^1.17", + "oyejorge/less.php": "~1.7.0", + "php": "~7.1.3||~7.2.0", + "symfony/console": "~4.1.0", + "symfony/process": "~4.1.0", + "tedivm/jshrink": "~1.3.0", + "zendframework/zend-code": "~3.3.0", + "zendframework/zend-crypt": "^2.6.0", + "zendframework/zend-http": "^2.6.0", + "zendframework/zend-mvc": "~2.7.0", + "zendframework/zend-stdlib": "^2.7.7", + "zendframework/zend-uri": "^2.5.1", + "zendframework/zend-validator": "^2.6.0" + }, + "suggest": { + "ext-imagick": "Use Image Magick >=3.0.0 as an optional alternative image processing library" + }, + "type": "magento2-library", + "autoload": { + "psr-4": { + "Magento\\Framework\\": "" + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/framework-amqp", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/framework-amqp/magento-framework-amqp-100.3.1.0.zip", + "reference": null, + "shasum": "40a4d6799c43dd9eed1f7dba4ca2eb6b26518966" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0", + "php-amqplib/php-amqplib": "~2.7.0" + }, + "type": "magento2-library", + "autoload": { + "psr-4": { + "Magento\\Framework\\Amqp\\": "" + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/framework-bulk", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/framework-bulk/magento-framework-bulk-100.3.1.0.zip", + "reference": null, + "shasum": "efa487ceac1c91824797e1f8a87d9b6bd2fdfa3a" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-library", + "autoload": { + "psr-4": { + "Magento\\Framework\\Bulk\\": "" + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/framework-message-queue", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/framework-message-queue/magento-framework-message-queue-100.3.1.0.zip", + "reference": null, + "shasum": "51901caed892f2e26241677df2f72deaa010a1a3" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-library", + "autoload": { + "psr-4": { + "Magento\\Framework\\MessageQueue\\": "" + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/inventory-composer-installer", + "version": "1.1.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/inventory-composer-installer/magento-inventory-composer-installer-1.1.0.0.zip", + "reference": null, + "shasum": "c52566b82926bb37487a2b3cb2c8ae091be9be9e" + }, + "require": { + "composer-plugin-api": "^1.1", + "magento/framework": "*" + }, + "require-dev": { + "composer/composer": "*" + }, + "type": "composer-plugin", + "extra": { + "class": "Magento\\InventoryComposerInstaller\\Plugin" + }, + "autoload": { + "psr-4": { + "Magento\\InventoryComposerInstaller\\": "src" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Composer plugin for Magento Multi Source Inventory" + }, + { + "name": "magento/inventory-composer-metapackage", + "version": "1.1.1", + "require": { + "magento/inventory-composer-installer": "1.1.0", + "magento/module-inventory": "1.0.4", + "magento/module-inventory-admin-ui": "1.0.4", + "magento/module-inventory-api": "1.0.4", + "magento/module-inventory-bundle-product": "1.0.3", + "magento/module-inventory-bundle-product-admin-ui": "1.0.3", + "magento/module-inventory-cache": "1.0.3", + "magento/module-inventory-catalog": "1.0.4", + "magento/module-inventory-catalog-admin-ui": "1.0.4", + "magento/module-inventory-catalog-api": "1.0.4", + "magento/module-inventory-catalog-search": "1.0.4", + "magento/module-inventory-configurable-product": "1.0.4", + "magento/module-inventory-configurable-product-admin-ui": "1.0.4", + "magento/module-inventory-configurable-product-indexer": "1.0.3", + "magento/module-inventory-configuration": "1.0.4", + "magento/module-inventory-configuration-api": "1.0.4", + "magento/module-inventory-distance-based-source-selection": "1.0.0", + "magento/module-inventory-distance-based-source-selection-admin-ui": "1.0.0", + "magento/module-inventory-distance-based-source-selection-api": "1.0.0", + "magento/module-inventory-elasticsearch": "1.0.0", + "magento/module-inventory-grouped-product": "1.0.3", + "magento/module-inventory-grouped-product-admin-ui": "1.0.4", + "magento/module-inventory-grouped-product-indexer": "1.0.3", + "magento/module-inventory-import-export": "1.0.4", + "magento/module-inventory-indexer": "1.0.4", + "magento/module-inventory-low-quantity-notification": "1.0.4", + "magento/module-inventory-low-quantity-notification-admin-ui": "1.0.4", + "magento/module-inventory-low-quantity-notification-api": "1.0.3", + "magento/module-inventory-multi-dimensional-indexer-api": "1.0.4", + "magento/module-inventory-product-alert": "1.0.4", + "magento/module-inventory-reservations": "1.0.4", + "magento/module-inventory-reservations-api": "1.0.3", + "magento/module-inventory-sales": "1.0.4", + "magento/module-inventory-sales-admin-ui": "1.0.4", + "magento/module-inventory-sales-api": "1.0.4", + "magento/module-inventory-sales-frontend-ui": "1.0.3", + "magento/module-inventory-setup-fixture-generator": "1.0.0", + "magento/module-inventory-shipping": "1.0.4", + "magento/module-inventory-shipping-admin-ui": "1.0.4", + "magento/module-inventory-source-deduction-api": "1.0.4", + "magento/module-inventory-source-selection": "1.0.4", + "magento/module-inventory-source-selection-api": "1.1.0" + }, + "type": "metapackage", + "description": "Metapackage with Magento Inventory modules for simple installation" + }, + { + "name": "magento/language-de_de", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-de_de/magento-language-de_de-100.3.1.0.zip", + "reference": null, + "shasum": "4fa504af2bb938cadea2376cb17caa0832791bfa" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "German (Germany) language" + }, + { + "name": "magento/language-en_us", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-en_us/magento-language-en_us-100.3.1.0.zip", + "reference": null, + "shasum": "13e74a7d83dbd49dec496aeaedc5ad0dc82dacd8" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "English (United States) language" + }, + { + "name": "magento/language-es_es", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-es_es/magento-language-es_es-100.3.1.0.zip", + "reference": null, + "shasum": "ea3dd068fe9caad30835e9dff5a2aab96032e4c0" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Spanish (Spain) language" + }, + { + "name": "magento/language-fr_fr", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-fr_fr/magento-language-fr_fr-100.3.1.0.zip", + "reference": null, + "shasum": "9ab44b7845abb6f1b031864c815de6ae836dbaf7" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "French (France) language" + }, + { + "name": "magento/language-nl_nl", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-nl_nl/magento-language-nl_nl-100.3.1.0.zip", + "reference": null, + "shasum": "060a175c553e80abf77f877a6d92746658e270f0" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Dutch (Netherlands) language" + }, + { + "name": "magento/language-pt_br", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-pt_br/magento-language-pt_br-100.3.1.0.zip", + "reference": null, + "shasum": "50c59308621d44fe8def4a93253087fa69bdae70" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Portuguese (Brazil) language" + }, + { + "name": "magento/language-zh_hans_cn", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-zh_hans_cn/magento-language-zh_hans_cn-100.3.1.0.zip", + "reference": null, + "shasum": "8b2e9a40c956bc05c50b02ea54e10c00d9d24d78" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Chinese (China) language" + }, + { + "name": "magento/magento-composer-installer", + "version": "0.1.13", + "source": { + "type": "git", + "url": "https://github.com/magento/magento-composer-installer.git", + "reference": "8b6c32f53b4944a5d6656e86344cd0f9784709a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/magento/magento-composer-installer/zipball/8b6c32f53b4944a5d6656e86344cd0f9784709a1", + "reference": "8b6c32f53b4944a5d6656e86344cd0f9784709a1", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0" + }, + "replace": { + "magento-hackathon/magento-composer-installer": "*" + }, + "require-dev": { + "composer/composer": "*@dev", + "firegento/phpcs": "dev-patch-1", + "mikey179/vfsstream": "*", + "phpunit/phpunit": "*", + "phpunit/phpunit-mock-objects": "dev-master", + "squizlabs/php_codesniffer": "1.4.7", + "symfony/process": "*" + }, + "type": "composer-plugin", + "extra": { + "composer-command-registry": [ + "MagentoHackathon\\Composer\\Magento\\Command\\DeployCommand" + ], + "class": "MagentoHackathon\\Composer\\Magento\\Plugin" + }, + "autoload": { + "psr-0": { + "MagentoHackathon\\Composer\\Magento": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "OSL-3.0" + ], + "authors": [ + { + "name": "Vinai Kopp", + "email": "vinai@netzarbeiter.com" + }, + { + "name": "Daniel Fahlke aka Flyingmana", + "email": "flyingmana@googlemail.com" + }, + { + "name": "Jörg Weller", + "email": "weller@flagbit.de" + }, + { + "name": "Karl Spies", + "email": "karl.spies@gmx.net" + }, + { + "name": "Tobias Vogt", + "email": "tobi@webguys.de" + }, + { + "name": "David Fuhr", + "email": "fuhr@flagbit.de" + } + ], + "description": "Composer installer for Magento modules", + "homepage": "https://github.com/magento/magento-composer-installer", + "keywords": [ + "composer-installer", + "magento" + ], + "time": "2017-12-29T16:45:24+00:00" + }, + { + "name": "magento/magento2-base", + "version": "2.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/magento2-base/magento-magento2-base-2.3.1.0.zip", + "reference": null, + "shasum": "7877828bb63a7cfca5c62c6c6caf6a9c05ab154b" + }, + "require": { + "braintree/braintree_php": "3.35.0", + "composer/composer": "^1.6", + "ext-intl": "*", + "ext-mbstring": "*", + "magento/composer": "~1.4.0", + "magento/magento-composer-installer": "*", + "magento/zendframework1": "~1.14.1", + "monolog/monolog": "^1.17", + "oyejorge/less.php": "~1.7.0", + "pelago/emogrifier": "^2.0.0", + "php": "~7.1.3||~7.2.0", + "phpseclib/phpseclib": "2.0.*", + "symfony/console": "~4.1.0", + "symfony/event-dispatcher": "~4.1.0", + "tedivm/jshrink": "~1.3.0", + "tubalmartin/cssmin": "4.1.1", + "zendframework/zend-code": "~3.3.0", + "zendframework/zend-config": "^2.6.0", + "zendframework/zend-console": "^2.6.0", + "zendframework/zend-crypt": "^2.6.0", + "zendframework/zend-di": "^2.6.1", + "zendframework/zend-eventmanager": "^2.6.3", + "zendframework/zend-form": "^2.10.0", + "zendframework/zend-http": "^2.6.0", + "zendframework/zend-i18n": "^2.7.3", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-log": "^2.9.1", + "zendframework/zend-modulemanager": "^2.7", + "zendframework/zend-mvc": "~2.7.0", + "zendframework/zend-serializer": "^2.7.2", + "zendframework/zend-server": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.8", + "zendframework/zend-soap": "^2.7.0", + "zendframework/zend-stdlib": "^2.7.7", + "zendframework/zend-text": "^2.6.0", + "zendframework/zend-uri": "^2.5.1", + "zendframework/zend-validator": "^2.6.0", + "zendframework/zend-view": "~2.10.0" + }, + "conflict": { + "gene/bluefoot": "*" + }, + "replace": { + "blueimp/jquery-file-upload": "5.6.14", + "components/jquery": "1.11.0", + "components/jqueryui": "1.10.4", + "tinymce/tinymce": "3.4.7", + "trentrichardson/jquery-timepicker-addon": "1.4.3", + "twbs/bootstrap": "3.1.0" + }, + "type": "magento2-component", + "extra": { + "component_paths": { + "trentrichardson/jquery-timepicker-addon": "lib/web/jquery/jquery-ui-timepicker-addon.js", + "components/jquery": [ + "lib/web/jquery.js", + "lib/web/jquery/jquery.min.js", + "lib/web/jquery/jquery-migrate.js" ], + "blueimp/jquery-file-upload": "lib/web/jquery/fileUploader", + "components/jqueryui": "lib/web/jquery/jquery-ui.js", + "twbs/bootstrap": "lib/web/jquery/jquery.tabs.js", + "tinymce/tinymce": "lib/web/tiny_mce_4" + }, + "map": [ [ - "lib/internal/Credis", - "lib/internal/Credis" + ".github", + ".github" ], [ - "lib/internal/CardinalCommerce", - "lib/internal/CardinalCommerce" + ".htaccess", + ".htaccess" ], [ - "lib/internal/JSMin", - "lib/internal/JSMin" + ".htaccess.sample", + ".htaccess.sample" ], [ - "lib/.htaccess", - "lib/.htaccess" + ".php_cs.dist", + ".php_cs.dist" ], [ - "lib/web/lib", - "lib/web/lib" + ".travis.yml", + ".travis.yml" ], [ - "lib/web/requirejs", - "lib/web/requirejs" + ".user.ini", + ".user.ini" ], [ - "lib/web/prototype", - "lib/web/prototype" + "COPYING.txt", + "COPYING.txt" ], [ - "lib/web/moment.js", - "lib/web/moment.js" + "Gruntfile.js.sample", + "Gruntfile.js.sample" ], [ - "lib/web/i18n", - "lib/web/i18n" + "LICENSE.txt", + "LICENSE.txt" ], [ - "lib/web/varien", - "lib/web/varien" + "LICENSE_AFL.txt", + "LICENSE_AFL.txt" ], [ - "lib/web/blank.html", - "lib/web/blank.html" + "app/.htaccess", + "app/.htaccess" ], [ - "lib/web/scriptaculous", - "lib/web/scriptaculous" + "app/autoload.php", + "app/autoload.php" ], [ - "lib/web/ko", - "lib/web/ko" + "app/bootstrap.php", + "app/bootstrap.php" ], [ - "lib/web/modernizr", - "lib/web/modernizr" + "app/design/adminhtml/Magento", + "app/design/adminhtml/Magento" ], [ - "lib/web/spacer.gif", - "lib/web/spacer.gif" + "app/design/frontend/Magento", + "app/design/frontend/Magento" ], [ - "lib/web/images", - "lib/web/images" + "app/etc/NonComposerComponentRegistration.php", + "app/etc/NonComposerComponentRegistration.php" ], [ - "lib/web/matchMedia.js", - "lib/web/matchMedia.js" + "app/etc/db_schema.xml", + "app/etc/db_schema.xml" ], [ - "lib/web/extjs", - "lib/web/extjs" + "app/etc/di.xml", + "app/etc/di.xml" ], [ - "lib/web/css", - "lib/web/css" + "app/etc/registration_globlist.php", + "app/etc/registration_globlist.php" ], [ - "lib/web/fonts", - "lib/web/fonts" + "app/functions.php", + "app/functions.php" ], [ - "lib/web/jquery", - "lib/web/jquery" + "auth.json.sample", + "auth.json.sample" ], [ - "lib/web/less", - "lib/web/less" + "bin/.htaccess", + "bin/.htaccess" ], [ - "lib/web/jquery.js", - "lib/web/jquery.js" + "bin/magento", + "bin/magento" ], [ - "lib/web/underscore.js", - "lib/web/underscore.js" + "dev/.htaccess", + "dev/.htaccess" ], [ - "lib/web/legacy-build.min.js", - "lib/web/legacy-build.min.js" + "dev/tests/acceptance", + "dev/tests/acceptance" ], [ - "lib/web/mage", - "lib/web/mage" + "dev/tests/api-functional/.gitignore", + "dev/tests/api-functional/.gitignore" ], [ - "lib/web/tiny_mce", - "lib/web/tiny_mce" + "dev/tests/api-functional/_files", + "dev/tests/api-functional/_files" ], [ - ".htaccess.sample", - ".htaccess.sample" + "dev/tests/api-functional/config", + "dev/tests/api-functional/config" ], [ - "CONTRIBUTING.md", - "CONTRIBUTING.md" + "dev/tests/api-functional/framework", + "dev/tests/api-functional/framework" ], [ - "package.json", - "package.json" + "dev/tests/api-functional/phpunit_graphql.xml.dist", + "dev/tests/api-functional/phpunit_graphql.xml.dist" ], [ - "bin", - "bin" + "dev/tests/api-functional/phpunit_rest.xml.dist", + "dev/tests/api-functional/phpunit_rest.xml.dist" ], [ - "nginx.conf.sample", - "nginx.conf.sample" + "dev/tests/api-functional/phpunit_soap.xml.dist", + "dev/tests/api-functional/phpunit_soap.xml.dist" ], [ - "var/.htaccess", - "var/.htaccess" + "dev/tests/api-functional/testsuite/Magento", + "dev/tests/api-functional/testsuite/Magento" ], [ - "pub/media/downloadable/.htaccess", - "pub/media/downloadable/.htaccess" + "dev/tests/error_handler.php", + "dev/tests/error_handler.php" ], [ - "pub/media/theme_customization/.htaccess", - "pub/media/theme_customization/.htaccess" + "dev/tests/functional/.gitignore", + "dev/tests/functional/.gitignore" ], [ - "pub/media/customer/.htaccess", - "pub/media/customer/.htaccess" + "dev/tests/functional/.htaccess.sample", + "dev/tests/functional/.htaccess.sample" ], [ - "pub/media/.htaccess", - "pub/media/.htaccess" + "dev/tests/functional/bootstrap.php", + "dev/tests/functional/bootstrap.php" + ], + [ + "dev/tests/functional/composer.json", + "dev/tests/functional/composer.json" + ], + [ + "dev/tests/functional/credentials.xml.dist", + "dev/tests/functional/credentials.xml.dist" + ], + [ + "dev/tests/functional/etc", + "dev/tests/functional/etc" + ], + [ + "dev/tests/functional/isolation.php", + "dev/tests/functional/isolation.php" + ], + [ + "dev/tests/functional/lib", + "dev/tests/functional/lib" + ], + [ + "dev/tests/functional/phpunit.xml.dist", + "dev/tests/functional/phpunit.xml.dist" + ], + [ + "dev/tests/functional/tests", + "dev/tests/functional/tests" + ], + [ + "dev/tests/functional/testsuites/Magento", + "dev/tests/functional/testsuites/Magento" + ], + [ + "dev/tests/functional/utils", + "dev/tests/functional/utils" + ], + [ + "dev/tests/integration/.gitignore", + "dev/tests/integration/.gitignore" + ], + [ + "dev/tests/integration/_files", + "dev/tests/integration/_files" + ], + [ + "dev/tests/integration/bin", + "dev/tests/integration/bin" + ], + [ + "dev/tests/integration/etc", + "dev/tests/integration/etc" + ], + [ + "dev/tests/integration/framework", + "dev/tests/integration/framework" + ], + [ + "dev/tests/integration/phpunit.xml.dist", + "dev/tests/integration/phpunit.xml.dist" + ], + [ + "dev/tests/integration/testsuite/Magento", + "dev/tests/integration/testsuite/Magento" + ], + [ + "dev/tests/integration/tmp", + "dev/tests/integration/tmp" + ], + [ + "dev/tests/js", + "dev/tests/js" + ], + [ + "dev/tests/setup-integration", + "dev/tests/setup-integration" + ], + [ + "dev/tests/static/.gitignore", + "dev/tests/static/.gitignore" + ], + [ + "dev/tests/static/framework", + "dev/tests/static/framework" + ], + [ + "dev/tests/static/get_github_changes.php", + "dev/tests/static/get_github_changes.php" + ], + [ + "dev/tests/static/phpunit-all.xml.dist", + "dev/tests/static/phpunit-all.xml.dist" + ], + [ + "dev/tests/static/phpunit.xml.dist", + "dev/tests/static/phpunit.xml.dist" + ], + [ + "dev/tests/static/testsuite/Magento", + "dev/tests/static/testsuite/Magento" ], [ - "pub/errors", - "pub/errors" + "dev/tests/static/tmp", + "dev/tests/static/tmp" ], [ - "pub/opt", - "pub/opt" + "dev/tests/unit/.gitignore", + "dev/tests/unit/.gitignore" ], [ - "pub/get.php", - "pub/get.php" + "dev/tests/unit/framework", + "dev/tests/unit/framework" ], [ - "pub/static/.htaccess", - "pub/static/.htaccess" + "dev/tests/unit/phpunit.xml.dist", + "dev/tests/unit/phpunit.xml.dist" ], [ - "pub/.htaccess", - "pub/.htaccess" + "dev/tests/unit/tmp", + "dev/tests/unit/tmp" ], [ - "pub/static.php", - "pub/static.php" + "dev/tools", + "dev/tools" ], [ - "pub/cron.php", - "pub/cron.php" + "dev/travis", + "dev/travis" ], [ - "pub/index.php", - "pub/index.php" + "generated", + "generated" ], [ - ".php_cs", - ".php_cs" + "grunt-config.json.sample", + "grunt-config.json.sample" ], [ - "COPYING.txt", - "COPYING.txt" + "index.php", + "index.php" ], [ - "dev/shell", - "dev/shell" + "lib/.htaccess", + "lib/.htaccess" ], [ - "dev/tools", - "dev/tools" + "lib/internal/GnuFreeFont", + "lib/internal/GnuFreeFont" ], [ - "dev/tests/integration/phpunit.xml.dist", - "dev/tests/integration/phpunit.xml.dist" + "lib/internal/LinLibertineFont", + "lib/internal/LinLibertineFont" ], [ - "dev/tests/integration/etc", - "dev/tests/integration/etc" + "lib/web/FormData.js", + "lib/web/FormData.js" ], [ - "dev/tests/integration/tmp", - "dev/tests/integration/tmp" + "lib/web/MutationObserver.js", + "lib/web/MutationObserver.js" ], [ - "dev/tests/integration/framework", - "dev/tests/integration/framework" + "lib/web/blank.html", + "lib/web/blank.html" ], [ - "dev/tests/integration/testsuite/Magento", - "dev/tests/integration/testsuite/Magento" + "lib/web/css", + "lib/web/css" ], [ - "dev/tests/integration/.gitignore", - "dev/tests/integration/.gitignore" + "lib/web/es6-collections.js", + "lib/web/es6-collections.js" ], [ - "dev/tests/functional/composer.json", - "dev/tests/functional/composer.json" + "lib/web/extjs", + "lib/web/extjs" ], [ - "dev/tests/functional/lib", - "dev/tests/functional/lib" + "lib/web/fonts", + "lib/web/fonts" ], [ - "dev/tests/functional/phpunit.xml.dist", - "dev/tests/functional/phpunit.xml.dist" + "lib/web/fotorama", + "lib/web/fotorama" ], [ - "dev/tests/functional/composer.json.dist", - "dev/tests/functional/composer.json.dist" + "lib/web/i18n", + "lib/web/i18n" ], [ - "dev/tests/functional/bootstrap.php", - "dev/tests/functional/bootstrap.php" + "lib/web/images", + "lib/web/images" ], [ - "dev/tests/functional/credentials.xml.dist", - "dev/tests/functional/credentials.xml.dist" + "lib/web/jquery.js", + "lib/web/jquery.js" ], [ - "dev/tests/functional/tests", - "dev/tests/functional/tests" + "lib/web/jquery", + "lib/web/jquery" ], [ - "dev/tests/functional/utils", - "dev/tests/functional/utils" + "lib/web/knockoutjs", + "lib/web/knockoutjs" ], [ - "dev/tests/functional/isolation.php", - "dev/tests/functional/isolation.php" + "lib/web/legacy-build.min.js", + "lib/web/legacy-build.min.js" ], [ - "dev/tests/functional/etc", - "dev/tests/functional/etc" + "lib/web/less", + "lib/web/less" ], [ - "dev/tests/functional/.htaccess", - "dev/tests/functional/.htaccess" + "lib/web/lib", + "lib/web/lib" ], [ - "dev/tests/functional/testsuites/Magento", - "dev/tests/functional/testsuites/Magento" + "lib/web/mage", + "lib/web/mage" ], [ - "dev/tests/functional/.gitignore", - "dev/tests/functional/.gitignore" + "lib/web/magnifier", + "lib/web/magnifier" ], [ - "dev/tests/js/jasmine", - "dev/tests/js/jasmine" + "lib/web/matchMedia.js", + "lib/web/matchMedia.js" ], [ - "dev/tests/api-functional/phpunit.xml.dist", - "dev/tests/api-functional/phpunit.xml.dist" + "lib/web/modernizr", + "lib/web/modernizr" ], [ - "dev/tests/api-functional/config", - "dev/tests/api-functional/config" + "lib/web/moment-timezone-with-data.js", + "lib/web/moment-timezone-with-data.js" ], [ - "dev/tests/api-functional/framework", - "dev/tests/api-functional/framework" + "lib/web/moment.js", + "lib/web/moment.js" ], [ - "dev/tests/api-functional/_files", - "dev/tests/api-functional/_files" + "lib/web/prototype", + "lib/web/prototype" ], [ - "dev/tests/api-functional/testsuite/Magento", - "dev/tests/api-functional/testsuite/Magento" + "lib/web/requirejs", + "lib/web/requirejs" ], [ - "dev/tests/api-functional/.gitignore", - "dev/tests/api-functional/.gitignore" + "lib/web/scriptaculous", + "lib/web/scriptaculous" ], [ - "dev/tests/unit/phpunit.xml.dist", - "dev/tests/unit/phpunit.xml.dist" + "lib/web/spacer.gif", + "lib/web/spacer.gif" ], [ - "dev/tests/unit/tmp", - "dev/tests/unit/tmp" + "lib/web/tiny_mce_4", + "lib/web/tiny_mce_4" ], [ - "dev/tests/unit/framework", - "dev/tests/unit/framework" + "lib/web/underscore.js", + "lib/web/underscore.js" ], [ - "dev/tests/unit/.gitignore", - "dev/tests/unit/.gitignore" + "lib/web/varien", + "lib/web/varien" ], [ - "dev/tests/static/phpunit-all.xml.dist", - "dev/tests/static/phpunit-all.xml.dist" + "nginx.conf.sample", + "nginx.conf.sample" ], [ - "dev/tests/static/phpunit.xml.dist", - "dev/tests/static/phpunit.xml.dist" + "package.json.sample", + "package.json.sample" ], [ - "dev/tests/static/framework", - "dev/tests/static/framework" + "phpserver", + "phpserver" ], [ - "dev/tests/static/testsuite/Magento", - "dev/tests/static/testsuite/Magento" + "pub/.htaccess", + "pub/.htaccess" ], [ - "dev/tests/static/.gitignore", - "dev/tests/static/.gitignore" + "pub/.user.ini", + "pub/.user.ini" ], [ - "dev/.htaccess", - "dev/.htaccess" + "pub/cron.php", + "pub/cron.php" ], [ - "Gruntfile.js", - "Gruntfile.js" + "pub/errors", + "pub/errors" ], [ - "setup", - "setup" + "pub/get.php", + "pub/get.php" ], [ - "LICENSE.txt", - "LICENSE.txt" + "pub/health_check.php", + "pub/health_check.php" ], [ - ".travis.yml", - ".travis.yml" + "pub/index.php", + "pub/index.php" ], [ - "app/bootstrap.php", - "app/bootstrap.php" + "pub/media/.htaccess", + "pub/media/.htaccess" ], [ - "app/design/frontend", - "app/design/frontend" + "pub/media/customer/.htaccess", + "pub/media/customer/.htaccess" ], [ - "app/design/adminhtml", - "app/design/adminhtml" + "pub/media/downloadable/.htaccess", + "pub/media/downloadable/.htaccess" ], [ - "app/etc/di.xml", - "app/etc/di.xml" + "pub/media/import", + "pub/media/import" ], [ - "app/.htaccess", - "app/.htaccess" + "pub/media/theme_customization/.htaccess", + "pub/media/theme_customization/.htaccess" ], [ - "app/functions.php", - "app/functions.php" + "pub/opt", + "pub/opt" ], [ - "app/autoload.php", - "app/autoload.php" + "pub/static.php", + "pub/static.php" ], [ - ".htaccess", - ".htaccess" + "pub/static/.htaccess", + "pub/static/.htaccess" ], [ - "php.ini.sample", - "php.ini.sample" + "setup", + "setup" ], [ - "index.php", - "index.php" + "var/.htaccess", + "var/.htaccess" ], [ - "LICENSE_AFL.txt", - "LICENSE_AFL.txt" + "vendor/.htaccess", + "vendor/.htaccess" ] + ], + "chmod": [ + { + "mask": "0755", + "path": "bin/magento" + } + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Magento 2 Base (Community Edition)" + }, + { + "name": "magento/module-admin-notification", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-admin-notification/magento-module-admin-notification-100.3.1.0.zip", + "reference": null, + "shasum": "e7aea76407406c35e6505d4fce2cb06be409ec64" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AdminNotification\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-advanced-pricing-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-advanced-pricing-import-export/magento-module-advanced-pricing-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "fbb58c6284f6eba01927bdcf2be6460650a8eef7" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AdvancedPricingImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-advanced-search", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-advanced-search/magento-module-advanced-search-100.3.1.0.zip", + "reference": null, + "shasum": "3dbf902fa79a08b136205c7b2681ad91425a97b5" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AdvancedSearch\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-amqp", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-amqp/magento-module-amqp-100.3.1.0.zip", + "reference": null, + "shasum": "fdf734b25eb5fd29a7a8743b3d1e575ba29aa947" + }, + "require": { + "magento/framework": "102.0.*", + "magento/framework-amqp": "100.3.*", + "magento/framework-message-queue": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Amqp\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-analytics/magento-module-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "c17c1d3353335fb9c9197e715ad7ec117700755c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-integration": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Analytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-asynchronous-operations", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-asynchronous-operations/magento-module-asynchronous-operations-100.3.1.0.zip", + "reference": null, + "shasum": "9666e0949545697e66d13df886e16915ddfd3ffa" + }, + "require": { + "magento/framework": "102.0.*", + "magento/framework-bulk": "100.3.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-admin-notification": "100.3.*", + "magento/module-logging": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AsynchronousOperations\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-authorization", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-authorization/magento-module-authorization-100.3.1.0.zip", + "reference": null, + "shasum": "c2a05780a4568e92634a46199c6925fecb4c32e3" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Authorization\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Authorization module provides access to Magento ACL functionality." + }, + { + "name": "magento/module-authorizenet", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-authorizenet/magento-module-authorizenet-100.3.1.0.zip", + "reference": null, + "shasum": "ab9dc9018f1a5b71cfaa54c1975d6ee6b5c7610c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Authorizenet\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-authorizenet-acceptjs", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-authorizenet-acceptjs/magento-module-authorizenet-acceptjs-100.3.0.0.zip", + "reference": null, + "shasum": "16bc1b50a4e7f63bfa3869fa2c3bd4c67cedd8a3" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AuthorizenetAcceptjs\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-backend", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-backend/magento-module-backend-101.0.1.0.zip", + "reference": null, + "shasum": "3670764e864583abb604107c13490e239ba094d8" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backup": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-developer": "100.3.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-require-js": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-security": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-translation": "100.3.*", + "magento/module-ui": "101.1.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-theme": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Backend\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-backup", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-backup/magento-module-backup-100.3.1.0.zip", + "reference": null, + "shasum": "bb5a040e418e42554c0887673e21420479e8bf76" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cron": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Backup\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-braintree", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-braintree/magento-module-braintree-100.3.1.0.zip", + "reference": null, + "shasum": "bc99da6e5eef549dc2542cfe914aa7742361e2c6" + }, + "require": { + "braintree/braintree_php": "3.35.0", + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-instant-purchase": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-paypal": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-ui": "101.1.*", + "magento/module-vault": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-checkout-agreements": "100.3.*", + "magento/module-theme": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Braintree\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-bundle", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-bundle/magento-module-bundle-100.3.1.0.zip", + "reference": null, + "shasum": "b1ce50b01d2d8997e1f6dcfc9b2dc82f47d987db" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-gift-message": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-bundle-sample-data": "Sample Data version: 100.3.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-webapi": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Bundle\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-bundle-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-bundle-graph-ql/magento-module-bundle-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "4adf0dc50f886e121dde5f906ceaff8630a96697" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-bundle": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\BundleGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-bundle-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-bundle-import-export/magento-module-bundle-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "bdd21ea7945b87b643de52d93fb63b4c6ee625c9" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-bundle": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\BundleImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cache-invalidate", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cache-invalidate/magento-module-cache-invalidate-100.3.1.0.zip", + "reference": null, + "shasum": "ee84c4c87bc878f08f1c325f82b88a7f8a2b4d85" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-page-cache": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CacheInvalidate\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-captcha", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-captcha/magento-module-captcha-100.3.1.0.zip", + "reference": null, + "shasum": "1d37fe2ce55a611af45abf9a79bf3ab45b18fb41" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0", + "zendframework/zend-captcha": "^2.7.1", + "zendframework/zend-db": "^2.8.2", + "zendframework/zend-session": "^2.7.3" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Captcha\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog", + "version": "103.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog/magento-module-catalog-103.0.1.0.zip", + "reference": null, + "shasum": "9f6308528cd0b385c47300ac96e88a48c7462958" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-indexer": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-msrp": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-product-alert": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-url-rewrite": "101.1.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-sample-data": "Sample Data version: 100.3.*", + "magento/module-cookie": "100.3.*", + "magento/module-sales": "102.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Catalog\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-analytics/magento-module-catalog-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "78dad80df624ec870cd1fe528eb6bf23dd2a9174" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-catalog": "103.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-graph-ql/magento-module-catalog-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "cab0f652a82a7011271931cfedbb8c13f362ea8c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-eav-graph-ql": "100.3.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*", + "magento/module-store-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-import-export", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-import-export/magento-module-catalog-import-export-101.0.1.0.zip", + "reference": null, + "shasum": "240b1ea27fb0bdebd2cf674ce280917363463216" + }, + "require": { + "ext-ctype": "*", + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-inventory", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-inventory/magento-module-catalog-inventory-100.3.1.0.zip", + "reference": null, + "shasum": "c7c8e7308fa130fa471cf228537506667473d982" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogInventory\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-inventory-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-inventory-graph-ql/magento-module-catalog-inventory-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "5438ed8a7e381b27d5325801f87a6a844005ff08" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogInventoryGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-rule", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-rule/magento-module-catalog-rule-101.1.1.0.zip", + "reference": null, + "shasum": "9892c5ab997236ed1611d9a02ea9a5be925475d6" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-rule": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-rule-sample-data": "Sample Data version: 100.3.*", + "magento/module-import-export": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogRule\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-rule-configurable", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-rule-configurable/magento-module-catalog-rule-configurable-100.3.1.0.zip", + "reference": null, + "shasum": "0281e9723bb534ba2e12a55ae11260f6904485d6" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-configurable-product": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-rule": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogRuleConfigurable\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-search", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-search/magento-module-catalog-search-101.0.1.0.zip", + "reference": null, + "shasum": "933c002006e94c91b14203178d694acbe3308f86" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-indexer": "100.3.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogSearch\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Catalog search" + }, + { + "name": "magento/module-catalog-url-rewrite", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-url-rewrite/magento-module-catalog-url-rewrite-100.3.1.0.zip", + "reference": null, + "shasum": "7a978d3ff25ffebd252182269ecd18039159af70" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-url-rewrite": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-webapi": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogUrlRewrite\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-url-rewrite-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-url-rewrite-graph-ql/magento-module-catalog-url-rewrite-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "408be2e9c2c72d92f43764bfeeedd0063538fc23" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-url-rewrite-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogUrlRewriteGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-widget", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-widget/magento-module-catalog-widget-100.3.1.0.zip", + "reference": null, + "shasum": "5ff1f431ea8c9453e632e3892afc50f07f45f5a6" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-rule": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogWidget\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-checkout", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-checkout/magento-module-checkout-100.3.1.0.zip", + "reference": null, + "shasum": "259dfe67c0b4d6dc00746ac7f004999c58f1fded" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-msrp": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-cookie": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Checkout\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-checkout-agreements", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-checkout-agreements/magento-module-checkout-agreements-100.3.1.0.zip", + "reference": null, + "shasum": "fe21cdbe902b50a634df92ebe4bac90967140671" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CheckoutAgreements\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cms", + "version": "103.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cms/magento-module-cms-103.0.1.0.zip", + "reference": null, + "shasum": "32b4db597a118386cfe5619f0a39129ab6f28e06" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-email": "101.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-variable": "100.3.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-cms-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Cms\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cms-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cms-graph-ql/magento-module-cms-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "fae2f46721d225970beeb9e1cb26eff1dac6ad7f" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-cms": "103.0.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*", + "magento/module-store-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CmsGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cms-url-rewrite", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cms-url-rewrite/magento-module-cms-url-rewrite-100.3.1.0.zip", + "reference": null, + "shasum": "66b9ca23c0af7c8387cfb24028128a64bf3337f4" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-cms": "103.0.*", + "magento/module-store": "101.0.*", + "magento/module-url-rewrite": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CmsUrlRewrite\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cms-url-rewrite-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cms-url-rewrite-graph-ql/magento-module-cms-url-rewrite-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "3b58ec81afb10bbd30a2e011f887635b69803783" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-cms": "103.0.*", + "magento/module-store": "101.0.*", + "magento/module-url-rewrite-graph-ql": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-cms-url-rewrite": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CmsUrlRewriteGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-config", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-config/magento-module-config-101.1.1.0.zip", + "reference": null, + "shasum": "9458355eb5e383f148fbf503fe75d40d02de60b4" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cron": "100.3.*", + "magento/module-deploy": "100.3.*", + "magento/module-directory": "100.3.*", + "magento/module-email": "101.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Config\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-configurable-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-configurable-import-export/magento-module-configurable-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "ac89ef960f75a7fcdf635dc3691366f7b0f41550" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ConfigurableImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-configurable-product", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-configurable-product/magento-module-configurable-product-100.3.1.0.zip", + "reference": null, + "shasum": "2f0f6c53b969b8b4378e91933ba2fa129fd0763c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-configurable-sample-data": "Sample Data version: 100.3.*", + "magento/module-msrp": "100.3.*", + "magento/module-product-links-sample-data": "Sample Data version: 100.3.*", + "magento/module-product-video": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-webapi": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ConfigurableProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-configurable-product-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-configurable-product-graph-ql/magento-module-configurable-product-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "6cf1902c260aa70630b96b806a49844b42136b9c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-configurable-product": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ConfigurableProductGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-configurable-product-sales", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-configurable-product-sales/magento-module-configurable-product-sales-100.3.1.0.zip", + "reference": null, + "shasum": "ab8e7350ef1fdc6e55f2dfd708d095560afe9d5b" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-configurable-product": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ConfigurableProductSales\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-contact", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-contact/magento-module-contact-100.3.1.0.zip", + "reference": null, + "shasum": "4aed3599fdc7f885086726076d52e4b800b3d0ec" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Contact\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cookie", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cookie/magento-module-cookie-100.3.1.0.zip", + "reference": null, + "shasum": "2b52880fe617d8e17746b8c637f56303063f54d0" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-backend": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Cookie\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cron", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cron/magento-module-cron-100.3.1.0.zip", + "reference": null, + "shasum": "953c6de628fbf6c2c02943c9fb14df9c384498c6" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Cron\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-currency-symbol", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-currency-symbol/magento-module-currency-symbol-100.3.1.0.zip", + "reference": null, + "shasum": "5967df5328174a24f59bdad5cc8e7a825878b195" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CurrencySymbol\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-customer", + "version": "102.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-customer/magento-module-customer-102.0.1.0.zip", + "reference": null, + "shasum": "9f99c836860ea853b7803e34c40f0874019f2a71" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-integration": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-newsletter": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-review": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-cookie": "100.3.*", + "magento/module-customer-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Customer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-customer-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-customer-analytics/magento-module-customer-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "6a055c7b8b46eb899cd5161a1ecc0874e576f3cd" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-customer": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CustomerAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-customer-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-customer-graph-ql/magento-module-customer-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "127e9dfe4e63721218264c9046272f43ddce13de" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-integration": "100.3.*", + "magento/module-newsletter": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CustomerGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-customer-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-customer-import-export/magento-module-customer-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "f1cdc6d8fe40bb058e76a0a0641230769a59a774" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CustomerImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-deploy", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-deploy/magento-module-deploy-100.3.1.0.zip", + "reference": null, + "shasum": "40006c50c2e0d0ee9d17aebb98cc12e9b76a59f9" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-config": "101.1.*", + "magento/module-require-js": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "cli_commands.php", + "registration.php" + ], + "psr-4": { + "Magento\\Deploy\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-developer", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-developer/magento-module-developer-100.3.1.0.zip", + "reference": null, + "shasum": "007a40f6eaceb427b1a9f24f102bb1c5268c97e0" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Developer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-dhl", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-dhl/magento-module-dhl-100.3.1.0.zip", + "reference": null, + "shasum": "a54951a456d9ae56103fcac8a342fc8104f433e2" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-checkout": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Dhl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-directory", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-directory/magento-module-directory-100.3.1.0.zip", + "reference": null, + "shasum": "401fd817778dcfb8b7091ede60e3b0bb99267051" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Directory\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-directory-graph-ql", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-directory-graph-ql/magento-module-directory-graph-ql-100.3.0.0.zip", + "reference": null, + "shasum": "1d9d2307d514ea00d5a8a66cf0556d83986c6189" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-directory": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\DirectoryGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-downloadable", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-downloadable/magento-module-downloadable-100.3.1.0.zip", + "reference": null, + "shasum": "c3f2cd868754a23af542b2b19d72c4c4e506c618" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-gift-message": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-downloadable-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Downloadable\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-downloadable-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-downloadable-graph-ql/magento-module-downloadable-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "6324aa9e2f9ba1957778b509b7dcfa7662eb7488" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-downloadable": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\DownloadableGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-downloadable-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-downloadable-import-export/magento-module-downloadable-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "1d8ddfaabe5b6a7a5e5792f09737c0685916417c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-downloadable": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\DownloadableImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-eav", + "version": "102.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-eav/magento-module-eav-102.0.1.0.zip", + "reference": null, + "shasum": "a28509b94e703c3002eeb3238bf3c5eb35b90d5d" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Eav\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-eav-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-eav-graph-ql/magento-module-eav-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "66edb69cdfbce0784166e7f83bf3ecc8adf7ae0e" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-eav": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\EavGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-elasticsearch", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-elasticsearch/magento-module-elasticsearch-100.3.1.0.zip", + "reference": null, + "shasum": "ed1da1137848560dde1a85f0f54dc2fac262359e" + }, + "require": { + "elasticsearch/elasticsearch": "~2.0|~5.1|~6.1", + "magento/framework": "102.0.*", + "magento/module-advanced-search": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Elasticsearch\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-elasticsearch-6", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-elasticsearch-6/magento-module-elasticsearch-6-100.3.0.0.zip", + "reference": null, + "shasum": "a9da3243900390ad163efc7969b07116d2eb793f" + }, + "require": { + "elasticsearch/elasticsearch": "~2.0|~5.1|~6.1", + "magento/framework": "102.0.*", + "magento/module-advanced-search": "100.3.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-elasticsearch": "100.3.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Elasticsearch6\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-email", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-email/magento-module-email-101.0.1.0.zip", + "reference": null, + "shasum": "ebcc5912a5e51f97b8c393638d00ddfcf2f73731" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-variable": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-theme": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Email\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-encryption-key", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-encryption-key/magento-module-encryption-key-100.3.1.0.zip", + "reference": null, + "shasum": "099f36ac60c8226e0c3c1485d29d336c44744dde" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\EncryptionKey\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-fedex", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-fedex/magento-module-fedex-100.3.1.0.zip", + "reference": null, + "shasum": "1840c2272127aba6e51599aa2f751c3d250aa1ef" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Fedex\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-gift-message", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-gift-message/magento-module-gift-message-100.3.1.0.zip", + "reference": null, + "shasum": "b94369cb227d47c934982c8feb06856892c999af" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-multishipping": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GiftMessage\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-google-adwords", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-google-adwords/magento-module-google-adwords-100.3.1.0.zip", + "reference": null, + "shasum": "6302122da3e9d4084e128ea1a13282bd92ca503a" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GoogleAdwords\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-google-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-google-analytics/magento-module-google-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "f87431addf8245441f53dc88bcb1df6bf9a2b95f" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-cookie": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GoogleAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-google-optimizer", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-google-optimizer/magento-module-google-optimizer-100.3.1.0.zip", + "reference": null, + "shasum": "5239b8174777bdf3fac9f72aad27a604b3febdbb" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-cms": "103.0.*", + "magento/module-google-analytics": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GoogleOptimizer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-graph-ql/magento-module-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "ccb0cfb89c1acbb09c88e01b2c70e924e62a19ce" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-webapi": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-grouped-catalog-inventory", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-grouped-catalog-inventory/magento-module-grouped-catalog-inventory-100.3.0.0.zip", + "reference": null, + "shasum": "bc0564d1cfb19b3ff7a3a45f287c5fd42749aa83" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-grouped-product": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GroupedCatalogInventory\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-grouped-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-grouped-import-export/magento-module-grouped-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "0d3764973ae6083a9046166bb8f0456b562b638e" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-grouped-product": "100.3.*", + "magento/module-import-export": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GroupedImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-grouped-product", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-grouped-product/magento-module-grouped-product-100.3.1.0.zip", + "reference": null, + "shasum": "a80950a2b6919304e818ea52e5bbbd450f272130" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-msrp": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-grouped-product-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GroupedProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-grouped-product-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-grouped-product-graph-ql/magento-module-grouped-product-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "4ec0716ff30b242c05ea435ddbd43a4c82802a77" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-grouped-product": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GroupedProductGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-import-export/magento-module-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "3e09156751856fd6a7d96486687c5b56347672c2" + }, + "require": { + "ext-ctype": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-indexer", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-indexer/magento-module-indexer-100.3.1.0.zip", + "reference": null, + "shasum": "bdd64582681713f6836e03916fbd5f88754480e5" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Indexer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-instant-purchase", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-instant-purchase/magento-module-instant-purchase-100.3.1.0.zip", + "reference": null, + "shasum": "6a831727392f922a7af24ee282db3d8c0201f7db" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-vault": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InstantPurchase\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-integration", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-integration/magento-module-integration-100.3.1.0.zip", + "reference": null, + "shasum": "416802c817152d1ceac6c1dd16162f08274f5ee6" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-security": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Integration\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory/magento-module-inventory-1.0.4.0.zip", + "reference": null, + "shasum": "ce21405c9662b13edd131a3d52c562160f4d9f52" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Inventory\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-admin-ui/magento-module-inventory-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "ccdcdf958be78bf2b73b6d8fa558c42d07b87bbf" + }, + "require": { + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-directory": "*", + "magento/module-inventory-api": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-api/magento-module-inventory-api-1.0.4.0.zip", + "reference": null, + "shasum": "f6da7918669ed256fab8bcf90537a1c853abd612" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-bundle-product", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-bundle-product/magento-module-inventory-bundle-product-1.0.3.0.zip", + "reference": null, + "shasum": "395b08dcd35f14465f338a9da1cf1953a68ca327" + }, + "require": { + "magento/framework": "*", + "magento/module-bundle": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-configuration-api": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryBundleProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-bundle-product-admin-ui", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-bundle-product-admin-ui/magento-module-inventory-bundle-product-admin-ui-1.0.3.0.zip", + "reference": null, + "shasum": "295705218a4f38202a3ee913092503dc5ccb9074" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-configuration-api": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryBundleProductAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-cache", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-cache/magento-module-inventory-cache-1.0.3.0.zip", + "reference": null, + "shasum": "024f1d29d27adab967ae77e8b90ee208a06872e7" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-catalog-api": "1.0.*", + "magento/module-inventory-indexer": "1.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog": "103.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryCache\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-catalog", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-catalog/magento-module-inventory-catalog-1.0.4.0.zip", + "reference": null, + "shasum": "cf9fc73a20f4d4929c67ffddc5046bcf92437c69" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-indexer": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-reservations-api": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryCatalog\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-catalog-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-catalog-admin-ui/magento-module-inventory-catalog-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "828a6c4961021129eda07527d2d25eedac0e1bfa" + }, + "require": { + "magento/framework": "*", + "magento/module-asynchronous-operations": "*", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-indexer": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-admin-ui": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryCatalogAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-catalog-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-catalog-api/magento-module-inventory-catalog-api-1.0.4.0.zip", + "reference": null, + "shasum": "edc148f4419e249b37a316afefeef4b97c73bad1" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryCatalogApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-catalog-search", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-catalog-search/magento-module-inventory-catalog-search-1.0.4.0.zip", + "reference": null, + "shasum": "cbe649fee67d9740d1cf2f3d9ce874d1a6413f76" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-indexer": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-search": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryCatalogSearch\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-configurable-product", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-configurable-product/magento-module-inventory-configurable-product-1.0.4.0.zip", + "reference": null, + "shasum": "8d4c12fcdaa863c47893664e38fa1ad60e90ffb8" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-indexer": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-configurable-product": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryConfigurableProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-configurable-product-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-configurable-product-admin-ui/magento-module-inventory-configurable-product-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "18dfb9d8cb702ba1d2f465cbe0a5b8b57db07207" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-configurable-product": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-admin-ui": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryConfigurableProductAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-configurable-product-indexer", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-configurable-product-indexer/magento-module-inventory-configurable-product-indexer-1.0.3.0.zip", + "reference": null, + "shasum": "540f1a1687b90b81168dca0f463fe12dae5e4e84" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-inventory-api": "1.0.*", + "magento/module-inventory-catalog-api": "1.0.*", + "magento/module-inventory-indexer": "1.0.*", + "magento/module-inventory-multi-dimensional-indexer-api": "1.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryConfigurableProductIndexer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-configuration", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-configuration/magento-module-inventory-configuration-1.0.4.0.zip", + "reference": null, + "shasum": "a9869aeddeede17ba0e442a989b809f86f0a86fe" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryConfiguration\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-configuration-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-configuration-api/magento-module-inventory-configuration-api-1.0.4.0.zip", + "reference": null, + "shasum": "d091e7523a1d18099360d9e49f86a3e04dba71b4" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryConfigurationApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-distance-based-source-selection", + "version": "1.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-distance-based-source-selection/magento-module-inventory-distance-based-source-selection-1.0.0.0.zip", + "reference": null, + "shasum": "c9b93cdfd600a3b493753313ac617dfc0ce8f19c" + }, + "require": { + "magento/framework": "*", + "magento/module-config": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-distance-based-source-selection-api": "*", + "magento/module-inventory-source-selection-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryDistanceBasedSourceSelection\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-distance-based-source-selection-admin-ui", + "version": "1.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-distance-based-source-selection-admin-ui/magento-module-inventory-distance-based-source-selection-admin-ui-1.0.0.0.zip", + "reference": null, + "shasum": "b75ca632a07386dc60c5572e353fe4ba47e22d01" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryDistanceBasedSourceSelectionAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-distance-based-source-selection-api", + "version": "1.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-distance-based-source-selection-api/magento-module-inventory-distance-based-source-selection-api-1.0.0.0.zip", + "reference": null, + "shasum": "79d9c3f965d14612e95a4723000b1200d5a55b6c" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-source-selection-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryDistanceBasedSourceSelectionApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-elasticsearch", + "version": "1.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-elasticsearch/magento-module-inventory-elasticsearch-1.0.0.0.zip", + "reference": null, + "shasum": "b46ff3807763c9967e60f67b155b47658387457b" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog-inventory": "*", + "magento/module-catalog-search": "*", + "magento/module-elasticsearch": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-indexer": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryElasticsearch\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-grouped-product", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-grouped-product/magento-module-inventory-grouped-product-1.0.3.0.zip", + "reference": null, + "shasum": "19c3284175d75dafd8ad97cc35e1e47a527c82da" + }, + "require": { + "magento/framework": "*", + "magento/module-grouped-product": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-configuration-api": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryGroupedProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-grouped-product-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-grouped-product-admin-ui/magento-module-inventory-grouped-product-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "d15af53f7bbdd213fdb0af1a16f0e50d968c7240" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-grouped-product": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-admin-ui": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-configuration-api": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryGroupedProductAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-grouped-product-indexer", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-grouped-product-indexer/magento-module-inventory-grouped-product-indexer-1.0.3.0.zip", + "reference": null, + "shasum": "f8aeffd329e1b556ebf1dfcb3ce23103ae724980" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-grouped-product": "*", + "magento/module-inventory-api": "1.0.*", + "magento/module-inventory-catalog-api": "1.0.*", + "magento/module-inventory-indexer": "1.0.*", + "magento/module-inventory-multi-dimensional-indexer-api": "1.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryGroupedProductIndexer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-import-export", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-import-export/magento-module-inventory-import-export-1.0.4.0.zip", + "reference": null, + "shasum": "deefee73fd3c2bb9132e102cc272e4e2dce71088" + }, + "require": { + "magento/framework": "*", + "magento/module-eav": "*", + "magento/module-import-export": "*", + "magento/module-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-import-export": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-indexer", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-indexer/magento-module-inventory-indexer-1.0.4.0.zip", + "reference": null, + "shasum": "61bc4572359a82e85b10d2a60a2ec15b9e917a9d" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-multi-dimensional-indexer-api": "*", + "magento/module-inventory-sales": "*", + "magento/module-inventory-sales-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog": "103.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryIndexer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-low-quantity-notification", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-low-quantity-notification/magento-module-inventory-low-quantity-notification-1.0.4.0.zip", + "reference": null, + "shasum": "d6779810c096678fa838aff0dc1d5d4c04cb3af6" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-eav": "*", + "magento/module-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-low-quantity-notification-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryLowQuantityNotification\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-low-quantity-notification-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-low-quantity-notification-admin-ui/magento-module-inventory-low-quantity-notification-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "c61e759363d9cd39f6deae99ffcc2b8248831477" + }, + "require": { + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-low-quantity-notification": "*", + "magento/module-inventory-low-quantity-notification-api": "*", + "magento/module-reports": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryLowQuantityNotificationAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-low-quantity-notification-api", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-low-quantity-notification-api/magento-module-inventory-low-quantity-notification-api-1.0.3.0.zip", + "reference": null, + "shasum": "08c2657ee45ff0db1ca949437d7dd2da0da956a1" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryLowQuantityNotificationApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-multi-dimensional-indexer-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-multi-dimensional-indexer-api/magento-module-inventory-multi-dimensional-indexer-api-1.0.4.0.zip", + "reference": null, + "shasum": "630ab27e5d236a5f0d061a76f80656a248c36000" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryMultiDimensionalIndexerApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-product-alert", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-product-alert/magento-module-inventory-product-alert-1.0.4.0.zip", + "reference": null, + "shasum": "e21d973d4e58ffa137824b1856cb4ea028fb5135" + }, + "require": { + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-product-alert": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-product-alert": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryProductAlert\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-reservations", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-reservations/magento-module-inventory-reservations-1.0.4.0.zip", + "reference": null, + "shasum": "e527a03b2f48c13cea4081da2c7261bd69c4c92d" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-reservations-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryReservations\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-reservations-api", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-reservations-api/magento-module-inventory-reservations-api-1.0.3.0.zip", + "reference": null, + "shasum": "3955de482006ccbf8d823ec28e042a69862059da" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryReservationsApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-sales", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-sales/magento-module-inventory-sales-1.0.4.0.zip", + "reference": null, + "shasum": "d0a9a3d09d41dc3c1e7cce3a07335935ae2b7fc6" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-reservations-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-inventory-source-deduction-api": "*", + "magento/module-sales": "*", + "magento/module-sales-inventory": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "require-dev": { + "magento/module-inventory-indexer": "*" + }, + "suggest": { + "magento/module-inventory-catalog": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySales\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-sales-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-sales-admin-ui/magento-module-inventory-sales-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "13daf51ba16c09101f2574eb3dabf2221e81cb0a" + }, + "require": { + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-admin-ui": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-store": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySalesAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-sales-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-sales-api/magento-module-inventory-sales-api-1.0.4.0.zip", + "reference": null, + "shasum": "6b8847fc22bd04015a9fc5717dfa94f6154d14b4" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "magento/module-sales": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySalesApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-sales-frontend-ui", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-sales-frontend-ui/magento-module-inventory-sales-frontend-ui-1.0.3.0.zip", + "reference": null, + "shasum": "ef1f4e1d67c0add33fa1a5b6da08bed1fd6a7b97" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-configuration-api": "1.0.*", + "magento/module-inventory-sales-api": "1.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySalesFrontendUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-setup-fixture-generator", + "version": "1.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-setup-fixture-generator/magento-module-inventory-setup-fixture-generator-1.0.0.0.zip", + "reference": null, + "shasum": "207fe21748b53ad44330a5abc5dc79f1f2a24bed" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySetupFixtureGenerator\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-shipping", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-shipping/magento-module-inventory-shipping-1.0.4.0.zip", + "reference": null, + "shasum": "338a6df150d1ad1107cedba355c896b50275c431" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-inventory-source-deduction-api": "*", + "magento/module-inventory-source-selection-api": "*", + "magento/module-sales": "*", + "magento/module-shipping": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryShipping\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-shipping-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-shipping-admin-ui/magento-module-inventory-shipping-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "faa48dd7930974c8fd4c792d70f9ab71fd971b78" + }, + "require": { + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-inventory-source-selection-api": "*", + "magento/module-sales": "*", + "magento/module-shipping": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryShippingAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-source-deduction-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-source-deduction-api/magento-module-inventory-source-deduction-api-1.0.4.0.zip", + "reference": null, + "shasum": "4f3167eb248232b18483dae7cde986cb4170239e" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-sales-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySourceDeductionApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-source-selection", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-source-selection/magento-module-inventory-source-selection-1.0.4.0.zip", + "reference": null, + "shasum": "3b8465fcb2f094c82eb86226581a74f8f6a23424" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-source-selection-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySourceSelection\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-source-selection-api", + "version": "1.1.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-source-selection-api/magento-module-inventory-source-selection-api-1.1.0.0.zip", + "reference": null, + "shasum": "b7cf97c809075fe6fc2d95535a61c44f11440b77" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-sales": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySourceSelectionApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-layered-navigation", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-layered-navigation/magento-module-layered-navigation-100.3.1.0.zip", + "reference": null, + "shasum": "32c5d1e9d21dd98adabe7083ddb3b39ab49d2bde" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\LayeredNavigation\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-marketplace", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-marketplace/magento-module-marketplace-100.3.1.0.zip", + "reference": null, + "shasum": "81415a17e166c349e179e79fe8bb891a5cb63283" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Marketplace\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-media-storage", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-media-storage/magento-module-media-storage-100.3.1.0.zip", + "reference": null, + "shasum": "dbf17a763cbf65cae32bb86fc1a0584fc51b00a0" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\MediaStorage\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-message-queue", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-message-queue/magento-module-message-queue-100.3.1.0.zip", + "reference": null, + "shasum": "e7a221ac13a53fc8e428bce254620f2d318ffd9c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\MessageQueue\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-msrp", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-msrp/magento-module-msrp-100.3.1.0.zip", + "reference": null, + "shasum": "45cee25e493e4b43f1f10fc732f9967c62d36656" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-downloadable": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-bundle": "100.3.*", + "magento/module-msrp-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Msrp\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-msrp-configurable-product", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-msrp-configurable-product/magento-module-msrp-configurable-product-100.3.0.0.zip", + "reference": null, + "shasum": "cf76e419dad2243cd680b38e4d85aa48a1ea9ac9" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-msrp": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\MsrpConfigurableProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-msrp-grouped-product", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-msrp-grouped-product/magento-module-msrp-grouped-product-100.3.0.0.zip", + "reference": null, + "shasum": "083080ce31393078e30cb6fb17b274c865839b0c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-grouped-product": "100.3.*", + "magento/module-msrp": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\MsrpGroupedProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-multishipping", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-multishipping/magento-module-multishipping-100.3.1.0.zip", + "reference": null, + "shasum": "2da74e0371ddccaca808e55dc81863dd65e3fa6f" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Multishipping\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-mysql-mq", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-mysql-mq/magento-module-mysql-mq-100.3.1.0.zip", + "reference": null, + "shasum": "dda5a554028c56847a1ce717f92927b453708cfd" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\MysqlMq\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-new-relic-reporting", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-new-relic-reporting/magento-module-new-relic-reporting-100.3.1.0.zip", + "reference": null, + "shasum": "ee8dbe8627dbadf731cb2f8a9182971b530b54b2" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\NewRelicReporting\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-newsletter", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-newsletter/magento-module-newsletter-100.3.1.0.zip", + "reference": null, + "shasum": "fad2941ec1d5451f5adc492d298eeef4e2410fe4" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cms": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-email": "101.0.*", + "magento/module-require-js": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Newsletter\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-offline-payments", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-offline-payments/magento-module-offline-payments-100.3.1.0.zip", + "reference": null, + "shasum": "1299eb55d0cabd756610f1f091f5a57b71d4813c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-payment": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\OfflinePayments\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-offline-shipping", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-offline-shipping/magento-module-offline-shipping-100.3.1.0.zip", + "reference": null, + "shasum": "2d4ae255389cf87a50ed8bfe9af7e7cabdd6e664" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-checkout": "100.3.*", + "magento/module-offline-shipping-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\OfflineShipping\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-page-cache", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-page-cache/magento-module-page-cache-100.3.1.0.zip", + "reference": null, + "shasum": "4e2729548eee3283f06d3ed3bd0aac2c2c012a2f" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\PageCache\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-payment", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-payment/magento-module-payment-100.3.1.0.zip", + "reference": null, + "shasum": "3a5dc59dc2f36c28e1b84701d2deb444a1110373" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Payment\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-paypal", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-paypal/magento-module-paypal-100.3.1.0.zip", + "reference": null, + "shasum": "1c9210c8fd9354d89d580ddc2d29121f0ffc8c20" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-instant-purchase": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-vault": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-checkout-agreements": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Paypal\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-persistent", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-persistent/magento-module-persistent-100.3.1.0.zip", + "reference": null, + "shasum": "bb6e14bbf0d568563cf1dc2e4aafdedaa31709de" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-cron": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Persistent\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-product-alert", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-product-alert/magento-module-product-alert-100.3.1.0.zip", + "reference": null, + "shasum": "324a647bc52ff96f365e0be0e9628f1d36829026" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ProductAlert\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-product-video", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-product-video/magento-module-product-video-100.3.1.0.zip", + "reference": null, + "shasum": "c6cb19d8f73d44399dde39e72d79bf6b7ff8e029" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ProductVideo\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Add Video to Products" + }, + { + "name": "magento/module-quote", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-quote/magento-module-quote-101.1.1.0.zip", + "reference": null, + "shasum": "e2b39264ded8af41839229e7ce6dc1e13f41dab1" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-sequence": "100.3.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-webapi": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Quote\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-quote-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-quote-analytics/magento-module-quote-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "04b120e37bfe9d985dcf1b1eb90b5d8044dd4d77" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-quote": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\QuoteAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-quote-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-quote-graph-ql/magento-module-quote-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "232b4284ed0ccd26c715fcc23a089b3a011c5639" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-customer-graph-ql": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\QuoteGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-release-notification", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-release-notification/magento-module-release-notification-100.3.1.0.zip", + "reference": null, + "shasum": "b6f40a4a0a6328fdf5dde3dd18d702190d5c2347" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ReleaseNotification\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-reports", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-reports/magento-module-reports-100.3.1.0.zip", + "reference": null, + "shasum": "56df5dc26d25298d608a2e130073aa46c51d7a45" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-downloadable": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-review": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Reports\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-require-js", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-require-js/magento-module-require-js-100.3.1.0.zip", + "reference": null, + "shasum": "348fa995170de7f4d508a600d8ca2b73cddfc17f" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\RequireJs\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-review", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-review/magento-module-review-100.3.1.0.zip", + "reference": null, + "shasum": "5d226e5ddf781537a69ef6bf648cf2be7621d0a8" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-newsletter": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-cookie": "100.3.*", + "magento/module-review-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Review\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-review-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-review-analytics/magento-module-review-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "eb26fb256b43d77b4da00e16d9e76d0cb7078c96" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-review": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ReviewAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-robots", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-robots/magento-module-robots-101.0.1.0.zip", + "reference": null, + "shasum": "52129625db7928a4723a47fed097c843a27663d8" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-theme": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Robots\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-rss", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-rss/magento-module-rss-100.3.1.0.zip", + "reference": null, + "shasum": "1f792762c259e85590143df883323534611dc299" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Rss\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-rule", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-rule/magento-module-rule-100.3.1.0.zip", + "reference": null, + "shasum": "2eec15c18c6ab5983a61e768f114c6dc96ec883d" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Rule\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales", + "version": "102.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales/magento-module-sales-102.0.1.0.zip", + "reference": null, + "shasum": "f7e58a0a0bcb551e96dde31c9de350e20e4d7ff5" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-bundle": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-gift-message": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-sales-sequence": "100.3.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-sales-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Sales\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales-analytics/magento-module-sales-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "f2d5d1dd165e3ea17667a5eaa105bd4757ac5844" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-sales": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SalesAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales-graph-ql", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales-graph-ql/magento-module-sales-graph-ql-100.3.0.0.zip", + "reference": null, + "shasum": "e10599dcbd5dd7866bfdaf8af7065577ce1e7ebc" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-customer-graph-ql": "100.3.*", + "magento/module-sales": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SalesGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales-inventory", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales-inventory/magento-module-sales-inventory-100.3.1.0.zip", + "reference": null, + "shasum": "6982aab2739a7ec5df5b25b5cac28dc70fea4c6b" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SalesInventory\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales-rule", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales-rule/magento-module-sales-rule-101.1.1.0.zip", + "reference": null, + "shasum": "043d64f9e5a5b1564473532a1599c2fd58deed6e" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-rule": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-sales-rule-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SalesRule\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales-sequence", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales-sequence/magento-module-sales-sequence-100.3.1.0.zip", + "reference": null, + "shasum": "d045268eeef55a7d66f98c1ec77569ccc52b6683" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SalesSequence\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sample-data", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sample-data/magento-module-sample-data-100.3.1.0.zip", + "reference": null, + "shasum": "da0800d6ed74b8956ef00ee080230a18f048ed8f" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/sample-data-media": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "cli_commands.php", + "registration.php" + ], + "psr-4": { + "Magento\\SampleData\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Sample Data fixtures" + }, + { + "name": "magento/module-search", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-search/magento-module-search-101.0.1.0.zip", + "reference": null, + "shasum": "a9486668c87a5ba4bb4aa6c9f8060637f7027ca1" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-reports": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Search\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-security", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-security/magento-module-security-100.3.1.0.zip", + "reference": null, + "shasum": "17018cf2303e60994bf28daa52fa6f7180f182da" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-customer": "102.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Security\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Security management module" + }, + { + "name": "magento/module-send-friend", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-send-friend/magento-module-send-friend-100.3.1.0.zip", + "reference": null, + "shasum": "547e26b8d3570b3f0969b9f5802725e8d8651714" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-captcha": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SendFriend\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-send-friend-graph-ql", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-send-friend-graph-ql/magento-module-send-friend-graph-ql-100.3.0.0.zip", + "reference": null, + "shasum": "ef5fbfcd51beb3ad8225fa03320cc45012b0bd70" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-send-friend": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SendFriendGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-shipping", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-shipping/magento-module-shipping-100.3.1.0.zip", + "reference": null, + "shasum": "dd53451df643e7d4513cb3102f182eb1f96bbc36" + }, + "require": { + "ext-gd": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-contact": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-ui": "101.1.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*", + "magento/module-fedex": "100.3.*", + "magento/module-ups": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Shipping\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-signifyd", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-signifyd/magento-module-signifyd-100.3.1.0.zip", + "reference": null, + "shasum": "768442b807e31bacfb5bbf914e155bac3ca88dde" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Signifyd\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Submitting Case Entry to Signifyd on Order Creation" + }, + { + "name": "magento/module-sitemap", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sitemap/magento-module-sitemap-100.3.1.0.zip", + "reference": null, + "shasum": "2f4535120d0551397680bdbd2365c08dd175f5f1" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-robots": "101.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Sitemap\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-store", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-store/magento-module-store-101.0.1.0.zip", + "reference": null, + "shasum": "aa4a2db8d42094f5978782138eb16e3adcf6798c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-deploy": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Store\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-store-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-store-graph-ql/magento-module-store-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "7c00e21d6f4c5c45bf2cc4bf0dd9dfdaa83ccad3" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\StoreGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-swagger", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swagger/magento-module-swagger-100.3.1.0.zip", + "reference": null, + "shasum": "f17474413c08f94ca5f704d9eff5b6ad268a0440" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Swagger\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-swagger-webapi", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swagger-webapi/magento-module-swagger-webapi-100.3.1.0.zip", + "reference": null, + "shasum": "7e4ee0f77d30c0e358771d2815ed1065bcfea7a2" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-swagger": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SwaggerWebapi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-swagger-webapi-async", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swagger-webapi-async/magento-module-swagger-webapi-async-100.3.1.0.zip", + "reference": null, + "shasum": "8e47ef5ab81bf92742b100c75879871e5d356095" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-swagger": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SwaggerWebapiAsync\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-swatches", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swatches/magento-module-swatches-100.3.1.0.zip", + "reference": null, + "shasum": "e8f12b8f0935403f693e78d60633da666162cb5a" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-layered-navigation": "100.3.*", + "magento/module-swatches-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Swatches\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Add Swatches to Products" + }, + { + "name": "magento/module-swatches-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swatches-graph-ql/magento-module-swatches-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "81636dcec8824fd41c6287203e25dd850afab20b" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-swatches": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SwatchesGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-swatches-layered-navigation", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swatches-layered-navigation/magento-module-swatches-layered-navigation-100.3.1.0.zip", + "reference": null, + "shasum": "0ba7397b12656fa9db3faee319ca64e65504cffa" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SwatchesLayeredNavigation\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-tax", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-tax/magento-module-tax-100.3.1.0.zip", + "reference": null, + "shasum": "ec9848f312abb6c03393aae776b086b1d4177ab0" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-tax-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Tax\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-tax-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-tax-graph-ql/magento-module-tax-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "eabd499aaf645826ac644dce948bba133d76aaf0" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-tax": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\TaxGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-tax-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-tax-import-export/magento-module-tax-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "8027abc153f14886965525539f873c8a4120cf8c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-directory": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\TaxImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-theme", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-theme/magento-module-theme-101.0.1.0.zip", + "reference": null, + "shasum": "e6fed3b1a3a3f21452f151e1eb2aa36510cb1b50" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-require-js": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-deploy": "100.3.*", + "magento/module-directory": "100.3.*", + "magento/module-theme-sample-data": "Sample Data version: 100.3.*", + "magento/module-translation": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Theme\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-theme-graph-ql", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-theme-graph-ql/magento-module-theme-graph-ql-100.3.0.0.zip", + "reference": null, + "shasum": "cd9d5fd79db5547f5a5b1e4761b901451b2fc013" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-store-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ThemeGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-tinymce-3", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-tinymce-3/magento-module-tinymce-3-100.3.1.0.zip", + "reference": null, + "shasum": "5153d30d5f5e5a8d99182a65dce142569f22861e" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-variable": "100.3.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-cms": "103.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Tinymce3\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-translation", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-translation/magento-module-translation-100.3.1.0.zip", + "reference": null, + "shasum": "dbc9a6bd9d8aa234c5809103e6ac93372fa33c81" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-developer": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-deploy": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Translation\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-ui", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-ui/magento-module-ui-101.1.1.0.zip", + "reference": null, + "shasum": "fc1e9663747d2f40f9a3278983598d9098ffca1a" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Ui\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-ups", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-ups/magento-module-ups-100.3.1.0.zip", + "reference": null, + "shasum": "34c0f3f7c03bd533aff334fb88750fc109a71d1d" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Ups\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-url-rewrite", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-url-rewrite/magento-module-url-rewrite-101.1.1.0.zip", + "reference": null, + "shasum": "f21c8619cec00fda18dd3dcb51cb2a4e8d451aee" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-cms-url-rewrite": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\UrlRewrite\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-url-rewrite-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-url-rewrite-graph-ql/magento-module-url-rewrite-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "ba563f2348277b9f06cd2f4e3118fa756f453d6e" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-url-rewrite": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\UrlRewriteGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-user", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-user/magento-module-user-101.1.1.0.zip", + "reference": null, + "shasum": "28a050491e3e447c8460f42b0f0549ad6adca190" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-email": "101.0.*", + "magento/module-integration": "100.3.*", + "magento/module-security": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\User\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-usps", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-usps/magento-module-usps-100.3.1.0.zip", + "reference": null, + "shasum": "cf9a786445d64b36c1d4bc32666213225821d84d" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Usps\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-variable", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-variable/magento-module-variable-100.3.1.0.zip", + "reference": null, + "shasum": "7b8faefa05dc6e563ac5663db86b86a2dc3c02e8" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Variable\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-vault", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-vault/magento-module-vault-101.1.1.0.zip", + "reference": null, + "shasum": "c8702e4f0ec7fa9538194203be7e5bbf0bc8077b" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Vault\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ] + }, + { + "name": "magento/module-version", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-version/magento-module-version-100.3.1.0.zip", + "reference": null, + "shasum": "f35d618be8f999ec653c83de3e364d4eea5eb796" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Version\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-webapi", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-webapi/magento-module-webapi-100.3.1.0.zip", + "reference": null, + "shasum": "9aee9870a6296462ed7b834383725b6f8cbfd8fe" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-integration": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-customer": "102.0.*", + "magento/module-user": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Webapi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-webapi-async", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-webapi-async/magento-module-webapi-async-100.3.1.0.zip", + "reference": null, + "shasum": "061d2e2ffd3476b78dedef5d078227fae7869019" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-asynchronous-operations": "100.3.*", + "magento/module-webapi": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-customer": "102.0.*", + "magento/module-user": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\WebapiAsync\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-webapi-security", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-webapi-security/magento-module-webapi-security-100.3.1.0.zip", + "reference": null, + "shasum": "ddc3201ecae4ff4fd0179fc387c69fe7af902caf" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-webapi": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\WebapiSecurity\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "WebapiSecurity module provides option to loosen security on some webapi resources." + }, + { + "name": "magento/module-weee", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-weee/magento-module-weee-100.3.1.0.zip", + "reference": null, + "shasum": "665d507e1d1baad1769f91ad021a0484f811c745" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-bundle": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Weee\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-weee-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-weee-graph-ql/magento-module-weee-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "8cd539c61f3f52683cdf1d081d03ba1ab198da43" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-weee": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\WeeeGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-widget", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-widget/magento-module-widget-101.1.1.0.zip", + "reference": null, + "shasum": "f7c8f6136274aee6ec623112981505475b36ea04" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-cms": "103.0.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-variable": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-widget-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Widget\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-wishlist", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-wishlist/magento-module-wishlist-101.1.1.0.zip", + "reference": null, + "shasum": "e73a999d11356a60646ccf7bc753d8ee04ed7035" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-captcha": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-rss": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-bundle": "100.3.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-cookie": "100.3.*", + "magento/module-downloadable": "100.3.*", + "magento/module-grouped-product": "100.3.*", + "magento/module-wishlist-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Wishlist\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-wishlist-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-wishlist-analytics/magento-module-wishlist-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "65852d6f8437a52706906c7c529398e60bf9052d" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\WishlistAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-wishlist-graph-ql", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-wishlist-graph-ql/magento-module-wishlist-graph-ql-100.3.0.0.zip", + "reference": null, + "shasum": "6b63731e8f68755b22f29e0b29febc8c3c374842" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\WishlistGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/product-community-edition", + "version": "2.3.1", + "require": { + "amzn/amazon-pay-and-login-magento-2-module": "3.1.4", + "braintree/braintree_php": "3.35.0", + "colinmollenhour/cache-backend-file": "~1.4.1", + "colinmollenhour/cache-backend-redis": "1.10.6", + "colinmollenhour/credis": "1.10.0", + "colinmollenhour/php-redis-session-abstract": "~1.4.0", + "composer/composer": "^1.6", + "dotmailer/dotmailer-magento2-extension": "3.1.1", + "elasticsearch/elasticsearch": "~2.0|~5.1|~6.1", + "ext-bcmath": "*", + "ext-ctype": "*", + "ext-curl": "*", + "ext-dom": "*", + "ext-gd": "*", + "ext-hash": "*", + "ext-iconv": "*", + "ext-intl": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-pdo_mysql": "*", + "ext-simplexml": "*", + "ext-soap": "*", + "ext-spl": "*", + "ext-xsl": "*", + "ext-zip": "*", + "klarna/m2-payments": "7.1.0", + "lib-libxml": "*", + "magento/composer": "~1.4.0", + "magento/framework": "102.0.1", + "magento/framework-amqp": "100.3.1", + "magento/framework-bulk": "100.3.1", + "magento/framework-message-queue": "100.3.1", + "magento/inventory-composer-metapackage": "1.1.1", + "magento/language-de_de": "100.3.1", + "magento/language-en_us": "100.3.1", + "magento/language-es_es": "100.3.1", + "magento/language-fr_fr": "100.3.1", + "magento/language-nl_nl": "100.3.1", + "magento/language-pt_br": "100.3.1", + "magento/language-zh_hans_cn": "100.3.1", + "magento/magento-composer-installer": ">=0.1.11", + "magento/magento2-base": "2.3.1", + "magento/module-admin-notification": "100.3.1", + "magento/module-advanced-pricing-import-export": "100.3.1", + "magento/module-advanced-search": "100.3.1", + "magento/module-amqp": "100.3.1", + "magento/module-analytics": "100.3.1", + "magento/module-asynchronous-operations": "100.3.1", + "magento/module-authorization": "100.3.1", + "magento/module-authorizenet": "100.3.1", + "magento/module-authorizenet-acceptjs": "100.3.0", + "magento/module-backend": "101.0.1", + "magento/module-backup": "100.3.1", + "magento/module-braintree": "100.3.1", + "magento/module-bundle": "100.3.1", + "magento/module-bundle-graph-ql": "100.3.1", + "magento/module-bundle-import-export": "100.3.1", + "magento/module-cache-invalidate": "100.3.1", + "magento/module-captcha": "100.3.1", + "magento/module-catalog": "103.0.1", + "magento/module-catalog-analytics": "100.3.1", + "magento/module-catalog-graph-ql": "100.3.1", + "magento/module-catalog-import-export": "101.0.1", + "magento/module-catalog-inventory": "100.3.1", + "magento/module-catalog-inventory-graph-ql": "100.3.1", + "magento/module-catalog-rule": "101.1.1", + "magento/module-catalog-rule-configurable": "100.3.1", + "magento/module-catalog-search": "101.0.1", + "magento/module-catalog-url-rewrite": "100.3.1", + "magento/module-catalog-url-rewrite-graph-ql": "100.3.1", + "magento/module-catalog-widget": "100.3.1", + "magento/module-checkout": "100.3.1", + "magento/module-checkout-agreements": "100.3.1", + "magento/module-cms": "103.0.1", + "magento/module-cms-graph-ql": "100.3.1", + "magento/module-cms-url-rewrite": "100.3.1", + "magento/module-cms-url-rewrite-graph-ql": "100.3.1", + "magento/module-config": "101.1.1", + "magento/module-configurable-import-export": "100.3.1", + "magento/module-configurable-product": "100.3.1", + "magento/module-configurable-product-graph-ql": "100.3.1", + "magento/module-configurable-product-sales": "100.3.1", + "magento/module-contact": "100.3.1", + "magento/module-cookie": "100.3.1", + "magento/module-cron": "100.3.1", + "magento/module-currency-symbol": "100.3.1", + "magento/module-customer": "102.0.1", + "magento/module-customer-analytics": "100.3.1", + "magento/module-customer-graph-ql": "100.3.1", + "magento/module-customer-import-export": "100.3.1", + "magento/module-deploy": "100.3.1", + "magento/module-developer": "100.3.1", + "magento/module-dhl": "100.3.1", + "magento/module-directory": "100.3.1", + "magento/module-directory-graph-ql": "100.3.0", + "magento/module-downloadable": "100.3.1", + "magento/module-downloadable-graph-ql": "100.3.1", + "magento/module-downloadable-import-export": "100.3.1", + "magento/module-eav": "102.0.1", + "magento/module-eav-graph-ql": "100.3.1", + "magento/module-elasticsearch": "100.3.1", + "magento/module-elasticsearch-6": "100.3.0", + "magento/module-email": "101.0.1", + "magento/module-encryption-key": "100.3.1", + "magento/module-fedex": "100.3.1", + "magento/module-gift-message": "100.3.1", + "magento/module-google-adwords": "100.3.1", + "magento/module-google-analytics": "100.3.1", + "magento/module-google-optimizer": "100.3.1", + "magento/module-graph-ql": "100.3.1", + "magento/module-grouped-catalog-inventory": "100.3.0", + "magento/module-grouped-import-export": "100.3.1", + "magento/module-grouped-product": "100.3.1", + "magento/module-grouped-product-graph-ql": "100.3.1", + "magento/module-import-export": "100.3.1", + "magento/module-indexer": "100.3.1", + "magento/module-instant-purchase": "100.3.1", + "magento/module-integration": "100.3.1", + "magento/module-layered-navigation": "100.3.1", + "magento/module-marketplace": "100.3.1", + "magento/module-media-storage": "100.3.1", + "magento/module-message-queue": "100.3.1", + "magento/module-msrp": "100.3.1", + "magento/module-msrp-configurable-product": "100.3.0", + "magento/module-msrp-grouped-product": "100.3.0", + "magento/module-multishipping": "100.3.1", + "magento/module-mysql-mq": "100.3.1", + "magento/module-new-relic-reporting": "100.3.1", + "magento/module-newsletter": "100.3.1", + "magento/module-offline-payments": "100.3.1", + "magento/module-offline-shipping": "100.3.1", + "magento/module-page-cache": "100.3.1", + "magento/module-payment": "100.3.1", + "magento/module-paypal": "100.3.1", + "magento/module-persistent": "100.3.1", + "magento/module-product-alert": "100.3.1", + "magento/module-product-video": "100.3.1", + "magento/module-quote": "101.1.1", + "magento/module-quote-analytics": "100.3.1", + "magento/module-quote-graph-ql": "100.3.1", + "magento/module-release-notification": "100.3.1", + "magento/module-reports": "100.3.1", + "magento/module-require-js": "100.3.1", + "magento/module-review": "100.3.1", + "magento/module-review-analytics": "100.3.1", + "magento/module-robots": "101.0.1", + "magento/module-rss": "100.3.1", + "magento/module-rule": "100.3.1", + "magento/module-sales": "102.0.1", + "magento/module-sales-analytics": "100.3.1", + "magento/module-sales-graph-ql": "100.3.0", + "magento/module-sales-inventory": "100.3.1", + "magento/module-sales-rule": "101.1.1", + "magento/module-sales-sequence": "100.3.1", + "magento/module-sample-data": "100.3.1", + "magento/module-search": "101.0.1", + "magento/module-security": "100.3.1", + "magento/module-send-friend": "100.3.1", + "magento/module-send-friend-graph-ql": "100.3.0", + "magento/module-shipping": "100.3.1", + "magento/module-signifyd": "100.3.1", + "magento/module-sitemap": "100.3.1", + "magento/module-store": "101.0.1", + "magento/module-store-graph-ql": "100.3.1", + "magento/module-swagger": "100.3.1", + "magento/module-swagger-webapi": "100.3.1", + "magento/module-swagger-webapi-async": "100.3.1", + "magento/module-swatches": "100.3.1", + "magento/module-swatches-graph-ql": "100.3.1", + "magento/module-swatches-layered-navigation": "100.3.1", + "magento/module-tax": "100.3.1", + "magento/module-tax-graph-ql": "100.3.1", + "magento/module-tax-import-export": "100.3.1", + "magento/module-theme": "101.0.1", + "magento/module-theme-graph-ql": "100.3.0", + "magento/module-tinymce-3": "100.3.1", + "magento/module-translation": "100.3.1", + "magento/module-ui": "101.1.1", + "magento/module-ups": "100.3.1", + "magento/module-url-rewrite": "101.1.1", + "magento/module-url-rewrite-graph-ql": "100.3.1", + "magento/module-user": "101.1.1", + "magento/module-usps": "100.3.1", + "magento/module-variable": "100.3.1", + "magento/module-vault": "101.1.1", + "magento/module-version": "100.3.1", + "magento/module-webapi": "100.3.1", + "magento/module-webapi-async": "100.3.1", + "magento/module-webapi-security": "100.3.1", + "magento/module-weee": "100.3.1", + "magento/module-weee-graph-ql": "100.3.1", + "magento/module-widget": "101.1.1", + "magento/module-wishlist": "101.1.1", + "magento/module-wishlist-analytics": "100.3.1", + "magento/module-wishlist-graph-ql": "100.3.0", + "magento/theme-adminhtml-backend": "100.3.1", + "magento/theme-frontend-blank": "100.3.1", + "magento/theme-frontend-luma": "100.3.1", + "magento/zendframework1": "~1.14.1", + "monolog/monolog": "^1.17", + "msp/recaptcha": "2.0.2", + "msp/twofactorauth": "3.0.0", + "oyejorge/less.php": "~1.7.0", + "paragonie/sodium_compat": "^1.6", + "pelago/emogrifier": "^2.0.0", + "php": "~7.1.3||~7.2.0", + "php-amqplib/php-amqplib": "~2.7.0", + "phpseclib/mcrypt_compat": "1.0.8", + "phpseclib/phpseclib": "2.0.*", + "ramsey/uuid": "~3.8.0", + "symfony/console": "~4.1.0", + "symfony/event-dispatcher": "~4.1.0", + "symfony/process": "~4.1.0", + "tedivm/jshrink": "~1.3.0", + "temando/module-shipping-m2": "1.5.1", + "tubalmartin/cssmin": "4.1.1", + "vertex/product-magento-module": "3.1.0", + "webonyx/graphql-php": "^0.12.6", + "zendframework/zend-captcha": "^2.7.1", + "zendframework/zend-code": "~3.3.0", + "zendframework/zend-config": "^2.6.0", + "zendframework/zend-console": "^2.6.0", + "zendframework/zend-crypt": "^2.6.0", + "zendframework/zend-db": "^2.8.2", + "zendframework/zend-di": "^2.6.1", + "zendframework/zend-eventmanager": "^2.6.3", + "zendframework/zend-feed": "^2.9.0", + "zendframework/zend-form": "^2.10.0", + "zendframework/zend-http": "^2.6.0", + "zendframework/zend-i18n": "^2.7.3", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-log": "^2.9.1", + "zendframework/zend-mail": "^2.9.0", + "zendframework/zend-modulemanager": "^2.7", + "zendframework/zend-mvc": "~2.7.0", + "zendframework/zend-serializer": "^2.7.2", + "zendframework/zend-server": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.8", + "zendframework/zend-session": "^2.7.3", + "zendframework/zend-soap": "^2.7.0", + "zendframework/zend-stdlib": "^2.7.7", + "zendframework/zend-text": "^2.6.0", + "zendframework/zend-uri": "^2.5.1", + "zendframework/zend-validator": "^2.6.0", + "zendframework/zend-view": "~2.10.0" + }, + "type": "metapackage", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "eCommerce Platform for Growth (Community Edition)" + }, + { + "name": "magento/theme-adminhtml-backend", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/theme-adminhtml-backend/magento-theme-adminhtml-backend-100.3.1.0.zip", + "reference": null, + "shasum": "16ba686421c8f62c5adafea59b9348dc3f9f9dc1" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-theme", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/theme-frontend-blank", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/theme-frontend-blank/magento-theme-frontend-blank-100.3.1.0.zip", + "reference": null, + "shasum": "5d0c6b04a16d20899bb5b70394fe8db257832dd1" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-theme", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/theme-frontend-luma", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/theme-frontend-luma/magento-theme-frontend-luma-100.3.1.0.zip", + "reference": null, + "shasum": "4ecc9f6a9fa4dfc5be7f4dec8fc8a9535ec1f5f3" + }, + "require": { + "magento/framework": "102.0.*", + "magento/theme-frontend-blank": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-theme", + "autoload": { + "files": [ + "registration.php" ] }, "license": [ - "OSL-3.0", - "AFL-3.0" + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/zendframework1", + "version": "1.14.1", + "source": { + "type": "git", + "url": "https://github.com/magento/zf1.git", + "reference": "4df018254c70b5b998b00a8cb1a30760f831ff0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/magento/zf1/zipball/4df018254c70b5b998b00a8cb1a30760f831ff0d", + "reference": "4df018254c70b5b998b00a8cb1a30760f831ff0d", + "shasum": "" + }, + "require": { + "php": ">=5.2.11" + }, + "require-dev": { + "phpunit/dbunit": "1.3.*", + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12.x-dev" + } + }, + "autoload": { + "psr-0": { + "Zend_": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "library/" + ], + "license": [ + "BSD-3-Clause" + ], + "description": "Magento Zend Framework 1", + "homepage": "http://framework.zend.com/", + "keywords": [ + "ZF1", + "framework" + ], + "time": "2018-08-09T15:03:40+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.24.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2018-11-05T09:00:11+00:00" + }, + { + "name": "msp/recaptcha", + "version": "2.0.2", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/msp/recaptcha/msp-recaptcha-2.0.2.0.zip", + "reference": null, + "shasum": "f037ce5e2b4202117adc4ec0ab93212ef31bff7e" + }, + "require": { + "google/recaptcha": "^1.1", + "magento/magento-composer-installer": "*", + "php": "^7.0|^7.1|^7.2" + }, + "suggest": { + "msp/security-suite": "Full MageSpecialist Security Suite" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "MSP\\ReCaptcha\\": "" + } + }, + "license": [ + "OSL-3.0" ], - "description": "Magento 2 Base (Community Edition)" + "authors": [ + { + "name": "Riccardo Tempesta", + "email": "riccardo.tempesta@magespecialist.it" + } + ], + "description": "Google reCaptcha integration for Magento2 - Member of MageSpecialist SecuritySuite" }, { - "name": "magento/module-admin-notification", - "version": "0.74.0-beta9", + "name": "msp/twofactorauth", + "version": "3.0.0", "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-admin-notification-0.74.0-beta9.zip", + "url": "https://repo.magento.com/archives/msp/twofactorauth/msp-twofactorauth-3.0.0.0.zip", "reference": null, - "shasum": "9d9f819a651566a2ae6f12225d69941dbe5d0920" + "shasum": "ba56d984ae834a8e87a76aed81bcaf6fd6d811b1" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta9", + "christian-riesen/base32": "^1.3", + "donatj/phpuseragentparser": "~0.7", + "endroid/qr-code": "^2.5", "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.0|^7.1|^7.2", + "spomky-labs/otphp": "~8.3", + "yubico/u2flib-server": "^1.0" + }, + "suggest": { + "msp/security-suite": "Full MageSpecialist Security Suite" }, "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/AdminNotification" - ] + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "MSP\\TwoFactorAuth\\": "" + } + }, + "license": [ + "OSL-3.0" + ], + "authors": [ + { + "name": "Riccardo Tempesta", + "email": "riccardo.tempesta@magespecialist.it" + } + ], + "description": "Two Factor Authentication module for Magento2 - Member of MageSpecialist SecuritySuite" + }, + { + "name": "myclabs/php-enum", + "version": "1.6.6", + "source": { + "type": "git", + "url": "https://github.com/myclabs/php-enum.git", + "reference": "32c4202886c51fbe5cc3a7c34ec5c9a4a790345e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/php-enum/zipball/32c4202886c51fbe5cc3a7c34ec5c9a4a790345e", + "reference": "32c4202886c51fbe5cc3a7c34ec5c9a4a790345e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|^5.7|^6.0", + "squizlabs/php_codesniffer": "1.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "MyCLabs\\Enum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP Enum contributors", + "homepage": "https://github.com/myclabs/php-enum/graphs/contributors" + } + ], + "description": "PHP Enum implementation", + "homepage": "http://github.com/myclabs/php-enum", + "keywords": [ + "enum" + ], + "time": "2019-02-04T21:18:49+00:00" + }, + { + "name": "oyejorge/less.php", + "version": "v1.7.0.14", + "source": { + "type": "git", + "url": "https://github.com/oyejorge/less.php.git", + "reference": "42925c5a01a07d67ca7e82dfc8fb31814d557bc9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/oyejorge/less.php/zipball/42925c5a01a07d67ca7e82dfc8fb31814d557bc9", + "reference": "42925c5a01a07d67ca7e82dfc8fb31814d557bc9", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.24" + }, + "bin": [ + "bin/lessc" + ], + "type": "library", + "autoload": { + "psr-0": { + "Less": "lib/" + }, + "classmap": [ + "lessc.inc.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache-2.0" + ], + "authors": [ + { + "name": "Matt Agar", + "homepage": "https://github.com/agar" + }, + { + "name": "Martin Jantošovič", + "homepage": "https://github.com/Mordred" + }, + { + "name": "Josh Schmidt", + "homepage": "https://github.com/oyejorge" + } + ], + "description": "PHP port of the Javascript version of LESS http://lesscss.org (Originally maintained by Josh Schmidt)", + "homepage": "http://lessphp.gpeasy.com", + "keywords": [ + "css", + "less", + "less.js", + "lesscss", + "php", + "stylesheet" + ], + "time": "2017-03-28T22:19:25+00:00" + }, + { + "name": "paragonie/constant_time_encoding", + "version": "v2.2.3", + "source": { + "type": "git", + "url": "https://github.com/paragonie/constant_time_encoding.git", + "reference": "55af0dc01992b4d0da7f6372e2eac097bbbaffdb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/55af0dc01992b4d0da7f6372e2eac097bbbaffdb", + "reference": "55af0dc01992b4d0da7f6372e2eac097bbbaffdb", + "shasum": "" + }, + "require": { + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "^6|^7", + "vimeo/psalm": "^1|^2" + }, + "type": "library", + "autoload": { + "psr-4": { + "ParagonIE\\ConstantTime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative", + "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" + } + ], + "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", + "keywords": [ + "base16", + "base32", + "base32_decode", + "base32_encode", + "base64", + "base64_decode", + "base64_encode", + "bin2hex", + "encoding", + "hex", + "hex2bin", + "rfc4648" + ], + "time": "2019-01-03T20:26:31+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.99", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "shasum": "" + }, + "require": { + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2018-07-02T15:55:56+00:00" + }, + { + "name": "paragonie/sodium_compat", + "version": "v1.9.1", + "source": { + "type": "git", + "url": "https://github.com/paragonie/sodium_compat.git", + "reference": "87125d5b265f98c4d1b8d83a1f0726607c229421" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/87125d5b265f98c4d1b8d83a1f0726607c229421", + "reference": "87125d5b265f98c4d1b8d83a1f0726607c229421", + "shasum": "" + }, + "require": { + "paragonie/random_compat": ">=1", + "php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8" + }, + "require-dev": { + "phpunit/phpunit": "^3|^4|^5" + }, + "suggest": { + "ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.", + "ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." + }, + "type": "library", + "autoload": { + "files": [ + "autoload.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Paragon Initiative", + "email": "security@paragonie.com" + }, + { + "name": "Frank Denis", + "email": "jedisct1@pureftpd.org" + } + ], + "description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists", + "keywords": [ + "Authentication", + "BLAKE2b", + "ChaCha20", + "ChaCha20-Poly1305", + "Chapoly", + "Curve25519", + "Ed25519", + "EdDSA", + "Edwards-curve Digital Signature Algorithm", + "Elliptic Curve Diffie-Hellman", + "Poly1305", + "Pure-PHP cryptography", + "RFC 7748", + "RFC 8032", + "Salpoly", + "Salsa20", + "X25519", + "XChaCha20-Poly1305", + "XSalsa20-Poly1305", + "Xchacha20", + "Xsalsa20", + "aead", + "cryptography", + "ecdh", + "elliptic curve", + "elliptic curve cryptography", + "encryption", + "libsodium", + "php", + "public-key cryptography", + "secret-key cryptography", + "side-channel resistant" + ], + "time": "2019-03-20T17:19:05+00:00" + }, + { + "name": "pelago/emogrifier", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/MyIntervals/emogrifier.git", + "reference": "8ee7fb5ad772915451ed3415c1992bd3697d4983" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MyIntervals/emogrifier/zipball/8ee7fb5ad772915451ed3415c1992bd3697d4983", + "reference": "8ee7fb5ad772915451ed3415c1992bd3697d4983", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0", + "symfony/css-selector": "^3.4.0 || ^4.0.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.2.0", + "phpmd/phpmd": "^2.6.0", + "phpunit/phpunit": "^4.8.0", + "squizlabs/php_codesniffer": "^3.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Pelago\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Reeve", + "email": "jreeve@pelagodesign.com" + }, + { + "name": "Cameron Brooks" + }, + { + "name": "Jaime Prado" + }, + { + "name": "Oliver Klee", + "email": "github@oliverklee.de" + }, + { + "name": "Zoli Szabó", + "email": "zoli.szabo+github@gmail.com" + }, + { + "name": "Jake Hotson", + "email": "jake@qzdesign.co.uk" + } ], - "description": "N/A" + "description": "Converts CSS styles into inline style attributes in your HTML code", + "homepage": "https://www.myintervals.com/emogrifier.php", + "keywords": [ + "css", + "email", + "pre-processing" + ], + "time": "2018-12-10T10:36:30+00:00" }, { - "name": "magento/module-authorization", - "version": "0.74.0-beta9", + "name": "php-amqplib/php-amqplib", + "version": "v2.7.3", + "source": { + "type": "git", + "url": "https://github.com/php-amqplib/php-amqplib.git", + "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-authorization-0.74.0-beta9.zip", - "reference": null, - "shasum": "28fb39cd7d95979865ee34293004c2dbd7fb0c74" + "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", + "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "ext-bcmath": "*", + "ext-mbstring": "*", + "php": ">=5.3.0" }, - "type": "magento2-module", + "replace": { + "videlalvaro/php-amqplib": "self.version" + }, + "require-dev": { + "phpdocumentor/phpdocumentor": "^2.9", + "phpunit/phpunit": "^4.8", + "scrutinizer/ocular": "^1.1", + "squizlabs/php_codesniffer": "^2.5" + }, + "suggest": { + "ext-sockets": "Use AMQPSocketConnection" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Authorization" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "PhpAmqpLib\\": "PhpAmqpLib/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "LGPL-2.1-or-later" ], - "description": "Authorization module provides access to Magento ACL functionality." + "authors": [ + { + "name": "Alvaro Videla", + "role": "Original Maintainer" + }, + { + "name": "John Kelly", + "email": "johnmkelly86@gmail.com", + "role": "Maintainer" + }, + { + "name": "Raúl Araya", + "email": "nubeiro@gmail.com", + "role": "Maintainer" + } + ], + "description": "Formerly videlalvaro/php-amqplib. This library is a pure PHP implementation of the AMQP protocol. It's been tested against RabbitMQ.", + "homepage": "https://github.com/php-amqplib/php-amqplib/", + "keywords": [ + "message", + "queue", + "rabbitmq" + ], + "time": "2018-04-30T03:54:54+00:00" }, { - "name": "magento/module-backend", - "version": "0.74.0-beta9", + "name": "phpseclib/mcrypt_compat", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/mcrypt_compat.git", + "reference": "f74c7b1897b62f08f268184b8bb98d9d9ab723b0" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-backend-0.74.0-beta9.zip", - "reference": null, - "shasum": "47a8139710f3c269b06d444c29fd275b2a3c9c9b" + "url": "https://api.github.com/repos/phpseclib/mcrypt_compat/zipball/f74c7b1897b62f08f268184b8bb98d9d9ab723b0", + "reference": "f74c7b1897b62f08f268184b8bb98d9d9ab723b0", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backup": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-cron": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-developer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-reports": "0.74.0-beta9", - "magento/module-require-js": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-translation": "0.74.0-beta9", - "magento/module-user": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.3", + "phpseclib/phpseclib": ">=2.0.11 <3.0.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Backend" - ] + "require-dev": { + "phpunit/phpunit": "^4.8.35|^5.7|^6.0" + }, + "suggest": { + "ext-openssl": "Will enable faster cryptographic operations" + }, + "type": "library", + "autoload": { + "files": [ + "lib/mcrypt.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "homepage": "http://phpseclib.sourceforge.net" + } + ], + "description": "PHP 7.1 polyfill for the mcrypt extension from PHP <= 7.0", + "keywords": [ + "cryptograpy", + "encryption", + "mcrypt" + ], + "time": "2018-08-22T03:11:43+00:00" }, { - "name": "magento/module-backup", - "version": "0.74.0-beta9", + "name": "phpseclib/phpseclib", + "version": "2.0.15", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "11cf67cf78dc4acb18dc9149a57be4aee5036ce0" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-backup-0.74.0-beta9.zip", - "reference": null, - "shasum": "defb31a8d7de0856753a04e15f5bf34684d25d90" + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/11cf67cf78dc4acb18dc9149a57be4aee5036ce0", + "reference": "11cf67cf78dc4acb18dc9149a57be4aee5036ce0", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-cron": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.3" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Backup" - ] - ] + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "^4.8.35|^5.7|^6.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "time": "2019-03-10T16:53:45+00:00" }, { - "name": "magento/module-bundle", - "version": "0.74.0-beta9", + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-bundle-0.74.0-beta9.zip", - "reference": null, - "shasum": "a63880815cf2c96fc4e6e45cd982bf724682fe8b" + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-catalog-rule": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-gift-message": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" - }, - "suggest": { - "magento/module-webapi": "0.74.0-beta9" + "php": ">=5.3.0" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Bundle" - ] - ] + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" }, { - "name": "magento/module-cache-invalidate", - "version": "0.74.0-beta9", + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-cache-invalidate-0.74.0-beta9.zip", - "reference": null, - "shasum": "e0316dae00343426e331cb39520acf0f6c0c3db3" + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-page-cache": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.0" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CacheInvalidate" - ] - ] + "branch-alias": { + "dev-master": "1.0.x-dev" + } }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" }, { - "name": "magento/module-captcha", - "version": "0.74.0-beta9", + "name": "psr/log", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-captcha-0.74.0-beta9.zip", - "reference": null, - "shasum": "cfc73a9579a990f215e10ec6b475255bef919920" + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.0" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Captcha" - ] - ] + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2018-11-20T15:27:04+00:00" }, { - "name": "magento/module-catalog", - "version": "0.74.0-beta9", + "name": "ralouphie/getallheaders", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-0.74.0-beta9.zip", - "reference": null, - "shasum": "705f5317c0495c0a94ce0d6ad9c2400c7eee9494" + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-catalog-rule": "0.74.0-beta9", - "magento/module-catalog-url-rewrite": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-cms": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-indexer": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-msrp": "0.74.0-beta9", - "magento/module-page-cache": "0.74.0-beta9", - "magento/module-product-alert": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-url-rewrite": "0.74.0-beta9", - "magento/module-widget": "0.74.0-beta9", - "magento/module-wishlist": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" - }, - "suggest": { - "magento/module-cookie": "0.74.0-beta9" + "php": ">=5.3" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Catalog" - ] + "require-dev": { + "phpunit/phpunit": "~3.7.0", + "satooshi/php-coveralls": ">=1.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2016-02-11T07:05:27+00:00" }, { - "name": "magento/module-catalog-import-export", - "version": "0.74.0-beta9", + "name": "ramsey/uuid", + "version": "3.8.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-import-export-0.74.0-beta9.zip", - "reference": null, - "shasum": "81dfb1108a4717ba212b46af6502a17ba8a1f85d" + "url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "shasum": "" }, "require": { - "ext-ctype": "*", - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-import-export": "0.74.0-beta9", - "magento/module-indexer": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "paragonie/random_compat": "^1.0|^2.0|9.99.99", + "php": "^5.4 || ^7.0", + "symfony/polyfill-ctype": "^1.8" }, - "type": "magento2-module", + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "codeception/aspect-mock": "^1.0 | ~2.0.0", + "doctrine/annotations": "~1.2.0", + "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ~2.1.0", + "ircmaxell/random-lib": "^1.1", + "jakub-onderka/php-parallel-lint": "^0.9.0", + "mockery/mockery": "^0.9.9", + "moontoast/math": "^1.1", + "php-mock/php-mock-phpunit": "^0.3|^1.1", + "phpunit/phpunit": "^4.7|^5.0|^6.5", + "squizlabs/php_codesniffer": "^2.3" + }, + "suggest": { + "ext-ctype": "Provides support for PHP Ctype functions", + "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", + "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", + "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", + "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CatalogImportExport" - ] - ] + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Marijn Huizendveld", + "email": "marijn.huizendveld@gmail.com" + }, + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + }, + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", + "homepage": "https://github.com/ramsey/uuid", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "time": "2018-07-19T23:38:55+00:00" }, { - "name": "magento/module-catalog-inventory", - "version": "0.74.0-beta9", + "name": "react/promise", + "version": "v2.7.1", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "31ffa96f8d2ed0341a57848cbb84d88b89dd664d" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-inventory-0.74.0-beta9.zip", - "reference": null, - "shasum": "1b2039959817f22889fa461cd48c58dec10c5b0d" + "url": "https://api.github.com/repos/reactphp/promise/zipball/31ffa96f8d2ed0341a57848cbb84d88b89dd664d", + "reference": "31ffa96f8d2ed0341a57848cbb84d88b89dd664d", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-indexer": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.4.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/CatalogInventory" - ] + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "time": "2019-01-07T21:25:54+00:00" }, { - "name": "magento/module-catalog-rule", - "version": "0.74.0-beta9", + "name": "seld/jsonlint", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-rule-0.74.0-beta9.zip", - "reference": null, - "shasum": "43e105ef491933e96ee5f6c9543edb72076b9b8f" + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-import-export": "0.74.0-beta9", - "magento/module-indexer": "0.74.0-beta9", - "magento/module-rule": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.3 || ^7.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/CatalogRule" - ] - ] + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "time": "2018-01-24T12:46:19+00:00" }, { - "name": "magento/module-catalog-search", - "version": "0.74.0-beta9", + "name": "seld/phar-utils", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-search-0.74.0-beta9.zip", - "reference": null, - "shasum": "3eb4841fe35753202d6985f65387da848ded3d9e" + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-indexer": "0.74.0-beta9", - "magento/module-search": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CatalogSearch" - ] - ] + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phra" + ], + "time": "2015-10-13T18:44:15+00:00" }, { - "name": "magento/module-catalog-url-rewrite", - "version": "0.74.0-beta9", + "name": "spomky-labs/otphp", + "version": "v8.3.3", + "source": { + "type": "git", + "url": "https://github.com/Spomky-Labs/otphp.git", + "reference": "eb14442699ae6470b29ffd89238a9ccfb9f20788" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-url-rewrite-0.74.0-beta9.zip", - "reference": null, - "shasum": "d6ff96ba9c854368c0cdc2aa4ebb66bbb5201349" + "url": "https://api.github.com/repos/Spomky-Labs/otphp/zipball/eb14442699ae6470b29ffd89238a9ccfb9f20788", + "reference": "eb14442699ae6470b29ffd89238a9ccfb9f20788", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-import-export": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-import-export": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-url-rewrite": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "beberlei/assert": "^2.4", + "paragonie/constant_time_encoding": "^1.0|^2.0", + "paragonie/random_compat": ">=2", + "php": "^5.5|^7.0", + "symfony/polyfill-mbstring": "^1.1", + "symfony/polyfill-php56": "^1.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "~4.0|^5.0", + "satooshi/php-coveralls": "^1.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CatalogUrlRewrite" - ] - ] + "branch-alias": { + "dev-master": "8.2.x-dev" + } }, + "autoload": { + "psr-4": { + "OTPHP\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Florent Morselli", + "homepage": "https://github.com/Spomky" + }, + { + "name": "All contributors", + "homepage": "https://github.com/Spomky-Labs/otphp/contributors" + } + ], + "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" + ], + "time": "2018-09-13T19:25:26+00:00" }, { - "name": "magento/module-catalog-widget", - "version": "0.74.0-beta9", + "name": "symfony/console", + "version": "v4.1.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "9e87c798f67dc9fceeb4f3d57847b52d945d1a02" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-widget-0.74.0-beta9.zip", - "reference": null, - "shasum": "7aa5387069cdcae7a6c4dab63a5e3a8e12921f2c" + "url": "https://api.github.com/repos/symfony/console/zipball/9e87c798f67dc9fceeb4f3d57847b52d945d1a02", + "reference": "9e87c798f67dc9fceeb4f3d57847b52d945d1a02", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-rule": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-widget": "0.74.0-beta9", - "magento/module-wishlist": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0" }, - "type": "magento2-module", + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CatalogWidget" - ] + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2019-01-25T14:34:37+00:00" }, { - "name": "magento/module-centinel", - "version": "0.74.0-beta9", + "name": "symfony/css-selector", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "48eddf66950fa57996e1be4a55916d65c10c604a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-centinel-0.74.0-beta9.zip", - "reference": null, - "shasum": "4bda8da48084d11cd97f59292b35501ad1dae554" + "url": "https://api.github.com/repos/symfony/css-selector/zipball/48eddf66950fa57996e1be4a55916d65c10c604a", + "reference": "48eddf66950fa57996e1be4a55916d65c10c604a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.1.3" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Centinel" - ] + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2019-01-16T20:31:39+00:00" }, { - "name": "magento/module-checkout", - "version": "0.74.0-beta9", + "name": "symfony/event-dispatcher", + "version": "v4.1.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "51be1b61dfe04d64a260223f2b81475fa8066b97" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-checkout-0.74.0-beta9.zip", - "reference": null, - "shasum": "c8ab1ccad853365098f1ea9efd3b2640f6ce1ab1" + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/51be1b61dfe04d64a260223f2b81475fa8066b97", + "reference": "51be1b61dfe04d64a260223f2b81475fa8066b97", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-gift-message": "0.74.0-beta9", - "magento/module-msrp": "0.74.0-beta9", - "magento/module-page-cache": "0.74.0-beta9", - "magento/module-payment": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-ui": "0.74.0-beta9", - "magento/module-wishlist": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" - }, - "suggest": { - "magento/module-cookie": "0.74.0-beta9" + "php": "^7.1.3" }, - "type": "magento2-module", + "conflict": { + "symfony/dependency-injection": "<3.4" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Checkout" - ] + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2019-01-16T18:35:49+00:00" }, { - "name": "magento/module-checkout-agreements", - "version": "0.74.0-beta9", + "name": "symfony/filesystem", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "e16b9e471703b2c60b95f14d31c1239f68f11601" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-checkout-agreements-0.74.0-beta9.zip", - "reference": null, - "shasum": "9adef902e061afdd2bc88b9257bbb7def693f46d" + "url": "https://api.github.com/repos/symfony/filesystem/zipball/e16b9e471703b2c60b95f14d31c1239f68f11601", + "reference": "e16b9e471703b2c60b95f14d31c1239f68f11601", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CheckoutAgreements" - ] + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2019-02-07T11:40:08+00:00" }, { - "name": "magento/module-cms", - "version": "0.74.0-beta9", + "name": "symfony/finder", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "267b7002c1b70ea80db0833c3afe05f0fbde580a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-cms-0.74.0-beta9.zip", - "reference": null, - "shasum": "31142e011e4269d240ea9389888484ab69b1eab1" + "url": "https://api.github.com/repos/symfony/finder/zipball/267b7002c1b70ea80db0833c3afe05f0fbde580a", + "reference": "267b7002c1b70ea80db0833c3afe05f0fbde580a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-email": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-ui": "0.74.0-beta9", - "magento/module-variable": "0.74.0-beta9", - "magento/module-widget": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.1.3" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Cms" - ] + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:42:05+00:00" }, { - "name": "magento/module-cms-url-rewrite", - "version": "0.74.0-beta9", + "name": "symfony/inflector", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/inflector.git", + "reference": "275e54941a4f17a471c68d2a00e2513fc1fd4a78" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-cms-url-rewrite-0.74.0-beta9.zip", - "reference": null, - "shasum": "fe26190823ea1e1bd828ff5fc087506b38c45c5f" + "url": "https://api.github.com/repos/symfony/inflector/zipball/275e54941a4f17a471c68d2a00e2513fc1fd4a78", + "reference": "275e54941a4f17a471c68d2a00e2513fc1fd4a78", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-cms": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-url-rewrite": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CmsUrlRewrite" - ] + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Inflector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Inflector Component", + "homepage": "https://symfony.com", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string", + "symfony", + "words" + ], + "time": "2019-01-16T20:31:39+00:00" }, { - "name": "magento/module-config", - "version": "0.74.0-beta9", + "name": "symfony/options-resolver", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "3896e5a7d06fd15fa4947694c8dcdd371ff147d1" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-config-0.74.0-beta9.zip", - "reference": null, - "shasum": "ae36b5498a9f299bacb1cc306a066db4386ad3c8" + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/3896e5a7d06fd15fa4947694c8dcdd371ff147d1", + "reference": "3896e5a7d06fd15fa4947694c8dcdd371ff147d1", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-cron": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-email": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.1.3" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Config" - ] + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony OptionsResolver Component", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "time": "2019-02-23T15:17:42+00:00" }, { - "name": "magento/module-configurable-import-export", - "version": "0.74.0-beta9", + "name": "symfony/polyfill-ctype", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "82ebae02209c21113908c229e9883c419720738a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-configurable-import-export-0.74.0-beta9.zip", - "reference": null, - "shasum": "99d781b8ec0fb5c8655a0bacb75b6ff5151d7687" + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", + "reference": "82ebae02209c21113908c229e9883c419720738a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-import-export": "0.74.0-beta9", - "magento/module-configurable-product": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-import-export": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.3" }, - "type": "magento2-module", + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/ConfigurableImportExport" - ] + "branch-alias": { + "dev-master": "1.11-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "backendtea@gmail.com" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2019-02-06T07:57:58+00:00" }, { - "name": "magento/module-configurable-product", - "version": "0.74.0-beta9", + "name": "symfony/polyfill-mbstring", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-configurable-product-0.74.0-beta9.zip", - "reference": null, - "shasum": "cd60da462c29cecacee7c7cf742ca9e3a962fc81" + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-catalog-rule": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.3" }, "suggest": { - "magento/module-webapi": "0.74.0-beta9" + "ext-mbstring": "For best performance" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/ConfigurableProduct" - ] + "branch-alias": { + "dev-master": "1.11-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "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" + ], + "time": "2019-02-06T07:57:58+00:00" }, { - "name": "magento/module-contact", - "version": "0.74.0-beta9", + "name": "symfony/polyfill-php56", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "f4dddbc5c3471e1b700a147a20ae17cdb72dbe42" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-contact-0.74.0-beta9.zip", - "reference": null, - "shasum": "c3a57727ab245a396b597e41c78d9ff81c06fe88" + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/f4dddbc5c3471e1b700a147a20ae17cdb72dbe42", + "reference": "f4dddbc5c3471e1b700a147a20ae17cdb72dbe42", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-cms": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Contact" - ] + "branch-alias": { + "dev-master": "1.11-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + }, + "files": [ + "bootstrap.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-02-06T07:57:58+00:00" }, { - "name": "magento/module-cookie", - "version": "0.74.0-beta9", + "name": "symfony/polyfill-util", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "b46c6cae28a3106735323f00a0c38eccf2328897" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-cookie-0.74.0-beta9.zip", - "reference": null, - "shasum": "281a79e0f61889c3d17111451be1860abb216939" + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/b46c6cae28a3106735323f00a0c38eccf2328897", + "reference": "b46c6cae28a3106735323f00a0c38eccf2328897", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-store": "0.74.0-beta9", - "php": "~5.4.11|~5.5.0|~5.6.0" - }, - "suggest": { - "magento/module-backend": "0.74.0-beta9" + "php": ">=5.3.3" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Cookie" - ] - ] + "branch-alias": { + "dev-master": "1.11-dev" + } }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Util\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony utilities for portability of PHP codes", + "homepage": "https://symfony.com", + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], + "time": "2019-02-08T14:16:39+00:00" }, { - "name": "magento/module-cron", - "version": "0.74.0-beta9", + "name": "symfony/process", + "version": "v4.1.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "72d838aafaa7c790330fe362b9cecec362c64629" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-cron-0.74.0-beta9.zip", - "reference": null, - "shasum": "e20e45f6282f8a595637f404faccc444023f02e7" + "url": "https://api.github.com/repos/symfony/process/zipball/72d838aafaa7c790330fe362b9cecec362c64629", + "reference": "72d838aafaa7c790330fe362b9cecec362c64629", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-config": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.1.3" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Cron" - ] + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2019-01-16T19:07:26+00:00" }, { - "name": "magento/module-currency-symbol", - "version": "0.74.0-beta9", + "name": "symfony/property-access", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "5440dd2b5373073beee051bd978b58a0f543b192" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-currency-symbol-0.74.0-beta9.zip", - "reference": null, - "shasum": "3e105d2bae0106c0675e72c3fccf6a6f0463a346" + "url": "https://api.github.com/repos/symfony/property-access/zipball/5440dd2b5373073beee051bd978b58a0f543b192", + "reference": "5440dd2b5373073beee051bd978b58a0f543b192", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-page-cache": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.1.3", + "symfony/inflector": "~3.4|~4.0" }, - "type": "magento2-module", + "require-dev": { + "symfony/cache": "~3.4|~4.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CurrencySymbol" - ] + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony PropertyAccess Component", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property path", + "reflection" + ], + "time": "2019-03-04T09:16:25+00:00" }, { - "name": "magento/module-customer", - "version": "0.74.0-beta9", + "name": "tedivm/jshrink", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/tedious/JShrink.git", + "reference": "21254058dc3ce6aba6bef458cff4bfa25cf8b198" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-customer-0.74.0-beta9.zip", - "reference": null, - "shasum": "7d303f83ba1340fd2a979d87d7184f6d6c831f9f" + "url": "https://api.github.com/repos/tedious/JShrink/zipball/21254058dc3ce6aba6bef458cff4bfa25cf8b198", + "reference": "21254058dc3ce6aba6bef458cff4bfa25cf8b198", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta9", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-integration": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-newsletter": "0.74.0-beta9", - "magento/module-page-cache": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-review": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-ui": "0.74.0-beta9", - "magento/module-wishlist": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" - }, - "suggest": { - "magento/module-cookie": "0.74.0-beta9" + "php": "^5.6|^7.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Customer" - ] - ] + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.8", + "php-coveralls/php-coveralls": "^1.1.0", + "phpunit/phpunit": "^6" + }, + "type": "library", + "autoload": { + "psr-0": { + "JShrink": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "authors": [ + { + "name": "Robert Hafner", + "email": "tedivm@tedivm.com" + } + ], + "description": "Javascript Minifier built in PHP", + "homepage": "http://github.com/tedious/JShrink", + "keywords": [ + "javascript", + "minifier" + ], + "time": "2018-09-16T00:02:51+00:00" }, { - "name": "magento/module-customer-import-export", - "version": "0.74.0-beta9", + "name": "temando/module-shipping-m2", + "version": "1.5.1", "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-customer-import-export-0.74.0-beta9.zip", + "url": "https://repo.magento.com/archives/temando/module-shipping-m2/temando-module-shipping-m2-1.5.1.0.zip", "reference": null, - "shasum": "865cf1afa2dcd6daecde627492421421d1b4b4ea" + "shasum": "7fb7a9164d6bc4a17e9b8869ddbc8c5f79106905" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-import-export": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "ext-iconv": "*", + "ext-intl": "*", + "ext-json": "*", + "magento/framework": "^102.0.0", + "magento/module-backend": "^101.0.0", + "magento/module-catalog": "^103.0.0", + "magento/module-checkout": "^100.3.0", + "magento/module-config": "^101.1.0||^102.0.0", + "magento/module-customer": "^102.0.0", + "magento/module-directory": "^100.3.0", + "magento/module-eav": "^102.0.0", + "magento/module-email": "^101.0.0", + "magento/module-integration": "^100.3.0", + "magento/module-multishipping": "^100.3.0", + "magento/module-payment": "^100.3.0", + "magento/module-quote": "^101.1.0", + "magento/module-sales": "^102.0.0", + "magento/module-security": "^100.3.0", + "magento/module-shipping": "^100.3.0", + "magento/module-store": "^101.0.0", + "magento/module-tax": "^100.3.0", + "magento/module-ui": "^101.1.0", + "monolog/monolog": "^1.17.0", + "php": "~7.1.3||~7.2.0", + "psr/log": "~1.0", + "zendframework/zend-barcode": "^2.7.0", + "zendframework/zend-http": "^2.6.0" + }, + "suggest": { + "magento/module-rma": "^101.1.0", + "magento/module-scalable-checkout": "^100.3.0", + "magento/module-scalable-oms": "^100.3.0" }, "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/CustomerImportExport" - ] - ] + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Temando\\Shipping\\": "" + } }, "license": [ - "OSL-3.0", - "AFL-3.0" + "OSL-3.0" ], - "description": "N/A" + "authors": [ + { + "name": "Christoph Aßmann", + "email": "christoph.assmann@netresearch.de", + "homepage": "https://www.netresearch.de/", + "role": "Developer" + } + ], + "description": "Temando multi-carrier shipping extension for Magento 2" }, { - "name": "magento/module-developer", - "version": "0.74.0-beta9", + "name": "true/punycode", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/true/php-punycode.git", + "reference": "a4d0c11a36dd7f4e7cd7096076cab6d3378a071e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-developer-0.74.0-beta9.zip", - "reference": null, - "shasum": "6706b2f7949678e99496ebea9fd12d9262b62004" + "url": "https://api.github.com/repos/true/php-punycode/zipball/a4d0c11a36dd7f4e7cd7096076cab6d3378a071e", + "reference": "a4d0c11a36dd7f4e7cd7096076cab6d3378a071e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.0", + "symfony/polyfill-mbstring": "^1.3" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Developer" - ] - ] + "require-dev": { + "phpunit/phpunit": "~4.7", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "TrueBV\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" + ], + "authors": [ + { + "name": "Renan Gonçalves", + "email": "renan.saddam@gmail.com" + } ], - "description": "N/A" + "description": "A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)", + "homepage": "https://github.com/true/php-punycode", + "keywords": [ + "idna", + "punycode" + ], + "time": "2016-11-16T10:37:54+00:00" }, { - "name": "magento/module-dhl", - "version": "0.74.0-beta9", + "name": "tubalmartin/cssmin", + "version": "v4.1.1", + "source": { + "type": "git", + "url": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port.git", + "reference": "3cbf557f4079d83a06f9c3ff9b957c022d7805cf" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-dhl-0.74.0-beta9.zip", - "reference": null, - "shasum": "34a111604699481f2eb3904bf4a1100c743f0e20" + "url": "https://api.github.com/repos/tubalmartin/YUI-CSS-compressor-PHP-port/zipball/3cbf557f4079d83a06f9c3ff9b957c022d7805cf", + "reference": "3cbf557f4079d83a06f9c3ff9b957c022d7805cf", + "shasum": "" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "ext-pcre": "*", + "php": ">=5.3.2" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Dhl" - ] - ] + "require-dev": { + "cogpowered/finediff": "0.3.*", + "phpunit/phpunit": "4.8.*" }, + "bin": [ + "cssmin" + ], + "type": "library", + "autoload": { + "psr-4": { + "tubalmartin\\CssMin\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "authors": [ + { + "name": "Túbal Martín", + "homepage": "http://tubalmartin.me/" + } + ], + "description": "A PHP port of the YUI CSS compressor", + "homepage": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port", + "keywords": [ + "compress", + "compressor", + "css", + "cssmin", + "minify", + "yui" + ], + "time": "2018-01-15T15:26:51+00:00" }, { - "name": "magento/module-directory", - "version": "0.74.0-beta9", + "name": "vertex/module-tax", + "version": "3.1.0", "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-directory-0.74.0-beta9.zip", + "url": "https://repo.magento.com/archives/vertex/module-tax/vertex-module-tax-3.1.0.0.zip", "reference": null, - "shasum": "426f27e9626d056dad46e805eae800eadf5e44fe" + "shasum": "f741436e6732930f69d24f7f8291101b0d3382c6" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "ext-json": "*", + "ext-simplexml": "*", + "ext-soap": "*", + "magento/framework": "^100|^101|^102", + "magento/module-backend": "^100|^101", + "magento/module-catalog": "^100|^101|^102|^103", + "magento/module-checkout": "^100", + "magento/module-config": "^100|^101", + "magento/module-cron": "^100", + "magento/module-customer": "^100|^101|^102", + "magento/module-directory": "^100", + "magento/module-eav": "^100|^101|^102", + "magento/module-quote": "^100|^101", + "magento/module-sales": "^100|^101|^102", + "magento/module-shipping": "^100", + "magento/module-store": "^100|^101", + "magento/module-tax": "^100", + "magento/module-ui": "^100|^101", + "php": "^5.6|^7.0", + "vertex/sdk": "^1.1.0" + }, + "conflict": { + "magento/module-gift-wrapping": ">=102", + "pixafy/tax": "*", + "pixafy/tax-ee": "*", + "vertex/tax": "*", + "vertex/tax-ee": "*" + }, + "require-dev": { + "ext-dom": "*", + "ext-simplexml": "*", + "magento/marketplace-eqp": "^1.0", + "magento/module-offline-shipping": "^100.2", + "magento/module-usps": "^100.2" + }, + "suggest": { + "magento/module-gift-card-account": "Vertex Tax Links for Magento 2 also supports Magento's Gift Card Account module", + "magento/module-gift-wrapping": "Vertex Tax Links for Magento 2 also supports Magento's Gift Wrapping module", + "magento/module-multishipping": "Vertex Tax Links for Magento 2 also supports Magento's Multishipping module", + "magento/module-reward": "Vertex Tax Links for Magento 2 also supports Magento's Reward module" }, "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Directory" - ] - ] + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Vertex\\Tax\\": "" + } }, "license": [ - "OSL-3.0", - "AFL-3.0" + "proprietary" ], - "description": "N/A" + "description": "Vertex Tax Links for Magento 2" }, { - "name": "magento/module-downloadable", - "version": "0.74.0-beta9", - "dist": { - "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-downloadable-0.74.0-beta9.zip", - "reference": null, - "shasum": "548720f2619acfd6d05c2e2d4ef6d4e0add8bc32" - }, + "name": "vertex/product-magento-module", + "version": "3.1.0", "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-gift-message": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-msrp": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-wishlist": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" - }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Downloadable" - ] - ] + "vertex/module-tax": "3.1.0" }, + "type": "metapackage", "license": [ - "OSL-3.0", - "AFL-3.0" + "proprietary" ], - "description": "N/A" + "authors": [ + { + "name": "Mediotype", + "email": "diveinto@mediotype.com", + "homepage": "http://www.mediotype.com/", + "role": "Development Company" + } + ], + "description": "Vertex Tax Links for Magento 2", + "homepage": "http://go.vertexsmb.com/magento_cbe", + "keywords": [ + "tax", + "vertex" + ] }, { - "name": "magento/module-eav", - "version": "0.74.0-beta9", + "name": "vertex/sdk", + "version": "1.1.0", "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-eav-0.74.0-beta9.zip", + "url": "https://repo.magento.com/archives/vertex/sdk/vertex-sdk-1.1.0.0.zip", "reference": null, - "shasum": "6c3a9b09465bab43077912e1b592aad51f5535ea" + "shasum": "85c38829f8233c14865912e092a2c5c6c80146ec" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-soap": "*", + "php": "^5.4|^7" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Eav" - ] - ] + "require-dev": { + "php": "^7.1", + "phpmd/phpmd": "^2.6", + "phpunit/phpunit": "^7.2", + "squizlabs/php_codesniffer": "^3.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Vertex\\": "src/" + } }, "license": [ - "OSL-3.0", - "AFL-3.0" + "proprietary" ], - "description": "N/A" + "description": "Tools for communicating with Vertex Cloud and Vertex O-Series" }, { - "name": "magento/module-email", - "version": "0.74.0-beta9", + "name": "webonyx/graphql-php", + "version": "v0.12.6", + "source": { + "type": "git", + "url": "https://github.com/webonyx/graphql-php.git", + "reference": "4c545e5ec4fc37f6eb36c19f5a0e7feaf5979c95" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-email-0.74.0-beta9.zip", - "reference": null, - "shasum": "fdcbc0aa8f3bb96f267b77f560f0888c1dd07b4b" + "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/4c545e5ec4fc37f6eb36c19f5a0e7feaf5979c95", + "reference": "4c545e5ec4fc37f6eb36c19f5a0e7feaf5979c95", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-cms": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-variable": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "ext-mbstring": "*", + "php": ">=5.6" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Email" - ] - ] + "require-dev": { + "phpunit/phpunit": "^4.8", + "psr/http-message": "^1.0", + "react/promise": "2.*" + }, + "suggest": { + "psr/http-message": "To use standard GraphQL server", + "react/promise": "To leverage async resolving on React PHP platform" + }, + "type": "library", + "autoload": { + "psr-4": { + "GraphQL\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "description": "A PHP port of GraphQL reference implementation", + "homepage": "https://github.com/webonyx/graphql-php", + "keywords": [ + "api", + "graphql" + ], + "time": "2018-09-02T14:59:54+00:00" }, { - "name": "magento/module-fedex", - "version": "0.74.0-beta9", + "name": "yubico/u2flib-server", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/Yubico/php-u2flib-server.git", + "reference": "55d813acf68212ad2cadecde07551600d6971939" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-fedex-0.74.0-beta9.zip", - "reference": null, - "shasum": "ddb21f39509d35d91d654ed4cee2d0bd6d96b8ff" + "url": "https://api.github.com/repos/Yubico/php-u2flib-server/zipball/55d813acf68212ad2cadecde07551600d6971939", + "reference": "55d813acf68212ad2cadecde07551600d6971939", + "shasum": "" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "ext-openssl": "*", + "paragonie/random_compat": ">= 1", + "php": ">=5.6" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Fedex" - ] + "require-dev": { + "phpunit/phpunit": "~5.7", + "vimeo/psalm": "^0|^1|^2" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-2-Clause" ], - "description": "N/A" + "description": "Library for U2F implementation", + "homepage": "https://developers.yubico.com/php-u2flib-server", + "time": "2018-09-07T08:16:44+00:00" }, { - "name": "magento/module-gift-message", - "version": "0.74.0-beta9", + "name": "zendframework/zend-barcode", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-barcode.git", + "reference": "50f24f604ef2172a0127efe91e786bc2caf2e8cf" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-gift-message-0.74.0-beta9.zip", - "reference": null, - "shasum": "baa084f6f8c5098573a39441b1e7ff478aaf645d" + "url": "https://api.github.com/repos/zendframework/zend-barcode/zipball/50f24f604ef2172a0127efe91e786bc2caf2e8cf", + "reference": "50f24f604ef2172a0127efe91e786bc2caf2e8cf", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-multishipping": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1", + "zendframework/zend-validator": "^2.10.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6 || ^3.1", + "zendframework/zendpdf": "^2.0.2" + }, + "suggest": { + "zendframework/zendpdf": "ZendPdf component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GiftMessage" - ] - ] + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Barcode\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides a generic way to generate barcodes", + "keywords": [ + "ZendFramework", + "barcode", + "zf" + ], + "time": "2017-12-11T15:30:02+00:00" }, { - "name": "magento/module-google-adwords", - "version": "0.74.0-beta9", + "name": "zendframework/zend-captcha", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-captcha.git", + "reference": "37e9b6a4f632a9399eecbf2e5e325ad89083f87b" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-google-adwords-0.74.0-beta9.zip", - "reference": null, - "shasum": "2e07b618a3a20384a128f6c769f0dd767d11da84" + "url": "https://api.github.com/repos/zendframework/zend-captcha/zipball/37e9b6a4f632a9399eecbf2e5e325ad89083f87b", + "reference": "37e9b6a4f632a9399eecbf2e5e325ad89083f87b", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-math": "^2.7 || ^3.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-session": "^2.8", + "zendframework/zend-text": "^2.6", + "zendframework/zend-validator": "^2.10.1", + "zendframework/zendservice-recaptcha": "^3.0" + }, + "suggest": { + "zendframework/zend-i18n-resources": "Translations of captcha messages", + "zendframework/zend-session": "Zend\\Session component", + "zendframework/zend-text": "Zend\\Text component", + "zendframework/zend-validator": "Zend\\Validator component", + "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GoogleAdwords" - ] - ] + "branch-alias": { + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Captcha\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Generate and validate CAPTCHAs using Figlets, images, ReCaptcha, and more", + "keywords": [ + "ZendFramework", + "captcha", + "zf" + ], + "time": "2018-04-24T17:24:10+00:00" }, { - "name": "magento/module-google-analytics", - "version": "0.74.0-beta9", + "name": "zendframework/zend-code", + "version": "3.3.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-code.git", + "reference": "c21db169075c6ec4b342149f446e7b7b724f95eb" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-google-analytics-0.74.0-beta9.zip", - "reference": null, - "shasum": "006250c389821f90c61bca62b29aa477f66071b5" + "url": "https://api.github.com/repos/zendframework/zend-code/zipball/c21db169075c6ec4b342149f446e7b7b724f95eb", + "reference": "c21db169075c6ec4b342149f446e7b7b724f95eb", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-cookie": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.1", + "zendframework/zend-eventmanager": "^2.6 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "doctrine/annotations": "~1.0", + "ext-phar": "*", + "phpunit/phpunit": "^6.2.3", + "zendframework/zend-coding-standard": "^1.0.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "suggest": { + "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", + "zendframework/zend-stdlib": "Zend\\Stdlib component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GoogleAnalytics" - ] - ] + "branch-alias": { + "dev-master": "3.3.x-dev", + "dev-develop": "3.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Code\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides facilities to generate arbitrary code using an object oriented interface", + "homepage": "https://github.com/zendframework/zend-code", + "keywords": [ + "code", + "zf2" + ], + "time": "2018-08-13T20:36:59+00:00" }, { - "name": "magento/module-google-optimizer", - "version": "0.74.0-beta9", + "name": "zendframework/zend-config", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-config.git", + "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-google-optimizer-0.74.0-beta9.zip", - "reference": null, - "shasum": "35f7d31d069c1bfb8a9fc6e30757546f4188e05c" + "url": "https://api.github.com/repos/zendframework/zend-config/zipball/2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", + "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-cms": "0.74.0-beta9", - "magento/module-google-analytics": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-i18n": "^2.5", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-i18n": "Zend\\I18n component", + "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes", + "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GoogleOptimizer" - ] - ] + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } }, + "autoload": { + "psr-4": { + "Zend\\Config\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides a nested object property based user interface for accessing this configuration data within application code", + "homepage": "https://github.com/zendframework/zend-config", + "keywords": [ + "config", + "zf2" + ], + "time": "2016-02-04T23:01:10+00:00" }, { - "name": "magento/module-google-shopping", - "version": "0.74.0-beta9", + "name": "zendframework/zend-console", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-console.git", + "reference": "e8aa08da83de3d265256c40ba45cd649115f0e18" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-google-shopping-0.74.0-beta9.zip", - "reference": null, - "shasum": "b0867fd647a13818a701974a0224fd3c7f306d1a" + "url": "https://api.github.com/repos/zendframework/zend-console/zipball/e8aa08da83de3d265256c40ba45cd649115f0e18", + "reference": "e8aa08da83de3d265256c40ba45cd649115f0e18", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-filter": "^2.7.2", + "zendframework/zend-json": "^2.6 || ^3.0", + "zendframework/zend-validator": "^2.10.1" + }, + "suggest": { + "zendframework/zend-filter": "To support DefaultRouteMatcher usage", + "zendframework/zend-validator": "To support DefaultRouteMatcher usage" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GoogleShopping" - ] - ] + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Console\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Build console applications using getopt syntax or routing, complete with prompts", + "keywords": [ + "ZendFramework", + "console", + "zf" + ], + "time": "2018-01-25T19:08:04+00:00" }, { - "name": "magento/module-grouped-import-export", - "version": "0.74.0-beta9", + "name": "zendframework/zend-crypt", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-crypt.git", + "reference": "1b2f5600bf6262904167116fa67b58ab1457036d" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-grouped-import-export-0.74.0-beta9.zip", - "reference": null, - "shasum": "b740cdb730ba164f15c8beca9e42076cd73506f6" + "url": "https://api.github.com/repos/zendframework/zend-crypt/zipball/1b2f5600bf6262904167116fa67b58ab1457036d", + "reference": "1b2f5600bf6262904167116fa67b58ab1457036d", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-import-export": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-grouped-product": "0.74.0-beta9", - "magento/module-import-export": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "~1.0", + "php": "^5.5 || ^7.0", + "zendframework/zend-math": "^2.6", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-mcrypt": "Required for most features of Zend\\Crypt" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GroupedImportExport" - ] - ] + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } }, + "autoload": { + "psr-4": { + "Zend\\Crypt\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-crypt", + "keywords": [ + "crypt", + "zf2" + ], + "time": "2016-02-03T23:46:30+00:00" }, { - "name": "magento/module-grouped-product", - "version": "0.74.0-beta9", + "name": "zendframework/zend-db", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-db.git", + "reference": "77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-grouped-product-0.74.0-beta9.zip", - "reference": null, - "shasum": "3b81ed8cbbe0118632fb0a73d96defaf17001627" + "url": "https://api.github.com/repos/zendframework/zend-db/zipball/77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e", + "reference": "77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-msrp": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.25 || ^6.4.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-hydrator": "^1.1 || ^2.1 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-eventmanager": "Zend\\EventManager component", + "zendframework/zend-hydrator": "Zend\\Hydrator component for using HydratingResultSets", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GroupedProduct" - ] - ] + "branch-alias": { + "dev-master": "2.9-dev", + "dev-develop": "2.10-dev" + }, + "zf": { + "component": "Zend\\Db", + "config-provider": "Zend\\Db\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Db\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Database abstraction layer, SQL abstraction, result set abstraction, and RowDataGateway and TableDataGateway implementations", + "keywords": [ + "ZendFramework", + "db", + "zf" + ], + "time": "2019-02-25T11:37:45+00:00" }, { - "name": "magento/module-import-export", - "version": "0.74.0-beta9", + "name": "zendframework/zend-di", + "version": "2.6.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-di.git", + "reference": "1fd1ba85660b5a2718741b38639dc7c4c3194b37" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-import-export-0.74.0-beta9.zip", - "reference": null, - "shasum": "bdda8672b34b093b89ec54210b4e025b942f66b0" + "url": "https://api.github.com/repos/zendframework/zend-di/zipball/1fd1ba85660b5a2718741b38639dc7c4c3194b37", + "reference": "1fd1ba85660b5a2718741b38639dc7c4c3194b37", + "shasum": "" }, "require": { - "ext-ctype": "*", - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-indexer": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "^1.1", + "php": "^5.5 || ^7.0", + "zendframework/zend-code": "^2.6 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/ImportExport" - ] - ] + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Di\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-di", + "keywords": [ + "di", + "zf2" + ], + "time": "2016-04-25T20:58:11+00:00" }, { - "name": "magento/module-indexer", - "version": "0.74.0-beta9", + "name": "zendframework/zend-diactoros", + "version": "1.8.6", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-diactoros.git", + "reference": "20da13beba0dde8fb648be3cc19765732790f46e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-indexer-0.74.0-beta9.zip", - "reference": null, - "shasum": "f87dcac18e19a70d34be3c8e486397fa37368fe6" + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/20da13beba0dde8fb648be3cc19765732790f46e", + "reference": "20da13beba0dde8fb648be3cc19765732790f46e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-page-cache": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "psr/http-message": "^1.0" }, - "type": "magento2-module", + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-dom": "*", + "ext-libxml": "*", + "php-http/psr7-integration-tests": "dev-master", + "phpunit/phpunit": "^5.7.16 || ^6.0.8 || ^7.2.7", + "zendframework/zend-coding-standard": "~1.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Indexer" - ] - ] + "branch-alias": { + "dev-master": "1.8.x-dev", + "dev-develop": "1.9.x-dev", + "dev-release-2.0": "2.0.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/marshal_uri_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php" + ], + "psr-4": { + "Zend\\Diactoros\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-2-Clause" ], - "description": "N/A" + "description": "PSR HTTP Message implementations", + "homepage": "https://github.com/zendframework/zend-diactoros", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2018-09-05T19:29:37+00:00" }, { - "name": "magento/module-integration", - "version": "0.74.0-beta9", + "name": "zendframework/zend-escaper", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-escaper.git", + "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-integration-0.74.0-beta9.zip", - "reference": null, - "shasum": "4a4f8808a49733e7434198fd072a0f7dbb3dcff2" + "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/31d8aafae982f9568287cb4dce987e6aff8fd074", + "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta9", - "magento/module-backend": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-user": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Integration" - ] - ] + "branch-alias": { + "dev-master": "2.6.x-dev", + "dev-develop": "2.7.x-dev" + } }, - "license": [ - "OSL-3.0", - "AFL-3.0" + "autoload": { + "psr-4": { + "Zend\\Escaper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" ], - "description": "N/A" + "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", + "keywords": [ + "ZendFramework", + "escaper", + "zf" + ], + "time": "2018-04-25T15:48:53+00:00" }, { - "name": "magento/module-layered-navigation", - "version": "0.74.0-beta9", + "name": "zendframework/zend-eventmanager", + "version": "2.6.4", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-eventmanager.git", + "reference": "d238c443220dce4b6396579c8ab2200ec25f9108" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-layered-navigation-0.74.0-beta9.zip", - "reference": null, - "shasum": "a305729e3b91e7d37169eeb3e1dc8b1532982e7e" + "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/d238c443220dce4b6396579c8ab2200ec25f9108", + "reference": "d238c443220dce4b6396579c8ab2200ec25f9108", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7" }, - "type": "magento2-module", + "require-dev": { + "athletic/athletic": "dev-master", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/LayeredNavigation" - ] - ] + "branch-alias": { + "dev-release-2.6": "2.6-dev", + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\EventManager\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-eventmanager", + "keywords": [ + "eventmanager", + "zf2" + ], + "time": "2017-12-12T17:48:56+00:00" }, { - "name": "magento/module-media-storage", - "version": "0.74.0-beta9", + "name": "zendframework/zend-feed", + "version": "2.10.3", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-feed.git", + "reference": "6641f4cf3f4586c63f83fd70b6d19966025c8888" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-media-storage-0.74.0-beta9.zip", - "reference": null, - "shasum": "385de9b553cd7e712e4fbc9d5b8a9aab22b19734" + "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/6641f4cf3f4586c63f83fd70b6d19966025c8888", + "reference": "6641f4cf3f4586c63f83fd70b6d19966025c8888", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-escaper": "^2.5.2", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "psr/http-message": "^1.0.1", + "zendframework/zend-cache": "^2.7.2", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.8.2", + "zendframework/zend-http": "^2.7", + "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", + "zendframework/zend-validator": "^2.10.1" + }, + "suggest": { + "psr/http-message": "PSR-7 ^1.0.1, if you wish to use Zend\\Feed\\Reader\\Http\\Psr7ResponseDecorator", + "zendframework/zend-cache": "Zend\\Cache component, for optionally caching feeds between requests", + "zendframework/zend-db": "Zend\\Db component, for use with PubSubHubbub", + "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for easily extending ExtensionManager implementations", + "zendframework/zend-validator": "Zend\\Validator component, for validating email addresses used in Atom feeds and entries when using the Writer subcomponent" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/MediaStorage" - ] - ] + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Feed\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides functionality for consuming RSS and Atom feeds", + "keywords": [ + "ZendFramework", + "feed", + "zf" + ], + "time": "2018-08-01T13:53:20+00:00" }, { - "name": "magento/module-msrp", - "version": "0.74.0-beta9", + "name": "zendframework/zend-filter", + "version": "2.9.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-filter.git", + "reference": "1c3e6d02f9cd5f6c929c9859498f5efbe216e86f" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-msrp-0.74.0-beta9.zip", - "reference": null, - "shasum": "a938500cd0391fb081840683bc1d25c8d24bde3f" + "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/1c3e6d02f9cd5f6c929c9859498f5efbe216e86f", + "reference": "1c3e6d02f9cd5f6c929c9859498f5efbe216e86f", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-bundle": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-downloadable": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-grouped-product": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" }, - "type": "magento2-module", + "conflict": { + "zendframework/zend-validator": "<2.10.1" + }, + "require-dev": { + "pear/archive_tar": "^1.4.3", + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "psr/http-factory": "^1.0", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-crypt": "^3.2.1", + "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", + "zendframework/zend-uri": "^2.6" + }, + "suggest": { + "psr/http-factory-implementation": "psr/http-factory-implementation, for creating file upload instances when consuming PSR-7 in file upload filters", + "zendframework/zend-crypt": "Zend\\Crypt component, for encryption filters", + "zendframework/zend-i18n": "Zend\\I18n component for filters depending on i18n functionality", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for using the filter chain functionality", + "zendframework/zend-uri": "Zend\\Uri component, for the UriNormalize filter" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Msrp" - ] - ] + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\Filter", + "config-provider": "Zend\\Filter\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Filter\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides a set of commonly needed data filters", + "keywords": [ + "ZendFramework", + "filter", + "zf" + ], + "time": "2018-12-17T16:00:04+00:00" }, { - "name": "magento/module-multishipping", - "version": "0.74.0-beta9", + "name": "zendframework/zend-form", + "version": "2.13.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-form.git", + "reference": "c713a12ccbd43148b71c9339e171ca11e3f8a1da" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-multishipping-0.74.0-beta9.zip", - "reference": null, - "shasum": "ed5f5195814708f0a40a063ede492ce28b7a85b6" + "url": "https://api.github.com/repos/zendframework/zend-form/zipball/c713a12ccbd43148b71c9339e171ca11e3f8a1da", + "reference": "c713a12ccbd43148b71c9339e171ca11e3f8a1da", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-payment": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-hydrator": "^1.1 || ^2.1 || ^3.0", + "zendframework/zend-inputfilter": "^2.8", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "doctrine/annotations": "~1.0", + "phpunit/phpunit": "^5.7.23 || ^6.5.3", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-captcha": "^2.7.1", + "zendframework/zend-code": "^2.6 || ^3.0", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.8.1", + "zendframework/zend-text": "^2.6", + "zendframework/zend-validator": "^2.6", + "zendframework/zend-view": "^2.6.2", + "zendframework/zendservice-recaptcha": "^3.0.0" + }, + "suggest": { + "zendframework/zend-captcha": "^2.7.1, required for using CAPTCHA form elements", + "zendframework/zend-code": "^2.6 || ^3.0, required to use zend-form annotations support", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, reuired for zend-form annotations support", + "zendframework/zend-i18n": "^2.6, required when using zend-form view helpers", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, required to use the form factories or provide services", + "zendframework/zend-view": "^2.6.2, required for using the zend-form view helpers", + "zendframework/zendservice-recaptcha": "in order to use the ReCaptcha form element" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Multishipping" - ] + "branch-alias": { + "dev-master": "2.13.x-dev", + "dev-develop": "2.14.x-dev" + }, + "zf": { + "component": "Zend\\Form", + "config-provider": "Zend\\Form\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Form\\": "src/" + }, + "files": [ + "autoload/formElementManagerPolyfill.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Validate and display simple and complex forms, casting forms to business objects and vice versa", + "keywords": [ + "ZendFramework", + "form", + "zf" + ], + "time": "2018-12-11T22:51:29+00:00" }, { - "name": "magento/module-newsletter", - "version": "0.74.0-beta9", + "name": "zendframework/zend-http", + "version": "2.8.4", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-http.git", + "reference": "d160aedc096be230af0fe9c31151b2b33ad4e807" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-newsletter-0.74.0-beta9.zip", - "reference": null, - "shasum": "1d65d77fdcefdfb81fb7831ddf925340fb8e18da" + "url": "https://api.github.com/repos/zendframework/zend-http/zipball/d160aedc096be230af0fe9c31151b2b33ad4e807", + "reference": "d160aedc096be230af0fe9c31151b2b33ad4e807", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-cms": "0.74.0-beta9", - "magento/module-cron": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-email": "0.74.0-beta9", - "magento/module-require-js": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-widget": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-loader": "^2.5.1", + "zendframework/zend-stdlib": "^3.1 || ^2.7.7", + "zendframework/zend-uri": "^2.5.2", + "zendframework/zend-validator": "^2.10.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^3.1 || ^2.6" + }, + "suggest": { + "paragonie/certainty": "For automated management of cacert.pem" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Newsletter" - ] - ] + "branch-alias": { + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Http\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", + "keywords": [ + "ZendFramework", + "http", + "http client", + "zend", + "zf" + ], + "time": "2019-02-07T17:47:08+00:00" }, { - "name": "magento/module-offline-payments", - "version": "0.74.0-beta9", + "name": "zendframework/zend-hydrator", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-hydrator.git", + "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-offline-payments-0.74.0-beta9.zip", - "reference": null, - "shasum": "820a2b58d81446545b30016a3601839d01d0d319" + "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/22652e1661a5a10b3f564cf7824a2206cf5a4a65", + "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-payment": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "^2.0@dev", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-inputfilter": "^2.6", + "zendframework/zend-serializer": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, to support aggregate hydrator usage", + "zendframework/zend-filter": "^2.6, to support naming strategy hydrator usage", + "zendframework/zend-serializer": "^2.6.1, to use the SerializableStrategy", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, to support hydrator plugin manager usage" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/OfflinePayments" - ] - ] + "branch-alias": { + "dev-release-1.0": "1.0-dev", + "dev-release-1.1": "1.1-dev", + "dev-master": "2.0-dev", + "dev-develop": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Hydrator\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-hydrator", + "keywords": [ + "hydrator", + "zf2" + ], + "time": "2016-02-18T22:38:26+00:00" }, { - "name": "magento/module-offline-shipping", - "version": "0.74.0-beta9", + "name": "zendframework/zend-i18n", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-i18n.git", + "reference": "6d69af5a04e1a4de7250043cb1322f077a0cdb7f" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-offline-shipping-0.74.0-beta9.zip", - "reference": null, - "shasum": "e72fb8afe1ca9edc7c5fc82a68873ff2961565cc" + "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/6d69af5a04e1a4de7250043cb1322f077a0cdb7f", + "reference": "6d69af5a04e1a4de7250043cb1322f077a0cdb7f", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-sales-rule": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-validator": "^2.6", + "zendframework/zend-view": "^2.6.3" + }, + "suggest": { + "ext-intl": "Required for most features of Zend\\I18n; included in default builds of PHP", + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-config": "Zend\\Config component", + "zendframework/zend-eventmanager": "You should install this package to use the events in the translator", + "zendframework/zend-filter": "You should install this package to use the provided filters", + "zendframework/zend-i18n-resources": "Translation resources", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-validator": "You should install this package to use the provided validators", + "zendframework/zend-view": "You should install this package to use the provided view helpers" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/OfflineShipping" - ] - ] + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\I18n", + "config-provider": "Zend\\I18n\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\I18n\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Provide translations for your application, and filter and validate internationalized values", + "keywords": [ + "ZendFramework", + "i18n", + "zf" + ], + "time": "2018-05-16T16:39:13+00:00" }, { - "name": "magento/module-page-cache", - "version": "0.74.0-beta9", + "name": "zendframework/zend-inputfilter", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-inputfilter.git", + "reference": "4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-page-cache-0.74.0-beta9.zip", - "reference": null, - "shasum": "756fb21471c1b0259baf4e594032e7aea5b222f2" + "url": "https://api.github.com/repos/zendframework/zend-inputfilter/zipball/4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c", + "reference": "4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-filter": "^2.9.1", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.3.1", + "zendframework/zend-stdlib": "^2.7 || ^3.0", + "zendframework/zend-validator": "^2.11" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "psr/http-message": "^1.0", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "suggest": { + "psr/http-message-implementation": "PSR-7 is required if you wish to validate PSR-7 UploadedFileInterface payloads" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/PageCache" - ] - ] + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + }, + "zf": { + "component": "Zend\\InputFilter", + "config-provider": "Zend\\InputFilter\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\InputFilter\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Normalize and validate input sets from the web, APIs, the CLI, and more, including files", + "keywords": [ + "ZendFramework", + "inputfilter", + "zf" + ], + "time": "2019-01-30T16:58:51+00:00" }, { - "name": "magento/module-payment", - "version": "0.74.0-beta9", + "name": "zendframework/zend-json", + "version": "2.6.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-json.git", + "reference": "4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-payment-0.74.0-beta9.zip", - "reference": null, - "shasum": "4514f7446e6e9a19e82eddd8212e31d04377aa77" + "url": "https://api.github.com/repos/zendframework/zend-json/zipball/4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28", + "reference": "4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-centinel": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0" }, - "type": "magento2-module", + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-server": "^2.6.1", + "zendframework/zend-stdlib": "^2.5 || ^3.0", + "zendframework/zendxml": "^1.0.2" + }, + "suggest": { + "zendframework/zend-http": "Zend\\Http component, required to use Zend\\Json\\Server", + "zendframework/zend-server": "Zend\\Server component, required to use Zend\\Json\\Server", + "zendframework/zend-stdlib": "Zend\\Stdlib component, for use with caching Zend\\Json\\Server responses", + "zendframework/zendxml": "To support Zend\\Json\\Json::fromXml() usage" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Payment" - ] - ] + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } }, + "autoload": { + "psr-4": { + "Zend\\Json\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP", + "homepage": "https://github.com/zendframework/zend-json", + "keywords": [ + "json", + "zf2" + ], + "time": "2016-02-04T21:20:26+00:00" }, { - "name": "magento/module-persistent", - "version": "0.74.0-beta9", + "name": "zendframework/zend-loader", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-loader.git", + "reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-persistent-0.74.0-beta9.zip", - "reference": null, - "shasum": "afb7d470522a94295bc40744f6e99ae0ec682011" + "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/78f11749ea340f6ca316bca5958eef80b38f9b6c", + "reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-cron": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-page-cache": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Persistent" - ] - ] + "branch-alias": { + "dev-master": "2.6.x-dev", + "dev-develop": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Loader\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Autoloading and plugin loading strategies", + "keywords": [ + "ZendFramework", + "loader", + "zf" + ], + "time": "2018-04-30T15:20:54+00:00" }, { - "name": "magento/module-product-alert", - "version": "0.74.0-beta9", + "name": "zendframework/zend-log", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-log.git", + "reference": "9cec3b092acb39963659c2f32441cccc56b3f430" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-product-alert-0.74.0-beta9.zip", - "reference": null, - "shasum": "d3235530b5f3efd21e517052bdcf7fea0ced7475" + "url": "https://api.github.com/repos/zendframework/zend-log/zipball/9cec3b092acb39963659c2f32441cccc56b3f430", + "reference": "9cec3b092acb39963659c2f32441cccc56b3f430", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "psr/log": "^1.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^5.7.15 || ^6.0.8", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.6", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-filter": "^2.5", + "zendframework/zend-mail": "^2.6.1", + "zendframework/zend-validator": "^2.10.1" + }, + "suggest": { + "ext-mongo": "mongo extension to use Mongo writer", + "ext-mongodb": "mongodb extension to use MongoDB writer", + "zendframework/zend-console": "Zend\\Console component to use the RequestID log processor", + "zendframework/zend-db": "Zend\\Db component to use the database log writer", + "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML log formatter", + "zendframework/zend-mail": "Zend\\Mail component to use the email log writer", + "zendframework/zend-validator": "Zend\\Validator component to block invalid log messages" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/ProductAlert" - ] - ] + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + }, + "zf": { + "component": "Zend\\Log", + "config-provider": "Zend\\Log\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Log\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "component for general purpose logging", + "homepage": "https://github.com/zendframework/zend-log", + "keywords": [ + "log", + "logging", + "zf2" + ], + "time": "2018-04-09T21:59:51+00:00" }, { - "name": "magento/module-quote", - "version": "0.74.0-beta9", + "name": "zendframework/zend-mail", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-mail.git", + "reference": "d7beb63d5f7144a21ac100072c453e63860cdab8" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-quote-0.74.0-beta9.zip", - "reference": null, - "shasum": "5c6a5e737a7c2fae72aa5381303030601eb3fac2" + "url": "https://api.github.com/repos/zendframework/zend-mail/zipball/d7beb63d5f7144a21ac100072c453e63860cdab8", + "reference": "d7beb63d5f7144a21ac100072c453e63860cdab8", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta9", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-catalog-rule": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-payment": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-sales-sequence": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "ext-iconv": "*", + "php": "^5.6 || ^7.0", + "true/punycode": "^2.1", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-mime": "^2.5", + "zendframework/zend-stdlib": "^2.7 || ^3.0", + "zendframework/zend-validator": "^2.10.2" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.25 || ^6.4.4 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-crypt": "^2.6 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.3.1" + }, + "suggest": { + "zendframework/zend-crypt": "Crammd5 support in SMTP Auth", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.3.1 when using SMTP to deliver messages" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Quote" - ] - ] + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + }, + "zf": { + "component": "Zend\\Mail", + "config-provider": "Zend\\Mail\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Mail\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Provides generalized functionality to compose and send both text and MIME-compliant multipart e-mail messages", + "keywords": [ + "ZendFramework", + "mail", + "zf" + ], + "time": "2018-06-07T13:37:07+00:00" }, { - "name": "magento/module-reports", - "version": "0.74.0-beta9", + "name": "zendframework/zend-math", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-math.git", + "reference": "1abce074004dacac1a32cd54de94ad47ef960d38" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-reports-0.74.0-beta9.zip", - "reference": null, - "shasum": "6dd2cca08c4b7c0560167f2ee3fe846004a241bd" + "url": "https://api.github.com/repos/zendframework/zend-math/zipball/1abce074004dacac1a32cd54de94ad47ef960d38", + "reference": "1abce074004dacac1a32cd54de94ad47ef960d38", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-cms": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-downloadable": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-review": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-sales-rule": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "magento/module-widget": "0.74.0-beta9", - "magento/module-wishlist": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0" }, - "type": "magento2-module", + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "ircmaxell/random-lib": "~1.1", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-bcmath": "If using the bcmath functionality", + "ext-gmp": "If using the gmp functionality", + "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if Mcrypt extensions is unavailable" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Reports" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Math\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-math", + "keywords": [ + "math", + "zf2" + ], + "time": "2018-12-04T15:34:17+00:00" }, { - "name": "magento/module-require-js", - "version": "0.74.0-beta9", + "name": "zendframework/zend-mime", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-mime.git", + "reference": "52ae5fa9f12845cae749271034a2d594f0e4c6f2" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-require-js-0.74.0-beta9.zip", - "reference": null, - "shasum": "842a7c38569cd97b61412c1d60d979710a6a7f9e" + "url": "https://api.github.com/repos/zendframework/zend-mime/zipball/52ae5fa9f12845cae749271034a2d594f0e4c6f2", + "reference": "52ae5fa9f12845cae749271034a2d594f0e4c6f2", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.21 || ^6.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-mail": "^2.6" + }, + "suggest": { + "zendframework/zend-mail": "Zend\\Mail component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/RequireJs" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Mime\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Create and parse MIME messages and parts", + "homepage": "https://github.com/zendframework/zend-mime", + "keywords": [ + "ZendFramework", + "mime", + "zf" + ], + "time": "2018-05-14T19:02:50+00:00" }, { - "name": "magento/module-review", - "version": "0.74.0-beta9", + "name": "zendframework/zend-modulemanager", + "version": "2.8.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-modulemanager.git", + "reference": "394df6e12248ac430a312d4693f793ee7120baa6" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-review-0.74.0-beta9.zip", - "reference": null, - "shasum": "507b801b44f75bc421976918b068da84367eb9f7" + "url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/394df6e12248ac430a312d4693f793ee7120baa6", + "reference": "394df6e12248ac430a312d4693f793ee7120baa6", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-newsletter": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-ui": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-config": "^3.1 || ^2.6", + "zendframework/zend-eventmanager": "^3.2 || ^2.6.3", + "zendframework/zend-stdlib": "^3.1 || ^2.7" + }, + "require-dev": { + "phpunit/phpunit": "^6.0.8 || ^5.7.15", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-console": "^2.6", + "zendframework/zend-di": "^2.6", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-mvc": "^3.0 || ^2.7", + "zendframework/zend-servicemanager": "^3.0.3 || ^2.7.5" }, "suggest": { - "magento/module-cookie": "0.74.0-beta9" + "zendframework/zend-console": "Zend\\Console component", + "zendframework/zend-loader": "Zend\\Loader component if you are not using Composer autoloading for your modules", + "zendframework/zend-mvc": "Zend\\Mvc component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Review" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\ModuleManager\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Modular application system for zend-mvc applications", + "homepage": "https://github.com/zendframework/zend-modulemanager", + "keywords": [ + "ZendFramework", + "modulemanager", + "zf" + ], + "time": "2017-12-02T06:11:18+00:00" }, { - "name": "magento/module-rss", - "version": "0.74.0-beta9", + "name": "zendframework/zend-mvc", + "version": "2.7.15", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-mvc.git", + "reference": "a8d45689d37a9e4ff4b75ea0b7478fa3d4f9c089" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-rss-0.74.0-beta9.zip", - "reference": null, - "shasum": "dcbfaecc7026ed1ef047b6b8274db47009f7306f" + "url": "https://api.github.com/repos/zendframework/zend-mvc/zipball/a8d45689d37a9e4ff4b75ea0b7478fa3d4f9c089", + "reference": "a8d45689d37a9e4ff4b75ea0b7478fa3d4f9c089", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "^1.1", + "php": "^5.5 || ^7.0", + "zendframework/zend-console": "^2.7", + "zendframework/zend-eventmanager": "^2.6.4 || ^3.0", + "zendframework/zend-form": "^2.11", + "zendframework/zend-hydrator": "^1.1 || ^2.4", + "zendframework/zend-psr7bridge": "^0.2", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7.5 || ^3.0" }, - "type": "magento2-module", + "replace": { + "zendframework/zend-router": "^2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "^4.8.36", + "sebastian/comparator": "^1.2.4", + "sebastian/version": "^1.0.4", + "zendframework/zend-authentication": "^2.6", + "zendframework/zend-cache": "^2.8", + "zendframework/zend-di": "^2.6", + "zendframework/zend-filter": "^2.8", + "zendframework/zend-http": "^2.8", + "zendframework/zend-i18n": "^2.8", + "zendframework/zend-inputfilter": "^2.8", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-log": "^2.9.3", + "zendframework/zend-modulemanager": "^2.8", + "zendframework/zend-serializer": "^2.8", + "zendframework/zend-session": "^2.8.1", + "zendframework/zend-text": "^2.7", + "zendframework/zend-uri": "^2.6", + "zendframework/zend-validator": "^2.10", + "zendframework/zend-view": "^2.9" + }, + "suggest": { + "zendframework/zend-authentication": "Zend\\Authentication component for Identity plugin", + "zendframework/zend-config": "Zend\\Config component", + "zendframework/zend-di": "Zend\\Di component", + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-i18n": "Zend\\I18n component for translatable segments", + "zendframework/zend-inputfilter": "Zend\\Inputfilter component", + "zendframework/zend-json": "Zend\\Json component", + "zendframework/zend-log": "Zend\\Log component", + "zendframework/zend-modulemanager": "Zend\\ModuleManager component", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager-di": "^1.0.1, if using zend-servicemanager v3 and requiring the zend-di integration", + "zendframework/zend-session": "Zend\\Session component for FlashMessenger, PRG, and FPRG plugins", + "zendframework/zend-text": "Zend\\Text component", + "zendframework/zend-uri": "Zend\\Uri component", + "zendframework/zend-validator": "Zend\\Validator component", + "zendframework/zend-view": "Zend\\View component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Rss" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "3.0-dev" + } + }, + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Zend\\Mvc\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-mvc", + "keywords": [ + "mvc", + "zf2" + ], + "time": "2018-05-03T13:13:41+00:00" }, { - "name": "magento/module-rule", - "version": "0.74.0-beta9", + "name": "zendframework/zend-psr7bridge", + "version": "0.2.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-psr7bridge.git", + "reference": "86c0b53b0c6381391c4add4a93a56e51d5c74605" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-rule-0.74.0-beta9.zip", - "reference": null, - "shasum": "20aa3361bafb3587d9168521d7a6283122dc4ead" + "url": "https://api.github.com/repos/zendframework/zend-psr7bridge/zipball/86c0b53b0c6381391c4add4a93a56e51d5c74605", + "reference": "86c0b53b0c6381391c4add4a93a56e51d5c74605", + "shasum": "" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.5", + "psr/http-message": "^1.0", + "zendframework/zend-diactoros": "^1.1", + "zendframework/zend-http": "^2.5" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^4.7", + "squizlabs/php_codesniffer": "^2.3" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Rule" - ] - ] + "branch-alias": { + "dev-master": "1.0-dev", + "dev-develop": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Psr7Bridge\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "PSR-7 <-> Zend\\Http bridge", + "homepage": "https://github.com/zendframework/zend-psr7bridge", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2016-05-10T21:44:39+00:00" }, { - "name": "magento/module-sales", - "version": "0.74.0-beta9", + "name": "zendframework/zend-serializer", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-serializer.git", + "reference": "0172690db48d8935edaf625c4cba38b79719892c" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-sales-0.74.0-beta9.zip", - "reference": null, - "shasum": "007ca46fc540820c8f17786cabaa544f0fe7f984" + "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/0172690db48d8935edaf625c4cba38b79719892c", + "reference": "0172690db48d8935edaf625c4cba38b79719892c", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta9", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-email": "0.74.0-beta9", - "magento/module-gift-message": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-payment": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-reports": "0.74.0-beta9", - "magento/module-sales-rule": "0.74.0-beta9", - "magento/module-sales-sequence": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-ui": "0.74.0-beta9", - "magento/module-widget": "0.74.0-beta9", - "magento/module-wishlist": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-json": "^2.5 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.25 || ^6.4.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-math": "^2.6 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-math": "(^2.6 || ^3.0) To support Python Pickle serialization", + "zendframework/zend-servicemanager": "(^2.7.5 || ^3.0.3) To support plugin manager support" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Sales" - ] - ] + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\Serializer", + "config-provider": "Zend\\Serializer\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Serializer\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides an adapter based interface to simply generate storable representation of PHP types by different facilities, and recover", + "keywords": [ + "ZendFramework", + "serializer", + "zf" + ], + "time": "2018-05-14T18:45:18+00:00" }, { - "name": "magento/module-sales-rule", - "version": "0.74.0-beta9", + "name": "zendframework/zend-server", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-server.git", + "reference": "23a2e9a5599c83c05da831cb7c649e8a7809595e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-sales-rule-0.74.0-beta9.zip", - "reference": null, - "shasum": "25a2d8e1c2e722e102745e88928de0bd1dd80274" + "url": "https://api.github.com/repos/zendframework/zend-server/zipball/23a2e9a5599c83c05da831cb7c649e8a7809595e", + "reference": "23a2e9a5599c83c05da831cb7c649e8a7809595e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-rule": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-payment": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-reports": "0.74.0-beta9", - "magento/module-rule": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-widget": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-code": "^2.5 || ^3.0", + "zendframework/zend-stdlib": "^2.5 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/SalesRule" - ] - ] + "branch-alias": { + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" + } }, + "autoload": { + "psr-4": { + "Zend\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Create Reflection-based RPC servers", + "keywords": [ + "ZendFramework", + "server", + "zf" + ], + "time": "2018-04-30T22:21:28+00:00" }, { - "name": "magento/module-sales-sequence", - "version": "0.74.0-beta9", + "name": "zendframework/zend-servicemanager", + "version": "2.7.11", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-servicemanager.git", + "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-sales-sequence-0.74.0-beta9.zip", - "reference": null, - "shasum": "a242a2b697fc95c36a125bb4e51ec0a2b206b359" + "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/99ec9ed5d0f15aed9876433c74c2709eb933d4c7", + "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "~1.0", + "php": "^5.5 || ^7.0" }, - "type": "magento2-module", + "require-dev": { + "athletic/athletic": "dev-master", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-di": "~2.5", + "zendframework/zend-mvc": "~2.5" + }, + "suggest": { + "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services", + "zendframework/zend-di": "Zend\\Di component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/SalesSequence" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\ServiceManager\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-servicemanager", + "keywords": [ + "servicemanager", + "zf2" + ], + "time": "2018-06-22T14:49:54+00:00" }, { - "name": "magento/module-search", - "version": "0.74.0-beta9", + "name": "zendframework/zend-session", + "version": "2.8.5", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-session.git", + "reference": "2cfd90e1a2f6b066b9f908599251d8f64f07021b" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-search-0.74.0-beta9.zip", - "reference": null, - "shasum": "0005f68bc5abaa007361df0236b5fba80517af4d" + "url": "https://api.github.com/repos/zendframework/zend-session/zipball/2cfd90e1a2f6b066b9f908599251d8f64f07021b", + "reference": "2cfd90e1a2f6b066b9f908599251d8f64f07021b", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog-search": "0.74.0-beta9", - "magento/module-reports": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "container-interop/container-interop": "^1.1", + "mongodb/mongodb": "^1.0.1", + "php-mock/php-mock-phpunit": "^1.1.2 || ^2.0", + "phpunit/phpunit": "^5.7.5 || >=6.0.13 <6.5.0", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.7", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-validator": "^2.6" + }, + "suggest": { + "mongodb/mongodb": "If you want to use the MongoDB session save handler", + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-db": "Zend\\Db component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-validator": "Zend\\Validator component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Search" - ] - ] + "branch-alias": { + "dev-master": "2.8-dev", + "dev-develop": "2.9-dev" + }, + "zf": { + "component": "Zend\\Session", + "config-provider": "Zend\\Session\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Session\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "manage and preserve session data, a logical complement of cookie data, across multiple page requests by the same client", + "keywords": [ + "ZendFramework", + "session", + "zf" + ], + "time": "2018-02-22T16:33:54+00:00" }, { - "name": "magento/module-sendfriend", - "version": "0.74.0-beta9", + "name": "zendframework/zend-soap", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-soap.git", + "reference": "af03c32f0db2b899b3df8cfe29aeb2b49857d284" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-sendfriend-0.74.0-beta9.zip", - "reference": null, - "shasum": "adb2246c88b666e9340f1a725bea2fb0aa037ca0" + "url": "https://api.github.com/repos/zendframework/zend-soap/zipball/af03c32f0db2b899b3df8cfe29aeb2b49857d284", + "reference": "af03c32f0db2b899b3df8cfe29aeb2b49857d284", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "ext-soap": "*", + "php": "^5.6 || ^7.0", + "zendframework/zend-server": "^2.6.1", + "zendframework/zend-stdlib": "^2.7 || ^3.0", + "zendframework/zend-uri": "^2.5.2" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.21 || ^6.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-http": "^2.5.4" + }, + "suggest": { + "zendframework/zend-http": "Zend\\Http component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Sendfriend" - ] - ] + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Soap\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-soap", + "keywords": [ + "soap", + "zf2" + ], + "time": "2018-01-29T17:51:26+00:00" }, { - "name": "magento/module-shipping", - "version": "0.74.0-beta9", + "name": "zendframework/zend-stdlib", + "version": "2.7.7", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-stdlib.git", + "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-shipping-0.74.0-beta9.zip", - "reference": null, - "shasum": "76013d8582463caeb15ce63a96139048a07ba90b" + "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/0e44eb46788f65e09e077eb7f44d2659143bcc1f", + "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f", + "shasum": "" }, "require": { - "ext-gd": "*", - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-contact": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-payment": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0", + "zendframework/zend-hydrator": "~1.1" + }, + "require-dev": { + "athletic/athletic": "~0.1", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-config": "~2.5", + "zendframework/zend-eventmanager": "~2.5", + "zendframework/zend-filter": "~2.5", + "zendframework/zend-inputfilter": "~2.5", + "zendframework/zend-serializer": "~2.5", + "zendframework/zend-servicemanager": "~2.5" }, "suggest": { - "magento/module-fedex": "0.74.0-beta9", - "magento/module-ups": "0.74.0-beta9" + "zendframework/zend-eventmanager": "To support aggregate hydrator usage", + "zendframework/zend-filter": "To support naming strategy hydrator usage", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Shipping" - ] - ] + "branch-alias": { + "dev-release-2.7": "2.7-dev", + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Stdlib\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-stdlib", + "keywords": [ + "stdlib", + "zf2" + ], + "time": "2016-04-12T21:17:31+00:00" }, { - "name": "magento/module-sitemap", - "version": "0.74.0-beta9", + "name": "zendframework/zend-text", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-text.git", + "reference": "ca987dd4594f5f9508771fccd82c89bc7fbb39ac" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-sitemap-0.74.0-beta9.zip", - "reference": null, - "shasum": "2169a32cae4f3de305ec17c4d8246175b7ddde9e" + "url": "https://api.github.com/repos/zendframework/zend-text/zipball/ca987dd4594f5f9508771fccd82c89bc7fbb39ac", + "reference": "ca987dd4594f5f9508771fccd82c89bc7fbb39ac", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-url-rewrite": "0.74.0-beta9", - "magento/module-cms": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Sitemap" - ] - ] + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } }, + "autoload": { + "psr-4": { + "Zend\\Text\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Create FIGlets and text-based tables", + "keywords": [ + "ZendFramework", + "text", + "zf" + ], + "time": "2018-04-30T14:55:10+00:00" }, { - "name": "magento/module-store", - "version": "0.74.0-beta9", + "name": "zendframework/zend-uri", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-uri.git", + "reference": "b2785cd38fe379a784645449db86f21b7739b1ee" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-store-0.74.0-beta9.zip", - "reference": null, - "shasum": "85ff2ce1c9c32ecb4696e96616b3523e2b78979d" + "url": "https://api.github.com/repos/zendframework/zend-uri/zipball/b2785cd38fe379a784645449db86f21b7739b1ee", + "reference": "b2785cd38fe379a784645449db86f21b7739b1ee", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-config": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-ui": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-validator": "^2.10" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Store" - ] - ] + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } }, + "autoload": { + "psr-4": { + "Zend\\Uri\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", + "keywords": [ + "ZendFramework", + "uri", + "zf" + ], + "time": "2019-02-27T21:39:04+00:00" }, { - "name": "magento/module-tax", - "version": "0.74.0-beta9", + "name": "zendframework/zend-validator", + "version": "2.11.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-validator.git", + "reference": "3c28dfe4e5951ba38059cea895244d9d206190b3" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-tax-0.74.0-beta9.zip", - "reference": null, - "shasum": "8be068d30674efe3bc2bfe1dba983d8b5d5e680d" + "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/3c28dfe4e5951ba38059cea895244d9d206190b3", + "reference": "3c28dfe4e5951ba38059cea895244d9d206190b3", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-reports": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "^1.1", + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7.6 || ^3.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^6.0.8 || ^5.7.15", + "psr/http-message": "^1.0", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-db": "^2.7", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-math": "^2.6", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.8", + "zendframework/zend-uri": "^2.5" + }, + "suggest": { + "psr/http-message": "psr/http-message, required when validating PSR-7 UploadedFileInterface instances via the Upload and UploadFile validators", + "zendframework/zend-db": "Zend\\Db component, required by the (No)RecordExists validator", + "zendframework/zend-filter": "Zend\\Filter component, required by the Digits validator", + "zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages", + "zendframework/zend-i18n-resources": "Translations of validator messages", + "zendframework/zend-math": "Zend\\Math component, required by the Csrf validator", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", + "zendframework/zend-session": "Zend\\Session component, ^2.8; required by the Csrf validator", + "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Tax" - ] - ] + "branch-alias": { + "dev-master": "2.11.x-dev", + "dev-develop": "2.12.x-dev" + }, + "zf": { + "component": "Zend\\Validator", + "config-provider": "Zend\\Validator\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Validator\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides a set of commonly needed validators", + "homepage": "https://github.com/zendframework/zend-validator", + "keywords": [ + "validator", + "zf2" + ], + "time": "2019-01-29T22:26:39+00:00" }, { - "name": "magento/module-tax-import-export", - "version": "0.74.0-beta9", + "name": "zendframework/zend-view", + "version": "2.10.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-view.git", + "reference": "c1a3f2043fb75b5983ab9adfc369ae396601be7e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-tax-import-export-0.74.0-beta9.zip", - "reference": null, - "shasum": "f2e9b0c55788af457a52ea579e2bb009f7f70ccd" + "url": "https://api.github.com/repos/zendframework/zend-view/zipball/c1a3f2043fb75b5983ab9adfc369ae396601be7e", + "reference": "c1a3f2043fb75b5983ab9adfc369ae396601be7e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.15 || ^6.0.8", + "zendframework/zend-authentication": "^2.5", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-console": "^2.6", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-feed": "^2.7", + "zendframework/zend-filter": "^2.6.1", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-log": "^2.7", + "zendframework/zend-modulemanager": "^2.7.1", + "zendframework/zend-mvc": "^2.7.14 || ^3.0", + "zendframework/zend-navigation": "^2.5", + "zendframework/zend-paginator": "^2.5", + "zendframework/zend-permissions-acl": "^2.6", + "zendframework/zend-router": "^3.0.1", + "zendframework/zend-serializer": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.8.1", + "zendframework/zend-uri": "^2.5" + }, + "suggest": { + "zendframework/zend-authentication": "Zend\\Authentication component", + "zendframework/zend-escaper": "Zend\\Escaper component", + "zendframework/zend-feed": "Zend\\Feed component", + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-i18n": "Zend\\I18n component", + "zendframework/zend-mvc": "Zend\\Mvc component", + "zendframework/zend-mvc-plugin-flashmessenger": "zend-mvc-plugin-flashmessenger component, if you want to use the FlashMessenger view helper with zend-mvc versions 3 and up", + "zendframework/zend-navigation": "Zend\\Navigation component", + "zendframework/zend-paginator": "Zend\\Paginator component", + "zendframework/zend-permissions-acl": "Zend\\Permissions\\Acl component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-uri": "Zend\\Uri component" + }, + "bin": [ + "bin/templatemap_generator.php" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/TaxImportExport" - ] - ] + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\View\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" - }, + "description": "provides a system of helpers, output filters, and variable escaping", + "homepage": "https://github.com/zendframework/zend-view", + "keywords": [ + "view", + "zf2" + ], + "time": "2018-12-06T21:20:01+00:00" + } + ], + "packages-dev": [ { - "name": "magento/module-theme", - "version": "0.74.0-beta9", + "name": "allure-framework/allure-codeception", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/allure-framework/allure-codeception.git", + "reference": "9d31d781b3622b028f1f6210bc76ba88438bd518" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-theme-0.74.0-beta9.zip", - "reference": null, - "shasum": "34fbc07ab9a15edac3b102a4ae6e04cbc16c4383" + "url": "https://api.github.com/repos/allure-framework/allure-codeception/zipball/9d31d781b3622b028f1f6210bc76ba88438bd518", + "reference": "9d31d781b3622b028f1f6210bc76ba88438bd518", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-cms": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-require-js": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-widget": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" - }, - "suggest": { - "magento/module-translation": "0.74.0-beta9" + "allure-framework/allure-php-api": "~1.1.0", + "codeception/codeception": "~2.1", + "php": ">=5.4.0", + "symfony/filesystem": ">=2.6", + "symfony/finder": ">=2.6" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Theme" - ] - ] + "type": "library", + "autoload": { + "psr-0": { + "Yandex": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache-2.0" ], - "description": "N/A" + "authors": [ + { + "name": "Ivan Krutov", + "email": "vania-pooh@yandex-team.ru", + "role": "Developer" + } + ], + "description": "A Codeception adapter for Allure report.", + "homepage": "http://allure.qatools.ru/", + "keywords": [ + "allure", + "attachments", + "cases", + "codeception", + "report", + "steps", + "testing" + ], + "time": "2018-12-18T19:47:23+00:00" }, { - "name": "magento/module-translation", - "version": "0.74.0-beta9", + "name": "allure-framework/allure-php-api", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/allure-framework/allure-php-adapter-api.git", + "reference": "a462a0da121681577033e13c123b6cc4e89cdc64" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-translation-0.74.0-beta9.zip", - "reference": null, - "shasum": "a7d61f2d4fc262495f4d577ead1d66e6caebe200" + "url": "https://api.github.com/repos/allure-framework/allure-php-adapter-api/zipball/a462a0da121681577033e13c123b6cc4e89cdc64", + "reference": "a462a0da121681577033e13c123b6cc4e89cdc64", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-developer": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "jms/serializer": ">=0.16.0", + "moontoast/math": ">=1.1.0", + "php": ">=5.4.0", + "phpunit/phpunit": ">=4.0.0", + "ramsey/uuid": ">=3.0.0", + "symfony/http-foundation": ">=2.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Translation" + "type": "library", + "autoload": { + "psr-0": { + "Yandex": [ + "src/", + "test/" ] - ] + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache-2.0" ], - "description": "N/A" + "authors": [ + { + "name": "Ivan Krutov", + "email": "vania-pooh@yandex-team.ru", + "role": "Developer" + } + ], + "description": "PHP API for Allure adapter", + "homepage": "http://allure.qatools.ru/", + "keywords": [ + "allure", + "api", + "php", + "report" + ], + "time": "2016-12-07T12:15:46+00:00" }, { - "name": "magento/module-ui", - "version": "0.74.0-beta9", + "name": "allure-framework/allure-phpunit", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/allure-framework/allure-phpunit.git", + "reference": "45504aeba41304cf155a898fa9ac1aae79f4a089" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-ui-0.74.0-beta9.zip", - "reference": null, - "shasum": "501305e3a3648d549c5bc91baca89395495b2a74" + "url": "https://api.github.com/repos/allure-framework/allure-phpunit/zipball/45504aeba41304cf155a898fa9ac1aae79f4a089", + "reference": "45504aeba41304cf155a898fa9ac1aae79f4a089", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "allure-framework/allure-php-api": "~1.1.0", + "mikey179/vfsstream": "1.*", + "php": ">=7.0.0", + "phpunit/phpunit": ">=6.0.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Ui" - ] - ] + "type": "library", + "autoload": { + "psr-0": { + "Yandex": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache-2.0" ], - "description": "N/A" + "authors": [ + { + "name": "Ivan Krutov", + "email": "vania-pooh@yandex-team.ru", + "role": "Developer" + } + ], + "description": "A PHPUnit adapter for Allure report.", + "homepage": "http://allure.qatools.ru/", + "keywords": [ + "allure", + "attachments", + "cases", + "phpunit", + "report", + "steps", + "testing" + ], + "time": "2017-11-03T13:08:21+00:00" }, { - "name": "magento/module-ups", - "version": "0.74.0-beta9", + "name": "behat/gherkin", + "version": "v4.6.0", + "source": { + "type": "git", + "url": "https://github.com/Behat/Gherkin.git", + "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-ups-0.74.0-beta9.zip", - "reference": null, - "shasum": "b818adcf10ebdc0586a81b7165a34af5b3860008" + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/ab0a02ea14893860bca00f225f5621d351a3ad07", + "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "~4.5|~5", + "symfony/phpunit-bridge": "~2.7|~3|~4", + "symfony/yaml": "~2.3|~3|~4" + }, + "suggest": { + "symfony/yaml": "If you want to parse features, represented in YAML files" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Ups" - ] - ] + "branch-alias": { + "dev-master": "4.4-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Gherkin": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Gherkin DSL parser for PHP 5.3", + "homepage": "http://behat.org/", + "keywords": [ + "BDD", + "Behat", + "Cucumber", + "DSL", + "gherkin", + "parser" + ], + "time": "2019-01-16T14:22:17+00:00" }, { - "name": "magento/module-url-rewrite", - "version": "0.74.0-beta9", + "name": "codeception/codeception", + "version": "2.4.5", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Codeception.git", + "reference": "5fee32d5c82791548931cbc34806b4de6aa1abfc" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-url-rewrite-0.74.0-beta9.zip", - "reference": null, - "shasum": "34d054a4ebd87ce92e1d1046d956862604f65b37" + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/5fee32d5c82791548931cbc34806b4de6aa1abfc", + "reference": "5fee32d5c82791548931cbc34806b4de6aa1abfc", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-url-rewrite": "0.74.0-beta9", - "magento/module-cms": "0.74.0-beta9", - "magento/module-cms-url-rewrite": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "behat/gherkin": "^4.4.0", + "codeception/phpunit-wrapper": "^6.0.9|^7.0.6", + "codeception/stub": "^2.0", + "ext-json": "*", + "ext-mbstring": "*", + "facebook/webdriver": ">=1.1.3 <2.0", + "guzzlehttp/guzzle": ">=4.1.4 <7.0", + "guzzlehttp/psr7": "~1.0", + "php": ">=5.6.0 <8.0", + "symfony/browser-kit": ">=2.7 <5.0", + "symfony/console": ">=2.7 <5.0", + "symfony/css-selector": ">=2.7 <5.0", + "symfony/dom-crawler": ">=2.7 <5.0", + "symfony/event-dispatcher": ">=2.7 <5.0", + "symfony/finder": ">=2.7 <5.0", + "symfony/yaml": ">=2.7 <5.0" }, - "type": "magento2-module", + "require-dev": { + "codeception/specify": "~0.3", + "facebook/graph-sdk": "~5.3", + "flow/jsonpath": "~0.2", + "monolog/monolog": "~1.8", + "pda/pheanstalk": "~3.0", + "php-amqplib/php-amqplib": "~2.4", + "predis/predis": "^1.0", + "squizlabs/php_codesniffer": "~2.0", + "symfony/process": ">=2.7 <5.0", + "vlucas/phpdotenv": "^2.4.0" + }, + "suggest": { + "aws/aws-sdk-php": "For using AWS Auth in REST module and Queue module", + "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests", + "codeception/specify": "BDD-style code blocks", + "codeception/verify": "BDD-style assertions", + "flow/jsonpath": "For using JSONPath in REST module", + "league/factory-muffin": "For DataFactory module", + "league/factory-muffin-faker": "For Faker support in DataFactory module", + "phpseclib/phpseclib": "for SFTP option in FTP Module", + "stecman/symfony-console-completion": "For BASH autocompletion", + "symfony/phpunit-bridge": "For phpunit-bridge support" + }, + "bin": [ + "codecept" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/UrlRewrite" - ] - ] + "branch-alias": [] + }, + "autoload": { + "psr-4": { + "Codeception\\": "src\\Codeception", + "Codeception\\Extension\\": "ext" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Michael Bodnarchuk", + "email": "davert@mail.ua", + "homepage": "http://codegyre.com" + } + ], + "description": "BDD-style testing framework", + "homepage": "http://codeception.com/", + "keywords": [ + "BDD", + "TDD", + "acceptance testing", + "functional testing", + "unit testing" + ], + "time": "2018-08-01T07:21:49+00:00" }, { - "name": "magento/module-user", - "version": "0.74.0-beta9", + "name": "codeception/phpunit-wrapper", + "version": "6.6.1", + "source": { + "type": "git", + "url": "https://github.com/Codeception/phpunit-wrapper.git", + "reference": "d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-user-0.74.0-beta9.zip", - "reference": null, - "shasum": "4d31751fe30d0f71eead11dc4a55d389c6093eda" + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c", + "reference": "d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta9", - "magento/module-backend": "0.74.0-beta9", - "magento/module-integration": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "phpunit/php-code-coverage": ">=4.0.4 <6.0", + "phpunit/phpunit": ">=6.5.13 <7.0", + "sebastian/comparator": ">=1.2.4 <3.0", + "sebastian/diff": ">=1.4 <4.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/User" - ] - ] + "replace": { + "codeception/phpunit-wrapper": "*" + }, + "require-dev": { + "codeception/specify": "*", + "vlucas/phpdotenv": "^3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\PHPUnit\\": "src\\" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Davert", + "email": "davert.php@resend.cc" + } + ], + "description": "PHPUnit classes used by Codeception", + "time": "2019-02-26T20:47:39+00:00" }, { - "name": "magento/module-usps", - "version": "0.74.0-beta9", + "name": "codeception/stub", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Stub.git", + "reference": "853657f988942f7afb69becf3fd0059f192c705a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-usps-0.74.0-beta9.zip", - "reference": null, - "shasum": "81d063228ed743310ee1c9bbdc62562ac2fc9241" + "url": "https://api.github.com/repos/Codeception/Stub/zipball/853657f988942f7afb69becf3fd0059f192c705a", + "reference": "853657f988942f7afb69becf3fd0059f192c705a", + "shasum": "" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Usps" - ] - ] + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", + "time": "2019-03-02T15:35:10+00:00" }, { - "name": "magento/module-variable", - "version": "0.74.0-beta9", + "name": "consolidation/annotated-command", + "version": "2.12.0", + "source": { + "type": "git", + "url": "https://github.com/consolidation/annotated-command.git", + "reference": "512a2e54c98f3af377589de76c43b24652bcb789" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-variable-0.74.0-beta9.zip", - "reference": null, - "shasum": "37a886883455a5321e5d28a5fc28248d56e32ee3" + "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/512a2e54c98f3af377589de76c43b24652bcb789", + "reference": "512a2e54c98f3af377589de76c43b24652bcb789", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-email": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.4.11|~5.5.0|~5.6.0" + "consolidation/output-formatters": "^3.4", + "php": ">=5.4.5", + "psr/log": "^1", + "symfony/console": "^2.8|^3|^4", + "symfony/event-dispatcher": "^2.5|^3|^4", + "symfony/finder": "^2.5|^3|^4" }, - "type": "magento2-module", + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^6", + "squizlabs/php_codesniffer": "^2.7" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Variable" - ] - ] + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + }, + "phpunit4": { + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\AnnotatedCommand\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Initialize Symfony Console commands from annotated command class methods.", + "time": "2019-03-08T16:55:03+00:00" }, { - "name": "magento/module-version", - "version": "0.74.0-beta9", + "name": "consolidation/config", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/config.git", + "reference": "cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-version-0.74.0-beta9.zip", - "reference": null, - "shasum": "7867b8eb39d12d99ed28373b30d0904e4cc115ca" + "url": "https://api.github.com/repos/consolidation/config/zipball/cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1", + "reference": "cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" + "dflydev/dot-access-data": "^1.1.0", + "grasmash/expander": "^1", + "php": ">=5.4.0" }, - "type": "magento2-module", + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^5", + "squizlabs/php_codesniffer": "2.*", + "symfony/console": "^2.5|^3|^4", + "symfony/yaml": "^2.8.11|^3|^4" + }, + "suggest": { + "symfony/yaml": "Required to use Consolidation\\Config\\Loader\\YamlConfigLoader" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Version" - ] - ] + "scenarios": { + "symfony4": { + "require-dev": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require-dev": { + "symfony/console": "^2.8", + "symfony/event-dispatcher": "^2.8", + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\Config\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } ], - "description": "N/A" + "description": "Provide configuration services for a commandline tool.", + "time": "2019-03-03T19:37:04+00:00" }, { - "name": "magento/module-webapi", - "version": "0.74.0-beta9", + "name": "consolidation/log", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/log.git", + "reference": "b2e887325ee90abc96b0a8b7b474cd9e7c896e3a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-webapi-0.74.0-beta9.zip", - "reference": null, - "shasum": "aa667d18e1f941bafa1067f077ff473bcd43ef0f" + "url": "https://api.github.com/repos/consolidation/log/zipball/b2e887325ee90abc96b0a8b7b474cd9e7c896e3a", + "reference": "b2e887325ee90abc96b0a8b7b474cd9e7c896e3a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta9", - "magento/module-backend": "0.74.0-beta9", - "magento/module-integration": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": ">=5.4.5", + "psr/log": "^1.0", + "symfony/console": "^2.8|^3|^4" }, - "suggest": { - "magento/module-user": "0.74.0-beta9" + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^6", + "squizlabs/php_codesniffer": "^2" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Webapi" - ] - ] + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + }, + "phpunit4": { + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\Log\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Improved Psr-3 / Psr\\Log logger based on Symfony Console components.", + "time": "2019-01-01T17:30:51+00:00" }, { - "name": "magento/module-weee", - "version": "0.74.0-beta9", + "name": "consolidation/output-formatters", + "version": "3.4.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/output-formatters.git", + "reference": "0881112642ad9059071f13f397f571035b527cb9" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-weee-0.74.0-beta9.zip", - "reference": null, - "shasum": "93cb501b913b88987b014815620f77c3d2c2ba34" + "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/0881112642ad9059071f13f397f571035b527cb9", + "reference": "0881112642ad9059071f13f397f571035b527cb9", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4.0", + "symfony/console": "^2.8|^3|^4", + "symfony/finder": "^2.5|^3|^4" }, - "type": "magento2-module", + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^5.7.27", + "squizlabs/php_codesniffer": "^2.7", + "symfony/var-dumper": "^2.8|^3|^4", + "victorjonsson/markdowndocs": "^1.3" + }, + "suggest": { + "symfony/var-dumper": "For using the var_dump formatter" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Weee" - ] - ] + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^6" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony3": { + "require": { + "symfony/console": "^3.4", + "symfony/finder": "^3.4", + "symfony/var-dumper": "^3.4" + }, + "config": { + "platform": { + "php": "5.6.32" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + } + }, + "branch-alias": { + "dev-master": "3.x-dev" + } }, + "autoload": { + "psr-4": { + "Consolidation\\OutputFormatters\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Format text by applying transformations provided by plug-in formatters.", + "time": "2019-03-14T03:45:44+00:00" }, { - "name": "magento/module-widget", - "version": "0.74.0-beta9", + "name": "consolidation/robo", + "version": "1.4.9", + "source": { + "type": "git", + "url": "https://github.com/consolidation/Robo.git", + "reference": "5c6b3840a45afda1cbffbb3bb1f94dd5f9f83345" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-widget-0.74.0-beta9.zip", - "reference": null, - "shasum": "15f9242331dc9ba7a212e0a5ad2a8feea4b6c947" + "url": "https://api.github.com/repos/consolidation/Robo/zipball/5c6b3840a45afda1cbffbb3bb1f94dd5f9f83345", + "reference": "5c6b3840a45afda1cbffbb3bb1f94dd5f9f83345", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-cms": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-variable": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "consolidation/annotated-command": "^2.10.2", + "consolidation/config": "^1.2", + "consolidation/log": "~1", + "consolidation/output-formatters": "^3.1.13", + "consolidation/self-update": "^1", + "grasmash/yaml-expander": "^1.3", + "league/container": "^2.2", + "php": ">=5.5.0", + "symfony/console": "^2.8|^3|^4", + "symfony/event-dispatcher": "^2.5|^3|^4", + "symfony/filesystem": "^2.5|^3|^4", + "symfony/finder": "^2.5|^3|^4", + "symfony/process": "^2.5|^3|^4" }, - "type": "magento2-module", + "replace": { + "codegyre/robo": "< 1.0" + }, + "require-dev": { + "codeception/aspect-mock": "^1|^2.1.1", + "codeception/base": "^2.3.7", + "codeception/verify": "^0.3.2", + "g1a/composer-test-scenarios": "^3", + "goaop/framework": "~2.1.2", + "goaop/parser-reflection": "^1.1.0", + "natxet/cssmin": "3.0.4", + "nikic/php-parser": "^3.1.5", + "patchwork/jsqueeze": "~2", + "pear/archive_tar": "^1.4.4", + "php-coveralls/php-coveralls": "^1", + "phpunit/php-code-coverage": "~2|~4", + "squizlabs/php_codesniffer": "^2.8" + }, + "suggest": { + "henrikbjorn/lurker": "For monitoring filesystem changes in taskWatch", + "natxet/CssMin": "For minifying CSS files in taskMinify", + "patchwork/jsqueeze": "For minifying JS files in taskMinify", + "pear/archive_tar": "Allows tar archives to be created and extracted in taskPack and taskExtract, respectively." + }, + "bin": [ + "robo" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Widget" - ] - ] + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "remove": [ + "goaop/framework" + ], + "config": { + "platform": { + "php": "5.5.9" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + } + }, + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Robo\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Davert", + "email": "davert.php@resend.cc" + } + ], + "description": "Modern task runner", + "time": "2019-03-19T18:07:19+00:00" }, { - "name": "magento/module-wishlist", - "version": "0.74.0-beta9", + "name": "consolidation/self-update", + "version": "1.1.5", + "source": { + "type": "git", + "url": "https://github.com/consolidation/self-update.git", + "reference": "a1c273b14ce334789825a09d06d4c87c0a02ad54" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-wishlist-0.74.0-beta9.zip", - "reference": null, - "shasum": "bd837563e9db26a98f853f8c812a033e3a522be9" + "url": "https://api.github.com/repos/consolidation/self-update/zipball/a1c273b14ce334789825a09d06d4c87c0a02ad54", + "reference": "a1c273b14ce334789825a09d06d4c87c0a02ad54", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-grouped-product": "0.74.0-beta9", - "magento/module-rss": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-ui": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" - }, - "suggest": { - "magento/module-bundle": "0.74.0-beta9", - "magento/module-configurable-product": "0.74.0-beta9", - "magento/module-cookie": "0.74.0-beta9", - "magento/module-downloadable": "0.74.0-beta9" + "php": ">=5.5.0", + "symfony/console": "^2.8|^3|^4", + "symfony/filesystem": "^2.5|^3|^4" }, - "type": "magento2-module", + "bin": [ + "scripts/release" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Wishlist" - ] - ] + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "SelfUpdate\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + }, + { + "name": "Alexander Menk", + "email": "menk@mestrona.net" + } + ], + "description": "Provides a self:update command for Symfony Console applications.", + "time": "2018-10-28T01:52:03+00:00" }, { - "name": "magento/product-community-edition", - "version": "0.74.0-beta9", + "name": "dflydev/dot-access-data", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_product-community-edition-0.74.0-beta9.zip", - "reference": null, - "shasum": "dcdb19ed1bd35078af02e032d57fa56f657e2de5" + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/3fbd874921ab2c041e899d044585a2ab9795df8a", + "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a", + "shasum": "" }, "require": { - "composer/composer": "1.0.0-alpha9", - "magento/framework": "0.74.0-beta9", - "magento/language-de_de": "0.74.0-beta9", - "magento/language-en_us": "0.74.0-beta9", - "magento/language-es_es": "0.74.0-beta9", - "magento/language-fr_fr": "0.74.0-beta9", - "magento/language-nl_nl": "0.74.0-beta9", - "magento/language-pt_br": "0.74.0-beta9", - "magento/language-zh_cn": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/magento2-base": "0.74.0-beta9", - "magento/module-admin-notification": "0.74.0-beta9", - "magento/module-authorization": "0.74.0-beta9", - "magento/module-backend": "0.74.0-beta9", - "magento/module-backup": "0.74.0-beta9", - "magento/module-bundle": "0.74.0-beta9", - "magento/module-cache-invalidate": "0.74.0-beta9", - "magento/module-captcha": "0.74.0-beta9", - "magento/module-catalog": "0.74.0-beta9", - "magento/module-catalog-import-export": "0.74.0-beta9", - "magento/module-catalog-inventory": "0.74.0-beta9", - "magento/module-catalog-rule": "0.74.0-beta9", - "magento/module-catalog-search": "0.74.0-beta9", - "magento/module-catalog-url-rewrite": "0.74.0-beta9", - "magento/module-catalog-widget": "0.74.0-beta9", - "magento/module-centinel": "0.74.0-beta9", - "magento/module-checkout": "0.74.0-beta9", - "magento/module-checkout-agreements": "0.74.0-beta9", - "magento/module-cms": "0.74.0-beta9", - "magento/module-cms-url-rewrite": "0.74.0-beta9", - "magento/module-config": "0.74.0-beta9", - "magento/module-configurable-import-export": "0.74.0-beta9", - "magento/module-configurable-product": "0.74.0-beta9", - "magento/module-contact": "0.74.0-beta9", - "magento/module-cookie": "0.74.0-beta9", - "magento/module-cron": "0.74.0-beta9", - "magento/module-currency-symbol": "0.74.0-beta9", - "magento/module-customer": "0.74.0-beta9", - "magento/module-customer-import-export": "0.74.0-beta9", - "magento/module-developer": "0.74.0-beta9", - "magento/module-dhl": "0.74.0-beta9", - "magento/module-directory": "0.74.0-beta9", - "magento/module-downloadable": "0.74.0-beta9", - "magento/module-eav": "0.74.0-beta9", - "magento/module-email": "0.74.0-beta9", - "magento/module-fedex": "0.74.0-beta9", - "magento/module-gift-message": "0.74.0-beta9", - "magento/module-google-adwords": "0.74.0-beta9", - "magento/module-google-analytics": "0.74.0-beta9", - "magento/module-google-optimizer": "0.74.0-beta9", - "magento/module-google-shopping": "0.74.0-beta9", - "magento/module-grouped-import-export": "0.74.0-beta9", - "magento/module-grouped-product": "0.74.0-beta9", - "magento/module-import-export": "0.74.0-beta9", - "magento/module-indexer": "0.74.0-beta9", - "magento/module-integration": "0.74.0-beta9", - "magento/module-layered-navigation": "0.74.0-beta9", - "magento/module-media-storage": "0.74.0-beta9", - "magento/module-msrp": "0.74.0-beta9", - "magento/module-multishipping": "0.74.0-beta9", - "magento/module-newsletter": "0.74.0-beta9", - "magento/module-offline-payments": "0.74.0-beta9", - "magento/module-offline-shipping": "0.74.0-beta9", - "magento/module-page-cache": "0.74.0-beta9", - "magento/module-payment": "0.74.0-beta9", - "magento/module-persistent": "0.74.0-beta9", - "magento/module-product-alert": "0.74.0-beta9", - "magento/module-quote": "0.74.0-beta9", - "magento/module-reports": "0.74.0-beta9", - "magento/module-require-js": "0.74.0-beta9", - "magento/module-review": "0.74.0-beta9", - "magento/module-rss": "0.74.0-beta9", - "magento/module-rule": "0.74.0-beta9", - "magento/module-sales": "0.74.0-beta9", - "magento/module-sales-rule": "0.74.0-beta9", - "magento/module-sales-sequence": "0.74.0-beta9", - "magento/module-search": "0.74.0-beta9", - "magento/module-sendfriend": "0.74.0-beta9", - "magento/module-shipping": "0.74.0-beta9", - "magento/module-sitemap": "0.74.0-beta9", - "magento/module-store": "0.74.0-beta9", - "magento/module-tax": "0.74.0-beta9", - "magento/module-tax-import-export": "0.74.0-beta9", - "magento/module-theme": "0.74.0-beta9", - "magento/module-translation": "0.74.0-beta9", - "magento/module-ui": "0.74.0-beta9", - "magento/module-ups": "0.74.0-beta9", - "magento/module-url-rewrite": "0.74.0-beta9", - "magento/module-user": "0.74.0-beta9", - "magento/module-usps": "0.74.0-beta9", - "magento/module-variable": "0.74.0-beta9", - "magento/module-version": "0.74.0-beta9", - "magento/module-webapi": "0.74.0-beta9", - "magento/module-weee": "0.74.0-beta9", - "magento/module-widget": "0.74.0-beta9", - "magento/module-wishlist": "0.74.0-beta9", - "magento/theme-adminhtml-backend": "0.74.0-beta9", - "magento/theme-frontend-blank": "0.74.0-beta9", - "magento/theme-frontend-luma": "0.74.0-beta9", - "magento/zendframework1": "1.12.10", - "monolog/monolog": "1.11.0", - "oyejorge/less.php": "1.7.0.3", - "php": "~5.5.0|~5.6.0|~7.0.0", - "symfony/console": "~2.3", - "tubalmartin/cssmin": "2.4.8-p4", - "zendframework/zend-code": "2.4.0", - "zendframework/zend-config": "2.4.0", - "zendframework/zend-console": "2.4.0", - "zendframework/zend-di": "2.4.0", - "zendframework/zend-eventmanager": "2.4.0", - "zendframework/zend-form": "2.4.0", - "zendframework/zend-http": "2.4.0", - "zendframework/zend-i18n": "2.4.0", - "zendframework/zend-json": "2.4.0", - "zendframework/zend-log": "2.4.0", - "zendframework/zend-modulemanager": "2.4.0", - "zendframework/zend-mvc": "2.4.0", - "zendframework/zend-serializer": "2.4.0", - "zendframework/zend-server": "2.4.0", - "zendframework/zend-servicemanager": "2.4.0", - "zendframework/zend-soap": "2.4.0", - "zendframework/zend-stdlib": "2.4.0", - "zendframework/zend-text": "2.4.0", - "zendframework/zend-uri": "2.4.0", - "zendframework/zend-validator": "2.4.0", - "zendframework/zend-view": "2.4.0" + "php": ">=5.3.2" }, - "type": "metapackage", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Dflydev\\DotAccessData": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "eCommerce Platform for Growth (Community Edition)" + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "time": "2017-01-20T21:14:22+00:00" }, { - "name": "magento/theme-adminhtml-backend", - "version": "0.74.0-beta9", + "name": "doctrine/annotations", + "version": "v1.6.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "53120e0eb10355388d6ccbe462f1fea34ddadb24" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_theme-adminhtml-backend-0.74.0-beta9.zip", - "reference": null, - "shasum": "180c47b61bd4711070cdc4156e652c0158fb85a6" + "url": "https://api.github.com/repos/doctrine/annotations/zipball/53120e0eb10355388d6ccbe462f1fea34ddadb24", + "reference": "53120e0eb10355388d6ccbe462f1fea34ddadb24", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" + "doctrine/lexer": "1.*", + "php": "^7.1" }, - "type": "magento2-theme", + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^6.4" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "adminhtml/Magento/backend" - ] - ] + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2019-03-25T19:12:02+00:00" }, { - "name": "magento/theme-frontend-blank", - "version": "0.74.0-beta9", + "name": "doctrine/collections", + "version": "v1.6.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "d2ae4ef05e25197343b6a39bae1d3c427a2f6956" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_theme-frontend-blank-0.74.0-beta9.zip", - "reference": null, - "shasum": "dc037fe5de13aff46169958e58c07993b623909a" + "url": "https://api.github.com/repos/doctrine/collections/zipball/d2ae4ef05e25197343b6a39bae1d3c427a2f6956", + "reference": "d2ae4ef05e25197343b6a39bae1d3c427a2f6956", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" + "php": "^7.1.3" }, - "type": "magento2-theme", + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan-shim": "^0.9.2", + "phpunit/phpunit": "^7.0", + "vimeo/psalm": "^3.2.2" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "frontend/Magento/blank" - ] - ] + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", + "homepage": "https://www.doctrine-project.org/projects/collections.html", + "keywords": [ + "array", + "collections", + "iterators", + "php" + ], + "time": "2019-03-25T19:03:48+00:00" }, { - "name": "magento/theme-frontend-luma", - "version": "0.74.0-beta9", + "name": "doctrine/instantiator", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "a2c590166b2133a4633738648b6b064edae0814a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_theme-frontend-luma-0.74.0-beta9.zip", - "reference": null, - "shasum": "11d0b3dd1f800ef730bf87c02a5e5031c8a8e214" + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", + "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta9", - "magento/magento-composer-installer": "*", - "magento/theme-frontend-blank": "0.74.0-beta9", - "php": "~5.5.0|~5.6.0" + "php": "^7.1" }, - "type": "magento2-theme", + "require-dev": { + "doctrine/coding-standard": "^6.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "frontend/Magento/luma" - ] - ] + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "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" + ], + "time": "2019-03-17T17:37:11+00:00" }, { - "name": "magento/zendframework1", - "version": "1.12.10", + "name": "doctrine/lexer", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/magento/zf1.git", - "reference": "d1e5cd8c9f83229bcdd9bb485c3ce25259c77884" + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento/zf1/zipball/d1e5cd8c9f83229bcdd9bb485c3ce25259c77884", - "reference": "d1e5cd8c9f83229bcdd9bb485c3ce25259c77884", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "shasum": "" }, "require": { - "php": ">=5.2.11" - }, - "require-dev": { - "phpunit/dbunit": "1.3.*", - "phpunit/phpunit": "3.7.*" + "php": ">=5.3.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-0": { - "Zend_": "library/" + "Doctrine\\Common\\Lexer\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "library/" - ], "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "Magento Zend Framework 1", - "homepage": "http://framework.zend.com/", + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "ZF1", - "framework" + "lexer", + "parser" ], - "time": "2015-02-06 17:25:45" + "time": "2014-09-09T13:34:57+00:00" }, { - "name": "monolog/monolog", - "version": "1.11.0", + "name": "epfremme/swagger-php", + "version": "v2.0.0", "source": { "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "ec3961874c43840e96da3a8a1ed20d8c73d7e5aa" + "url": "https://github.com/epfremmer/swagger-php.git", + "reference": "eee28a442b7e6220391ec953d3c9b936354f23bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/ec3961874c43840e96da3a8a1ed20d8c73d7e5aa", - "reference": "ec3961874c43840e96da3a8a1ed20d8c73d7e5aa", + "url": "https://api.github.com/repos/epfremmer/swagger-php/zipball/eee28a442b7e6220391ec953d3c9b936354f23bc", + "reference": "eee28a442b7e6220391ec953d3c9b936354f23bc", "shasum": "" }, "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" + "doctrine/annotations": "^1.2", + "doctrine/collections": "^1.3", + "jms/serializer": "^1.1", + "php": ">=5.5", + "phpoption/phpoption": "^1.1", + "symfony/yaml": "^2.7|^3.1" }, - "provide": { - "psr/log-implementation": "1.0.0" + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "~4.8|~5.0", + "satooshi/php-coveralls": "^1.0" + }, + "type": "package", + "autoload": { + "psr-4": { + "Epfremme\\Swagger\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Edward Pfremmer", + "email": "epfremme@nerdery.com" + } + ], + "description": "Library for parsing swagger documentation into PHP entities for use in testing and code generation", + "time": "2016-09-26T17:24:17+00:00" + }, + { + "name": "facebook/webdriver", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/facebook/php-webdriver.git", + "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bd8c740097eb9f2fc3735250fc1912bc811a954e", + "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-zip": "*", + "php": "^5.6 || ~7.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0" }, "require-dev": { - "aws/aws-sdk-php": "~2.4, >2.4.8", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "phpunit/phpunit": "~3.7.0", - "raven/raven": "~0.5", - "ruflin/elastica": "0.90.*", - "videlalvaro/php-amqplib": "~2.4" + "friendsofphp/php-cs-fixer": "^2.0", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "php-coveralls/php-coveralls": "^2.0", + "php-mock/php-mock-phpunit": "^1.1", + "phpunit/phpunit": "^5.7", + "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", + "squizlabs/php_codesniffer": "^2.6", + "symfony/var-dumper": "^3.3 || ^4.0" }, "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "raven/raven": "Allow sending log messages to a Sentry server", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib" + "ext-SimpleXML": "For Firefox profile creation" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11.x-dev" + "dev-community": "1.5-dev" } }, "autoload": { "psr-4": { - "Monolog\\": "src/Monolog" + "Facebook\\WebDriver\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } + "Apache-2.0" ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", + "description": "A PHP client for Selenium WebDriver", + "homepage": "https://github.com/facebook/php-webdriver", "keywords": [ - "log", - "logging", - "psr-3" + "facebook", + "php", + "selenium", + "webdriver" ], - "time": "2014-09-30 13:30:58" + "time": "2018-05-16T17:37:13+00:00" }, { - "name": "oyejorge/less.php", - "version": "v1.7.0.3", + "name": "flow/jsonpath", + "version": "0.4.0", "source": { "type": "git", - "url": "https://github.com/oyejorge/less.php.git", - "reference": "6e08ecb07e6f6d9170c23e8744c58fdd822ad0de" + "url": "https://github.com/FlowCommunications/JSONPath.git", + "reference": "f0222818d5c938e4ab668ab2e2c079bd51a27112" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/oyejorge/less.php/zipball/6e08ecb07e6f6d9170c23e8744c58fdd822ad0de", - "reference": "6e08ecb07e6f6d9170c23e8744c58fdd822ad0de", + "url": "https://api.github.com/repos/FlowCommunications/JSONPath/zipball/f0222818d5c938e4ab668ab2e2c079bd51a27112", + "reference": "f0222818d5c938e4ab668ab2e2c079bd51a27112", "shasum": "" }, "require": { - "php": ">=5.2" + "php": ">=5.4.0" + }, + "require-dev": { + "peekmo/jsonpath": "dev-master", + "phpunit/phpunit": "^4.0" }, - "bin": [ - "bin/lessc" - ], "type": "library", "autoload": { "psr-0": { - "Less": "lib/" - }, - "classmap": [ - "lessc.inc.php" - ] + "Flow\\JSONPath": "src/", + "Flow\\JSONPath\\Test": "tests/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "MIT" ], "authors": [ { - "name": "Matt Agar", - "homepage": "https://github.com/agar" - }, - { - "name": "Martin Jantošovič", - "homepage": "https://github.com/Mordred" - }, - { - "name": "Josh Schmidt", - "homepage": "https://github.com/oyejorge" + "name": "Stephen Frank", + "email": "stephen@flowsa.com" } ], - "description": "PHP port of the Javascript version of LESS http://lesscss.org", - "homepage": "http://lessphp.gpeasy.com", - "keywords": [ - "css", - "less", - "less.js", - "lesscss", - "php", - "stylesheet" - ], - "time": "2015-03-10 18:12:59" + "description": "JSONPath implementation for parsing, searching and flattening arrays", + "time": "2018-03-04T16:39:47+00:00" }, { - "name": "psr/log", - "version": "1.0.0", + "name": "friendsofphp/php-cs-fixer", + "version": "v2.13.3", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" + "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", + "reference": "38d6f2e9be2aa80bf3c7365612af7f9eb9078719" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/38d6f2e9be2aa80bf3c7365612af7f9eb9078719", + "reference": "38d6f2e9be2aa80bf3c7365612af7f9eb9078719", "shasum": "" }, - "type": "library", + "require": { + "composer/semver": "^1.4", + "composer/xdebug-handler": "^1.2", + "doctrine/annotations": "^1.2", + "ext-json": "*", + "ext-tokenizer": "*", + "php": "^5.6 || >=7.0 <7.3", + "php-cs-fixer/diff": "^1.3", + "symfony/console": "^3.4.17 || ^4.1.6", + "symfony/event-dispatcher": "^3.0 || ^4.0", + "symfony/filesystem": "^3.0 || ^4.0", + "symfony/finder": "^3.0 || ^4.0", + "symfony/options-resolver": "^3.0 || ^4.0", + "symfony/polyfill-php70": "^1.0", + "symfony/polyfill-php72": "^1.4", + "symfony/process": "^3.0 || ^4.0", + "symfony/stopwatch": "^3.0 || ^4.0" + }, + "conflict": { + "hhvm": "*" + }, + "require-dev": { + "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", + "justinrainbow/json-schema": "^5.0", + "keradus/cli-executor": "^1.2", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.1", + "php-cs-fixer/accessible-object": "^1.0", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.0.1", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.0.1", + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1", + "phpunitgoodpractices/traits": "^1.5.1", + "symfony/phpunit-bridge": "^4.0" + }, + "suggest": { + "ext-mbstring": "For handling non-UTF8 characters in cache signature.", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "For IsIdenticalString constraint.", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "For XmlMatchesXsd constraint.", + "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", "autoload": { - "psr-0": { - "Psr\\Log\\": "" - } + "psr-4": { + "PhpCsFixer\\": "src/" + }, + "classmap": [ + "tests/Test/AbstractFixerTestCase.php", + "tests/Test/AbstractIntegrationCaseFactory.php", + "tests/Test/AbstractIntegrationTestCase.php", + "tests/Test/Assert/AssertTokensTrait.php", + "tests/Test/IntegrationCase.php", + "tests/Test/IntegrationCaseFactory.php", + "tests/Test/IntegrationCaseFactoryInterface.php", + "tests/Test/InternalIntegrationCaseFactory.php", + "tests/TestCase.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4439,42 +15993,48 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" } ], - "description": "Common interface for logging libraries", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2012-12-21 11:40:51" + "description": "A tool to automatically fix PHP code style", + "time": "2019-01-04T18:24:28+00:00" }, { - "name": "seld/jsonlint", - "version": "1.3.1", + "name": "fzaninotto/faker", + "version": "v1.8.0", "source": { "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "863ae85c6d3ef60ca49cb12bd051c4a0648c40c4" + "url": "https://github.com/fzaninotto/Faker.git", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/863ae85c6d3ef60ca49cb12bd051c4a0648c40c4", - "reference": "863ae85c6d3ef60ca49cb12bd051c4a0648c40c4", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "squizlabs/php_codesniffer": "^1.5" }, - "bin": [ - "bin/jsonlint" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, "autoload": { "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" + "Faker\\": "src/Faker/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4483,58 +16043,50 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "François Zaninotto" } ], - "description": "JSON Linter", + "description": "Faker is a PHP library that generates fake data for you.", "keywords": [ - "json", - "linter", - "parser", - "validator" + "data", + "faker", + "fixtures" ], - "time": "2015-01-04 21:18:15" + "time": "2018-07-12T10:23:15+00:00" }, { - "name": "symfony/console", - "version": "v2.6.7", - "target-dir": "Symfony/Component/Console", + "name": "grasmash/expander", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "ebc5679854aa24ed7d65062e9e3ab0b18a917272" + "url": "https://github.com/grasmash/expander.git", + "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/ebc5679854aa24ed7d65062e9e3ab0b18a917272", - "reference": "ebc5679854aa24ed7d65062e9e3ab0b18a917272", + "url": "https://api.github.com/repos/grasmash/expander/zipball/95d6037344a4be1dd5f8e0b0b2571a28c397578f", + "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f", "shasum": "" }, "require": { - "php": ">=5.3.3" + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4" }, "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.1" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" + "greg-1-anderson/composer-test-scenarios": "^1", + "phpunit/phpunit": "^4|^5.5.4", + "satooshi/php-coveralls": "^1.0.2|dev-master", + "squizlabs/php_codesniffer": "^2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.x-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\Console\\": "" + "psr-4": { + "Grasmash\\Expander\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4543,98 +16095,90 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Matthew Grasmick" } ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2015-05-02 15:18:45" + "description": "Expands internal property references in PHP arrays file.", + "time": "2017-12-21T22:14:55+00:00" }, { - "name": "symfony/finder", - "version": "v2.6.7", - "target-dir": "Symfony/Component/Finder", + "name": "grasmash/yaml-expander", + "version": "1.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/Finder.git", - "reference": "704c64c8b12c8882640d5c0330a8414b1e06dc99" + "url": "https://github.com/grasmash/yaml-expander.git", + "reference": "3f0f6001ae707a24f4d9733958d77d92bf9693b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/704c64c8b12c8882640d5c0330a8414b1e06dc99", - "reference": "704c64c8b12c8882640d5c0330a8414b1e06dc99", + "url": "https://api.github.com/repos/grasmash/yaml-expander/zipball/3f0f6001ae707a24f4d9733958d77d92bf9693b1", + "reference": "3f0f6001ae707a24f4d9733958d77d92bf9693b1", "shasum": "" }, "require": { - "php": ">=5.3.3" + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4", + "symfony/yaml": "^2.8.11|^3|^4" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "greg-1-anderson/composer-test-scenarios": "^1", + "phpunit/phpunit": "^4.8|^5.5.4", + "satooshi/php-coveralls": "^1.0.2|dev-master", + "squizlabs/php_codesniffer": "^2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.x-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\Finder\\": "" + "psr-4": { + "Grasmash\\YamlExpander\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, + "MIT" + ], + "authors": [ { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Matthew Grasmick" } ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "time": "2015-05-02 15:18:45" + "description": "Expands internal property references in a yaml file.", + "time": "2017-12-16T16:06:03+00:00" }, { - "name": "symfony/process", - "version": "v2.6.7", - "target-dir": "Symfony/Component/Process", + "name": "jms/metadata", + "version": "1.7.0", "source": { "type": "git", - "url": "https://github.com/symfony/Process.git", - "reference": "9f3c4baaf840ed849e1b1f7bfd5ae246e8509562" + "url": "https://github.com/schmittjoh/metadata.git", + "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/9f3c4baaf840ed849e1b1f7bfd5ae246e8509562", - "reference": "9f3c4baaf840ed849e1b1f7bfd5ae246e8509562", + "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/e5854ab1aa643623dc64adde718a8eec32b957a8", + "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.0" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "doctrine/cache": "~1.0", + "symfony/cache": "~3.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.5.x-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\Process\\": "" + "Metadata\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4643,1528 +16187,1516 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2015-05-02 15:18:45" + "description": "Class/method/property metadata management in PHP", + "keywords": [ + "annotations", + "metadata", + "xml", + "yaml" + ], + "time": "2018-10-26T12:40:10+00:00" }, { - "name": "tubalmartin/cssmin", - "version": "v2.4.8-p4", + "name": "jms/parser-lib", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port.git", - "reference": "fe84d71e8420243544c0ce3bd0f5d7c1936b0f90" + "url": "https://github.com/schmittjoh/parser-lib.git", + "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tubalmartin/YUI-CSS-compressor-PHP-port/zipball/fe84d71e8420243544c0ce3bd0f5d7c1936b0f90", - "reference": "fe84d71e8420243544c0ce3bd0f5d7c1936b0f90", + "url": "https://api.github.com/repos/schmittjoh/parser-lib/zipball/c509473bc1b4866415627af0e1c6cc8ac97fa51d", + "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d", "shasum": "" }, "require": { - "php": ">=5.0.0" + "phpoption/phpoption": ">=0.9,<2.0-dev" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, "autoload": { - "classmap": [ - "cssmin.php" - ] + "psr-0": { + "JMS\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Túbal Martín", - "homepage": "http://tubalmartin.me/" - } - ], - "description": "A PHP port of the YUI CSS compressor", - "homepage": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port", - "keywords": [ - "compress", - "compressor", - "css", - "minify", - "yui" + "Apache2" ], - "time": "2014-09-22 08:08:50" + "description": "A library for easily creating recursive-descent parsers.", + "time": "2012-11-18T18:08:43+00:00" }, { - "name": "zendframework/zend-code", - "version": "2.4.0", + "name": "jms/serializer", + "version": "1.13.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-code.git", - "reference": "0ed94f842ba60cdc900c46a61bdbd7ac95a3e140" + "url": "https://github.com/schmittjoh/serializer.git", + "reference": "00863e1d55b411cc33ad3e1de09a4c8d3aae793c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-code/zipball/0ed94f842ba60cdc900c46a61bdbd7ac95a3e140", - "reference": "0ed94f842ba60cdc900c46a61bdbd7ac95a3e140", + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/00863e1d55b411cc33ad3e1de09a4c8d3aae793c", + "reference": "00863e1d55b411cc33ad3e1de09a4c8d3aae793c", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version" + "doctrine/annotations": "^1.0", + "doctrine/instantiator": "^1.0.3", + "jms/metadata": "^1.3", + "jms/parser-lib": "1.*", + "php": "^5.5|^7.0", + "phpcollection/phpcollection": "~0.1", + "phpoption/phpoption": "^1.1" }, "require-dev": { - "doctrine/common": ">=2.1", - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-stdlib": "self.version" + "doctrine/orm": "~2.1", + "doctrine/phpcr-odm": "^1.3|^2.0", + "ext-pdo_sqlite": "*", + "jackalope/jackalope-doctrine-dbal": "^1.1.5", + "phpunit/phpunit": "^4.8|^5.0", + "propel/propel1": "~1.7", + "psr/container": "^1.0", + "symfony/dependency-injection": "^2.7|^3.3|^4.0", + "symfony/expression-language": "^2.6|^3.0", + "symfony/filesystem": "^2.1", + "symfony/form": "~2.1|^3.0", + "symfony/translation": "^2.1|^3.0", + "symfony/validator": "^2.2|^3.0", + "symfony/yaml": "^2.1|^3.0" }, "suggest": { - "doctrine/common": "Doctrine\\Common >=2.1 for annotation features", - "zendframework/zend-stdlib": "Zend\\Stdlib component" + "doctrine/cache": "Required if you like to use cache functionality.", + "doctrine/collections": "Required if you like to use doctrine collection types as ArrayCollection.", + "symfony/yaml": "Required if you'd like to serialize data to YAML format." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-1.x": "1.13-dev" } }, "autoload": { - "psr-4": { - "Zend\\Code\\": "src/" + "psr-0": { + "JMS\\Serializer": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "provides facilities to generate arbitrary code using an object oriented interface", - "homepage": "https://github.com/zendframework/zend-code", + "authors": [ + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + }, + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.", + "homepage": "http://jmsyst.com/libs/serializer", "keywords": [ - "code", - "zf2" + "deserialization", + "jaxb", + "json", + "serialization", + "xml" ], - "time": "2015-03-31 15:39:14" + "time": "2018-07-25T13:58:54+00:00" }, { - "name": "zendframework/zend-config", - "version": "2.4.0", + "name": "league/container", + "version": "2.4.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-config.git", - "reference": "95f3a4b3fa85d49e6f060183122de4596fa6d29d" + "url": "https://github.com/thephpleague/container.git", + "reference": "43f35abd03a12977a60ffd7095efd6a7808488c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-config/zipball/95f3a4b3fa85d49e6f060183122de4596fa6d29d", - "reference": "95f3a4b3fa85d49e6f060183122de4596fa6d29d", + "url": "https://api.github.com/repos/thephpleague/container/zipball/43f35abd03a12977a60ffd7095efd6a7808488c0", + "reference": "43f35abd03a12977a60ffd7095efd6a7808488c0", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "container-interop/container-interop": "^1.2", + "php": "^5.4.0 || ^7.0" }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-filter": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-json": "self.version", - "zendframework/zend-servicemanager": "self.version" + "provide": { + "container-interop/container-interop-implementation": "^1.2", + "psr/container-implementation": "^1.0" }, - "suggest": { - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes", - "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances" + "replace": { + "orno/di": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-2.x": "2.x-dev", + "dev-1.x": "1.x-dev" } }, "autoload": { "psr-4": { - "Zend\\Config\\": "src/" + "League\\Container\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "provides a nested object property based user interface for accessing this configuration data within application code", - "homepage": "https://github.com/zendframework/zend-config", + "authors": [ + { + "name": "Phil Bennett", + "email": "philipobenito@gmail.com", + "homepage": "http://www.philipobenito.com", + "role": "Developer" + } + ], + "description": "A fast and intuitive dependency injection container.", + "homepage": "https://github.com/thephpleague/container", "keywords": [ - "config", - "zf2" + "container", + "dependency", + "di", + "injection", + "league", + "provider", + "service" ], - "time": "2015-03-25 20:55:48" + "time": "2017-05-10T09:20:27+00:00" }, { - "name": "zendframework/zend-console", - "version": "2.4.0", + "name": "lusitanian/oauth", + "version": "v0.8.11", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-console.git", - "reference": "54823d9ba6f8ce39046384ee5a043b5b3d5f56d7" + "url": "https://github.com/Lusitanian/PHPoAuthLib.git", + "reference": "fc11a53db4b66da555a6a11fce294f574a8374f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-console/zipball/54823d9ba6f8ce39046384ee5a043b5b3d5f56d7", - "reference": "54823d9ba6f8ce39046384ee5a043b5b3d5f56d7", + "url": "https://api.github.com/repos/Lusitanian/PHPoAuthLib/zipball/fc11a53db4b66da555a6a11fce294f574a8374f9", + "reference": "fc11a53db4b66da555a6a11fce294f574a8374f9", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": ">=5.3.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "phpunit/phpunit": "3.7.*", + "predis/predis": "0.8.*@dev", + "squizlabs/php_codesniffer": "2.*", + "symfony/http-foundation": "~2.1" }, "suggest": { - "zendframework/zend-filter": "To support DefaultRouteMatcher usage", - "zendframework/zend-validator": "To support DefaultRouteMatcher usage" + "ext-openssl": "Allows for usage of secure connections with the stream-based HTTP client.", + "predis/predis": "Allows using the Redis storage backend.", + "symfony/http-foundation": "Allows using the Symfony Session storage backend." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "0.1-dev" } }, "autoload": { - "psr-4": { - "Zend\\Console\\": "src/" + "psr-0": { + "OAuth": "src", + "OAuth\\Unit": "tests" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" + ], + "authors": [ + { + "name": "David Desberg", + "email": "david@daviddesberg.com" + }, + { + "name": "Elliot Chance", + "email": "elliotchance@gmail.com" + }, + { + "name": "Pieter Hordijk", + "email": "info@pieterhordijk.com" + } ], - "homepage": "https://github.com/zendframework/zend-console", + "description": "PHP 5.3+ oAuth 1/2 Library", "keywords": [ - "console", - "zf2" + "Authentication", + "authorization", + "oauth", + "security" ], - "time": "2015-03-25 20:55:48" + "time": "2018-02-14T22:37:14+00:00" }, { - "name": "zendframework/zend-di", - "version": "2.4.0", + "name": "magento/magento2-functional-testing-framework", + "version": "2.3.14", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-di.git", - "reference": "b9f8de081adecf71a003a569e9ba76c0a4c00bf2" + "url": "https://github.com/magento/magento2-functional-testing-framework.git", + "reference": "b4002b3fe53884895921b44cf519d42918e3c7c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-di/zipball/b9f8de081adecf71a003a569e9ba76c0a4c00bf2", - "reference": "b9f8de081adecf71a003a569e9ba76c0a4c00bf2", + "url": "https://api.github.com/repos/magento/magento2-functional-testing-framework/zipball/b4002b3fe53884895921b44cf519d42918e3c7c6", + "reference": "b4002b3fe53884895921b44cf519d42918e3c7c6", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-code": "self.version", - "zendframework/zend-stdlib": "self.version" + "allure-framework/allure-codeception": "~1.3.0", + "codeception/codeception": "~2.3.4 || ~2.4.0 ", + "consolidation/robo": "^1.0.0", + "epfremme/swagger-php": "^2.0", + "ext-curl": "*", + "flow/jsonpath": ">0.2", + "fzaninotto/faker": "^1.6", + "monolog/monolog": "^1.0", + "mustache/mustache": "~2.5", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0|~7.2.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0", + "vlucas/phpdotenv": "^2.4" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + "brainmaestro/composer-git-hooks": "^2.3", + "codacy/coverage": "^1.4", + "codeception/aspect-mock": "^3.0", + "doctrine/cache": "<1.7.0", + "goaop/framework": "2.2.0", + "php-coveralls/php-coveralls": "^1.0", + "phpmd/phpmd": "^2.6.0", + "phpunit/phpunit": "~6.5.0 || ~7.0.0", + "rregeer/phpunit-coverage-check": "^0.1.4", + "sebastian/phpcpd": "~3.0 || ~4.0", + "squizlabs/php_codesniffer": "~3.2", + "symfony/stopwatch": "~3.4.6" }, + "bin": [ + "bin/mftf" + ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "hooks": { + "pre-push": "bin/all-checks" } }, "autoload": { + "files": [ + "src/Magento/FunctionalTestingFramework/_bootstrap.php" + ], "psr-4": { - "Zend\\Di\\": "src/" + "Magento\\FunctionalTestingFramework\\": "src/Magento/FunctionalTestingFramework", + "MFTF\\": "dev/tests/functional/MFTF" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "AGPL-3.0" ], - "homepage": "https://github.com/zendframework/zend-di", + "description": "Magento2 Functional Testing Framework", "keywords": [ - "di", - "zf2" + "automation", + "functional", + "magento", + "testing" ], - "time": "2015-03-25 20:55:48" + "time": "2019-02-19T16:03:22+00:00" }, { - "name": "zendframework/zend-escaper", - "version": "2.4.0", + "name": "mikey179/vfsStream", + "version": "v1.6.6", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-escaper.git", - "reference": "15e5769e4fcdb4bf07ebd76500810e7070e23a97" + "url": "https://github.com/bovigo/vfsStream.git", + "reference": "095238a0711c974ae5b4ebf4c4534a23f3f6c99d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/15e5769e4fcdb4bf07ebd76500810e7070e23a97", - "reference": "15e5769e4fcdb4bf07ebd76500810e7070e23a97", + "url": "https://api.github.com/repos/bovigo/vfsStream/zipball/095238a0711c974ae5b4ebf4c4534a23f3f6c99d", + "reference": "095238a0711c974ae5b4ebf4c4534a23f3f6c99d", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": ">=5.3.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "phpunit/phpunit": "~4.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.6.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Escaper\\": "src/" + "psr-0": { + "org\\bovigo\\vfs\\": "src/main/php" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-escaper", - "keywords": [ - "escaper", - "zf2" + "authors": [ + { + "name": "Frank Kleine", + "homepage": "http://frankkleine.de/", + "role": "Developer" + } ], - "time": "2015-03-23 18:29:14" + "description": "Virtual file system to mock the real file system in unit tests.", + "homepage": "http://vfs.bovigo.org/", + "time": "2019-04-08T13:54:32+00:00" }, { - "name": "zendframework/zend-eventmanager", - "version": "2.4.0", + "name": "moontoast/math", + "version": "1.1.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-eventmanager.git", - "reference": "58d21c95c7005a527262fd536499195f104e83f9" + "url": "https://github.com/ramsey/moontoast-math.git", + "reference": "c2792a25df5cad4ff3d760dd37078fc5b6fccc79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/58d21c95c7005a527262fd536499195f104e83f9", - "reference": "58d21c95c7005a527262fd536499195f104e83f9", + "url": "https://api.github.com/repos/ramsey/moontoast-math/zipball/c2792a25df5cad4ff3d760dd37078fc5b6fccc79", + "reference": "c2792a25df5cad4ff3d760dd37078fc5b6fccc79", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "ext-bcmath": "*", + "php": ">=5.3.3" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "jakub-onderka/php-parallel-lint": "^0.9.0", + "phpunit/phpunit": "^4.7|>=5.0 <5.4", + "satooshi/php-coveralls": "^0.6.1", + "squizlabs/php_codesniffer": "^2.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { "psr-4": { - "Zend\\EventManager\\": "src/" + "Moontoast\\Math\\": "src/Moontoast/Math/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "Apache-2.0" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } ], - "homepage": "https://github.com/zendframework/zend-event-manager", + "description": "A mathematics library, providing functionality for large numbers", + "homepage": "https://github.com/ramsey/moontoast-math", "keywords": [ - "eventmanager", - "zf2" + "bcmath", + "math" ], - "time": "2015-03-23 18:29:14" + "time": "2017-02-16T16:54:46+00:00" }, { - "name": "zendframework/zend-filter", - "version": "2.4.0", + "name": "mustache/mustache", + "version": "v2.12.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-filter.git", - "reference": "6d8aed2da81b62a04747346c4370562cdbe34595" + "url": "https://github.com/bobthecow/mustache.php.git", + "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/6d8aed2da81b62a04747346c4370562cdbe34595", - "reference": "6d8aed2da81b62a04747346c4370562cdbe34595", + "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/fe8fe72e9d580591854de404cc59a1b83ca4d19e", + "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": ">=5.2.4" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-crypt": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-uri": "self.version" - }, - "suggest": { - "zendframework/zend-crypt": "Zend\\Crypt component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-uri": "Zend\\Uri component for UriNormalize filter" + "friendsofphp/php-cs-fixer": "~1.11", + "phpunit/phpunit": "~3.7|~4.0|~5.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\Filter\\": "src/" + "psr-0": { + "Mustache": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "provides a set of commonly needed data filters", - "homepage": "https://github.com/zendframework/zend-filter", + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "A Mustache implementation in PHP.", + "homepage": "https://github.com/bobthecow/mustache.php", "keywords": [ - "filter", - "zf2" + "mustache", + "templating" ], - "time": "2015-03-25 20:55:48" + "time": "2017-07-11T12:54:05+00:00" }, { - "name": "zendframework/zend-form", - "version": "2.4.0", + "name": "myclabs/deep-copy", + "version": "1.9.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-form.git", - "reference": "bca0db55718355d25c2c10fdd41a83561f1c94b3" + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-form/zipball/bca0db55718355d25c2c10fdd41a83561f1c94b3", - "reference": "bca0db55718355d25c2c10fdd41a83561f1c94b3", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", + "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-inputfilter": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-captcha": "self.version", - "zendframework/zend-code": "self.version", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-validator": "self.version", - "zendframework/zend-view": "self.version", - "zendframework/zendservice-recaptcha": "*" - }, - "suggest": { - "zendframework/zend-captcha": "Zend\\Captcha component", - "zendframework/zend-code": "Zend\\Code component", - "zendframework/zend-eventmanager": "Zend\\EventManager component", - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-validator": "Zend\\Validator component", - "zendframework/zend-view": "Zend\\View component", - "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component" + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { "psr-4": { - "Zend\\Form\\": "src/" - } + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-form", + "description": "Create deep copies (clones) of your objects", "keywords": [ - "form", - "zf2" + "clone", + "copy", + "duplicate", + "object", + "object graph" ], - "time": "2015-03-28 20:29:18" + "time": "2019-04-07T13:18:21+00:00" }, { - "name": "zendframework/zend-http", - "version": "2.4.0", + "name": "pdepend/pdepend", + "version": "2.5.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-http.git", - "reference": "9c6047a0bdb3094d3ea07a215ff929cc47de4deb" + "url": "https://github.com/pdepend/pdepend.git", + "reference": "9daf26d0368d4a12bed1cacae1a9f3a6f0adf239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-http/zipball/9c6047a0bdb3094d3ea07a215ff929cc47de4deb", - "reference": "9c6047a0bdb3094d3ea07a215ff929cc47de4deb", + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/9daf26d0368d4a12bed1cacae1a9f3a6f0adf239", + "reference": "9daf26d0368d4a12bed1cacae1a9f3a6f0adf239", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-loader": "self.version", - "zendframework/zend-stdlib": "self.version", - "zendframework/zend-uri": "self.version", - "zendframework/zend-validator": "self.version" + "php": ">=5.3.7", + "symfony/config": "^2.3.0|^3|^4", + "symfony/dependency-injection": "^2.3.0|^3|^4", + "symfony/filesystem": "^2.3.0|^3|^4" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "phpunit/phpunit": "^4.8|^5.7", + "squizlabs/php_codesniffer": "^2.0.0" }, + "bin": [ + "src/bin/pdepend" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { "psr-4": { - "Zend\\Http\\": "src/" + "PDepend\\": "src/main/php/PDepend" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", - "homepage": "https://github.com/zendframework/zend-http", - "keywords": [ - "http", - "zf2" - ], - "time": "2015-03-27 15:46:30" + "description": "Official version of pdepend to be handled with Composer", + "time": "2017-12-13T13:21:38+00:00" }, { - "name": "zendframework/zend-i18n", - "version": "2.4.0", + "name": "phar-io/manifest", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-i18n.git", - "reference": "9aebc5287373a802540d75fe5508417f866c2e52" + "url": "https://github.com/phar-io/manifest.git", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/9aebc5287373a802540d75fe5508417f866c2e52", - "reference": "9aebc5287373a802540d75fe5508417f866c2e52", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-cache": "self.version", - "zendframework/zend-config": "self.version", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-validator": "self.version", - "zendframework/zend-view": "self.version" - }, - "suggest": { - "ext-intl": "Required for most features of Zend\\I18n; included in default builds of PHP", - "zendframework/zend-cache": "Zend\\Cache component", - "zendframework/zend-config": "Zend\\Config component", - "zendframework/zend-eventmanager": "You should install this package to use the events in the translator", - "zendframework/zend-filter": "You should install this package to use the provided filters", - "zendframework/zend-resources": "Translation resources", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-validator": "You should install this package to use the provided validators", - "zendframework/zend-view": "You should install this package to use the provided view helpers" + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^1.0.1", + "php": "^5.6 || ^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\I18n\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-i18n", - "keywords": [ - "i18n", - "zf2" + "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" + } ], - "time": "2015-03-25 20:55:48" + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2017-03-05T18:14:27+00:00" }, { - "name": "zendframework/zend-inputfilter", - "version": "2.4.0", + "name": "phar-io/version", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-inputfilter.git", - "reference": "4b1398f3635fae3cc5e873c5bb067274f3d10a93" + "url": "https://github.com/phar-io/version.git", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-inputfilter/zipball/4b1398f3635fae3cc5e873c5bb067274f3d10a93", - "reference": "4b1398f3635fae3cc5e873c5bb067274f3d10a93", + "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-filter": "self.version", - "zendframework/zend-stdlib": "self.version", - "zendframework/zend-validator": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-servicemanager": "To support plugin manager support" + "php": "^5.6 || ^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\InputFilter\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-input-filter", - "keywords": [ - "inputfilter", - "zf2" + "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" + } ], - "time": "2015-03-23 18:29:14" + "description": "Library for handling version information and constraints", + "time": "2017-03-05T17:38:23+00:00" }, { - "name": "zendframework/zend-json", - "version": "2.4.0", + "name": "php-cs-fixer/diff", + "version": "v1.3.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-json.git", - "reference": "2d845e151c1b9a237cf1899ac31e17fb10bd1e3f" + "url": "https://github.com/PHP-CS-Fixer/diff.git", + "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-json/zipball/2d845e151c1b9a237cf1899ac31e17fb10bd1e3f", - "reference": "2d845e151c1b9a237cf1899ac31e17fb10bd1e3f", + "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/78bb099e9c16361126c86ce82ec4405ebab8e756", + "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": "^5.6 || ^7.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-http": "self.version", - "zendframework/zend-server": "self.version" - }, - "suggest": { - "zendframework/zend-http": "Zend\\Http component", - "zendframework/zend-server": "Zend\\Server component", - "zendframework/zendxml": "To support Zend\\Json\\Json::fromXml() usage" + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "symfony/process": "^3.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\Json\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP", - "homepage": "https://github.com/zendframework/zend-json", + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "SpacePossum" + } + ], + "description": "sebastian/diff v2 backport support for PHP5.6", + "homepage": "https://github.com/PHP-CS-Fixer", "keywords": [ - "json", - "zf2" + "diff" ], - "time": "2015-03-25 20:55:48" + "time": "2018-02-15T16:58:55+00:00" }, { - "name": "zendframework/zend-loader", - "version": "2.4.0", + "name": "phpcollection/phpcollection", + "version": "0.5.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-loader.git", - "reference": "65de2c7a56f8eee633c6bf1cfab73e45648880d4" + "url": "https://github.com/schmittjoh/php-collection.git", + "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/65de2c7a56f8eee633c6bf1cfab73e45648880d4", - "reference": "65de2c7a56f8eee633c6bf1cfab73e45648880d4", + "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", + "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", "shasum": "" }, "require": { - "php": ">=5.3.23" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "phpoption/phpoption": "1.*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "0.4-dev" } }, "autoload": { - "psr-4": { - "Zend\\Loader\\": "src/" + "psr-0": { + "PhpCollection": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } ], - "homepage": "https://github.com/zendframework/zend-loader", + "description": "General-Purpose Collection Library for PHP", "keywords": [ - "loader", - "zf2" + "collection", + "list", + "map", + "sequence", + "set" ], - "time": "2015-03-23 18:29:14" + "time": "2015-05-17T12:39:23+00:00" }, { - "name": "zendframework/zend-log", - "version": "2.4.0", + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-log.git", - "reference": "002e3c810cad7e31e51c9895e9e3cb6fbd312cdd" + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-log/zipball/002e3c810cad7e31e51c9895e9e3cb6fbd312cdd", - "reference": "002e3c810cad7e31e51c9895e9e3cb6fbd312cdd", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": ">=5.5" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-console": "self.version", - "zendframework/zend-db": "self.version", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-mail": "self.version", - "zendframework/zend-validator": "self.version" - }, - "suggest": { - "ext-mongo": "*", - "zendframework/zend-console": "Zend\\Console component", - "zendframework/zend-db": "Zend\\Db component", - "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML formatter", - "zendframework/zend-mail": "Zend\\Mail component", - "zendframework/zend-validator": "Zend\\Validator component" + "phpunit/phpunit": "^4.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Zend\\Log\\": "src/" + "phpDocumentor\\Reflection\\": [ + "src" + ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "component for general purpose logging", - "homepage": "https://github.com/zendframework/zend-log", + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", "keywords": [ - "log", - "logging", - "zf2" + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" ], - "time": "2015-03-25 20:55:48" + "time": "2017-09-11T18:02:19+00:00" }, { - "name": "zendframework/zend-math", - "version": "2.4.0", + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-math.git", - "reference": "f41fe4acfd809c14f2a802d1aa45dec8fcd2cc73" + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-math/zipball/f41fe4acfd809c14f2a802d1aa45dec8fcd2cc73", - "reference": "f41fe4acfd809c14f2a802d1aa45dec8fcd2cc73", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" - }, - "suggest": { - "ext-bcmath": "If using the bcmath functionality", - "ext-gmp": "If using the gmp functionality", - "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable", - "zendframework/zend-servicemanager": ">= current version, if using the BigInteger::factory functionality" + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "4.x-dev" } }, "autoload": { "psr-4": { - "Zend\\Math\\": "src/" + "phpDocumentor\\Reflection\\": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-math", - "keywords": [ - "math", - "zf2" + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } ], - "time": "2015-03-23 18:29:14" + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-30T07:14:17+00:00" }, { - "name": "zendframework/zend-modulemanager", - "version": "2.4.0", + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-modulemanager.git", - "reference": "af7ae3cd29a1efb73cc66ae1081e606039d5c20f" + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/af7ae3cd29a1efb73cc66ae1081e606039d5c20f", - "reference": "af7ae3cd29a1efb73cc66ae1081e606039d5c20f", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-config": "self.version", - "zendframework/zend-console": "self.version", - "zendframework/zend-loader": "self.version", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-config": "Zend\\Config component", - "zendframework/zend-console": "Zend\\Console component", - "zendframework/zend-loader": "Zend\\Loader component", - "zendframework/zend-mvc": "Zend\\Mvc component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Zend\\ModuleManager\\": "src/" + "phpDocumentor\\Reflection\\": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-module-manager", - "keywords": [ - "modulemanager", - "zf2" + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } ], - "time": "2015-03-23 18:29:14" + "time": "2017-07-14T14:27:02+00:00" }, { - "name": "zendframework/zend-mvc", - "version": "2.4.0", + "name": "phpmd/phpmd", + "version": "2.6.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-mvc.git", - "reference": "0b4a4a829b30be510a3f215c4ff00c703ee8b431" + "url": "https://github.com/phpmd/phpmd.git", + "reference": "4e9924b2c157a3eb64395460fcf56b31badc8374" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-mvc/zipball/0b4a4a829b30be510a3f215c4ff00c703ee8b431", - "reference": "0b4a4a829b30be510a3f215c4ff00c703ee8b431", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/4e9924b2c157a3eb64395460fcf56b31badc8374", + "reference": "4e9924b2c157a3eb64395460fcf56b31badc8374", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-form": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "ext-xml": "*", + "pdepend/pdepend": "^2.5", + "php": ">=5.3.9" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-authentication": "self.version", - "zendframework/zend-console": "self.version", - "zendframework/zend-di": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-http": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-inputfilter": "self.version", - "zendframework/zend-json": "self.version", - "zendframework/zend-log": "self.version", - "zendframework/zend-modulemanager": "self.version", - "zendframework/zend-serializer": "self.version", - "zendframework/zend-session": "self.version", - "zendframework/zend-text": "self.version", - "zendframework/zend-uri": "self.version", - "zendframework/zend-validator": "self.version", - "zendframework/zend-version": "self.version", - "zendframework/zend-view": "self.version" - }, - "suggest": { - "zendframework/zend-authentication": "Zend\\Authentication component for Identity plugin", - "zendframework/zend-config": "Zend\\Config component", - "zendframework/zend-console": "Zend\\Console component", - "zendframework/zend-di": "Zend\\Di component", - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-http": "Zend\\Http component", - "zendframework/zend-i18n": "Zend\\I18n component for translatable segments", - "zendframework/zend-inputfilter": "Zend\\Inputfilter component", - "zendframework/zend-json": "Zend\\Json component", - "zendframework/zend-log": "Zend\\Log component", - "zendframework/zend-modulemanager": "Zend\\ModuleManager component", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-session": "Zend\\Session component for FlashMessenger, PRG, and FPRG plugins", - "zendframework/zend-stdlib": "Zend\\Stdlib component", - "zendframework/zend-text": "Zend\\Text component", - "zendframework/zend-uri": "Zend\\Uri component", - "zendframework/zend-validator": "Zend\\Validator component", - "zendframework/zend-version": "Zend\\Version component", - "zendframework/zend-view": "Zend\\View component" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } + "phpunit/phpunit": "^4.0", + "squizlabs/php_codesniffer": "^2.0" }, + "bin": [ + "src/bin/phpmd" + ], + "type": "project", "autoload": { - "psr-4": { - "Zend\\Mvc\\": "src/" + "psr-0": { + "PHPMD\\": "src/main/php" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-mvc", + "authors": [ + { + "name": "Manuel Pichler", + "email": "github@manuel-pichler.de", + "homepage": "https://github.com/manuelpichler", + "role": "Project Founder" + }, + { + "name": "Other contributors", + "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", + "role": "Contributors" + }, + { + "name": "Marc Würth", + "email": "ravage@bluewin.ch", + "homepage": "https://github.com/ravage84", + "role": "Project Maintainer" + } + ], + "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", + "homepage": "http://phpmd.org/", "keywords": [ - "mvc", - "zf2" + "mess detection", + "mess detector", + "pdepend", + "phpmd", + "pmd" ], - "time": "2015-03-26 18:55:14" + "time": "2017-01-20T14:41:10+00:00" }, { - "name": "zendframework/zend-serializer", - "version": "2.4.0", + "name": "phpoption/phpoption", + "version": "1.5.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-serializer.git", - "reference": "3c531789a9882a5deb721356a7bd2642b65d4b09" + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/3c531789a9882a5deb721356a7bd2642b65d4b09", - "reference": "3c531789a9882a5deb721356a7bd2642b65d4b09", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/94e644f7d2051a5f0fcf77d81605f152eecff0ed", + "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-json": "self.version", - "zendframework/zend-math": "self.version", - "zendframework/zend-stdlib": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-servicemanager": "self.version" + "php": ">=5.3.0" }, - "suggest": { - "zendframework/zend-servicemanager": "To support plugin manager support" + "require-dev": { + "phpunit/phpunit": "4.7.*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.3-dev" } }, "autoload": { - "psr-4": { - "Zend\\Serializer\\": "src/" + "psr-0": { + "PhpOption\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "Apache2" ], - "description": "provides an adapter based interface to simply generate storable representation of PHP types by different facilities, and recover", - "homepage": "https://github.com/zendframework/zend-serializer", + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Option Type for PHP", "keywords": [ - "serializer", - "zf2" + "language", + "option", + "php", + "type" ], - "time": "2015-03-25 20:55:48" + "time": "2015-07-25T16:39:46+00:00" }, { - "name": "zendframework/zend-server", - "version": "2.4.0", + "name": "phpspec/prophecy", + "version": "1.8.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-server.git", - "reference": "d11ff0bd529d202022823d4accf5983cbd50fc49" + "url": "https://github.com/phpspec/prophecy.git", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-server/zipball/d11ff0bd529d202022823d4accf5983cbd50fc49", - "reference": "d11ff0bd529d202022823d4accf5983cbd50fc49", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-code": "self.version", - "zendframework/zend-stdlib": "self.version" + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0|^3.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.8.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Server\\": "src/" + "psr-0": { + "Prophecy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-server", + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", "keywords": [ - "server", - "zf2" + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" ], - "time": "2015-03-25 20:55:48" + "time": "2018-08-05T17:53:17+00:00" }, { - "name": "zendframework/zend-servicemanager", - "version": "2.4.0", + "name": "phpunit/php-code-coverage", + "version": "5.3.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-servicemanager.git", - "reference": "57cf99fa5ac08c05a135a8d0d676c52a5e450083" + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/57cf99fa5ac08c05a135a8d0d676c52a5e450083", - "reference": "57cf99fa5ac08c05a135a8d0d676c52a5e450083", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac", "shasum": "" }, "require": { - "php": ">=5.3.23" + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^7.0", + "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^2.0.1", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.0", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-di": "self.version" + "phpunit/phpunit": "^6.0" }, "suggest": { - "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services", - "zendframework/zend-di": "Zend\\Di component" + "ext-xdebug": "^2.5.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "5.3.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\ServiceManager\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-service-manager", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", "keywords": [ - "servicemanager", - "zf2" + "coverage", + "testing", + "xunit" ], - "time": "2015-03-23 18:29:14" + "time": "2018-04-06T15:36:58+00:00" }, { - "name": "zendframework/zend-soap", - "version": "2.4.0", + "name": "phpunit/php-file-iterator", + "version": "1.4.5", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-soap.git", - "reference": "a599463aba97ce247faf3fb443e3c7858b46449b" + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-soap/zipball/a599463aba97ce247faf3fb443e3c7858b46449b", - "reference": "a599463aba97ce247faf3fb443e3c7858b46449b", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-server": "self.version", - "zendframework/zend-stdlib": "self.version", - "zendframework/zend-uri": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-http": "self.version" - }, - "suggest": { - "zendframework/zend-http": "Zend\\Http component" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Soap\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-soap", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ - "soap", - "zf2" + "filesystem", + "iterator" ], - "time": "2015-03-25 20:55:48" + "time": "2017-11-27T13:52:08+00:00" }, { - "name": "zendframework/zend-stdlib", - "version": "2.4.0", + "name": "phpunit/php-text-template", + "version": "1.2.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-stdlib.git", - "reference": "cf05c5ba75606e47ffee91cedc72778da46f74c3" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cf05c5ba75606e47ffee91cedc72778da46f74c3", - "reference": "cf05c5ba75606e47ffee91cedc72778da46f74c3", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", "shasum": "" }, "require": { - "php": ">=5.3.23" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-serializer": "self.version", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-eventmanager": "To support aggregate hydrator usage", - "zendframework/zend-filter": "To support naming strategy hydrator usage", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + "php": ">=5.3.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\Stdlib\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-stdlib", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "stdlib", - "zf2" + "template" ], - "time": "2015-03-25 20:55:48" + "time": "2015-06-21T13:50:34+00:00" }, { - "name": "zendframework/zend-text", - "version": "2.4.0", + "name": "phpunit/php-timer", + "version": "1.0.9", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-text.git", - "reference": "d962ea25647b20527f3ca34ae225bbc885dabfc7" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-text/zipball/d962ea25647b20527f3ca34ae225bbc885dabfc7", - "reference": "d962ea25647b20527f3ca34ae225bbc885dabfc7", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^5.3.3 || ^7.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0-dev" } }, "autoload": { - "psr-4": { - "Zend\\Text\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-text", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "text", - "zf2" + "timer" ], - "time": "2015-03-25 20:55:48" + "time": "2017-02-26T11:10:40+00:00" }, { - "name": "zendframework/zend-uri", - "version": "2.4.0", + "name": "phpunit/php-token-stream", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-uri.git", - "reference": "bd9e625639415376f6a82551c73328448d7bc7d1" + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "791198a2c6254db10131eecfe8c06670700904db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-uri/zipball/bd9e625639415376f6a82551c73328448d7bc7d1", - "reference": "bd9e625639415376f6a82551c73328448d7bc7d1", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", + "reference": "791198a2c6254db10131eecfe8c06670700904db", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-validator": "self.version" + "ext-tokenizer": "*", + "php": "^7.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "phpunit/phpunit": "^6.2.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { - "psr-4": { - "Zend\\Uri\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "a component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", - "homepage": "https://github.com/zendframework/zend-uri", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", "keywords": [ - "uri", - "zf2" + "tokenizer" ], - "time": "2015-03-25 20:55:48" + "time": "2017-11-27T05:48:46+00:00" }, { - "name": "zendframework/zend-validator", - "version": "2.4.0", + "name": "phpunit/phpunit", + "version": "6.5.14", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-validator.git", - "reference": "45fac2545a0f2eb66d71cb7966feee481e7c475f" + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/45fac2545a0f2eb66d71cb7966feee481e7c475f", - "reference": "45fac2545a0f2eb66d71cb7966feee481e7c475f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bac23fe7ff13dbdb461481f706f0e9fe746334b7", + "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "^1.6.1", + "phar-io/manifest": "^1.0.1", + "phar-io/version": "^1.0", + "php": "^7.0", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^5.3", + "phpunit/php-file-iterator": "^1.4.3", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^1.0.9", + "phpunit/phpunit-mock-objects": "^5.0.9", + "sebastian/comparator": "^2.1", + "sebastian/diff": "^2.0", + "sebastian/environment": "^3.1", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^1.0", + "sebastian/version": "^2.0.1" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2", + "phpunit/dbunit": "<3.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-db": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-math": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-session": "self.version", - "zendframework/zend-uri": "self.version" + "ext-pdo": "*" }, "suggest": { - "zendframework/zend-db": "Zend\\Db component", - "zendframework/zend-filter": "Zend\\Filter component, required by the Digits validator", - "zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages as well as to use the various Date validators", - "zendframework/zend-math": "Zend\\Math component", - "zendframework/zend-resources": "Translations of validator messages", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", - "zendframework/zend-session": "Zend\\Session component", - "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators" + "ext-xdebug": "*", + "phpunit/php-invoker": "^1.1" }, + "bin": [ + "phpunit" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "6.5.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Validator\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides a set of commonly needed validators", - "homepage": "https://github.com/zendframework/zend-validator", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", "keywords": [ - "validator", - "zf2" + "phpunit", + "testing", + "xunit" ], - "time": "2015-03-25 20:55:48" + "time": "2019-02-01T05:22:47+00:00" }, { - "name": "zendframework/zend-view", - "version": "2.4.0", + "name": "phpunit/phpunit-mock-objects", + "version": "5.0.10", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-view.git", - "reference": "37beb1ad46e530f627b4b6c3716efd728e976ba9" + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-view/zipball/37beb1ad46e530f627b4b6c3716efd728e976ba9", - "reference": "37beb1ad46e530f627b4b6c3716efd728e976ba9", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-loader": "self.version", - "zendframework/zend-stdlib": "self.version" + "doctrine/instantiator": "^1.0.5", + "php": "^7.0", + "phpunit/php-text-template": "^1.2.1", + "sebastian/exporter": "^3.1" + }, + "conflict": { + "phpunit/phpunit": "<6.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-authentication": "self.version", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-feed": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-http": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-json": "self.version", - "zendframework/zend-mvc": "self.version", - "zendframework/zend-navigation": "self.version", - "zendframework/zend-paginator": "self.version", - "zendframework/zend-permissions-acl": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-uri": "self.version" + "phpunit/phpunit": "^6.5.11" }, "suggest": { - "zendframework/zend-authentication": "Zend\\Authentication component", - "zendframework/zend-escaper": "Zend\\Escaper component", - "zendframework/zend-feed": "Zend\\Feed component", - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-http": "Zend\\Http component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-json": "Zend\\Json component", - "zendframework/zend-mvc": "Zend\\Mvc component", - "zendframework/zend-navigation": "Zend\\Navigation component", - "zendframework/zend-paginator": "Zend\\Paginator component", - "zendframework/zend-permissions-acl": "Zend\\Permissions\\Acl component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-uri": "Zend\\Uri component" + "ext-soap": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "5.0.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\View\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides a system of helpers, output filters, and variable escaping", - "homepage": "https://github.com/zendframework/zend-view", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", "keywords": [ - "view", - "zf2" + "mock", + "xunit" ], - "time": "2015-03-25 20:55:48" - } - ], - "packages-dev": [ + "abandoned": true, + "time": "2018-08-09T05:50:03+00:00" + }, { - "name": "doctrine/instantiator", - "version": "1.0.4", + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119" + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", "shasum": "" }, "require": { - "php": ">=5.3,<8.0-DEV" + "php": "^5.6 || ^7.0" }, "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "2.0.*@ALPHA" + "phpunit/phpunit": "^5.7 || ^6.0" }, "type": "library", "extra": { @@ -6173,266 +17705,280 @@ } }, "autoload": { - "psr-0": { - "Doctrine\\Instantiator\\": "src" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2014-10-13 12:58:55" + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" }, { - "name": "fabpot/php-cs-fixer", - "version": "v1.8", + "name": "sebastian/comparator", + "version": "2.1.3", "source": { "type": "git", - "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "93c723fe0c50ed54292006e7249a4c1173cf5847" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/93c723fe0c50ed54292006e7249a4c1173cf5847", - "reference": "93c723fe0c50ed54292006e7249a4c1173cf5847", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.3.6", - "sebastian/diff": "~1.1", - "symfony/console": "~2.3", - "symfony/event-dispatcher": "~2.1", - "symfony/filesystem": "~2.1", - "symfony/finder": "~2.1", - "symfony/process": "~2.3", - "symfony/stopwatch": "~2.5" + "php": "^7.0", + "sebastian/diff": "^2.0 || ^3.0", + "sebastian/exporter": "^3.1" }, "require-dev": { - "satooshi/php-coveralls": "0.7.*@dev" + "phpunit/phpunit": "^6.4" }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", - "autoload": { - "psr-4": { - "Symfony\\CS\\": "Symfony/CS/" + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "A tool to automatically fix PHP code style", - "time": "2015-05-04 17:06:20" + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2018-02-01T13:46:46+00:00" }, { - "name": "league/climate", - "version": "2.6.1", + "name": "sebastian/diff", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/thephpleague/climate.git", - "reference": "28851c909017424f61cc6a62089316313c645d1c" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/climate/zipball/28851c909017424f61cc6a62089316313c645d1c", - "reference": "28851c909017424f61cc6a62089316313c645d1c", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", "shasum": "" }, "require": { - "php": ">=5.4.0" + "php": "^7.0" }, "require-dev": { - "mockery/mockery": "dev-master", - "phpunit/phpunit": "4.1.*" + "phpunit/phpunit": "^6.2" }, "type": "library", - "autoload": { - "psr-4": { - "League\\CLImate\\": "src/" + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Joe Tannenbaum", - "email": "hey@joe.codes", - "homepage": "http://joe.codes/", - "role": "Developer" + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "PHP's best friend for the terminal. CLImate allows you to easily output colored text, special formats, and more.", + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ - "cli", - "colors", - "command", - "php", - "terminal" + "diff" ], - "time": "2015-01-18 14:31:58" + "time": "2017-08-03T08:09:46+00:00" }, { - "name": "lusitanian/oauth", - "version": "v0.3.5", + "name": "sebastian/environment", + "version": "3.1.0", "source": { "type": "git", - "url": "https://github.com/Lusitanian/PHPoAuthLib.git", - "reference": "ac5a1cd5a4519143728dce2213936eea302edf8a" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Lusitanian/PHPoAuthLib/zipball/ac5a1cd5a4519143728dce2213936eea302edf8a", - "reference": "ac5a1cd5a4519143728dce2213936eea302edf8a", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "3.7.*", - "predis/predis": "0.8.*@dev", - "symfony/http-foundation": "~2.1" - }, - "suggest": { - "ext-openssl": "Allows for usage of secure connections with the stream-based HTTP client.", - "predis/predis": "Allows using the Redis storage backend.", - "symfony/http-foundation": "Allows using the Symfony Session storage backend." + "phpunit/phpunit": "^6.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.1-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { - "psr-0": { - "OAuth": "src", - "OAuth\\Unit": "tests" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "David Desberg", - "email": "david@daviddesberg.com" - }, - { - "name": "Pieter Hordijk", - "email": "info@pieterhordijk.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "PHP 5.3+ oAuth 1/2 Library", + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", "keywords": [ - "Authentication", - "authorization", - "oauth", - "security" + "Xdebug", + "environment", + "hhvm" ], - "time": "2014-09-05 15:19:58" + "time": "2017-07-01T08:51:00+00:00" }, { - "name": "pdepend/pdepend", - "version": "2.0.6", + "name": "sebastian/exporter", + "version": "3.1.0", "source": { "type": "git", - "url": "https://github.com/pdepend/pdepend.git", - "reference": "a15ffcbfbcc4570d4a733ca7b76e9cac0a56c3f4" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdepend/pdepend/zipball/a15ffcbfbcc4570d4a733ca7b76e9cac0a56c3f4", - "reference": "a15ffcbfbcc4570d4a733ca7b76e9cac0a56c3f4", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", "shasum": "" }, "require": { - "symfony/config": ">=2.4", - "symfony/dependency-injection": ">=2.4", - "symfony/filesystem": ">=2.4" + "php": "^7.0", + "sebastian/recursion-context": "^3.0" }, "require-dev": { - "phpunit/phpunit": "4.*@stable", - "squizlabs/php_codesniffer": "@stable" + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" }, - "bin": [ - "src/bin/pdepend" - ], "type": "library", - "autoload": { - "psr-0": { - "PDepend\\": "src/main/php/" + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "Official version of pdepend to be handled with Composer", - "time": "2015-03-02 08:06:43" + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2017-04-03T13:19:02+00:00" }, { - "name": "phpmd/phpmd", - "version": "2.2.2", + "name": "sebastian/finder-facade", + "version": "1.2.2", "source": { "type": "git", - "url": "https://github.com/phpmd/phpmd.git", - "reference": "7dc4a6b5c07b119ab5da7960b56303fa6855eb84" + "url": "https://github.com/sebastianbergmann/finder-facade.git", + "reference": "4a3174709c2dc565fe5fb26fcf827f6a1fc7b09f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmd/phpmd/zipball/7dc4a6b5c07b119ab5da7960b56303fa6855eb84", - "reference": "7dc4a6b5c07b119ab5da7960b56303fa6855eb84", + "url": "https://api.github.com/repos/sebastianbergmann/finder-facade/zipball/4a3174709c2dc565fe5fb26fcf827f6a1fc7b09f", + "reference": "4a3174709c2dc565fe5fb26fcf827f6a1fc7b09f", "shasum": "" }, "require": { - "pdepend/pdepend": "2.0.*", - "php": ">=5.3.0", - "symfony/config": ">=2.4", - "symfony/dependency-injection": ">=2.4", - "symfony/filesystem": ">=2.4" - }, - "require-dev": { - "phpunit/phpunit": "*", - "squizlabs/php_codesniffer": "*" + "symfony/finder": "~2.3|~3.0|~4.0", + "theseer/fdomdocument": "~1.3" }, - "bin": [ - "src/bin/phpmd" - ], - "type": "project", + "type": "library", "autoload": { - "psr-0": { - "PHPMD\\": "src/main/php" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6440,63 +17986,42 @@ ], "authors": [ { - "name": "Manuel Pichler", - "email": "github@manuel-pichler.de", - "homepage": "https://github.com/manuelpichler", - "role": "Project founder" - }, - { - "name": "Other contributors", - "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", - "role": "Contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", - "homepage": "http://phpmd.org/", - "keywords": [ - "mess detection", - "mess detector", - "pdepend", - "phpmd", - "pmd" - ], - "time": "2015-03-26 07:47:05" + "description": "FinderFacade is a convenience wrapper for Symfony's Finder component.", + "homepage": "https://github.com/sebastianbergmann/finder-facade", + "time": "2017-11-18T17:31:49+00:00" }, { - "name": "phpunit/php-code-coverage", - "version": "2.0.16", + "name": "sebastian/global-state", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c" + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/934fd03eb6840508231a7f73eb8940cf32c3b66c", - "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", "shasum": "" }, "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "~1.0", - "sebastian/version": "~1.0" + "php": "^7.0" }, "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" + "phpunit/phpunit": "^6.0" }, "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" + "ext-uopz": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -6511,177 +18036,182 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", "keywords": [ - "coverage", - "testing", - "xunit" + "global state" ], - "time": "2015-04-11 04:35:00" + "time": "2017-04-27T15:39:26+00:00" }, { - "name": "phpunit/php-file-iterator", - "version": "1.3.4", + "name": "sebastian/object-enumerator", + "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb" + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, "autoload": { "classmap": [ - "File/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2013-10-10 15:34:57" + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-08-03T12:35:26+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.0", + "name": "sebastian/object-reflector", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, "autoload": { "classmap": [ - "Text/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2014-01-30 17:20:04" + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" }, { - "name": "phpunit/php-timer", - "version": "1.0.5", + "name": "sebastian/phpcpd", + "version": "3.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c" + "url": "https://github.com/sebastianbergmann/phpcpd.git", + "reference": "dfed51c1288790fc957c9433e2f49ab152e8a564" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c", + "url": "https://api.github.com/repos/sebastianbergmann/phpcpd/zipball/dfed51c1288790fc957c9433e2f49ab152e8a564", + "reference": "dfed51c1288790fc957c9433e2f49ab152e8a564", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.6|^7.0", + "phpunit/php-timer": "^1.0.6", + "sebastian/finder-facade": "^1.1", + "sebastian/version": "^1.0|^2.0", + "symfony/console": "^2.7|^3.0|^4.0" }, + "bin": [ + "phpcpd" + ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, "autoload": { "classmap": [ - "PHP/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2013-08-02 07:42:54" + "description": "Copy/Paste Detector (CPD) for PHP code.", + "homepage": "https://github.com/sebastianbergmann/phpcpd", + "time": "2017-11-16T08:49:28+00:00" }, { - "name": "phpunit/php-token-stream", - "version": "1.4.1", + "name": "sebastian/recursion-context", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "eab81d02569310739373308137284e0158424330" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330", - "reference": "eab81d02569310739373308137284e0158424330", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -6694,61 +18224,44 @@ "BSD-3-Clause" ], "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2015-04-08 04:46:07" + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2017-03-03T06:23:57+00:00" }, { - "name": "phpunit/phpunit", - "version": "4.1.0", + "name": "sebastian/resource-operations", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "efb1b1334605594417a3bd466477772d06d460a8" + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/efb1b1334605594417a3bd466477772d06d460a8", - "reference": "efb1b1334605594417a3bd466477772d06d460a8", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpunit/php-code-coverage": "~2.0", - "phpunit/php-file-iterator": "~1.3.1", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0.2", - "phpunit/phpunit-mock-objects": "~2.1", - "sebastian/comparator": "~1.0", - "sebastian/diff": "~1.1", - "sebastian/environment": "~1.0", - "sebastian/exporter": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" + "php": ">=5.6.0" }, - "bin": [ - "phpunit" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { @@ -6757,58 +18270,40 @@ ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "", - "../../symfony/yaml/" - ], "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "The PHP Unit Testing framework.", - "homepage": "http://www.phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2014-05-02 07:13:40" + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" }, { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.1", + "name": "sebastian/version", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "74ffb87f527f24616f72460e54b595f508dccb5c" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c", - "reference": "74ffb87f527f24616f72460e54b595f508dccb5c", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", "shasum": "" }, "require": { - "doctrine/instantiator": "~1.0,>=1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" + "php": ">=5.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -6823,376 +18318,418 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-04-02 05:36:41" + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" }, { - "name": "sebastian/comparator", - "version": "1.1.1", + "name": "squizlabs/php_codesniffer", + "version": "3.3.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "628a481780561150481a9ec74709092b9759b3ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/628a481780561150481a9ec74709092b9759b3ec", + "reference": "628a481780561150481a9ec74709092b9759b3ec", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "3.x-dev" } }, - "autoload": { - "classmap": [ - "src/" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Greg Sherwood", + "role": "lead" } ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "http://www.squizlabs.com/php-codesniffer", "keywords": [ - "comparator", - "compare", - "equality" + "phpcs", + "standards" ], - "time": "2015-01-29 16:28:08" + "time": "2018-07-26T23:47:18+00:00" }, { - "name": "sebastian/diff", - "version": "1.3.0", + "name": "symfony/browser-kit", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" + "url": "https://github.com/symfony/browser-kit.git", + "reference": "61d85c5af2fc058014c7c89504c3944e73a086f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/61d85c5af2fc058014c7c89504c3944e73a086f0", + "reference": "61d85c5af2fc058014c7c89504c3944e73a086f0", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.1.3", + "symfony/dom-crawler": "~3.4|~4.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "symfony/css-selector": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "4.2-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-02-22 15:13:53" + "description": "Symfony BrowserKit Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:17:42+00:00" }, { - "name": "sebastian/environment", - "version": "1.2.2", + "name": "symfony/config", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" + "url": "https://github.com/symfony/config.git", + "reference": "0e745ead307d5dcd4e163e94a47ec04b1428943f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", + "url": "https://api.github.com/repos/symfony/config/zipball/0e745ead307d5dcd4e163e94a47ec04b1428943f", + "reference": "0e745ead307d5dcd4e163e94a47ec04b1428943f", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.1.3", + "symfony/filesystem": "~3.4|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/finder": "<3.4" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "4.2-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2015-01-01 10:01:08" + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "time": "2019-04-01T14:03:25+00:00" }, { - "name": "sebastian/exporter", - "version": "1.2.0", + "name": "symfony/contracts", + "version": "v1.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "84839970d05254c73cde183a721c7af13aede943" + "url": "https://github.com/symfony/contracts.git", + "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", - "reference": "84839970d05254c73cde183a721c7af13aede943", + "url": "https://api.github.com/repos/symfony/contracts/zipball/1aa7ab2429c3d594dd70689604b5cf7421254cdf", + "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" + "php": "^7.1.3" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "psr/cache": "^1.0", + "psr/container": "^1.0" + }, + "suggest": { + "psr/cache": "When using the Cache contracts", + "psr/container": "When using the Service contracts", + "symfony/cache-contracts-implementation": "", + "symfony/service-contracts-implementation": "", + "symfony/translation-contracts-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.0-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Contracts\\": "" + }, + "exclude-from-classmap": [ + "**/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" + "description": "A set of abstractions extracted out of the Symfony components", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], - "time": "2015-01-27 07:23:06" + "time": "2018-12-05T08:06:11+00:00" }, { - "name": "sebastian/recursion-context", - "version": "1.0.0", + "name": "symfony/dependency-injection", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252" + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "1806e43ff6bff57398d33b326cd753a12d9f434f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1806e43ff6bff57398d33b326cd753a12d9f434f", + "reference": "1806e43ff6bff57398d33b326cd753a12d9f434f", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.1.3", + "psr/container": "^1.0", + "symfony/contracts": "^1.0" + }, + "conflict": { + "symfony/config": "<4.2", + "symfony/finder": "<3.4", + "symfony/proxy-manager-bridge": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "psr/container-implementation": "1.0", + "symfony/service-contracts-implementation": "1.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "symfony/config": "~4.2", + "symfony/expression-language": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "4.2-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-01-24 09:48:32" + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com", + "time": "2019-03-30T15:58:42+00:00" }, { - "name": "sebastian/version", - "version": "1.0.5", + "name": "symfony/dom-crawler", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "53c97769814c80a84a8403efcf3ae7ae966d53bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/53c97769814c80a84a8403efcf3ae7ae966d53bb", + "reference": "53c97769814c80a84a8403efcf3ae7ae966d53bb", "shasum": "" }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "symfony/css-selector": "~3.4|~4.0" + }, + "suggest": { + "symfony/css-selector": "" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-02-24 06:35:25" + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:17:42+00:00" }, { - "name": "sjparkinson/static-review", - "version": "4.1.1", + "name": "symfony/http-foundation", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/sjparkinson/static-review.git", - "reference": "493c3410cf146a12fca84209bad126c494e125f0" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "5b7ab6beaa5b053b8d3c9b13367ada9b292e12e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sjparkinson/static-review/zipball/493c3410cf146a12fca84209bad126c494e125f0", - "reference": "493c3410cf146a12fca84209bad126c494e125f0", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5b7ab6beaa5b053b8d3c9b13367ada9b292e12e1", + "reference": "5b7ab6beaa5b053b8d3c9b13367ada9b292e12e1", "shasum": "" }, "require": { - "league/climate": "~2.0", - "php": ">=5.4.0", - "symfony/console": "~2.0", - "symfony/process": "~2.0" + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.1" }, "require-dev": { - "mockery/mockery": "~0.9", - "phpunit/phpunit": "~4.0", - "sensiolabs/security-checker": "~2.0", - "squizlabs/php_codesniffer": "~1.0" + "predis/predis": "~1.0", + "symfony/expression-language": "~3.4|~4.0" }, - "suggest": { - "sensiolabs/security-checker": "Required for ComposerSecurityReview.", - "squizlabs/php_codesniffer": "Required for PhpCodeSnifferReview." - }, - "bin": [ - "bin/static-review.php" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, "autoload": { "psr-4": { - "StaticReview\\": "src/" - } + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7200,121 +18737,107 @@ ], "authors": [ { - "name": "Samuel Parkinson", - "email": "sam.james.parkinson@gmail.com", - "homepage": "http://samp.im" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "An extendable framework for version control hooks.", - "time": "2014-09-22 08:40:36" + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2019-03-30T15:58:42+00:00" }, { - "name": "squizlabs/php_codesniffer", - "version": "1.5.3", + "name": "symfony/polyfill-php70", + "version": "v1.11.0", "source": { "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "396178ada8499ec492363587f037125bf7b07fcc" + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "bc4858fb611bda58719124ca079baff854149c89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/396178ada8499ec492363587f037125bf7b07fcc", - "reference": "396178ada8499ec492363587f037125bf7b07fcc", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/bc4858fb611bda58719124ca079baff854149c89", + "reference": "bc4858fb611bda58719124ca079baff854149c89", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.1.2" - }, - "suggest": { - "phpunit/php-timer": "dev-master" + "paragonie/random_compat": "~1.0|~2.0|~9.99", + "php": ">=5.3.3" }, - "bin": [ - "scripts/phpcs" - ], "type": "library", "extra": { "branch-alias": { - "dev-phpcs-fixer": "2.0.x-dev" + "dev-master": "1.11-dev" } }, "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php70\\": "" + }, + "files": [ + "bootstrap.php" + ], "classmap": [ - "CodeSniffer.php", - "CodeSniffer/CLI.php", - "CodeSniffer/Exception.php", - "CodeSniffer/File.php", - "CodeSniffer/Report.php", - "CodeSniffer/Reporting.php", - "CodeSniffer/Sniff.php", - "CodeSniffer/Tokens.php", - "CodeSniffer/Reports/", - "CodeSniffer/CommentParser/", - "CodeSniffer/Tokenizers/", - "CodeSniffer/DocGenerators/", - "CodeSniffer/Standards/AbstractPatternSniff.php", - "CodeSniffer/Standards/AbstractScopeSniff.php", - "CodeSniffer/Standards/AbstractVariableSniff.php", - "CodeSniffer/Standards/IncorrectPatternException.php", - "CodeSniffer/Standards/Generic/Sniffs/", - "CodeSniffer/Standards/MySource/Sniffs/", - "CodeSniffer/Standards/PEAR/Sniffs/", - "CodeSniffer/Standards/PSR1/Sniffs/", - "CodeSniffer/Standards/PSR2/Sniffs/", - "CodeSniffer/Standards/Squiz/Sniffs/", - "CodeSniffer/Standards/Zend/Sniffs/" + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Greg Sherwood", - "role": "lead" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "PHP_CodeSniffer tokenises PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "http://www.squizlabs.com/php-codesniffer", + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "phpcs", - "standards" + "compatibility", + "polyfill", + "portable", + "shim" ], - "time": "2014-05-01 03:07:07" + "time": "2019-02-06T07:57:58+00:00" }, { - "name": "symfony/config", - "version": "v2.6.7", - "target-dir": "Symfony/Component/Config", + "name": "symfony/polyfill-php72", + "version": "v1.11.0", "source": { "type": "git", - "url": "https://github.com/symfony/Config.git", - "reference": "b6fddb4aa2daaa2b06f0040071ac131b4a1ecf25" + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "ab50dcf166d5f577978419edd37aa2bb8eabce0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Config/zipball/b6fddb4aa2daaa2b06f0040071ac131b4a1ecf25", - "reference": "b6fddb4aa2daaa2b06f0040071ac131b4a1ecf25", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/ab50dcf166d5f577978419edd37aa2bb8eabce0c", + "reference": "ab50dcf166d5f577978419edd37aa2bb8eabce0c", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/filesystem": "~2.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.11-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\Config\\": "" - } + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7322,60 +18845,55 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Config Component", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", - "time": "2015-05-02 15:18:45" + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-02-06T07:57:58+00:00" }, { - "name": "symfony/dependency-injection", - "version": "v2.6.7", - "target-dir": "Symfony/Component/DependencyInjection", + "name": "symfony/stopwatch", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/symfony/DependencyInjection.git", - "reference": "b575c160af001d3525ee733085bcc4ec7c8e1b51" + "url": "https://github.com/symfony/stopwatch.git", + "reference": "b1a5f646d56a3290230dbc8edf2a0d62cda23f67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/b575c160af001d3525ee733085bcc4ec7c8e1b51", - "reference": "b575c160af001d3525ee733085bcc4ec7c8e1b51", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b1a5f646d56a3290230dbc8edf2a0d62cda23f67", + "reference": "b1a5f646d56a3290230dbc8edf2a0d62cda23f67", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "conflict": { - "symfony/expression-language": "<2.6" - }, - "require-dev": { - "symfony/config": "~2.2", - "symfony/expression-language": "~2.6", - "symfony/phpunit-bridge": "~2.7", - "symfony/yaml": "~2.1" - }, - "suggest": { - "symfony/config": "", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" + "php": "^7.1.3", + "symfony/contracts": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "4.2-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\DependencyInjection\\": "" - } + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7391,50 +18909,50 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DependencyInjection Component", + "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2015-05-02 15:18:45" + "time": "2019-01-16T20:31:39+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v2.6.7", - "target-dir": "Symfony/Component/EventDispatcher", + "name": "symfony/yaml", + "version": "v3.4.24", "source": { "type": "git", - "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02" + "url": "https://github.com/symfony/yaml.git", + "reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/672593bc4b0043a0acf91903bb75a1c82d8f2e02", - "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02", + "url": "https://api.github.com/repos/symfony/yaml/zipball/212a27b731e5bfb735679d1ffaac82bd6a1dc996", + "reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.6", - "symfony/expression-language": "~2.6", - "symfony/phpunit-bridge": "~2.7", - "symfony/stopwatch": "~2.3" + "symfony/console": "~3.4|~4.0" }, "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/console": "For validating YAML files using the lint command" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "3.4-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\EventDispatcher\\": "" - } + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7450,80 +18968,110 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2015-05-02 15:18:45" + "time": "2019-03-25T07:48:46+00:00" }, { - "name": "symfony/filesystem", - "version": "v2.6.7", - "target-dir": "Symfony/Component/Filesystem", + "name": "theseer/fdomdocument", + "version": "1.6.6", "source": { "type": "git", - "url": "https://github.com/symfony/Filesystem.git", - "reference": "f73904bd2dae525c42ea1f0340c7c98480ecacde" + "url": "https://github.com/theseer/fDOMDocument.git", + "reference": "6e8203e40a32a9c770bcb62fe37e68b948da6dca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Filesystem/zipball/f73904bd2dae525c42ea1f0340c7c98480ecacde", - "reference": "f73904bd2dae525c42ea1f0340c7c98480ecacde", + "url": "https://api.github.com/repos/theseer/fDOMDocument/zipball/6e8203e40a32a9c770bcb62fe37e68b948da6dca", + "reference": "6e8203e40a32a9c770bcb62fe37e68b948da6dca", "shasum": "" }, "require": { + "ext-dom": "*", + "lib-libxml": "*", "php": ">=5.3.3" }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "lead" } + ], + "description": "The classes contained within this repository extend the standard DOM to use exceptions at all occasions of errors instead of PHP warnings or notices. They also add various custom methods and shortcuts for convenience and to simplify the usage of DOM.", + "homepage": "https://github.com/theseer/fDOMDocument", + "time": "2017-06-30T11:53:12+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/1c42705be2b6c1de5904f8afacef5895cab44bf8", + "reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" }, + "type": "library", "autoload": { - "psr-0": { - "Symfony\\Component\\Filesystem\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" } ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2015-05-08 00:09:07" + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2019-04-04T09:56:43+00:00" }, { - "name": "symfony/stopwatch", - "version": "v2.6.7", - "target-dir": "Symfony/Component/Stopwatch", + "name": "vlucas/phpdotenv", + "version": "v2.6.1", "source": { "type": "git", - "url": "https://github.com/symfony/Stopwatch.git", - "reference": "b470f87c69837cb71115f1fa720388bb19b63635" + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Stopwatch/zipball/b470f87c69837cb71115f1fa720388bb19b63635", - "reference": "b470f87c69837cb71115f1fa720388bb19b63635", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2a7dcf7e3e02dc5e701004e51a6f304b713107d5", + "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9", + "symfony/polyfill-ctype": "^1.9" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "phpunit/phpunit": "^4.8.35 || ^5.0" }, "type": "library", "extra": { @@ -7532,58 +19080,60 @@ } }, "autoload": { - "psr-0": { - "Symfony\\Component\\Stopwatch\\": "" + "psr-4": { + "Dotenv\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "http://www.vancelucas.com" } ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com", - "time": "2015-05-02 15:18:45" + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "time": "2019-01-29T11:11:52+00:00" }, { - "name": "symfony/yaml", - "version": "v2.6.7", - "target-dir": "Symfony/Component/Yaml", + "name": "webmozart/assert", + "version": "1.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "f157ab074e453ecd4c0fa775f721f6e67a99d9e2" + "url": "https://github.com/webmozart/assert.git", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/f157ab074e453ecd4c0fa775f721f6e67a99d9e2", - "reference": "f157ab074e453ecd4c0fa775f721f6e67a99d9e2", + "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.3-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\Yaml\\": "" + "psr-4": { + "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -7592,38 +19142,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2015-05-02 15:18:45" + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2018-12-25T11:19:39+00:00" } ], "aliases": [], - "minimum-stability": "alpha", + "minimum-stability": "stable", "stability-flags": { "phpmd/phpmd": 0 }, - "prefer-stable": true, + "prefer-stable": false, "prefer-lowest": false, "platform": [], - "platform-dev": { - "lib-libxml": "*", - "ext-ctype": "*", - "ext-gd": "*", - "ext-spl": "*", - "ext-dom": "*", - "ext-simplexml": "*", - "ext-mcrypt": "*", - "ext-hash": "*", - "ext-curl": "*", - "ext-iconv": "*", - "ext-intl": "*" - } + "platform-dev": [] } diff --git a/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.lock b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.lock index 48fa6d0d0cd3..36a98e6cd959 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.lock +++ b/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.lock @@ -1,4677 +1,17821 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "hash": "8601c8b464025318475d28dbabf9ee67", + "content-hash": "758832dca53cba659d813c126f37d8a1", "packages": [ { - "name": "composer/composer", - "version": "1.0.0-alpha8", + "name": "amzn/amazon-pay-and-login-magento-2-module", + "version": "3.1.4", + "require": { + "amzn/amazon-pay-and-login-with-amazon-core-module": "3.1.4", + "amzn/amazon-pay-module": "3.1.4", + "amzn/login-with-amazon-module": "3.1.4" + }, + "type": "metapackage", + "license": [ + "Apache-2.0" + ], + "description": "Official Magento2 Plugin to integrate with Amazon Pay and Login with Amazon" + }, + { + "name": "amzn/amazon-pay-and-login-with-amazon-core-module", + "version": "3.1.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/amzn/amazon-pay-and-login-with-amazon-core-module/amzn-amazon-pay-and-login-with-amazon-core-module-3.1.4.0.zip", + "reference": null, + "shasum": "1ad5fdd9a997284f005d933b1fead3a746f158bb" + }, + "require": { + "amzn/amazon-pay-sdk-php": "^3.2.0", + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-checkout": "*", + "magento/module-config": "*", + "magento/module-customer": "*", + "magento/module-developer": "*", + "magento/module-payment": "*", + "magento/module-paypal": "*", + "magento/module-quote": "*", + "magento/module-sales": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Amazon\\Core\\": "" + } + }, + "license": [ + "Apache-2.0" + ], + "description": "Shared functionality for Amazon Pay and Login with Amazon modules" + }, + { + "name": "amzn/amazon-pay-module", + "version": "3.1.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/amzn/amazon-pay-module/amzn-amazon-pay-module-3.1.4.0.zip", + "reference": null, + "shasum": "03cec957586f9e14f0914b58f651c661c509d08d" + }, + "require": { + "amzn/amazon-pay-and-login-with-amazon-core-module": "^3.1.4", + "amzn/login-with-amazon-module": "^3.1.4", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-checkout": "*", + "magento/module-customer": "*", + "magento/module-directory": "*", + "magento/module-eav": "*", + "magento/module-payment": "*", + "magento/module-paypal": "*", + "magento/module-quote": "*", + "magento/module-sales": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-customer": "*", + "magento/module-scalable-checkout": "*", + "magento/module-scalable-oms": "*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Amazon\\Payment\\": "" + } + }, + "license": [ + "Apache-2.0" + ], + "description": "Amazon Pay module" + }, + { + "name": "amzn/amazon-pay-sdk-php", + "version": "3.4.1", "source": { "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "1eb1df44a97fb2daca1bb8b007f3bee012f0aa46" + "url": "https://github.com/amzn/amazon-pay-sdk-php.git", + "reference": "aff849d831b95469d68708ac1bdb316a56896e4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/1eb1df44a97fb2daca1bb8b007f3bee012f0aa46", - "reference": "1eb1df44a97fb2daca1bb8b007f3bee012f0aa46", + "url": "https://api.github.com/repos/amzn/amazon-pay-sdk-php/zipball/aff849d831b95469d68708ac1bdb316a56896e4c", + "reference": "aff849d831b95469d68708ac1bdb316a56896e4c", "shasum": "" }, "require": { - "justinrainbow/json-schema": "1.1.*", - "php": ">=5.3.2", - "seld/jsonlint": "1.*", - "symfony/console": "~2.3", - "symfony/finder": "~2.2", - "symfony/process": "~2.1" + "ext-curl": "*", + "php": ">=5.5.0" }, "require-dev": { - "phpunit/phpunit": "~3.7.10" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives, and allows gzip compression of all internet traffic" + "phpunit/phpunit": "^4" }, - "bin": [ - "bin/composer" - ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, "autoload": { - "psr-0": { - "Composer": "src/" + "psr-4": { + "AmazonPay\\": "AmazonPay/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "Apache OSL-2" ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be", - "role": "Developer" - }, - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de", - "role": "Developer" + "name": "Amazon Pay SDK", + "email": "amazon-pay-sdk@amazon.com" } ], - "description": "Dependency Manager", - "homepage": "http://getcomposer.org/", + "description": "Amazon Pay SDK (PHP)", + "homepage": "https://github.com/amzn/amazon-pay-sdk-php", "keywords": [ - "autoload", - "dependency", - "package" + "amazon", + "amazon pay", + "amazon payments", + "pay", + "pay with amazon", + "payment", + "payments" ], - "time": "2014-01-06 18:39:59" + "time": "2019-02-11T16:32:17+00:00" }, { - "name": "justinrainbow/json-schema", - "version": "1.1.0", + "name": "amzn/login-with-amazon-module", + "version": "3.1.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/amzn/login-with-amazon-module/amzn-login-with-amazon-module-3.1.4.0.zip", + "reference": null, + "shasum": "d927403b521e59d36d42a29998c774986c65398b" + }, + "require": { + "amzn/amazon-pay-and-login-with-amazon-core-module": "^3.1.4", + "magento/module-checkout": "*", + "magento/module-checkout-agreements": "*", + "magento/module-customer": "*", + "magento/module-eav": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-sales": "*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Amazon\\Login\\": "" + } + }, + "license": [ + "Apache-2.0" + ], + "description": "Login with Amazon module" + }, + { + "name": "bacon/bacon-qr-code", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "05ff6d8d79fe3ad190b0663d80d3f9deee79416c" + "url": "https://github.com/Bacon/BaconQrCode.git", + "reference": "5a91b62b9d37cee635bbf8d553f4546057250bee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/05ff6d8d79fe3ad190b0663d80d3f9deee79416c", - "reference": "05ff6d8d79fe3ad190b0663d80d3f9deee79416c", + "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/5a91b62b9d37cee635bbf8d553f4546057250bee", + "reference": "5a91b62b9d37cee635bbf8d553f4546057250bee", "shasum": "" }, "require": { - "php": ">=5.3.0" + "ext-iconv": "*", + "php": "^5.4|^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8" + }, + "suggest": { + "ext-gd": "to generate QR code images" }, "type": "library", "autoload": { "psr-0": { - "JsonSchema": "src/" + "BaconQrCode": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "NewBSD" + "BSD-2-Clause" ], "authors": [ { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch", - "homepage": "http://wiedler.ch/igor/" - }, - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" + "name": "Ben Scholzen 'DASPRiD'", + "email": "mail@dasprids.de", + "homepage": "http://www.dasprids.de", + "role": "Developer" + } + ], + "description": "BaconQrCode is a QR code generator for PHP.", + "homepage": "https://github.com/Bacon/BaconQrCode", + "time": "2017-10-17T09:59:25+00:00" + }, + { + "name": "beberlei/assert", + "version": "v2.9.6", + "source": { + "type": "git", + "url": "https://github.com/beberlei/assert.git", + "reference": "ec9e4cf0b63890edce844ee3922e2b95a526e936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/beberlei/assert/zipball/ec9e4cf0b63890edce844ee3922e2b95a526e936", + "reference": "ec9e4cf0b63890edce844ee3922e2b95a526e936", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.1.1", + "phpunit/phpunit": "^4.8.35|^5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Assert\\": "lib/Assert" }, + "files": [ + "lib/Assert/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de", + "role": "Lead Developer" }, { - "name": "Robert Schönthal", - "email": "robert.schoenthal@gmail.com", - "homepage": "http://digitalkaoz.net" + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Collaborator" } ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", + "description": "Thin assertion library for input validation in business models.", "keywords": [ - "json", - "schema" + "assert", + "assertion", + "validation" ], - "time": "2012-01-03 00:33:17" + "time": "2018-06-11T17:15:25+00:00" }, { - "name": "magento/framework", - "version": "0.74.0-beta2", + "name": "braintree/braintree_php", + "version": "3.35.0", + "source": { + "type": "git", + "url": "https://github.com/braintree/braintree_php.git", + "reference": "6c4388199ce379432804a5c18b88585157ef2ed7" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_framework-0.74.0-beta2.zip", - "reference": null, - "shasum": "ebb865d9aae1b48e41706a7d2fe080b7735a1a0c" + "url": "https://api.github.com/repos/braintree/braintree_php/zipball/6c4388199ce379432804a5c18b88585157ef2ed7", + "reference": "6c4388199ce379432804a5c18b88585157ef2ed7", + "shasum": "" }, "require": { "ext-curl": "*", "ext-dom": "*", - "ext-gd": "*", "ext-hash": "*", - "ext-iconv": "*", - "ext-mcrypt": "*", - "ext-simplexml": "*", - "ext-spl": "*", - "lib-libxml": "*", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" + "ext-openssl": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" }, - "suggest": { - "ext-imagick": "Use Image Magick >=3.0.0 as an optional alternative image processing library" - }, - "type": "magento2-library", - "extra": { - "map": [ - [ - "*", - "Magento/Framework" - ] - ] + "require-dev": { + "phpunit/phpunit": "3.7.*" }, + "type": "library", "autoload": { + "psr-0": { + "Braintree": "lib/" + }, "psr-4": { - "Magento\\Framework\\": "" + "Braintree\\": "lib/Braintree" } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Braintree", + "homepage": "https://www.braintreepayments.com" + } + ], + "description": "Braintree PHP Client Library", + "time": "2018-07-26T14:37:38+00:00" }, { - "name": "magento/language-de_de", - "version": "0.74.0-beta2", + "name": "christian-riesen/base32", + "version": "1.3.2", + "source": { + "type": "git", + "url": "https://github.com/ChristianRiesen/base32.git", + "reference": "80ff0e3b2124e61b4b39e2535709452f70bff367" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-de_de-0.74.0-beta2.zip", - "reference": null, - "shasum": "574416a036e55513a6437b287b77426c291d9051" + "url": "https://api.github.com/repos/ChristianRiesen/base32/zipball/80ff0e3b2124e61b4b39e2535709452f70bff367", + "reference": "80ff0e3b2124e61b4b39e2535709452f70bff367", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*" + "php": ">=5.3" }, - "type": "magento2-language", + "require-dev": { + "php": ">=5.6", + "phpunit/phpunit": "^5.0", + "satooshi/php-coveralls": "^1.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "magento/de_de" - ] - ] + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Base32\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "German (Germany) language" + "authors": [ + { + "name": "Christian Riesen", + "email": "chris.riesen@gmail.com", + "homepage": "http://christianriesen.com", + "role": "Developer" + } + ], + "description": "Base32 encoder/decoder according to RFC 4648", + "homepage": "https://github.com/ChristianRiesen/base32", + "keywords": [ + "base32", + "decode", + "encode", + "rfc4648" + ], + "time": "2018-11-02T09:03:50+00:00" }, { - "name": "magento/language-en_us", - "version": "0.74.0-beta2", + "name": "colinmollenhour/cache-backend-file", + "version": "v1.4.4", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/Cm_Cache_Backend_File.git", + "reference": "184171cc79933a828c3f9b1a1054724cea22a216" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-en_us-0.74.0-beta2.zip", - "reference": null, - "shasum": "6246a6a773d86c078bb4f0bc5cee50e2eeab639f" - }, - "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*" + "url": "https://api.github.com/repos/colinmollenhour/Cm_Cache_Backend_File/zipball/184171cc79933a828c3f9b1a1054724cea22a216", + "reference": "184171cc79933a828c3f9b1a1054724cea22a216", + "shasum": "" }, - "type": "magento2-language", - "extra": { - "map": [ - [ - "*", - "magento/en_us" - ] + "type": "magento-module", + "autoload": { + "classmap": [ + "File.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "English (United States) language" + "authors": [ + { + "name": "Colin Mollenhour" + } + ], + "description": "The stock Zend_Cache_Backend_File backend has extremely poor performance for cleaning by tags making it become unusable as the number of cached items increases. This backend makes many changes resulting in a huge performance boost, especially for tag cleaning.", + "homepage": "https://github.com/colinmollenhour/Cm_Cache_Backend_File", + "time": "2018-04-05T15:28:43+00:00" }, { - "name": "magento/language-es_es", - "version": "0.74.0-beta2", + "name": "colinmollenhour/cache-backend-redis", + "version": "1.10.6", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/Cm_Cache_Backend_Redis.git", + "reference": "cc941a5f4cc017e11d3eab9061811ba9583ed6bf" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-es_es-0.74.0-beta2.zip", - "reference": null, - "shasum": "da8197a083474993b935bd16d8b001160475b97e" + "url": "https://api.github.com/repos/colinmollenhour/Cm_Cache_Backend_Redis/zipball/cc941a5f4cc017e11d3eab9061811ba9583ed6bf", + "reference": "cc941a5f4cc017e11d3eab9061811ba9583ed6bf", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*" + "magento-hackathon/magento-composer-installer": "*" }, - "type": "magento2-language", - "extra": { - "map": [ - [ - "*", - "magento/es_es" - ] + "type": "magento-module", + "autoload": { + "classmap": [ + "Cm/Cache/Backend/Redis.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "Spanish (Spain) language" + "authors": [ + { + "name": "Colin Mollenhour" + } + ], + "description": "Zend_Cache backend using Redis with full support for tags.", + "homepage": "https://github.com/colinmollenhour/Cm_Cache_Backend_Redis", + "time": "2018-09-24T16:02:07+00:00" }, { - "name": "magento/language-fr_fr", - "version": "0.74.0-beta2", + "name": "colinmollenhour/credis", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/credis.git", + "reference": "8ab6db707c821055f9856b8cf76d5f44beb6fd8a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-fr_fr-0.74.0-beta2.zip", - "reference": null, - "shasum": "e3d58180b96a709e0b2fb8dccaee95b3be5dadd4" + "url": "https://api.github.com/repos/colinmollenhour/credis/zipball/8ab6db707c821055f9856b8cf76d5f44beb6fd8a", + "reference": "8ab6db707c821055f9856b8cf76d5f44beb6fd8a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*" + "php": ">=5.4.0" }, - "type": "magento2-language", - "extra": { - "map": [ - [ - "*", - "magento/fr_fr" - ] + "type": "library", + "autoload": { + "classmap": [ + "Client.php", + "Cluster.php", + "Sentinel.php", + "Module.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "French (France) language" + "authors": [ + { + "name": "Colin Mollenhour", + "email": "colin@mollenhour.com" + } + ], + "description": "Credis is a lightweight interface to the Redis key-value store which wraps the phpredis library when available for better performance.", + "homepage": "https://github.com/colinmollenhour/credis", + "time": "2018-05-07T14:45:04+00:00" }, { - "name": "magento/language-nl_nl", - "version": "0.74.0-beta2", + "name": "colinmollenhour/php-redis-session-abstract", + "version": "v1.4.1", + "source": { + "type": "git", + "url": "https://github.com/colinmollenhour/php-redis-session-abstract.git", + "reference": "4949ca28b86037abb44984c77bab9d0a4e075643" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-nl_nl-0.74.0-beta2.zip", - "reference": null, - "shasum": "d7b29b6275aefa26e7a6d9fb4bcdb62a8ee34332" + "url": "https://api.github.com/repos/colinmollenhour/php-redis-session-abstract/zipball/4949ca28b86037abb44984c77bab9d0a4e075643", + "reference": "4949ca28b86037abb44984c77bab9d0a4e075643", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*" + "colinmollenhour/credis": "~1.6", + "php": "^5.5 || ^7.0" }, - "type": "magento2-language", - "extra": { - "map": [ - [ - "*", - "magento/nl_nl" - ] - ] + "type": "library", + "autoload": { + "psr-0": { + "Cm\\RedisSession\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "Dutch (Netherlands) language" + "authors": [ + { + "name": "Colin Mollenhour" + } + ], + "description": "A Redis-based session handler with optimistic locking", + "homepage": "https://github.com/colinmollenhour/php-redis-session-abstract", + "time": "2019-03-18T14:43:14+00:00" }, { - "name": "magento/language-pt_br", - "version": "0.74.0-beta2", + "name": "composer/ca-bundle", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-pt_br-0.74.0-beta2.zip", - "reference": null, - "shasum": "7b6bc50f18adc85d524cc549accd05752beb8858" + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*" + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0" }, - "type": "magento2-language", + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "magento/pt_br" - ] - ] + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "Portuguese (Brazil) language" + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2019-01-28T09:30:10+00:00" }, { - "name": "magento/language-zh_cn", - "version": "0.74.0-beta2", + "name": "composer/composer", + "version": "1.8.5", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "949b116f9e7d98d8d276594fed74b580d125c0e6" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_language-zh_cn-0.74.0-beta2.zip", - "reference": null, - "shasum": "f9a151b4d1bbc6620289e9e91fb8bee023d14c5f" + "url": "https://api.github.com/repos/composer/composer/zipball/949b116f9e7d98d8d276594fed74b580d125c0e6", + "reference": "949b116f9e7d98d8d276594fed74b580d125c0e6", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*" + "composer/ca-bundle": "^1.0", + "composer/semver": "^1.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.7 || ^3.0 || ^4.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0" + }, + "conflict": { + "symfony/console": "2.8.38" }, - "type": "magento2-language", + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7", + "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "bin": [ + "bin/composer" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "magento/zh_cn" - ] - ] + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\": "src/Composer" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "Chinese (China) language" + "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" + } + ], + "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "time": "2019-04-09T15:46:48+00:00" }, { - "name": "magento/magento-composer-installer", - "version": "dev-master", + "name": "composer/semver", + "version": "1.5.0", "source": { "type": "git", - "url": "https://github.com/magento/magento-composer-installer.git", - "reference": "7f03451f71e55d52c2bb07325d56a4e6df322f30" + "url": "https://github.com/composer/semver.git", + "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento/magento-composer-installer/zipball/7f03451f71e55d52c2bb07325d56a4e6df322f30", - "reference": "7f03451f71e55d52c2bb07325d56a4e6df322f30", + "url": "https://api.github.com/repos/composer/semver/zipball/46d9139568ccb8d9e7cdd4539cab7347568a5e2e", + "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e", "shasum": "" }, "require": { - "composer-plugin-api": "1.0.0" + "php": "^5.3.2 || ^7.0" }, "require-dev": { - "composer/composer": "*@dev", - "firegento/phpcs": "dev-patch-1", - "mikey179/vfsstream": "*", - "phpunit/phpunit": "*", - "phpunit/phpunit-mock-objects": "dev-master", - "squizlabs/php_codesniffer": "1.4.7", - "symfony/process": "*" + "phpunit/phpunit": "^4.5 || ^5.0.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" }, - "type": "composer-plugin", + "type": "library", "extra": { - "composer-command-registry": [ - "MagentoHackathon\\Composer\\Magento\\Command\\DeployCommand" - ], - "class": "MagentoHackathon\\Composer\\Magento\\Plugin" + "branch-alias": { + "dev-master": "1.x-dev" + } }, "autoload": { - "psr-0": { - "MagentoHackathon\\Composer\\Magento": "src/" + "psr-4": { + "Composer\\Semver\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0" + "MIT" ], "authors": [ { - "name": "Vinai Kopp", - "email": "vinai@netzarbeiter.com" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Daniel Fahlke aka Flyingmana", - "email": "flyingmana@googlemail.com" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" }, { - "name": "Jörg Weller", - "email": "weller@flagbit.de" - }, + "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" + ], + "time": "2019-03-19T17:25:45+00:00" + }, + { + "name": "composer/spdx-licenses", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "a1aa51cf3ab838b83b0867b14e56fc20fbd55b3d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/a1aa51cf3ab838b83b0867b14e56fc20fbd55b3d", + "reference": "a1aa51cf3ab838b83b0867b14e56fc20fbd55b3d", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ { - "name": "Karl Spies", - "email": "karl.spies@gmx.net" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Tobias Vogt", - "email": "tobi@webguys.de" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" }, { - "name": "David Fuhr", - "email": "fuhr@flagbit.de" + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "Composer installer for Magento modules", - "homepage": "https://github.com/magento/magento-composer-installer", + "description": "SPDX licenses list and validation library.", "keywords": [ - "composer-installer", - "magento" + "license", + "spdx", + "validator" ], - "time": "2015-03-05 21:40:30" + "time": "2019-03-26T10:23:26+00:00" }, { - "name": "magento/magento2-base", - "version": "0.74.0-beta2", + "name": "composer/xdebug-handler", + "version": "1.3.2", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "d17708133b6c276d6e42ef887a877866b909d892" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_magento2-base-0.74.0-beta2.zip", - "reference": null, - "shasum": "be10c634940670ff0cecf5f952f57891c626c652" + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/d17708133b6c276d6e42ef887a877866b909d892", + "reference": "d17708133b6c276d6e42ef887a877866b909d892", + "shasum": "" }, "require": { - "magento/magento-composer-installer": "*" + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0" }, - "replace": { - "blueimp/jquery-file-upload": "5.6.14", - "colinmollenhour/cache-backend-redis": "dev-master#193d377b7fb2e88595578b282fa01a62d1185abc", - "colinmollenhour/credis": "dev-master#f07bbfd4117294f462f0fb19c49221d350bf396f", - "components/jquery": "1.11.0", - "components/jqueryui": "1.10.4", - "linkorb/jsmin-php": "1.1.2", - "tinymce/tinymce": "3.4.7", - "trentrichardson/jquery-timepicker-addon": "1.4.3", - "twbs/bootstrap": "3.1.0" + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" }, - "type": "magento2-component", - "extra": { - "component_paths": { - "trentrichardson/jquery-timepicker-addon": "lib/web/jquery/jquery-ui-timepicker-addon.js", - "colinmollenhour/cache-backend-redis": "lib/internal/Cm/Cache/Backend/Redis.php", - "colinmollenhour/credis": "lib/internal/Credis", - "linkorb/jsmin-php": "lib/internal/JSMin", - "components/jquery": [ - "lib/web/jquery.js", - "lib/web/jquery/jquery.min.js", - "lib/web/jquery/jquery-migrate.js", - "lib/web/jquery/jquery-migrate.min.js" - ], - "blueimp/jquery-file-upload": "lib/web/jquery/fileUploader", - "components/jqueryui": [ - "lib/web/jquery/jquery-ui.js", - "lib/web/jquery/jquery-ui.min.js" - ], - "twbs/bootstrap": [ - "lib/web/jquery/jquery.tabs.js" - ], - "tinymce/tinymce": "lib/web/tiny_mce" - }, - "map": [ - [ - "lib/internal/Cm", - "lib/internal/Cm" - ], - [ - "lib/internal/LinLibertineFont", - "lib/internal/LinLibertineFont" - ], - [ - "lib/internal/Credis", - "lib/internal/Credis" - ], - [ - "lib/internal/CardinalCommerce", - "lib/internal/CardinalCommerce" - ], - [ - "lib/internal/JSMin", - "lib/internal/JSMin" - ], - [ - "lib/.htaccess", - "lib/.htaccess" - ], - [ - "lib/web/lib", - "lib/web/lib" - ], - [ - "lib/web/requirejs", - "lib/web/requirejs" - ], + "type": "library", + "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" + ], + "time": "2019-01-28T20:25:53+00:00" + }, + { + "name": "container-interop/container-interop", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/container-interop.git", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "shasum": "" + }, + "require": { + "psr/container": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/Interop/Container/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "homepage": "https://github.com/container-interop/container-interop", + "time": "2017-02-14T19:40:03+00:00" + }, + { + "name": "donatj/phpuseragentparser", + "version": "v0.13.0", + "source": { + "type": "git", + "url": "https://github.com/donatj/PhpUserAgent.git", + "reference": "5f2da266d2a386f9b231d4344ae37baf7a467c2d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/donatj/PhpUserAgent/zipball/5f2da266d2a386f9b231d4344ae37baf7a467c2d", + "reference": "5f2da266d2a386f9b231d4344ae37baf7a467c2d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "camspiers/json-pretty": "0.1.*", + "donatj/drop": "*", + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "files": [ + "src/UserAgentParser.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jesse G. Donat", + "email": "donatj@gmail.com", + "homepage": "http://donatstudios.com", + "role": "Developer" + } + ], + "description": "Lightning fast, minimalist PHP UserAgent string parser.", + "homepage": "http://donatstudios.com/PHP-Parser-HTTP_USER_AGENT", + "keywords": [ + "browser", + "browser detection", + "parser", + "user agent", + "useragent" + ], + "time": "2019-03-08T20:52:23+00:00" + }, + { + "name": "dotmailer/dotmailer-magento2-extension", + "version": "3.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/dotmailer/dotmailer-magento2-extension/dotmailer-dotmailer-magento2-extension-3.1.1.0.zip", + "reference": null, + "shasum": "2ede8827f7faacf72f6bc2004f9d4325f61cbd3f" + }, + "require": { + "magento/framework": ">=100 <103", + "magento/module-backend": ">=100 <102", + "magento/module-catalog": ">=101 <104", + "magento/module-catalog-inventory": "100.*", + "magento/module-catalog-rule": ">=100 <102", + "magento/module-checkout": "100.*", + "magento/module-config": ">=100 <103", + "magento/module-cron": "100.*", + "magento/module-customer": ">=100 <103", + "magento/module-directory": "100.*", + "magento/module-eav": ">=100 <103", + "magento/module-email": ">=100 <102", + "magento/module-newsletter": "100.*", + "magento/module-payment": "100.*", + "magento/module-product-alert": "100.*", + "magento/module-quote": ">=100 <102", + "magento/module-reports": "100.*", + "magento/module-review": ">=100 <102", + "magento/module-sales": ">=100 <103", + "magento/module-sales-rule": ">=100 <102", + "magento/module-send-friend": "100.*", + "magento/module-shipping": "100.*", + "magento/module-store": ">=100 <102", + "magento/module-ui": ">=100 <102", + "magento/module-user": ">=100 <102", + "magento/module-wishlist": ">=100 <102" + }, + "require-dev": { + "magento/marketplace-eqp": "dev-master", + "phpmd/phpmd": "@stable", + "squizlabs/php_codesniffer": "@stable" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Dotdigitalgroup\\Email\\": "" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Calin Diacon", + "email": "calin.diacon@dotmailer.com" + }, + { + "name": "Adeel Qamar", + "email": "adeel.qamar@dotmailer.com" + }, + { + "name": "Zygimantas", + "email": "zygimantas.simkus@dotmailer.com" + } + ], + "description": "dotmailer integration for magento 2" + }, + { + "name": "elasticsearch/elasticsearch", + "version": "v6.1.0", + "source": { + "type": "git", + "url": "https://github.com/elastic/elasticsearch-php.git", + "reference": "b237a37b2cdf23a5a17fd3576cdea771394ad00d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/elastic/elasticsearch-php/zipball/b237a37b2cdf23a5a17fd3576cdea771394ad00d", + "reference": "b237a37b2cdf23a5a17fd3576cdea771394ad00d", + "shasum": "" + }, + "require": { + "ext-json": ">=1.3.7", + "guzzlehttp/ringphp": "~1.0", + "php": "^7.0", + "psr/log": "~1.0" + }, + "require-dev": { + "cpliakas/git-wrapper": "~1.0", + "doctrine/inflector": "^1.1", + "mockery/mockery": "0.9.4", + "phpstan/phpstan-shim": "0.8.3", + "phpunit/phpunit": "6.3.0", + "squizlabs/php_codesniffer": "3.0.2", + "symfony/finder": "^2.8", + "symfony/yaml": "^2.8" + }, + "suggest": { + "ext-curl": "*", + "monolog/monolog": "Allows for client-level logging and tracing" + }, + "type": "library", + "autoload": { + "psr-4": { + "Elasticsearch\\": "src/Elasticsearch/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Zachary Tong" + } + ], + "description": "PHP Client for Elasticsearch", + "keywords": [ + "client", + "elasticsearch", + "search" + ], + "time": "2019-01-08T18:53:46+00:00" + }, + { + "name": "endroid/qr-code", + "version": "2.5.0", + "source": { + "type": "git", + "url": "https://github.com/endroid/qr-code.git", + "reference": "a9a57ab57ac75928fcdcfb2a71179963ff6fe573" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/endroid/qr-code/zipball/a9a57ab57ac75928fcdcfb2a71179963ff6fe573", + "reference": "a9a57ab57ac75928fcdcfb2a71179963ff6fe573", + "shasum": "" + }, + "require": { + "bacon/bacon-qr-code": "^1.0.3", + "ext-gd": "*", + "khanamiryan/qrcode-detector-decoder": "^1.0", + "myclabs/php-enum": "^1.5", + "php": ">=5.6", + "symfony/options-resolver": ">=2.7", + "symfony/property-access": ">=2.7" + }, + "require-dev": { + "phpunit/phpunit": ">=5.7", + "symfony/asset": ">=2.7", + "symfony/browser-kit": ">=2.7", + "symfony/finder": ">=2.7", + "symfony/framework-bundle": ">=2.7", + "symfony/http-kernel": ">=2.7", + "symfony/templating": ">=2.7", + "symfony/yaml": ">=2.7" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Endroid\\QrCode\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeroen van den Enden", + "email": "info@endroid.nl", + "homepage": "http://endroid.nl/" + } + ], + "description": "Endroid QR Code", + "homepage": "https://github.com/endroid/QrCode", + "keywords": [ + "bundle", + "code", + "endroid", + "flex", + "qr", + "qrcode", + "symfony" + ], + "time": "2017-10-22T18:56:00+00:00" + }, + { + "name": "google/recaptcha", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/google/recaptcha.git", + "reference": "e7add3be59211482ecdb942288f52da64a35f61a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/google/recaptcha/zipball/e7add3be59211482ecdb942288f52da64a35f61a", + "reference": "e7add3be59211482ecdb942288f52da64a35f61a", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.2.20|^2.12", + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^4.8.36|^5.7.27|^6.59|^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "ReCaptcha\\": "src/ReCaptcha" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Client library for reCAPTCHA, a free service that protects websites from spam and abuse.", + "homepage": "https://www.google.com/recaptcha/", + "keywords": [ + "Abuse", + "captcha", + "recaptcha", + "spam" + ], + "time": "2018-08-05T09:31:53+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.3.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.3-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2018-04-22T15:46:56+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.5.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "9f83dded91781a01c63574e387eaa769be769115" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", + "reference": "9f83dded91781a01c63574e387eaa769be769115", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2018-12-04T20:46:45+00:00" + }, + { + "name": "guzzlehttp/ringphp", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/RingPHP.git", + "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/5e2a174052995663dd68e6b5ad838afd47dd615b", + "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b", + "shasum": "" + }, + "require": { + "guzzlehttp/streams": "~3.0", + "php": ">=5.4.0", + "react/promise": "~2.0" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-curl": "Guzzle will use specific adapters if cURL is present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Ring\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.", + "time": "2018-07-31T13:22:33+00:00" + }, + { + "name": "guzzlehttp/streams", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/streams.git", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Stream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple abstraction over streams of data", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "Guzzle", + "stream" + ], + "time": "2014-10-12T19:18:40+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "5.2.8", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "reference": "dcb6e1006bb5fd1e392b4daa68932880f37550d4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2019-01-14T23:55:14+00:00" + }, + { + "name": "khanamiryan/qrcode-detector-decoder", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/khanamiryan/php-qrcode-detector-decoder.git", + "reference": "a75482d3bc804e3f6702332bfda6cccbb0dfaa76" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/khanamiryan/php-qrcode-detector-decoder/zipball/a75482d3bc804e3f6702332bfda6cccbb0dfaa76", + "reference": "a75482d3bc804e3f6702332bfda6cccbb0dfaa76", + "shasum": "" + }, + "require": { + "php": "^5.6|^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Zxing\\": "lib/" + }, + "files": [ + "lib/Common/customFunctions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ashot Khanamiryan", + "email": "a.khanamiryan@gmail.com", + "homepage": "https://github.com/khanamiryan", + "role": "Developer" + } + ], + "description": "QR code decoder / reader", + "homepage": "https://github.com/khanamiryan/php-qrcode-detector-decoder/", + "keywords": [ + "barcode", + "qr", + "zxing" + ], + "time": "2018-04-26T11:41:33+00:00" + }, + { + "name": "klarna/m2-payments", + "version": "7.1.0", + "require": { + "klarna/module-core": "5.1.0", + "klarna/module-kp": "6.1.0", + "klarna/module-ordermanagement": "5.0.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.10.1", + "jakub-onderka/php-console-highlighter": "^0.3.2", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "lusitanian/oauth": "~0.8.10", + "magento-ecg/coding-standard": "^3.1", + "mikey179/vfsstream": "^1.6", + "pdepend/pdepend": "^2.5", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "@stable", + "phpro/grumphp": "^0.14", + "phpunit/phpunit": "~6.2.0", + "sebastian/phpcpd": "~3.0.0", + "squizlabs/php_codesniffer": "^3.2", + "theseer/phpdox": "^0.10.1" + }, + "type": "metapackage", + "license": [ + "Apache-2.0" + ], + "description": "Klarna Payments for Magento 2 (CE & EE)" + }, + { + "name": "klarna/module-core", + "version": "5.1.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/klarna/module-core/klarna-module-core-5.1.0.0.zip", + "reference": null, + "shasum": "050cc44c0077880e6a364e93f60d607cfd33c813" + }, + "require": { + "guzzlehttp/guzzle": "^6.0", + "magento/framework": "^100.1||^101.0||^102.0", + "magento/module-bundle": "^100.1", + "magento/module-catalog": "^102.0||^103.0", + "magento/module-config": "^101.0||^102.0", + "magento/module-customer": "^101.0||^102.0", + "magento/module-directory": "^100.1", + "magento/module-payment": "^100.2", + "magento/module-quote": "^101.0", + "magento/module-sales": "^101.0||^102.0", + "magento/module-store": "^100.1||^101.0", + "magento/module-tax": "^100.1", + "php": "~7.0.13|~7.1.0|~7.2.0", + "psr/log": "^1.0", + "ramsey/uuid": "3.6.1||^3.7" + }, + "conflict": { + "magento/module-payment": "100.0.8 || 100.1.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.10.1", + "jakub-onderka/php-console-highlighter": "^0.3.2", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "lusitanian/oauth": "~0.8.10", + "magento-ecg/coding-standard": "^3.1", + "mikey179/vfsstream": "^1.6", + "pdepend/pdepend": "^2.5", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "@stable", + "phpro/grumphp": "^0.14", + "phpunit/phpunit": "~6.2.0", + "sebastian/phpcpd": "~3.0", + "squizlabs/php_codesniffer": "^3.2", + "theseer/phpdox": "^0.10.1" + }, + "type": "magento2-module", + "autoload": { + "psr-4": { + "Klarna\\Core\\": "." + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Joe Constant", + "email": "joe.constant@klarna.com" + }, + { + "name": "Jason Grim", + "email": "jason.grim@klarna.com" + }, + { + "name": "Fei Chen", + "email": "fei.chen@klarna.com" + } + ], + "description": "Klarna Core Magento 2 Extension" + }, + { + "name": "klarna/module-kp", + "version": "6.1.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/klarna/module-kp/klarna-module-kp-6.1.0.0.zip", + "reference": null, + "shasum": "cf1911ce01da43e226fced1d3d72baec66875393" + }, + "require": { + "klarna/module-core": "^4.0||^5.0", + "klarna/module-ordermanagement": "^4.0||^5.0", + "magento/framework": "^100.1||^101.0||^102.0", + "magento/module-checkout": "^100.1", + "magento/module-customer": "^100.1||^101.0||^102.0", + "magento/module-directory": "^100.1", + "magento/module-payment": "^100.1", + "magento/module-quote": "^100.1||^101.0", + "magento/module-sales": "^100.1||^101.0||^102.0", + "magento/module-store": "^100.1||^101.0", + "php": "~7.0.13|~7.1.0|~7.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.10.1", + "jakub-onderka/php-console-highlighter": "^0.3.2", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "lusitanian/oauth": "~0.8.10", + "magento-ecg/coding-standard": "^3.1", + "magento/framework": "^101.0.0", + "mikey179/vfsstream": "^1.6", + "pdepend/pdepend": "^2.5", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "@stable", + "phpro/grumphp": "^0.14", + "phpunit/phpunit": "~6.2.0", + "sebastian/phpcpd": "~3.0", + "squizlabs/php_codesniffer": "^3.2", + "theseer/phpdox": "^0.10.1" + }, + "type": "magento2-module", + "autoload": { + "psr-4": { + "Klarna\\Kp\\": "" + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Joe Constant", + "email": "joe.constant@klarna.com" + }, + { + "name": "Jason Grim", + "email": "jason.grim@klarna.com" + }, + { + "name": "Fei Chen", + "email": "fei.chen@klarna.com" + }, + { + "name": "Dario Kassler", + "email": "dario.kassler@klarna.com" + } + ], + "description": "Klarna Payments Magento 2 Extension" + }, + { + "name": "klarna/module-ordermanagement", + "version": "5.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/klarna/module-ordermanagement/klarna-module-ordermanagement-5.0.3.0.zip", + "reference": null, + "shasum": "5a73ab885349d4c7f9a56dc9465c4ff712e808ca" + }, + "require": { + "klarna/module-core": "^4.0||^5.0", + "magento/framework": "^102.0", + "magento/module-payment": "^100.1", + "magento/module-quote": "^100.1||^101.0||^102.0", + "magento/module-sales": "^100.1||^101.0||^102.0", + "magento/module-store": "^100.1||^101.0", + "php": "~7.1.0|~7.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.10.1", + "jakub-onderka/php-console-highlighter": "^0.3.2", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "lusitanian/oauth": "~0.8.10", + "magento-ecg/coding-standard": "^3.1", + "magento/framework": "^101.0.0", + "mikey179/vfsstream": "^1.6", + "pdepend/pdepend": "^2.5", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "@stable", + "phpro/grumphp": "^0.14", + "phpunit/phpunit": "~6.2.0", + "sebastian/phpcpd": "~3.0", + "squizlabs/php_codesniffer": "^3.2", + "theseer/phpdox": "^0.10.1" + }, + "type": "magento2-module", + "autoload": { + "psr-4": { + "Klarna\\Ordermanagement\\": "." + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Joe Constant", + "email": "joe.constant@klarna.com" + }, + { + "name": "Jason Grim", + "email": "jason.grim@klarna.com" + }, + { + "name": "Fei Chen", + "email": "fei.chen@klarna.com" + }, + { + "name": "Dario Kassler", + "email": "dario.kassler@klarna.com" + } + ], + "description": "Klarna Order Management Magento 2 Extension" + }, + { + "name": "magento/composer", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/magento/composer.git", + "reference": "6fb9eb3dd72a5e70aa53983f132f8e1883e79978" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/magento/composer/zipball/6fb9eb3dd72a5e70aa53983f132f8e1883e79978", + "reference": "6fb9eb3dd72a5e70aa53983f132f8e1883e79978", + "shasum": "" + }, + "require": { + "composer/composer": "^1.6", + "php": "~7.1.3|~7.2.0", + "symfony/console": "~4.0.0 || ~4.1.0" + }, + "require-dev": { + "phpunit/phpunit": "~7.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Magento\\Composer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Magento composer library helps to instantiate Composer application and run composer commands.", + "time": "2018-06-29T18:46:51+00:00" + }, + { + "name": "magento/framework", + "version": "102.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/framework/magento-framework-102.0.1.0.zip", + "reference": null, + "shasum": "399d85904a005db76ce518a265cfdaff68d02984" + }, + "require": { + "colinmollenhour/php-redis-session-abstract": "~1.4.0", + "composer/composer": "^1.6", + "ext-bcmath": "*", + "ext-curl": "*", + "ext-dom": "*", + "ext-gd": "*", + "ext-hash": "*", + "ext-iconv": "*", + "ext-openssl": "*", + "ext-simplexml": "*", + "ext-spl": "*", + "ext-xsl": "*", + "lib-libxml": "*", + "magento/zendframework1": "~1.14.0", + "monolog/monolog": "^1.17", + "oyejorge/less.php": "~1.7.0", + "php": "~7.1.3||~7.2.0", + "symfony/console": "~4.1.0", + "symfony/process": "~4.1.0", + "tedivm/jshrink": "~1.3.0", + "zendframework/zend-code": "~3.3.0", + "zendframework/zend-crypt": "^2.6.0", + "zendframework/zend-http": "^2.6.0", + "zendframework/zend-mvc": "~2.7.0", + "zendframework/zend-stdlib": "^2.7.7", + "zendframework/zend-uri": "^2.5.1", + "zendframework/zend-validator": "^2.6.0" + }, + "suggest": { + "ext-imagick": "Use Image Magick >=3.0.0 as an optional alternative image processing library" + }, + "type": "magento2-library", + "autoload": { + "psr-4": { + "Magento\\Framework\\": "" + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/framework-amqp", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/framework-amqp/magento-framework-amqp-100.3.1.0.zip", + "reference": null, + "shasum": "40a4d6799c43dd9eed1f7dba4ca2eb6b26518966" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0", + "php-amqplib/php-amqplib": "~2.7.0" + }, + "type": "magento2-library", + "autoload": { + "psr-4": { + "Magento\\Framework\\Amqp\\": "" + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/framework-bulk", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/framework-bulk/magento-framework-bulk-100.3.1.0.zip", + "reference": null, + "shasum": "efa487ceac1c91824797e1f8a87d9b6bd2fdfa3a" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-library", + "autoload": { + "psr-4": { + "Magento\\Framework\\Bulk\\": "" + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/framework-message-queue", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/framework-message-queue/magento-framework-message-queue-100.3.1.0.zip", + "reference": null, + "shasum": "51901caed892f2e26241677df2f72deaa010a1a3" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-library", + "autoload": { + "psr-4": { + "Magento\\Framework\\MessageQueue\\": "" + }, + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/inventory-composer-installer", + "version": "1.1.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/inventory-composer-installer/magento-inventory-composer-installer-1.1.0.0.zip", + "reference": null, + "shasum": "c52566b82926bb37487a2b3cb2c8ae091be9be9e" + }, + "require": { + "composer-plugin-api": "^1.1", + "magento/framework": "*" + }, + "require-dev": { + "composer/composer": "*" + }, + "type": "composer-plugin", + "extra": { + "class": "Magento\\InventoryComposerInstaller\\Plugin" + }, + "autoload": { + "psr-4": { + "Magento\\InventoryComposerInstaller\\": "src" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Composer plugin for Magento Multi Source Inventory" + }, + { + "name": "magento/inventory-composer-metapackage", + "version": "1.1.1", + "require": { + "magento/inventory-composer-installer": "1.1.0", + "magento/module-inventory": "1.0.4", + "magento/module-inventory-admin-ui": "1.0.4", + "magento/module-inventory-api": "1.0.4", + "magento/module-inventory-bundle-product": "1.0.3", + "magento/module-inventory-bundle-product-admin-ui": "1.0.3", + "magento/module-inventory-cache": "1.0.3", + "magento/module-inventory-catalog": "1.0.4", + "magento/module-inventory-catalog-admin-ui": "1.0.4", + "magento/module-inventory-catalog-api": "1.0.4", + "magento/module-inventory-catalog-search": "1.0.4", + "magento/module-inventory-configurable-product": "1.0.4", + "magento/module-inventory-configurable-product-admin-ui": "1.0.4", + "magento/module-inventory-configurable-product-indexer": "1.0.3", + "magento/module-inventory-configuration": "1.0.4", + "magento/module-inventory-configuration-api": "1.0.4", + "magento/module-inventory-distance-based-source-selection": "1.0.0", + "magento/module-inventory-distance-based-source-selection-admin-ui": "1.0.0", + "magento/module-inventory-distance-based-source-selection-api": "1.0.0", + "magento/module-inventory-elasticsearch": "1.0.0", + "magento/module-inventory-grouped-product": "1.0.3", + "magento/module-inventory-grouped-product-admin-ui": "1.0.4", + "magento/module-inventory-grouped-product-indexer": "1.0.3", + "magento/module-inventory-import-export": "1.0.4", + "magento/module-inventory-indexer": "1.0.4", + "magento/module-inventory-low-quantity-notification": "1.0.4", + "magento/module-inventory-low-quantity-notification-admin-ui": "1.0.4", + "magento/module-inventory-low-quantity-notification-api": "1.0.3", + "magento/module-inventory-multi-dimensional-indexer-api": "1.0.4", + "magento/module-inventory-product-alert": "1.0.4", + "magento/module-inventory-reservations": "1.0.4", + "magento/module-inventory-reservations-api": "1.0.3", + "magento/module-inventory-sales": "1.0.4", + "magento/module-inventory-sales-admin-ui": "1.0.4", + "magento/module-inventory-sales-api": "1.0.4", + "magento/module-inventory-sales-frontend-ui": "1.0.3", + "magento/module-inventory-setup-fixture-generator": "1.0.0", + "magento/module-inventory-shipping": "1.0.4", + "magento/module-inventory-shipping-admin-ui": "1.0.4", + "magento/module-inventory-source-deduction-api": "1.0.4", + "magento/module-inventory-source-selection": "1.0.4", + "magento/module-inventory-source-selection-api": "1.1.0" + }, + "type": "metapackage", + "description": "Metapackage with Magento Inventory modules for simple installation" + }, + { + "name": "magento/language-de_de", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-de_de/magento-language-de_de-100.3.1.0.zip", + "reference": null, + "shasum": "4fa504af2bb938cadea2376cb17caa0832791bfa" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "German (Germany) language" + }, + { + "name": "magento/language-en_us", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-en_us/magento-language-en_us-100.3.1.0.zip", + "reference": null, + "shasum": "13e74a7d83dbd49dec496aeaedc5ad0dc82dacd8" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "English (United States) language" + }, + { + "name": "magento/language-es_es", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-es_es/magento-language-es_es-100.3.1.0.zip", + "reference": null, + "shasum": "ea3dd068fe9caad30835e9dff5a2aab96032e4c0" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Spanish (Spain) language" + }, + { + "name": "magento/language-fr_fr", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-fr_fr/magento-language-fr_fr-100.3.1.0.zip", + "reference": null, + "shasum": "9ab44b7845abb6f1b031864c815de6ae836dbaf7" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "French (France) language" + }, + { + "name": "magento/language-nl_nl", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-nl_nl/magento-language-nl_nl-100.3.1.0.zip", + "reference": null, + "shasum": "060a175c553e80abf77f877a6d92746658e270f0" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Dutch (Netherlands) language" + }, + { + "name": "magento/language-pt_br", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-pt_br/magento-language-pt_br-100.3.1.0.zip", + "reference": null, + "shasum": "50c59308621d44fe8def4a93253087fa69bdae70" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Portuguese (Brazil) language" + }, + { + "name": "magento/language-zh_hans_cn", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/language-zh_hans_cn/magento-language-zh_hans_cn-100.3.1.0.zip", + "reference": null, + "shasum": "8b2e9a40c956bc05c50b02ea54e10c00d9d24d78" + }, + "require": { + "magento/framework": "102.0.*" + }, + "type": "magento2-language", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Chinese (China) language" + }, + { + "name": "magento/magento-composer-installer", + "version": "0.1.13", + "source": { + "type": "git", + "url": "https://github.com/magento/magento-composer-installer.git", + "reference": "8b6c32f53b4944a5d6656e86344cd0f9784709a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/magento/magento-composer-installer/zipball/8b6c32f53b4944a5d6656e86344cd0f9784709a1", + "reference": "8b6c32f53b4944a5d6656e86344cd0f9784709a1", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0" + }, + "replace": { + "magento-hackathon/magento-composer-installer": "*" + }, + "require-dev": { + "composer/composer": "*@dev", + "firegento/phpcs": "dev-patch-1", + "mikey179/vfsstream": "*", + "phpunit/phpunit": "*", + "phpunit/phpunit-mock-objects": "dev-master", + "squizlabs/php_codesniffer": "1.4.7", + "symfony/process": "*" + }, + "type": "composer-plugin", + "extra": { + "composer-command-registry": [ + "MagentoHackathon\\Composer\\Magento\\Command\\DeployCommand" + ], + "class": "MagentoHackathon\\Composer\\Magento\\Plugin" + }, + "autoload": { + "psr-0": { + "MagentoHackathon\\Composer\\Magento": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "OSL-3.0" + ], + "authors": [ + { + "name": "Vinai Kopp", + "email": "vinai@netzarbeiter.com" + }, + { + "name": "Daniel Fahlke aka Flyingmana", + "email": "flyingmana@googlemail.com" + }, + { + "name": "Jörg Weller", + "email": "weller@flagbit.de" + }, + { + "name": "Karl Spies", + "email": "karl.spies@gmx.net" + }, + { + "name": "Tobias Vogt", + "email": "tobi@webguys.de" + }, + { + "name": "David Fuhr", + "email": "fuhr@flagbit.de" + } + ], + "description": "Composer installer for Magento modules", + "homepage": "https://github.com/magento/magento-composer-installer", + "keywords": [ + "composer-installer", + "magento" + ], + "time": "2017-12-29T16:45:24+00:00" + }, + { + "name": "magento/magento2-base", + "version": "2.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/magento2-base/magento-magento2-base-2.3.1.0.zip", + "reference": null, + "shasum": "7877828bb63a7cfca5c62c6c6caf6a9c05ab154b" + }, + "require": { + "braintree/braintree_php": "3.35.0", + "composer/composer": "^1.6", + "ext-intl": "*", + "ext-mbstring": "*", + "magento/composer": "~1.4.0", + "magento/magento-composer-installer": "*", + "magento/zendframework1": "~1.14.1", + "monolog/monolog": "^1.17", + "oyejorge/less.php": "~1.7.0", + "pelago/emogrifier": "^2.0.0", + "php": "~7.1.3||~7.2.0", + "phpseclib/phpseclib": "2.0.*", + "symfony/console": "~4.1.0", + "symfony/event-dispatcher": "~4.1.0", + "tedivm/jshrink": "~1.3.0", + "tubalmartin/cssmin": "4.1.1", + "zendframework/zend-code": "~3.3.0", + "zendframework/zend-config": "^2.6.0", + "zendframework/zend-console": "^2.6.0", + "zendframework/zend-crypt": "^2.6.0", + "zendframework/zend-di": "^2.6.1", + "zendframework/zend-eventmanager": "^2.6.3", + "zendframework/zend-form": "^2.10.0", + "zendframework/zend-http": "^2.6.0", + "zendframework/zend-i18n": "^2.7.3", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-log": "^2.9.1", + "zendframework/zend-modulemanager": "^2.7", + "zendframework/zend-mvc": "~2.7.0", + "zendframework/zend-serializer": "^2.7.2", + "zendframework/zend-server": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.8", + "zendframework/zend-soap": "^2.7.0", + "zendframework/zend-stdlib": "^2.7.7", + "zendframework/zend-text": "^2.6.0", + "zendframework/zend-uri": "^2.5.1", + "zendframework/zend-validator": "^2.6.0", + "zendframework/zend-view": "~2.10.0" + }, + "conflict": { + "gene/bluefoot": "*" + }, + "replace": { + "blueimp/jquery-file-upload": "5.6.14", + "components/jquery": "1.11.0", + "components/jqueryui": "1.10.4", + "tinymce/tinymce": "3.4.7", + "trentrichardson/jquery-timepicker-addon": "1.4.3", + "twbs/bootstrap": "3.1.0" + }, + "type": "magento2-component", + "extra": { + "component_paths": { + "trentrichardson/jquery-timepicker-addon": "lib/web/jquery/jquery-ui-timepicker-addon.js", + "components/jquery": [ + "lib/web/jquery.js", + "lib/web/jquery/jquery.min.js", + "lib/web/jquery/jquery-migrate.js" + ], + "blueimp/jquery-file-upload": "lib/web/jquery/fileUploader", + "components/jqueryui": "lib/web/jquery/jquery-ui.js", + "twbs/bootstrap": "lib/web/jquery/jquery.tabs.js", + "tinymce/tinymce": "lib/web/tiny_mce_4" + }, + "map": [ [ - "lib/web/prototype", - "lib/web/prototype" + ".github", + ".github" ], [ - "lib/web/moment.js", - "lib/web/moment.js" + ".htaccess", + ".htaccess" ], [ - "lib/web/i18n", - "lib/web/i18n" + ".htaccess.sample", + ".htaccess.sample" ], [ - "lib/web/varien", - "lib/web/varien" + ".php_cs.dist", + ".php_cs.dist" ], [ - "lib/web/blank.html", - "lib/web/blank.html" + ".travis.yml", + ".travis.yml" ], [ - "lib/web/scriptaculous", - "lib/web/scriptaculous" + ".user.ini", + ".user.ini" ], [ - "lib/web/ko", - "lib/web/ko" + "COPYING.txt", + "COPYING.txt" ], [ - "lib/web/modernizr", - "lib/web/modernizr" + "Gruntfile.js.sample", + "Gruntfile.js.sample" ], [ - "lib/web/date-format-normalizer.js", - "lib/web/date-format-normalizer.js" + "LICENSE.txt", + "LICENSE.txt" ], [ - "lib/web/spacer.gif", - "lib/web/spacer.gif" + "LICENSE_AFL.txt", + "LICENSE_AFL.txt" ], [ - "lib/web/images", - "lib/web/images" + "app/.htaccess", + "app/.htaccess" ], [ - "lib/web/matchMedia.js", - "lib/web/matchMedia.js" + "app/autoload.php", + "app/autoload.php" ], [ - "lib/web/extjs", - "lib/web/extjs" + "app/bootstrap.php", + "app/bootstrap.php" ], [ - "lib/web/css", - "lib/web/css" + "app/design/adminhtml/Magento", + "app/design/adminhtml/Magento" ], [ - "lib/web/fonts", - "lib/web/fonts" + "app/design/frontend/Magento", + "app/design/frontend/Magento" ], [ - "lib/web/jquery", - "lib/web/jquery" + "app/etc/NonComposerComponentRegistration.php", + "app/etc/NonComposerComponentRegistration.php" ], [ - "lib/web/less", - "lib/web/less" + "app/etc/db_schema.xml", + "app/etc/db_schema.xml" ], [ - "lib/web/jquery.js", - "lib/web/jquery.js" + "app/etc/di.xml", + "app/etc/di.xml" ], [ - "lib/web/underscore.js", - "lib/web/underscore.js" + "app/etc/registration_globlist.php", + "app/etc/registration_globlist.php" ], [ - "lib/web/legacy-build.min.js", - "lib/web/legacy-build.min.js" + "app/functions.php", + "app/functions.php" ], [ - "lib/web/mage", - "lib/web/mage" + "auth.json.sample", + "auth.json.sample" ], [ - "lib/web/tiny_mce", - "lib/web/tiny_mce" + "bin/.htaccess", + "bin/.htaccess" ], [ - ".htaccess.sample", - ".htaccess.sample" + "bin/magento", + "bin/magento" ], [ - "CONTRIBUTING.md", - "CONTRIBUTING.md" + "dev/.htaccess", + "dev/.htaccess" ], [ - "package.json", - "package.json" + "dev/tests/acceptance", + "dev/tests/acceptance" ], [ - "nginx.conf.sample", - "nginx.conf.sample" + "dev/tests/api-functional/.gitignore", + "dev/tests/api-functional/.gitignore" ], [ - "var/.htaccess", - "var/.htaccess" + "dev/tests/api-functional/_files", + "dev/tests/api-functional/_files" ], [ - "pub/media/downloadable/.htaccess", - "pub/media/downloadable/.htaccess" + "dev/tests/api-functional/config", + "dev/tests/api-functional/config" ], [ - "pub/media/theme_customization/.htaccess", - "pub/media/theme_customization/.htaccess" + "dev/tests/api-functional/framework", + "dev/tests/api-functional/framework" ], [ - "pub/media/customer/.htaccess", - "pub/media/customer/.htaccess" + "dev/tests/api-functional/phpunit_graphql.xml.dist", + "dev/tests/api-functional/phpunit_graphql.xml.dist" ], [ - "pub/media/.htaccess", - "pub/media/.htaccess" + "dev/tests/api-functional/phpunit_rest.xml.dist", + "dev/tests/api-functional/phpunit_rest.xml.dist" ], [ - "pub/errors", - "pub/errors" + "dev/tests/api-functional/phpunit_soap.xml.dist", + "dev/tests/api-functional/phpunit_soap.xml.dist" ], [ - "pub/opt", - "pub/opt" + "dev/tests/api-functional/testsuite/Magento", + "dev/tests/api-functional/testsuite/Magento" ], [ - "pub/get.php", - "pub/get.php" + "dev/tests/error_handler.php", + "dev/tests/error_handler.php" + ], + [ + "dev/tests/functional/.gitignore", + "dev/tests/functional/.gitignore" + ], + [ + "dev/tests/functional/.htaccess.sample", + "dev/tests/functional/.htaccess.sample" + ], + [ + "dev/tests/functional/bootstrap.php", + "dev/tests/functional/bootstrap.php" + ], + [ + "dev/tests/functional/composer.json", + "dev/tests/functional/composer.json" + ], + [ + "dev/tests/functional/credentials.xml.dist", + "dev/tests/functional/credentials.xml.dist" + ], + [ + "dev/tests/functional/etc", + "dev/tests/functional/etc" + ], + [ + "dev/tests/functional/isolation.php", + "dev/tests/functional/isolation.php" + ], + [ + "dev/tests/functional/lib", + "dev/tests/functional/lib" + ], + [ + "dev/tests/functional/phpunit.xml.dist", + "dev/tests/functional/phpunit.xml.dist" + ], + [ + "dev/tests/functional/tests", + "dev/tests/functional/tests" + ], + [ + "dev/tests/functional/testsuites/Magento", + "dev/tests/functional/testsuites/Magento" + ], + [ + "dev/tests/functional/utils", + "dev/tests/functional/utils" + ], + [ + "dev/tests/integration/.gitignore", + "dev/tests/integration/.gitignore" + ], + [ + "dev/tests/integration/_files", + "dev/tests/integration/_files" + ], + [ + "dev/tests/integration/bin", + "dev/tests/integration/bin" + ], + [ + "dev/tests/integration/etc", + "dev/tests/integration/etc" + ], + [ + "dev/tests/integration/framework", + "dev/tests/integration/framework" + ], + [ + "dev/tests/integration/phpunit.xml.dist", + "dev/tests/integration/phpunit.xml.dist" + ], + [ + "dev/tests/integration/testsuite/Magento", + "dev/tests/integration/testsuite/Magento" + ], + [ + "dev/tests/integration/tmp", + "dev/tests/integration/tmp" + ], + [ + "dev/tests/js", + "dev/tests/js" + ], + [ + "dev/tests/setup-integration", + "dev/tests/setup-integration" + ], + [ + "dev/tests/static/.gitignore", + "dev/tests/static/.gitignore" + ], + [ + "dev/tests/static/framework", + "dev/tests/static/framework" + ], + [ + "dev/tests/static/get_github_changes.php", + "dev/tests/static/get_github_changes.php" + ], + [ + "dev/tests/static/phpunit-all.xml.dist", + "dev/tests/static/phpunit-all.xml.dist" + ], + [ + "dev/tests/static/phpunit.xml.dist", + "dev/tests/static/phpunit.xml.dist" + ], + [ + "dev/tests/static/testsuite/Magento", + "dev/tests/static/testsuite/Magento" + ], + [ + "dev/tests/static/tmp", + "dev/tests/static/tmp" ], [ - "pub/static/.htaccess", - "pub/static/.htaccess" + "dev/tests/unit/.gitignore", + "dev/tests/unit/.gitignore" ], [ - "pub/.htaccess", - "pub/.htaccess" + "dev/tests/unit/framework", + "dev/tests/unit/framework" ], [ - "pub/static.php", - "pub/static.php" + "dev/tests/unit/phpunit.xml.dist", + "dev/tests/unit/phpunit.xml.dist" ], [ - "pub/cron.php", - "pub/cron.php" + "dev/tests/unit/tmp", + "dev/tests/unit/tmp" ], [ - "pub/index.php", - "pub/index.php" + "dev/tools", + "dev/tools" ], [ - ".php_cs", - ".php_cs" + "dev/travis", + "dev/travis" ], [ - "COPYING.txt", - "COPYING.txt" + "generated", + "generated" ], [ - "dev/shell", - "dev/shell" + "grunt-config.json.sample", + "grunt-config.json.sample" ], [ - "dev/tools", - "dev/tools" + "index.php", + "index.php" ], [ - "dev/tests/integration/phpunit.xml.dist", - "dev/tests/integration/phpunit.xml.dist" + "lib/.htaccess", + "lib/.htaccess" ], [ - "dev/tests/integration/etc", - "dev/tests/integration/etc" + "lib/internal/GnuFreeFont", + "lib/internal/GnuFreeFont" ], [ - "dev/tests/integration/tmp", - "dev/tests/integration/tmp" + "lib/internal/LinLibertineFont", + "lib/internal/LinLibertineFont" ], [ - "dev/tests/integration/framework", - "dev/tests/integration/framework" + "lib/web/FormData.js", + "lib/web/FormData.js" ], [ - "dev/tests/integration/testsuite/Magento", - "dev/tests/integration/testsuite/Magento" + "lib/web/MutationObserver.js", + "lib/web/MutationObserver.js" ], [ - "dev/tests/integration/.gitignore", - "dev/tests/integration/.gitignore" + "lib/web/blank.html", + "lib/web/blank.html" ], [ - "dev/tests/functional/composer.json", - "dev/tests/functional/composer.json" + "lib/web/css", + "lib/web/css" ], [ - "dev/tests/functional/lib", - "dev/tests/functional/lib" + "lib/web/es6-collections.js", + "lib/web/es6-collections.js" ], [ - "dev/tests/functional/phpunit.xml.dist", - "dev/tests/functional/phpunit.xml.dist" + "lib/web/extjs", + "lib/web/extjs" ], [ - "dev/tests/functional/composer.json.dist", - "dev/tests/functional/composer.json.dist" + "lib/web/fonts", + "lib/web/fonts" ], [ - "dev/tests/functional/bootstrap.php", - "dev/tests/functional/bootstrap.php" + "lib/web/fotorama", + "lib/web/fotorama" ], [ - "dev/tests/functional/credentials.xml.dist", - "dev/tests/functional/credentials.xml.dist" + "lib/web/i18n", + "lib/web/i18n" ], [ - "dev/tests/functional/tests", - "dev/tests/functional/tests" + "lib/web/images", + "lib/web/images" ], [ - "dev/tests/functional/utils", - "dev/tests/functional/utils" + "lib/web/jquery.js", + "lib/web/jquery.js" ], [ - "dev/tests/functional/isolation.php", - "dev/tests/functional/isolation.php" + "lib/web/jquery", + "lib/web/jquery" ], [ - "dev/tests/functional/etc", - "dev/tests/functional/etc" + "lib/web/knockoutjs", + "lib/web/knockoutjs" ], [ - "dev/tests/functional/.htaccess", - "dev/tests/functional/.htaccess" + "lib/web/legacy-build.min.js", + "lib/web/legacy-build.min.js" ], [ - "dev/tests/functional/testsuites/Magento", - "dev/tests/functional/testsuites/Magento" + "lib/web/less", + "lib/web/less" ], [ - "dev/tests/functional/.gitignore", - "dev/tests/functional/.gitignore" + "lib/web/lib", + "lib/web/lib" ], [ - "dev/tests/js/spec", - "dev/tests/js/spec" + "lib/web/mage", + "lib/web/mage" ], [ - "dev/tests/js/framework", - "dev/tests/js/framework" + "lib/web/magnifier", + "lib/web/magnifier" ], [ - "dev/tests/js/testsuite/lib", - "dev/tests/js/testsuite/lib" + "lib/web/matchMedia.js", + "lib/web/matchMedia.js" ], [ - "dev/tests/js/testsuite/mage", - "dev/tests/js/testsuite/mage" + "lib/web/modernizr", + "lib/web/modernizr" ], [ - "dev/tests/js/.gitignore", - "dev/tests/js/.gitignore" + "lib/web/moment-timezone-with-data.js", + "lib/web/moment-timezone-with-data.js" ], [ - "dev/tests/api-functional/phpunit.xml.dist", - "dev/tests/api-functional/phpunit.xml.dist" + "lib/web/moment.js", + "lib/web/moment.js" ], [ - "dev/tests/api-functional/config", - "dev/tests/api-functional/config" + "lib/web/prototype", + "lib/web/prototype" ], [ - "dev/tests/api-functional/framework", - "dev/tests/api-functional/framework" + "lib/web/requirejs", + "lib/web/requirejs" ], [ - "dev/tests/api-functional/_files", - "dev/tests/api-functional/_files" + "lib/web/scriptaculous", + "lib/web/scriptaculous" ], [ - "dev/tests/api-functional/testsuite/Magento", - "dev/tests/api-functional/testsuite/Magento" + "lib/web/spacer.gif", + "lib/web/spacer.gif" ], [ - "dev/tests/api-functional/.gitignore", - "dev/tests/api-functional/.gitignore" + "lib/web/tiny_mce_4", + "lib/web/tiny_mce_4" ], [ - "dev/tests/unit/phpunit.xml.dist", - "dev/tests/unit/phpunit.xml.dist" + "lib/web/underscore.js", + "lib/web/underscore.js" ], [ - "dev/tests/unit/tmp", - "dev/tests/unit/tmp" + "lib/web/varien", + "lib/web/varien" ], [ - "dev/tests/unit/framework", - "dev/tests/unit/framework" + "nginx.conf.sample", + "nginx.conf.sample" ], [ - "dev/tests/unit/.gitignore", - "dev/tests/unit/.gitignore" + "package.json.sample", + "package.json.sample" ], [ - "dev/tests/static/phpunit-all.xml.dist", - "dev/tests/static/phpunit-all.xml.dist" + "phpserver", + "phpserver" ], [ - "dev/tests/static/phpunit.xml.dist", - "dev/tests/static/phpunit.xml.dist" + "pub/.htaccess", + "pub/.htaccess" ], [ - "dev/tests/static/framework", - "dev/tests/static/framework" + "pub/.user.ini", + "pub/.user.ini" ], [ - "dev/tests/static/testsuite/Magento", - "dev/tests/static/testsuite/Magento" + "pub/cron.php", + "pub/cron.php" ], [ - "dev/tests/static/.gitignore", - "dev/tests/static/.gitignore" + "pub/errors", + "pub/errors" ], [ - "dev/.htaccess", - "dev/.htaccess" + "pub/get.php", + "pub/get.php" ], [ - "Gruntfile.js", - "Gruntfile.js" + "pub/health_check.php", + "pub/health_check.php" ], [ - "setup", - "setup" + "pub/index.php", + "pub/index.php" ], [ - "LICENSE.txt", - "LICENSE.txt" + "pub/media/.htaccess", + "pub/media/.htaccess" ], [ - ".travis.yml", - ".travis.yml" + "pub/media/customer/.htaccess", + "pub/media/customer/.htaccess" ], [ - "app/bootstrap.php", - "app/bootstrap.php" + "pub/media/downloadable/.htaccess", + "pub/media/downloadable/.htaccess" ], [ - "app/etc/di.xml", - "app/etc/di.xml" + "pub/media/import", + "pub/media/import" ], [ - "app/.htaccess", - "app/.htaccess" + "pub/media/theme_customization/.htaccess", + "pub/media/theme_customization/.htaccess" ], [ - "app/functions.php", - "app/functions.php" + "pub/opt", + "pub/opt" ], [ - "app/autoload.php", - "app/autoload.php" + "pub/static.php", + "pub/static.php" ], [ - ".htaccess", - ".htaccess" + "pub/static/.htaccess", + "pub/static/.htaccess" ], [ - "php.ini.sample", - "php.ini.sample" + "setup", + "setup" ], [ - "index.php", - "index.php" + "var/.htaccess", + "var/.htaccess" ], [ - "LICENSE_AFL.txt", - "LICENSE_AFL.txt" + "vendor/.htaccess", + "vendor/.htaccess" ] + ], + "chmod": [ + { + "mask": "0755", + "path": "bin/magento" + } + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Magento 2 Base (Community Edition)" + }, + { + "name": "magento/module-admin-notification", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-admin-notification/magento-module-admin-notification-100.3.1.0.zip", + "reference": null, + "shasum": "e7aea76407406c35e6505d4fce2cb06be409ec64" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AdminNotification\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-advanced-pricing-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-advanced-pricing-import-export/magento-module-advanced-pricing-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "fbb58c6284f6eba01927bdcf2be6460650a8eef7" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AdvancedPricingImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-advanced-search", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-advanced-search/magento-module-advanced-search-100.3.1.0.zip", + "reference": null, + "shasum": "3dbf902fa79a08b136205c7b2681ad91425a97b5" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AdvancedSearch\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-amqp", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-amqp/magento-module-amqp-100.3.1.0.zip", + "reference": null, + "shasum": "fdf734b25eb5fd29a7a8743b3d1e575ba29aa947" + }, + "require": { + "magento/framework": "102.0.*", + "magento/framework-amqp": "100.3.*", + "magento/framework-message-queue": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Amqp\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-analytics/magento-module-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "c17c1d3353335fb9c9197e715ad7ec117700755c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-integration": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Analytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-asynchronous-operations", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-asynchronous-operations/magento-module-asynchronous-operations-100.3.1.0.zip", + "reference": null, + "shasum": "9666e0949545697e66d13df886e16915ddfd3ffa" + }, + "require": { + "magento/framework": "102.0.*", + "magento/framework-bulk": "100.3.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-admin-notification": "100.3.*", + "magento/module-logging": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AsynchronousOperations\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-authorization", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-authorization/magento-module-authorization-100.3.1.0.zip", + "reference": null, + "shasum": "c2a05780a4568e92634a46199c6925fecb4c32e3" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Authorization\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Authorization module provides access to Magento ACL functionality." + }, + { + "name": "magento/module-authorizenet", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-authorizenet/magento-module-authorizenet-100.3.1.0.zip", + "reference": null, + "shasum": "ab9dc9018f1a5b71cfaa54c1975d6ee6b5c7610c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Authorizenet\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-authorizenet-acceptjs", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-authorizenet-acceptjs/magento-module-authorizenet-acceptjs-100.3.0.0.zip", + "reference": null, + "shasum": "16bc1b50a4e7f63bfa3869fa2c3bd4c67cedd8a3" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\AuthorizenetAcceptjs\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-backend", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-backend/magento-module-backend-101.0.1.0.zip", + "reference": null, + "shasum": "3670764e864583abb604107c13490e239ba094d8" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backup": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-developer": "100.3.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-require-js": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-security": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-translation": "100.3.*", + "magento/module-ui": "101.1.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-theme": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Backend\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-backup", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-backup/magento-module-backup-100.3.1.0.zip", + "reference": null, + "shasum": "bb5a040e418e42554c0887673e21420479e8bf76" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cron": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Backup\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-braintree", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-braintree/magento-module-braintree-100.3.1.0.zip", + "reference": null, + "shasum": "bc99da6e5eef549dc2542cfe914aa7742361e2c6" + }, + "require": { + "braintree/braintree_php": "3.35.0", + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-instant-purchase": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-paypal": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-ui": "101.1.*", + "magento/module-vault": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-checkout-agreements": "100.3.*", + "magento/module-theme": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Braintree\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-bundle", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-bundle/magento-module-bundle-100.3.1.0.zip", + "reference": null, + "shasum": "b1ce50b01d2d8997e1f6dcfc9b2dc82f47d987db" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-gift-message": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-bundle-sample-data": "Sample Data version: 100.3.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-webapi": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Bundle\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-bundle-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-bundle-graph-ql/magento-module-bundle-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "4adf0dc50f886e121dde5f906ceaff8630a96697" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-bundle": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\BundleGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-bundle-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-bundle-import-export/magento-module-bundle-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "bdd21ea7945b87b643de52d93fb63b4c6ee625c9" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-bundle": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\BundleImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cache-invalidate", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cache-invalidate/magento-module-cache-invalidate-100.3.1.0.zip", + "reference": null, + "shasum": "ee84c4c87bc878f08f1c325f82b88a7f8a2b4d85" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-page-cache": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CacheInvalidate\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-captcha", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-captcha/magento-module-captcha-100.3.1.0.zip", + "reference": null, + "shasum": "1d37fe2ce55a611af45abf9a79bf3ab45b18fb41" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0", + "zendframework/zend-captcha": "^2.7.1", + "zendframework/zend-db": "^2.8.2", + "zendframework/zend-session": "^2.7.3" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Captcha\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog", + "version": "103.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog/magento-module-catalog-103.0.1.0.zip", + "reference": null, + "shasum": "9f6308528cd0b385c47300ac96e88a48c7462958" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-indexer": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-msrp": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-product-alert": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-url-rewrite": "101.1.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-sample-data": "Sample Data version: 100.3.*", + "magento/module-cookie": "100.3.*", + "magento/module-sales": "102.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Catalog\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-analytics/magento-module-catalog-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "78dad80df624ec870cd1fe528eb6bf23dd2a9174" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-catalog": "103.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-graph-ql/magento-module-catalog-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "cab0f652a82a7011271931cfedbb8c13f362ea8c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-eav-graph-ql": "100.3.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*", + "magento/module-store-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-import-export", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-import-export/magento-module-catalog-import-export-101.0.1.0.zip", + "reference": null, + "shasum": "240b1ea27fb0bdebd2cf674ce280917363463216" + }, + "require": { + "ext-ctype": "*", + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-inventory", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-inventory/magento-module-catalog-inventory-100.3.1.0.zip", + "reference": null, + "shasum": "c7c8e7308fa130fa471cf228537506667473d982" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogInventory\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-inventory-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-inventory-graph-ql/magento-module-catalog-inventory-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "5438ed8a7e381b27d5325801f87a6a844005ff08" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogInventoryGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-rule", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-rule/magento-module-catalog-rule-101.1.1.0.zip", + "reference": null, + "shasum": "9892c5ab997236ed1611d9a02ea9a5be925475d6" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-rule": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-rule-sample-data": "Sample Data version: 100.3.*", + "magento/module-import-export": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogRule\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-rule-configurable", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-rule-configurable/magento-module-catalog-rule-configurable-100.3.1.0.zip", + "reference": null, + "shasum": "0281e9723bb534ba2e12a55ae11260f6904485d6" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-configurable-product": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-rule": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogRuleConfigurable\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-search", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-search/magento-module-catalog-search-101.0.1.0.zip", + "reference": null, + "shasum": "933c002006e94c91b14203178d694acbe3308f86" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-indexer": "100.3.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogSearch\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Catalog search" + }, + { + "name": "magento/module-catalog-url-rewrite", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-url-rewrite/magento-module-catalog-url-rewrite-100.3.1.0.zip", + "reference": null, + "shasum": "7a978d3ff25ffebd252182269ecd18039159af70" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-url-rewrite": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-webapi": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogUrlRewrite\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-url-rewrite-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-url-rewrite-graph-ql/magento-module-catalog-url-rewrite-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "408be2e9c2c72d92f43764bfeeedd0063538fc23" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-url-rewrite-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogUrlRewriteGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-catalog-widget", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-catalog-widget/magento-module-catalog-widget-100.3.1.0.zip", + "reference": null, + "shasum": "5ff1f431ea8c9453e632e3892afc50f07f45f5a6" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-rule": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CatalogWidget\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-checkout", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-checkout/magento-module-checkout-100.3.1.0.zip", + "reference": null, + "shasum": "259dfe67c0b4d6dc00746ac7f004999c58f1fded" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-msrp": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-cookie": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Checkout\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-checkout-agreements", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-checkout-agreements/magento-module-checkout-agreements-100.3.1.0.zip", + "reference": null, + "shasum": "fe21cdbe902b50a634df92ebe4bac90967140671" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CheckoutAgreements\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cms", + "version": "103.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cms/magento-module-cms-103.0.1.0.zip", + "reference": null, + "shasum": "32b4db597a118386cfe5619f0a39129ab6f28e06" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-email": "101.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-variable": "100.3.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-cms-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Cms\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cms-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cms-graph-ql/magento-module-cms-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "fae2f46721d225970beeb9e1cb26eff1dac6ad7f" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-cms": "103.0.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*", + "magento/module-store-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CmsGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cms-url-rewrite", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cms-url-rewrite/magento-module-cms-url-rewrite-100.3.1.0.zip", + "reference": null, + "shasum": "66b9ca23c0af7c8387cfb24028128a64bf3337f4" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-cms": "103.0.*", + "magento/module-store": "101.0.*", + "magento/module-url-rewrite": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CmsUrlRewrite\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cms-url-rewrite-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cms-url-rewrite-graph-ql/magento-module-cms-url-rewrite-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "3b58ec81afb10bbd30a2e011f887635b69803783" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-cms": "103.0.*", + "magento/module-store": "101.0.*", + "magento/module-url-rewrite-graph-ql": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-cms-url-rewrite": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CmsUrlRewriteGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-config", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-config/magento-module-config-101.1.1.0.zip", + "reference": null, + "shasum": "9458355eb5e383f148fbf503fe75d40d02de60b4" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cron": "100.3.*", + "magento/module-deploy": "100.3.*", + "magento/module-directory": "100.3.*", + "magento/module-email": "101.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Config\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-configurable-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-configurable-import-export/magento-module-configurable-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "ac89ef960f75a7fcdf635dc3691366f7b0f41550" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ConfigurableImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-configurable-product", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-configurable-product/magento-module-configurable-product-100.3.1.0.zip", + "reference": null, + "shasum": "2f0f6c53b969b8b4378e91933ba2fa129fd0763c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-configurable-sample-data": "Sample Data version: 100.3.*", + "magento/module-msrp": "100.3.*", + "magento/module-product-links-sample-data": "Sample Data version: 100.3.*", + "magento/module-product-video": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-webapi": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ConfigurableProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-configurable-product-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-configurable-product-graph-ql/magento-module-configurable-product-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "6cf1902c260aa70630b96b806a49844b42136b9c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-configurable-product": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ConfigurableProductGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-configurable-product-sales", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-configurable-product-sales/magento-module-configurable-product-sales-100.3.1.0.zip", + "reference": null, + "shasum": "ab8e7350ef1fdc6e55f2dfd708d095560afe9d5b" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-configurable-product": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ConfigurableProductSales\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-contact", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-contact/magento-module-contact-100.3.1.0.zip", + "reference": null, + "shasum": "4aed3599fdc7f885086726076d52e4b800b3d0ec" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Contact\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cookie", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cookie/magento-module-cookie-100.3.1.0.zip", + "reference": null, + "shasum": "2b52880fe617d8e17746b8c637f56303063f54d0" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-backend": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Cookie\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-cron", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-cron/magento-module-cron-100.3.1.0.zip", + "reference": null, + "shasum": "953c6de628fbf6c2c02943c9fb14df9c384498c6" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Cron\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-currency-symbol", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-currency-symbol/magento-module-currency-symbol-100.3.1.0.zip", + "reference": null, + "shasum": "5967df5328174a24f59bdad5cc8e7a825878b195" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CurrencySymbol\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-customer", + "version": "102.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-customer/magento-module-customer-102.0.1.0.zip", + "reference": null, + "shasum": "9f99c836860ea853b7803e34c40f0874019f2a71" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-integration": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-newsletter": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-review": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-cookie": "100.3.*", + "magento/module-customer-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Customer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-customer-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-customer-analytics/magento-module-customer-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "6a055c7b8b46eb899cd5161a1ecc0874e576f3cd" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-customer": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CustomerAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-customer-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-customer-graph-ql/magento-module-customer-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "127e9dfe4e63721218264c9046272f43ddce13de" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-integration": "100.3.*", + "magento/module-newsletter": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CustomerGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-customer-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-customer-import-export/magento-module-customer-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "f1cdc6d8fe40bb058e76a0a0641230769a59a774" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\CustomerImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-deploy", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-deploy/magento-module-deploy-100.3.1.0.zip", + "reference": null, + "shasum": "40006c50c2e0d0ee9d17aebb98cc12e9b76a59f9" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-config": "101.1.*", + "magento/module-require-js": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "cli_commands.php", + "registration.php" + ], + "psr-4": { + "Magento\\Deploy\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-developer", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-developer/magento-module-developer-100.3.1.0.zip", + "reference": null, + "shasum": "007a40f6eaceb427b1a9f24f102bb1c5268c97e0" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Developer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-dhl", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-dhl/magento-module-dhl-100.3.1.0.zip", + "reference": null, + "shasum": "a54951a456d9ae56103fcac8a342fc8104f433e2" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-checkout": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Dhl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-directory", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-directory/magento-module-directory-100.3.1.0.zip", + "reference": null, + "shasum": "401fd817778dcfb8b7091ede60e3b0bb99267051" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Directory\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-directory-graph-ql", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-directory-graph-ql/magento-module-directory-graph-ql-100.3.0.0.zip", + "reference": null, + "shasum": "1d9d2307d514ea00d5a8a66cf0556d83986c6189" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-directory": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\DirectoryGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-downloadable", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-downloadable/magento-module-downloadable-100.3.1.0.zip", + "reference": null, + "shasum": "c3f2cd868754a23af542b2b19d72c4c4e506c618" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-gift-message": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-downloadable-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Downloadable\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-downloadable-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-downloadable-graph-ql/magento-module-downloadable-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "6324aa9e2f9ba1957778b509b7dcfa7662eb7488" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-downloadable": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\DownloadableGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-downloadable-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-downloadable-import-export/magento-module-downloadable-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "1d8ddfaabe5b6a7a5e5792f09737c0685916417c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-downloadable": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-import-export": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\DownloadableImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-eav", + "version": "102.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-eav/magento-module-eav-102.0.1.0.zip", + "reference": null, + "shasum": "a28509b94e703c3002eeb3238bf3c5eb35b90d5d" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Eav\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-eav-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-eav-graph-ql/magento-module-eav-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "66edb69cdfbce0784166e7f83bf3ecc8adf7ae0e" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-eav": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\EavGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-elasticsearch", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-elasticsearch/magento-module-elasticsearch-100.3.1.0.zip", + "reference": null, + "shasum": "ed1da1137848560dde1a85f0f54dc2fac262359e" + }, + "require": { + "elasticsearch/elasticsearch": "~2.0|~5.1|~6.1", + "magento/framework": "102.0.*", + "magento/module-advanced-search": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Elasticsearch\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-elasticsearch-6", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-elasticsearch-6/magento-module-elasticsearch-6-100.3.0.0.zip", + "reference": null, + "shasum": "a9da3243900390ad163efc7969b07116d2eb793f" + }, + "require": { + "elasticsearch/elasticsearch": "~2.0|~5.1|~6.1", + "magento/framework": "102.0.*", + "magento/module-advanced-search": "100.3.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-elasticsearch": "100.3.*", + "magento/module-search": "101.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Elasticsearch6\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-email", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-email/magento-module-email-101.0.1.0.zip", + "reference": null, + "shasum": "ebcc5912a5e51f97b8c393638d00ddfcf2f73731" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-variable": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-theme": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Email\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-encryption-key", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-encryption-key/magento-module-encryption-key-100.3.1.0.zip", + "reference": null, + "shasum": "099f36ac60c8226e0c3c1485d29d336c44744dde" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\EncryptionKey\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-fedex", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-fedex/magento-module-fedex-100.3.1.0.zip", + "reference": null, + "shasum": "1840c2272127aba6e51599aa2f751c3d250aa1ef" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Fedex\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-gift-message", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-gift-message/magento-module-gift-message-100.3.1.0.zip", + "reference": null, + "shasum": "b94369cb227d47c934982c8feb06856892c999af" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-multishipping": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GiftMessage\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-google-adwords", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-google-adwords/magento-module-google-adwords-100.3.1.0.zip", + "reference": null, + "shasum": "6302122da3e9d4084e128ea1a13282bd92ca503a" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GoogleAdwords\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-google-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-google-analytics/magento-module-google-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "f87431addf8245441f53dc88bcb1df6bf9a2b95f" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-cookie": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GoogleAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-google-optimizer", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-google-optimizer/magento-module-google-optimizer-100.3.1.0.zip", + "reference": null, + "shasum": "5239b8174777bdf3fac9f72aad27a604b3febdbb" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-cms": "103.0.*", + "magento/module-google-analytics": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GoogleOptimizer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-graph-ql/magento-module-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "ccb0cfb89c1acbb09c88e01b2c70e924e62a19ce" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-webapi": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-grouped-catalog-inventory", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-grouped-catalog-inventory/magento-module-grouped-catalog-inventory-100.3.0.0.zip", + "reference": null, + "shasum": "bc0564d1cfb19b3ff7a3a45f287c5fd42749aa83" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-grouped-product": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GroupedCatalogInventory\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-grouped-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-grouped-import-export/magento-module-grouped-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "0d3764973ae6083a9046166bb8f0456b562b638e" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-import-export": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-grouped-product": "100.3.*", + "magento/module-import-export": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GroupedImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-grouped-product", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-grouped-product/magento-module-grouped-product-100.3.1.0.zip", + "reference": null, + "shasum": "a80950a2b6919304e818ea52e5bbbd450f272130" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-msrp": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-grouped-product-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GroupedProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-grouped-product-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-grouped-product-graph-ql/magento-module-grouped-product-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "4ec0716ff30b242c05ea435ddbd43a4c82802a77" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-grouped-product": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\GroupedProductGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-import-export/magento-module-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "3e09156751856fd6a7d96486687c5b56347672c2" + }, + "require": { + "ext-ctype": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-indexer", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-indexer/magento-module-indexer-100.3.1.0.zip", + "reference": null, + "shasum": "bdd64582681713f6836e03916fbd5f88754480e5" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Indexer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-instant-purchase", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-instant-purchase/magento-module-instant-purchase-100.3.1.0.zip", + "reference": null, + "shasum": "6a831727392f922a7af24ee282db3d8c0201f7db" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-vault": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InstantPurchase\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-integration", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-integration/magento-module-integration-100.3.1.0.zip", + "reference": null, + "shasum": "416802c817152d1ceac6c1dd16162f08274f5ee6" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-security": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Integration\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory/magento-module-inventory-1.0.4.0.zip", + "reference": null, + "shasum": "ce21405c9662b13edd131a3d52c562160f4d9f52" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Inventory\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-admin-ui/magento-module-inventory-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "ccdcdf958be78bf2b73b6d8fa558c42d07b87bbf" + }, + "require": { + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-directory": "*", + "magento/module-inventory-api": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-api/magento-module-inventory-api-1.0.4.0.zip", + "reference": null, + "shasum": "f6da7918669ed256fab8bcf90537a1c853abd612" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-bundle-product", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-bundle-product/magento-module-inventory-bundle-product-1.0.3.0.zip", + "reference": null, + "shasum": "395b08dcd35f14465f338a9da1cf1953a68ca327" + }, + "require": { + "magento/framework": "*", + "magento/module-bundle": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-configuration-api": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryBundleProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-bundle-product-admin-ui", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-bundle-product-admin-ui/magento-module-inventory-bundle-product-admin-ui-1.0.3.0.zip", + "reference": null, + "shasum": "295705218a4f38202a3ee913092503dc5ccb9074" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-configuration-api": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryBundleProductAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-cache", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-cache/magento-module-inventory-cache-1.0.3.0.zip", + "reference": null, + "shasum": "024f1d29d27adab967ae77e8b90ee208a06872e7" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-catalog-api": "1.0.*", + "magento/module-inventory-indexer": "1.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog": "103.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryCache\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-catalog", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-catalog/magento-module-inventory-catalog-1.0.4.0.zip", + "reference": null, + "shasum": "cf9fc73a20f4d4929c67ffddc5046bcf92437c69" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-indexer": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-reservations-api": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryCatalog\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-catalog-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-catalog-admin-ui/magento-module-inventory-catalog-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "828a6c4961021129eda07527d2d25eedac0e1bfa" + }, + "require": { + "magento/framework": "*", + "magento/module-asynchronous-operations": "*", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-indexer": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-admin-ui": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryCatalogAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-catalog-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-catalog-api/magento-module-inventory-catalog-api-1.0.4.0.zip", + "reference": null, + "shasum": "edc148f4419e249b37a316afefeef4b97c73bad1" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryCatalogApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-catalog-search", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-catalog-search/magento-module-inventory-catalog-search-1.0.4.0.zip", + "reference": null, + "shasum": "cbe649fee67d9740d1cf2f3d9ce874d1a6413f76" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-indexer": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-search": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryCatalogSearch\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-configurable-product", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-configurable-product/magento-module-inventory-configurable-product-1.0.4.0.zip", + "reference": null, + "shasum": "8d4c12fcdaa863c47893664e38fa1ad60e90ffb8" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-indexer": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-configurable-product": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryConfigurableProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-configurable-product-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-configurable-product-admin-ui/magento-module-inventory-configurable-product-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "18dfb9d8cb702ba1d2f465cbe0a5b8b57db07207" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-configurable-product": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-admin-ui": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryConfigurableProductAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-configurable-product-indexer", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-configurable-product-indexer/magento-module-inventory-configurable-product-indexer-1.0.3.0.zip", + "reference": null, + "shasum": "540f1a1687b90b81168dca0f463fe12dae5e4e84" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-inventory-api": "1.0.*", + "magento/module-inventory-catalog-api": "1.0.*", + "magento/module-inventory-indexer": "1.0.*", + "magento/module-inventory-multi-dimensional-indexer-api": "1.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryConfigurableProductIndexer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-configuration", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-configuration/magento-module-inventory-configuration-1.0.4.0.zip", + "reference": null, + "shasum": "a9869aeddeede17ba0e442a989b809f86f0a86fe" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryConfiguration\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-configuration-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-configuration-api/magento-module-inventory-configuration-api-1.0.4.0.zip", + "reference": null, + "shasum": "d091e7523a1d18099360d9e49f86a3e04dba71b4" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryConfigurationApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-distance-based-source-selection", + "version": "1.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-distance-based-source-selection/magento-module-inventory-distance-based-source-selection-1.0.0.0.zip", + "reference": null, + "shasum": "c9b93cdfd600a3b493753313ac617dfc0ce8f19c" + }, + "require": { + "magento/framework": "*", + "magento/module-config": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-distance-based-source-selection-api": "*", + "magento/module-inventory-source-selection-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryDistanceBasedSourceSelection\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-distance-based-source-selection-admin-ui", + "version": "1.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-distance-based-source-selection-admin-ui/magento-module-inventory-distance-based-source-selection-admin-ui-1.0.0.0.zip", + "reference": null, + "shasum": "b75ca632a07386dc60c5572e353fe4ba47e22d01" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryDistanceBasedSourceSelectionAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-distance-based-source-selection-api", + "version": "1.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-distance-based-source-selection-api/magento-module-inventory-distance-based-source-selection-api-1.0.0.0.zip", + "reference": null, + "shasum": "79d9c3f965d14612e95a4723000b1200d5a55b6c" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-source-selection-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryDistanceBasedSourceSelectionApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-elasticsearch", + "version": "1.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-elasticsearch/magento-module-inventory-elasticsearch-1.0.0.0.zip", + "reference": null, + "shasum": "b46ff3807763c9967e60f67b155b47658387457b" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog-inventory": "*", + "magento/module-catalog-search": "*", + "magento/module-elasticsearch": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-indexer": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryElasticsearch\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-grouped-product", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-grouped-product/magento-module-inventory-grouped-product-1.0.3.0.zip", + "reference": null, + "shasum": "19c3284175d75dafd8ad97cc35e1e47a527c82da" + }, + "require": { + "magento/framework": "*", + "magento/module-grouped-product": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-configuration-api": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryGroupedProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-grouped-product-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-grouped-product-admin-ui/magento-module-inventory-grouped-product-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "d15af53f7bbdd213fdb0af1a16f0e50d968c7240" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-grouped-product": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-admin-ui": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory-configuration-api": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryGroupedProductAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-grouped-product-indexer", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-grouped-product-indexer/magento-module-inventory-grouped-product-indexer-1.0.3.0.zip", + "reference": null, + "shasum": "f8aeffd329e1b556ebf1dfcb3ce23103ae724980" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-grouped-product": "*", + "magento/module-inventory-api": "1.0.*", + "magento/module-inventory-catalog-api": "1.0.*", + "magento/module-inventory-indexer": "1.0.*", + "magento/module-inventory-multi-dimensional-indexer-api": "1.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-inventory": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryGroupedProductIndexer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-import-export", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-import-export/magento-module-inventory-import-export-1.0.4.0.zip", + "reference": null, + "shasum": "deefee73fd3c2bb9132e102cc272e4e2dce71088" + }, + "require": { + "magento/framework": "*", + "magento/module-eav": "*", + "magento/module-import-export": "*", + "magento/module-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-import-export": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-indexer", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-indexer/magento-module-inventory-indexer-1.0.4.0.zip", + "reference": null, + "shasum": "61bc4572359a82e85b10d2a60a2ec15b9e917a9d" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-multi-dimensional-indexer-api": "*", + "magento/module-inventory-sales": "*", + "magento/module-inventory-sales-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog": "103.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryIndexer\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-low-quantity-notification", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-low-quantity-notification/magento-module-inventory-low-quantity-notification-1.0.4.0.zip", + "reference": null, + "shasum": "d6779810c096678fa838aff0dc1d5d4c04cb3af6" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-eav": "*", + "magento/module-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-low-quantity-notification-api": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryLowQuantityNotification\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-low-quantity-notification-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-low-quantity-notification-admin-ui/magento-module-inventory-low-quantity-notification-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "c61e759363d9cd39f6deae99ffcc2b8248831477" + }, + "require": { + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-low-quantity-notification": "*", + "magento/module-inventory-low-quantity-notification-api": "*", + "magento/module-reports": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryLowQuantityNotificationAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-low-quantity-notification-api", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-low-quantity-notification-api/magento-module-inventory-low-quantity-notification-api-1.0.3.0.zip", + "reference": null, + "shasum": "08c2657ee45ff0db1ca949437d7dd2da0da956a1" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryLowQuantityNotificationApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-multi-dimensional-indexer-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-multi-dimensional-indexer-api/magento-module-inventory-multi-dimensional-indexer-api-1.0.4.0.zip", + "reference": null, + "shasum": "630ab27e5d236a5f0d061a76f80656a248c36000" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryMultiDimensionalIndexerApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-product-alert", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-product-alert/magento-module-inventory-product-alert-1.0.4.0.zip", + "reference": null, + "shasum": "e21d973d4e58ffa137824b1856cb4ea028fb5135" + }, + "require": { + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-product-alert": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-product-alert": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryProductAlert\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-reservations", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-reservations/magento-module-inventory-reservations-1.0.4.0.zip", + "reference": null, + "shasum": "e527a03b2f48c13cea4081da2c7261bd69c4c92d" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-reservations-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryReservations\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-reservations-api", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-reservations-api/magento-module-inventory-reservations-api-1.0.3.0.zip", + "reference": null, + "shasum": "3955de482006ccbf8d823ec28e042a69862059da" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryReservationsApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-sales", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-sales/magento-module-inventory-sales-1.0.4.0.zip", + "reference": null, + "shasum": "d0a9a3d09d41dc3c1e7cce3a07335935ae2b7fc6" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-reservations-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-inventory-source-deduction-api": "*", + "magento/module-sales": "*", + "magento/module-sales-inventory": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "require-dev": { + "magento/module-inventory-indexer": "*" + }, + "suggest": { + "magento/module-inventory-catalog": "1.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySales\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-sales-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-sales-admin-ui/magento-module-inventory-sales-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "13daf51ba16c09101f2574eb3dabf2221e81cb0a" + }, + "require": { + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-catalog": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-admin-ui": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-store": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySalesAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-sales-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-sales-api/magento-module-inventory-sales-api-1.0.4.0.zip", + "reference": null, + "shasum": "6b8847fc22bd04015a9fc5717dfa94f6154d14b4" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "magento/module-sales": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySalesApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-sales-frontend-ui", + "version": "1.0.3", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-sales-frontend-ui/magento-module-inventory-sales-frontend-ui-1.0.3.0.zip", + "reference": null, + "shasum": "ef1f4e1d67c0add33fa1a5b6da08bed1fd6a7b97" + }, + "require": { + "magento/framework": "*", + "magento/module-catalog-inventory": "*", + "magento/module-inventory-configuration-api": "1.0.*", + "magento/module-inventory-sales-api": "1.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySalesFrontendUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-setup-fixture-generator", + "version": "1.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-setup-fixture-generator/magento-module-inventory-setup-fixture-generator-1.0.0.0.zip", + "reference": null, + "shasum": "207fe21748b53ad44330a5abc5dc79f1f2a24bed" + }, + "require": { + "magento/framework": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySetupFixtureGenerator\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-shipping", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-shipping/magento-module-inventory-shipping-1.0.4.0.zip", + "reference": null, + "shasum": "338a6df150d1ad1107cedba355c896b50275c431" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-catalog-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-inventory-source-deduction-api": "*", + "magento/module-inventory-source-selection-api": "*", + "magento/module-sales": "*", + "magento/module-shipping": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryShipping\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-shipping-admin-ui", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-shipping-admin-ui/magento-module-inventory-shipping-admin-ui-1.0.4.0.zip", + "reference": null, + "shasum": "faa48dd7930974c8fd4c792d70f9ab71fd971b78" + }, + "require": { + "magento/framework": "*", + "magento/module-backend": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-inventory-source-selection-api": "*", + "magento/module-sales": "*", + "magento/module-shipping": "*", + "magento/module-ui": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventoryShippingAdminUi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-source-deduction-api", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-source-deduction-api/magento-module-inventory-source-deduction-api-1.0.4.0.zip", + "reference": null, + "shasum": "4f3167eb248232b18483dae7cde986cb4170239e" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-configuration-api": "*", + "magento/module-inventory-sales-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySourceDeductionApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-source-selection", + "version": "1.0.4", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-source-selection/magento-module-inventory-source-selection-1.0.4.0.zip", + "reference": null, + "shasum": "3b8465fcb2f094c82eb86226581a74f8f6a23424" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-source-selection-api": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySourceSelection\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-inventory-source-selection-api", + "version": "1.1.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-inventory-source-selection-api/magento-module-inventory-source-selection-api-1.1.0.0.zip", + "reference": null, + "shasum": "b7cf97c809075fe6fc2d95535a61c44f11440b77" + }, + "require": { + "magento/framework": "*", + "magento/module-inventory-api": "*", + "magento/module-inventory-sales-api": "*", + "magento/module-sales": "*", + "magento/module-store": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\InventorySourceSelectionApi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-layered-navigation", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-layered-navigation/magento-module-layered-navigation-100.3.1.0.zip", + "reference": null, + "shasum": "32c5d1e9d21dd98adabe7083ddb3b39ab49d2bde" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\LayeredNavigation\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-marketplace", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-marketplace/magento-module-marketplace-100.3.1.0.zip", + "reference": null, + "shasum": "81415a17e166c349e179e79fe8bb891a5cb63283" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Marketplace\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-media-storage", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-media-storage/magento-module-media-storage-100.3.1.0.zip", + "reference": null, + "shasum": "dbf17a763cbf65cae32bb86fc1a0584fc51b00a0" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\MediaStorage\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-message-queue", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-message-queue/magento-module-message-queue-100.3.1.0.zip", + "reference": null, + "shasum": "e7a221ac13a53fc8e428bce254620f2d318ffd9c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\MessageQueue\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-msrp", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-msrp/magento-module-msrp-100.3.1.0.zip", + "reference": null, + "shasum": "45cee25e493e4b43f1f10fc732f9967c62d36656" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-downloadable": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-bundle": "100.3.*", + "magento/module-msrp-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Msrp\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-msrp-configurable-product", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-msrp-configurable-product/magento-module-msrp-configurable-product-100.3.0.0.zip", + "reference": null, + "shasum": "cf76e419dad2243cd680b38e4d85aa48a1ea9ac9" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-msrp": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\MsrpConfigurableProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-msrp-grouped-product", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-msrp-grouped-product/magento-module-msrp-grouped-product-100.3.0.0.zip", + "reference": null, + "shasum": "083080ce31393078e30cb6fb17b274c865839b0c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-grouped-product": "100.3.*", + "magento/module-msrp": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\MsrpGroupedProduct\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-multishipping", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-multishipping/magento-module-multishipping-100.3.1.0.zip", + "reference": null, + "shasum": "2da74e0371ddccaca808e55dc81863dd65e3fa6f" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Multishipping\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-mysql-mq", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-mysql-mq/magento-module-mysql-mq-100.3.1.0.zip", + "reference": null, + "shasum": "dda5a554028c56847a1ce717f92927b453708cfd" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\MysqlMq\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-new-relic-reporting", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-new-relic-reporting/magento-module-new-relic-reporting-100.3.1.0.zip", + "reference": null, + "shasum": "ee8dbe8627dbadf731cb2f8a9182971b530b54b2" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\NewRelicReporting\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-newsletter", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-newsletter/magento-module-newsletter-100.3.1.0.zip", + "reference": null, + "shasum": "fad2941ec1d5451f5adc492d298eeef4e2410fe4" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cms": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-email": "101.0.*", + "magento/module-require-js": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Newsletter\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-offline-payments", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-offline-payments/magento-module-offline-payments-100.3.1.0.zip", + "reference": null, + "shasum": "1299eb55d0cabd756610f1f091f5a57b71d4813c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-payment": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\OfflinePayments\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-offline-shipping", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-offline-shipping/magento-module-offline-shipping-100.3.1.0.zip", + "reference": null, + "shasum": "2d4ae255389cf87a50ed8bfe9af7e7cabdd6e664" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-checkout": "100.3.*", + "magento/module-offline-shipping-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\OfflineShipping\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-page-cache", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-page-cache/magento-module-page-cache-100.3.1.0.zip", + "reference": null, + "shasum": "4e2729548eee3283f06d3ed3bd0aac2c2c012a2f" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\PageCache\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-payment", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-payment/magento-module-payment-100.3.1.0.zip", + "reference": null, + "shasum": "3a5dc59dc2f36c28e1b84701d2deb444a1110373" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Payment\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-paypal", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-paypal/magento-module-paypal-100.3.1.0.zip", + "reference": null, + "shasum": "1c9210c8fd9354d89d580ddc2d29121f0ffc8c20" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-instant-purchase": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-vault": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-checkout-agreements": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Paypal\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-persistent", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-persistent/magento-module-persistent-100.3.1.0.zip", + "reference": null, + "shasum": "bb6e14bbf0d568563cf1dc2e4aafdedaa31709de" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-cron": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Persistent\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-product-alert", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-product-alert/magento-module-product-alert-100.3.1.0.zip", + "reference": null, + "shasum": "324a647bc52ff96f365e0be0e9628f1d36829026" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ProductAlert\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-product-video", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-product-video/magento-module-product-video-100.3.1.0.zip", + "reference": null, + "shasum": "c6cb19d8f73d44399dde39e72d79bf6b7ff8e029" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ProductVideo\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Add Video to Products" + }, + { + "name": "magento/module-quote", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-quote/magento-module-quote-101.1.1.0.zip", + "reference": null, + "shasum": "e2b39264ded8af41839229e7ce6dc1e13f41dab1" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-sequence": "100.3.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-webapi": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Quote\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-quote-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-quote-analytics/magento-module-quote-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "04b120e37bfe9d985dcf1b1eb90b5d8044dd4d77" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-quote": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\QuoteAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-quote-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-quote-graph-ql/magento-module-quote-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "232b4284ed0ccd26c715fcc23a089b3a011c5639" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-customer-graph-ql": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\QuoteGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-release-notification", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-release-notification/magento-module-release-notification-100.3.1.0.zip", + "reference": null, + "shasum": "b6f40a4a0a6328fdf5dde3dd18d702190d5c2347" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ReleaseNotification\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-reports", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-reports/magento-module-reports-100.3.1.0.zip", + "reference": null, + "shasum": "56df5dc26d25298d608a2e130073aa46c51d7a45" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-downloadable": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-quote": "101.1.*", + "magento/module-review": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Reports\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-require-js", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-require-js/magento-module-require-js-100.3.1.0.zip", + "reference": null, + "shasum": "348fa995170de7f4d508a600d8ca2b73cddfc17f" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\RequireJs\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-review", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-review/magento-module-review-100.3.1.0.zip", + "reference": null, + "shasum": "5d226e5ddf781537a69ef6bf648cf2be7621d0a8" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-newsletter": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-cookie": "100.3.*", + "magento/module-review-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Review\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-review-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-review-analytics/magento-module-review-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "eb26fb256b43d77b4da00e16d9e76d0cb7078c96" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-review": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ReviewAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-robots", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-robots/magento-module-robots-101.0.1.0.zip", + "reference": null, + "shasum": "52129625db7928a4723a47fed097c843a27663d8" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-theme": "101.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Robots\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-rss", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-rss/magento-module-rss-100.3.1.0.zip", + "reference": null, + "shasum": "1f792762c259e85590143df883323534611dc299" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Rss\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-rule", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-rule/magento-module-rule-100.3.1.0.zip", + "reference": null, + "shasum": "2eec15c18c6ab5983a61e768f114c6dc96ec883d" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Rule\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales", + "version": "102.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales/magento-module-sales-102.0.1.0.zip", + "reference": null, + "shasum": "f7e58a0a0bcb551e96dde31c9de350e20e4d7ff5" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-bundle": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-gift-message": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-sales-rule": "101.1.*", + "magento/module-sales-sequence": "100.3.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-widget": "101.1.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-sales-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Sales\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales-analytics/magento-module-sales-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "f2d5d1dd165e3ea17667a5eaa105bd4757ac5844" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-sales": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SalesAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales-graph-ql", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales-graph-ql/magento-module-sales-graph-ql-100.3.0.0.zip", + "reference": null, + "shasum": "e10599dcbd5dd7866bfdaf8af7065577ce1e7ebc" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-customer-graph-ql": "100.3.*", + "magento/module-sales": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SalesGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales-inventory", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales-inventory/magento-module-sales-inventory-100.3.1.0.zip", + "reference": null, + "shasum": "6982aab2739a7ec5df5b25b5cac28dc70fea4c6b" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SalesInventory\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales-rule", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales-rule/magento-module-sales-rule-101.1.1.0.zip", + "reference": null, + "shasum": "043d64f9e5a5b1564473532a1599c2fd58deed6e" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-rule": "101.1.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-rule": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-sales-rule-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SalesRule\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sales-sequence", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sales-sequence/magento-module-sales-sequence-100.3.1.0.zip", + "reference": null, + "shasum": "d045268eeef55a7d66f98c1ec77569ccc52b6683" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SalesSequence\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-sample-data", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sample-data/magento-module-sample-data-100.3.1.0.zip", + "reference": null, + "shasum": "da0800d6ed74b8956ef00ee080230a18f048ed8f" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/sample-data-media": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "cli_commands.php", + "registration.php" + ], + "psr-4": { + "Magento\\SampleData\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Sample Data fixtures" + }, + { + "name": "magento/module-search", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-search/magento-module-search-101.0.1.0.zip", + "reference": null, + "shasum": "a9486668c87a5ba4bb4aa6c9f8060637f7027ca1" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog-search": "101.0.*", + "magento/module-reports": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Search\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-security", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-security/magento-module-security-100.3.1.0.zip", + "reference": null, + "shasum": "17018cf2303e60994bf28daa52fa6f7180f182da" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-customer": "102.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Security\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Security management module" + }, + { + "name": "magento/module-send-friend", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-send-friend/magento-module-send-friend-100.3.1.0.zip", + "reference": null, + "shasum": "547e26b8d3570b3f0969b9f5802725e8d8651714" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-captcha": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-customer": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SendFriend\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-send-friend-graph-ql", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-send-friend-graph-ql/magento-module-send-friend-graph-ql-100.3.0.0.zip", + "reference": null, + "shasum": "ef5fbfcd51beb3ad8225fa03320cc45012b0bd70" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-send-friend": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SendFriendGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-shipping", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-shipping/magento-module-shipping-100.3.1.0.zip", + "reference": null, + "shasum": "dd53451df643e7d4513cb3102f182eb1f96bbc36" + }, + "require": { + "ext-gd": "*", + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-contact": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-ui": "101.1.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*", + "magento/module-fedex": "100.3.*", + "magento/module-ups": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Shipping\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-signifyd", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-signifyd/magento-module-signifyd-100.3.1.0.zip", + "reference": null, + "shasum": "768442b807e31bacfb5bbf914e155bac3ca88dde" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-payment": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Signifyd\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Submitting Case Entry to Signifyd on Order Creation" + }, + { + "name": "magento/module-sitemap", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-sitemap/magento-module-sitemap-100.3.1.0.zip", + "reference": null, + "shasum": "2f4535120d0551397680bdbd2365c08dd175f5f1" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-robots": "101.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Sitemap\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-store", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-store/magento-module-store-101.0.1.0.zip", + "reference": null, + "shasum": "aa4a2db8d42094f5978782138eb16e3adcf6798c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-media-storage": "100.3.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-deploy": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Store\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-store-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-store-graph-ql/magento-module-store-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "7c00e21d6f4c5c45bf2cc4bf0dd9dfdaa83ccad3" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\StoreGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-swagger", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swagger/magento-module-swagger-100.3.1.0.zip", + "reference": null, + "shasum": "f17474413c08f94ca5f704d9eff5b6ad268a0440" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Swagger\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-swagger-webapi", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swagger-webapi/magento-module-swagger-webapi-100.3.1.0.zip", + "reference": null, + "shasum": "7e4ee0f77d30c0e358771d2815ed1065bcfea7a2" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-swagger": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SwaggerWebapi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-swagger-webapi-async", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swagger-webapi-async/magento-module-swagger-webapi-async-100.3.1.0.zip", + "reference": null, + "shasum": "8e47ef5ab81bf92742b100c75879871e5d356095" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-swagger": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SwaggerWebapiAsync\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-swatches", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swatches/magento-module-swatches-100.3.1.0.zip", + "reference": null, + "shasum": "e8f12b8f0935403f693e78d60633da666162cb5a" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-page-cache": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-layered-navigation": "100.3.*", + "magento/module-swatches-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Swatches\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "Add Swatches to Products" + }, + { + "name": "magento/module-swatches-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swatches-graph-ql/magento-module-swatches-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "81636dcec8824fd41c6287203e25dd850afab20b" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-swatches": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SwatchesGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-swatches-layered-navigation", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-swatches-layered-navigation/magento-module-swatches-layered-navigation-100.3.1.0.zip", + "reference": null, + "shasum": "0ba7397b12656fa9db3faee319ca64e65504cffa" + }, + "require": { + "magento/framework": "102.0.*", + "magento/magento-composer-installer": "*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\SwatchesLayeredNavigation\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-tax", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-tax/magento-module-tax-100.3.1.0.zip", + "reference": null, + "shasum": "ec9848f312abb6c03393aae776b086b1d4177ab0" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-reports": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-tax-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Tax\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-tax-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-tax-graph-ql/magento-module-tax-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "eabd499aaf645826ac644dce948bba133d76aaf0" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-tax": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\TaxGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-tax-import-export", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-tax-import-export/magento-module-tax-import-export-100.3.1.0.zip", + "reference": null, + "shasum": "8027abc153f14886965525539f873c8a4120cf8c" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-directory": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\TaxImportExport\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-theme", + "version": "101.0.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-theme/magento-module-theme-101.0.1.0.zip", + "reference": null, + "shasum": "e6fed3b1a3a3f21452f151e1eb2aa36510cb1b50" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-cms": "103.0.*", + "magento/module-config": "101.1.*", + "magento/module-customer": "102.0.*", + "magento/module-eav": "102.0.*", + "magento/module-media-storage": "100.3.*", + "magento/module-require-js": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-deploy": "100.3.*", + "magento/module-directory": "100.3.*", + "magento/module-theme-sample-data": "Sample Data version: 100.3.*", + "magento/module-translation": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Theme\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-theme-graph-ql", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-theme-graph-ql/magento-module-theme-graph-ql-100.3.0.0.zip", + "reference": null, + "shasum": "cd9d5fd79db5547f5a5b1e4761b901451b2fc013" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-store-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\ThemeGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-tinymce-3", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-tinymce-3/magento-module-tinymce-3-100.3.1.0.zip", + "reference": null, + "shasum": "5153d30d5f5e5a8d99182a65dce142569f22861e" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-ui": "101.1.*", + "magento/module-variable": "100.3.*", + "magento/module-widget": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-cms": "103.0.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Tinymce3\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-translation", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-translation/magento-module-translation-100.3.1.0.zip", + "reference": null, + "shasum": "dbc9a6bd9d8aa234c5809103e6ac93372fa33c81" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-developer": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-deploy": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Translation\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-ui", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-ui/magento-module-ui-101.1.1.0.zip", + "reference": null, + "shasum": "fc1e9663747d2f40f9a3278983598d9098ffca1a" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-eav": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-user": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Ui\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-ups", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-ups/magento-module-ups-100.3.1.0.zip", + "reference": null, + "shasum": "34c0f3f7c03bd533aff334fb88750fc109a71d1d" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-config": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Ups\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-url-rewrite", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-url-rewrite/magento-module-url-rewrite-101.1.1.0.zip", + "reference": null, + "shasum": "f21c8619cec00fda18dd3dcb51cb2a4e8d451aee" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-url-rewrite": "100.3.*", + "magento/module-cms": "103.0.*", + "magento/module-cms-url-rewrite": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\UrlRewrite\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-url-rewrite-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-url-rewrite-graph-ql/magento-module-url-rewrite-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "ba563f2348277b9f06cd2f4e3118fa756f453d6e" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-url-rewrite": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-graph-ql": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\UrlRewriteGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-user", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-user/magento-module-user-101.1.1.0.zip", + "reference": null, + "shasum": "28a050491e3e447c8460f42b0f0549ad6adca190" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-email": "101.0.*", + "magento/module-integration": "100.3.*", + "magento/module-security": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\User\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-usps", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-usps/magento-module-usps-100.3.1.0.zip", + "reference": null, + "shasum": "cf9a786445d64b36c1d4bc32666213225821d84d" + }, + "require": { + "lib-libxml": "*", + "magento/framework": "102.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-config": "101.1.*", + "magento/module-directory": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-shipping": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Usps\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-variable", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-variable/magento-module-variable-100.3.1.0.zip", + "reference": null, + "shasum": "7b8faefa05dc6e563ac5663db86b86a2dc3c02e8" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-config": "101.1.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Variable\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-vault", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-vault/magento-module-vault-101.1.1.0.zip", + "reference": null, + "shasum": "c8702e4f0ec7fa9538194203be7e5bbf0bc8077b" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-payment": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Vault\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ] + }, + { + "name": "magento/module-version", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-version/magento-module-version-100.3.1.0.zip", + "reference": null, + "shasum": "f35d618be8f999ec653c83de3e364d4eea5eb796" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Version\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-webapi", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-webapi/magento-module-webapi-100.3.1.0.zip", + "reference": null, + "shasum": "9aee9870a6296462ed7b834383725b6f8cbfd8fe" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-authorization": "100.3.*", + "magento/module-backend": "101.0.*", + "magento/module-integration": "100.3.*", + "magento/module-store": "101.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-customer": "102.0.*", + "magento/module-user": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Webapi\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-webapi-async", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-webapi-async/magento-module-webapi-async-100.3.1.0.zip", + "reference": null, + "shasum": "061d2e2ffd3476b78dedef5d078227fae7869019" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-asynchronous-operations": "100.3.*", + "magento/module-webapi": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-customer": "102.0.*", + "magento/module-user": "101.1.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\WebapiAsync\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-webapi-security", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-webapi-security/magento-module-webapi-security-100.3.1.0.zip", + "reference": null, + "shasum": "ddc3201ecae4ff4fd0179fc387c69fe7af902caf" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-webapi": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\WebapiSecurity\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "WebapiSecurity module provides option to loosen security on some webapi resources." + }, + { + "name": "magento/module-weee", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-weee/magento-module-weee-100.3.1.0.zip", + "reference": null, + "shasum": "665d507e1d1baad1769f91ad021a0484f811c745" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-directory": "100.3.*", + "magento/module-eav": "102.0.*", + "magento/module-page-cache": "100.3.*", + "magento/module-quote": "101.1.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-tax": "100.3.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-bundle": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Weee\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-weee-graph-ql", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-weee-graph-ql/magento-module-weee-graph-ql-100.3.1.0.zip", + "reference": null, + "shasum": "8cd539c61f3f52683cdf1d081d03ba1ab198da43" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-weee": "100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\WeeeGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-widget", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-widget/magento-module-widget-101.1.1.0.zip", + "reference": null, + "shasum": "f7c8f6136274aee6ec623112981505475b36ea04" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-catalog": "103.0.*", + "magento/module-cms": "103.0.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-variable": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-widget-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Widget\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-wishlist", + "version": "101.1.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-wishlist/magento-module-wishlist-101.1.1.0.zip", + "reference": null, + "shasum": "e73a999d11356a60646ccf7bc753d8ee04ed7035" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-backend": "101.0.*", + "magento/module-captcha": "100.3.*", + "magento/module-catalog": "103.0.*", + "magento/module-catalog-inventory": "100.3.*", + "magento/module-checkout": "100.3.*", + "magento/module-customer": "102.0.*", + "magento/module-rss": "100.3.*", + "magento/module-sales": "102.0.*", + "magento/module-store": "101.0.*", + "magento/module-theme": "101.0.*", + "magento/module-ui": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "suggest": { + "magento/module-bundle": "100.3.*", + "magento/module-configurable-product": "100.3.*", + "magento/module-cookie": "100.3.*", + "magento/module-downloadable": "100.3.*", + "magento/module-grouped-product": "100.3.*", + "magento/module-wishlist-sample-data": "Sample Data version: 100.3.*" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\Wishlist\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-wishlist-analytics", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-wishlist-analytics/magento-module-wishlist-analytics-100.3.1.0.zip", + "reference": null, + "shasum": "65852d6f8437a52706906c7c529398e60bf9052d" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-analytics": "100.3.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\WishlistAnalytics\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/module-wishlist-graph-ql", + "version": "100.3.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/module-wishlist-graph-ql/magento-module-wishlist-graph-ql-100.3.0.0.zip", + "reference": null, + "shasum": "6b63731e8f68755b22f29e0b29febc8c3c374842" + }, + "require": { + "magento/framework": "102.0.*", + "magento/module-catalog-graph-ql": "100.3.*", + "magento/module-store": "101.0.*", + "magento/module-wishlist": "101.1.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Magento\\WishlistGraphQl\\": "" + } + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/product-community-edition", + "version": "2.3.1", + "require": { + "amzn/amazon-pay-and-login-magento-2-module": "3.1.4", + "braintree/braintree_php": "3.35.0", + "colinmollenhour/cache-backend-file": "~1.4.1", + "colinmollenhour/cache-backend-redis": "1.10.6", + "colinmollenhour/credis": "1.10.0", + "colinmollenhour/php-redis-session-abstract": "~1.4.0", + "composer/composer": "^1.6", + "dotmailer/dotmailer-magento2-extension": "3.1.1", + "elasticsearch/elasticsearch": "~2.0|~5.1|~6.1", + "ext-bcmath": "*", + "ext-ctype": "*", + "ext-curl": "*", + "ext-dom": "*", + "ext-gd": "*", + "ext-hash": "*", + "ext-iconv": "*", + "ext-intl": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-pdo_mysql": "*", + "ext-simplexml": "*", + "ext-soap": "*", + "ext-spl": "*", + "ext-xsl": "*", + "ext-zip": "*", + "klarna/m2-payments": "7.1.0", + "lib-libxml": "*", + "magento/composer": "~1.4.0", + "magento/framework": "102.0.1", + "magento/framework-amqp": "100.3.1", + "magento/framework-bulk": "100.3.1", + "magento/framework-message-queue": "100.3.1", + "magento/inventory-composer-metapackage": "1.1.1", + "magento/language-de_de": "100.3.1", + "magento/language-en_us": "100.3.1", + "magento/language-es_es": "100.3.1", + "magento/language-fr_fr": "100.3.1", + "magento/language-nl_nl": "100.3.1", + "magento/language-pt_br": "100.3.1", + "magento/language-zh_hans_cn": "100.3.1", + "magento/magento-composer-installer": ">=0.1.11", + "magento/magento2-base": "2.3.1", + "magento/module-admin-notification": "100.3.1", + "magento/module-advanced-pricing-import-export": "100.3.1", + "magento/module-advanced-search": "100.3.1", + "magento/module-amqp": "100.3.1", + "magento/module-analytics": "100.3.1", + "magento/module-asynchronous-operations": "100.3.1", + "magento/module-authorization": "100.3.1", + "magento/module-authorizenet": "100.3.1", + "magento/module-authorizenet-acceptjs": "100.3.0", + "magento/module-backend": "101.0.1", + "magento/module-backup": "100.3.1", + "magento/module-braintree": "100.3.1", + "magento/module-bundle": "100.3.1", + "magento/module-bundle-graph-ql": "100.3.1", + "magento/module-bundle-import-export": "100.3.1", + "magento/module-cache-invalidate": "100.3.1", + "magento/module-captcha": "100.3.1", + "magento/module-catalog": "103.0.1", + "magento/module-catalog-analytics": "100.3.1", + "magento/module-catalog-graph-ql": "100.3.1", + "magento/module-catalog-import-export": "101.0.1", + "magento/module-catalog-inventory": "100.3.1", + "magento/module-catalog-inventory-graph-ql": "100.3.1", + "magento/module-catalog-rule": "101.1.1", + "magento/module-catalog-rule-configurable": "100.3.1", + "magento/module-catalog-search": "101.0.1", + "magento/module-catalog-url-rewrite": "100.3.1", + "magento/module-catalog-url-rewrite-graph-ql": "100.3.1", + "magento/module-catalog-widget": "100.3.1", + "magento/module-checkout": "100.3.1", + "magento/module-checkout-agreements": "100.3.1", + "magento/module-cms": "103.0.1", + "magento/module-cms-graph-ql": "100.3.1", + "magento/module-cms-url-rewrite": "100.3.1", + "magento/module-cms-url-rewrite-graph-ql": "100.3.1", + "magento/module-config": "101.1.1", + "magento/module-configurable-import-export": "100.3.1", + "magento/module-configurable-product": "100.3.1", + "magento/module-configurable-product-graph-ql": "100.3.1", + "magento/module-configurable-product-sales": "100.3.1", + "magento/module-contact": "100.3.1", + "magento/module-cookie": "100.3.1", + "magento/module-cron": "100.3.1", + "magento/module-currency-symbol": "100.3.1", + "magento/module-customer": "102.0.1", + "magento/module-customer-analytics": "100.3.1", + "magento/module-customer-graph-ql": "100.3.1", + "magento/module-customer-import-export": "100.3.1", + "magento/module-deploy": "100.3.1", + "magento/module-developer": "100.3.1", + "magento/module-dhl": "100.3.1", + "magento/module-directory": "100.3.1", + "magento/module-directory-graph-ql": "100.3.0", + "magento/module-downloadable": "100.3.1", + "magento/module-downloadable-graph-ql": "100.3.1", + "magento/module-downloadable-import-export": "100.3.1", + "magento/module-eav": "102.0.1", + "magento/module-eav-graph-ql": "100.3.1", + "magento/module-elasticsearch": "100.3.1", + "magento/module-elasticsearch-6": "100.3.0", + "magento/module-email": "101.0.1", + "magento/module-encryption-key": "100.3.1", + "magento/module-fedex": "100.3.1", + "magento/module-gift-message": "100.3.1", + "magento/module-google-adwords": "100.3.1", + "magento/module-google-analytics": "100.3.1", + "magento/module-google-optimizer": "100.3.1", + "magento/module-graph-ql": "100.3.1", + "magento/module-grouped-catalog-inventory": "100.3.0", + "magento/module-grouped-import-export": "100.3.1", + "magento/module-grouped-product": "100.3.1", + "magento/module-grouped-product-graph-ql": "100.3.1", + "magento/module-import-export": "100.3.1", + "magento/module-indexer": "100.3.1", + "magento/module-instant-purchase": "100.3.1", + "magento/module-integration": "100.3.1", + "magento/module-layered-navigation": "100.3.1", + "magento/module-marketplace": "100.3.1", + "magento/module-media-storage": "100.3.1", + "magento/module-message-queue": "100.3.1", + "magento/module-msrp": "100.3.1", + "magento/module-msrp-configurable-product": "100.3.0", + "magento/module-msrp-grouped-product": "100.3.0", + "magento/module-multishipping": "100.3.1", + "magento/module-mysql-mq": "100.3.1", + "magento/module-new-relic-reporting": "100.3.1", + "magento/module-newsletter": "100.3.1", + "magento/module-offline-payments": "100.3.1", + "magento/module-offline-shipping": "100.3.1", + "magento/module-page-cache": "100.3.1", + "magento/module-payment": "100.3.1", + "magento/module-paypal": "100.3.1", + "magento/module-persistent": "100.3.1", + "magento/module-product-alert": "100.3.1", + "magento/module-product-video": "100.3.1", + "magento/module-quote": "101.1.1", + "magento/module-quote-analytics": "100.3.1", + "magento/module-quote-graph-ql": "100.3.1", + "magento/module-release-notification": "100.3.1", + "magento/module-reports": "100.3.1", + "magento/module-require-js": "100.3.1", + "magento/module-review": "100.3.1", + "magento/module-review-analytics": "100.3.1", + "magento/module-robots": "101.0.1", + "magento/module-rss": "100.3.1", + "magento/module-rule": "100.3.1", + "magento/module-sales": "102.0.1", + "magento/module-sales-analytics": "100.3.1", + "magento/module-sales-graph-ql": "100.3.0", + "magento/module-sales-inventory": "100.3.1", + "magento/module-sales-rule": "101.1.1", + "magento/module-sales-sequence": "100.3.1", + "magento/module-sample-data": "100.3.1", + "magento/module-search": "101.0.1", + "magento/module-security": "100.3.1", + "magento/module-send-friend": "100.3.1", + "magento/module-send-friend-graph-ql": "100.3.0", + "magento/module-shipping": "100.3.1", + "magento/module-signifyd": "100.3.1", + "magento/module-sitemap": "100.3.1", + "magento/module-store": "101.0.1", + "magento/module-store-graph-ql": "100.3.1", + "magento/module-swagger": "100.3.1", + "magento/module-swagger-webapi": "100.3.1", + "magento/module-swagger-webapi-async": "100.3.1", + "magento/module-swatches": "100.3.1", + "magento/module-swatches-graph-ql": "100.3.1", + "magento/module-swatches-layered-navigation": "100.3.1", + "magento/module-tax": "100.3.1", + "magento/module-tax-graph-ql": "100.3.1", + "magento/module-tax-import-export": "100.3.1", + "magento/module-theme": "101.0.1", + "magento/module-theme-graph-ql": "100.3.0", + "magento/module-tinymce-3": "100.3.1", + "magento/module-translation": "100.3.1", + "magento/module-ui": "101.1.1", + "magento/module-ups": "100.3.1", + "magento/module-url-rewrite": "101.1.1", + "magento/module-url-rewrite-graph-ql": "100.3.1", + "magento/module-user": "101.1.1", + "magento/module-usps": "100.3.1", + "magento/module-variable": "100.3.1", + "magento/module-vault": "101.1.1", + "magento/module-version": "100.3.1", + "magento/module-webapi": "100.3.1", + "magento/module-webapi-async": "100.3.1", + "magento/module-webapi-security": "100.3.1", + "magento/module-weee": "100.3.1", + "magento/module-weee-graph-ql": "100.3.1", + "magento/module-widget": "101.1.1", + "magento/module-wishlist": "101.1.1", + "magento/module-wishlist-analytics": "100.3.1", + "magento/module-wishlist-graph-ql": "100.3.0", + "magento/theme-adminhtml-backend": "100.3.1", + "magento/theme-frontend-blank": "100.3.1", + "magento/theme-frontend-luma": "100.3.1", + "magento/zendframework1": "~1.14.1", + "monolog/monolog": "^1.17", + "msp/recaptcha": "2.0.2", + "msp/twofactorauth": "3.0.0", + "oyejorge/less.php": "~1.7.0", + "paragonie/sodium_compat": "^1.6", + "pelago/emogrifier": "^2.0.0", + "php": "~7.1.3||~7.2.0", + "php-amqplib/php-amqplib": "~2.7.0", + "phpseclib/mcrypt_compat": "1.0.8", + "phpseclib/phpseclib": "2.0.*", + "ramsey/uuid": "~3.8.0", + "symfony/console": "~4.1.0", + "symfony/event-dispatcher": "~4.1.0", + "symfony/process": "~4.1.0", + "tedivm/jshrink": "~1.3.0", + "temando/module-shipping-m2": "1.5.1", + "tubalmartin/cssmin": "4.1.1", + "vertex/product-magento-module": "3.1.0", + "webonyx/graphql-php": "^0.12.6", + "zendframework/zend-captcha": "^2.7.1", + "zendframework/zend-code": "~3.3.0", + "zendframework/zend-config": "^2.6.0", + "zendframework/zend-console": "^2.6.0", + "zendframework/zend-crypt": "^2.6.0", + "zendframework/zend-db": "^2.8.2", + "zendframework/zend-di": "^2.6.1", + "zendframework/zend-eventmanager": "^2.6.3", + "zendframework/zend-feed": "^2.9.0", + "zendframework/zend-form": "^2.10.0", + "zendframework/zend-http": "^2.6.0", + "zendframework/zend-i18n": "^2.7.3", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-log": "^2.9.1", + "zendframework/zend-mail": "^2.9.0", + "zendframework/zend-modulemanager": "^2.7", + "zendframework/zend-mvc": "~2.7.0", + "zendframework/zend-serializer": "^2.7.2", + "zendframework/zend-server": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.8", + "zendframework/zend-session": "^2.7.3", + "zendframework/zend-soap": "^2.7.0", + "zendframework/zend-stdlib": "^2.7.7", + "zendframework/zend-text": "^2.6.0", + "zendframework/zend-uri": "^2.5.1", + "zendframework/zend-validator": "^2.6.0", + "zendframework/zend-view": "~2.10.0" + }, + "type": "metapackage", + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "eCommerce Platform for Growth (Community Edition)" + }, + { + "name": "magento/theme-adminhtml-backend", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/theme-adminhtml-backend/magento-theme-adminhtml-backend-100.3.1.0.zip", + "reference": null, + "shasum": "16ba686421c8f62c5adafea59b9348dc3f9f9dc1" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-theme", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/theme-frontend-blank", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/theme-frontend-blank/magento-theme-frontend-blank-100.3.1.0.zip", + "reference": null, + "shasum": "5d0c6b04a16d20899bb5b70394fe8db257832dd1" + }, + "require": { + "magento/framework": "102.0.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-theme", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/theme-frontend-luma", + "version": "100.3.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/magento/theme-frontend-luma/magento-theme-frontend-luma-100.3.1.0.zip", + "reference": null, + "shasum": "4ecc9f6a9fa4dfc5be7f4dec8fc8a9535ec1f5f3" + }, + "require": { + "magento/framework": "102.0.*", + "magento/theme-frontend-blank": "100.3.*", + "php": "~7.1.3||~7.2.0" + }, + "type": "magento2-theme", + "autoload": { + "files": [ + "registration.php" + ] + }, + "license": [ + "OSL-3.0", + "AFL-3.0" + ], + "description": "N/A" + }, + { + "name": "magento/zendframework1", + "version": "1.14.1", + "source": { + "type": "git", + "url": "https://github.com/magento/zf1.git", + "reference": "4df018254c70b5b998b00a8cb1a30760f831ff0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/magento/zf1/zipball/4df018254c70b5b998b00a8cb1a30760f831ff0d", + "reference": "4df018254c70b5b998b00a8cb1a30760f831ff0d", + "shasum": "" + }, + "require": { + "php": ">=5.2.11" + }, + "require-dev": { + "phpunit/dbunit": "1.3.*", + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12.x-dev" + } + }, + "autoload": { + "psr-0": { + "Zend_": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "library/" + ], + "license": [ + "BSD-3-Clause" + ], + "description": "Magento Zend Framework 1", + "homepage": "http://framework.zend.com/", + "keywords": [ + "ZF1", + "framework" + ], + "time": "2018-08-09T15:03:40+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.24.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2018-11-05T09:00:11+00:00" + }, + { + "name": "msp/recaptcha", + "version": "2.0.2", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/msp/recaptcha/msp-recaptcha-2.0.2.0.zip", + "reference": null, + "shasum": "f037ce5e2b4202117adc4ec0ab93212ef31bff7e" + }, + "require": { + "google/recaptcha": "^1.1", + "magento/magento-composer-installer": "*", + "php": "^7.0|^7.1|^7.2" + }, + "suggest": { + "msp/security-suite": "Full MageSpecialist Security Suite" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "MSP\\ReCaptcha\\": "" + } + }, + "license": [ + "OSL-3.0" + ], + "authors": [ + { + "name": "Riccardo Tempesta", + "email": "riccardo.tempesta@magespecialist.it" + } + ], + "description": "Google reCaptcha integration for Magento2 - Member of MageSpecialist SecuritySuite" + }, + { + "name": "msp/twofactorauth", + "version": "3.0.0", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/msp/twofactorauth/msp-twofactorauth-3.0.0.0.zip", + "reference": null, + "shasum": "ba56d984ae834a8e87a76aed81bcaf6fd6d811b1" + }, + "require": { + "christian-riesen/base32": "^1.3", + "donatj/phpuseragentparser": "~0.7", + "endroid/qr-code": "^2.5", + "magento/magento-composer-installer": "*", + "php": "^7.0|^7.1|^7.2", + "spomky-labs/otphp": "~8.3", + "yubico/u2flib-server": "^1.0" + }, + "suggest": { + "msp/security-suite": "Full MageSpecialist Security Suite" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "MSP\\TwoFactorAuth\\": "" + } + }, + "license": [ + "OSL-3.0" + ], + "authors": [ + { + "name": "Riccardo Tempesta", + "email": "riccardo.tempesta@magespecialist.it" + } + ], + "description": "Two Factor Authentication module for Magento2 - Member of MageSpecialist SecuritySuite" + }, + { + "name": "myclabs/php-enum", + "version": "1.6.6", + "source": { + "type": "git", + "url": "https://github.com/myclabs/php-enum.git", + "reference": "32c4202886c51fbe5cc3a7c34ec5c9a4a790345e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/php-enum/zipball/32c4202886c51fbe5cc3a7c34ec5c9a4a790345e", + "reference": "32c4202886c51fbe5cc3a7c34ec5c9a4a790345e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|^5.7|^6.0", + "squizlabs/php_codesniffer": "1.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "MyCLabs\\Enum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP Enum contributors", + "homepage": "https://github.com/myclabs/php-enum/graphs/contributors" + } + ], + "description": "PHP Enum implementation", + "homepage": "http://github.com/myclabs/php-enum", + "keywords": [ + "enum" + ], + "time": "2019-02-04T21:18:49+00:00" + }, + { + "name": "oyejorge/less.php", + "version": "v1.7.0.14", + "source": { + "type": "git", + "url": "https://github.com/oyejorge/less.php.git", + "reference": "42925c5a01a07d67ca7e82dfc8fb31814d557bc9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/oyejorge/less.php/zipball/42925c5a01a07d67ca7e82dfc8fb31814d557bc9", + "reference": "42925c5a01a07d67ca7e82dfc8fb31814d557bc9", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.24" + }, + "bin": [ + "bin/lessc" + ], + "type": "library", + "autoload": { + "psr-0": { + "Less": "lib/" + }, + "classmap": [ + "lessc.inc.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Matt Agar", + "homepage": "https://github.com/agar" + }, + { + "name": "Martin Jantošovič", + "homepage": "https://github.com/Mordred" + }, + { + "name": "Josh Schmidt", + "homepage": "https://github.com/oyejorge" + } + ], + "description": "PHP port of the Javascript version of LESS http://lesscss.org (Originally maintained by Josh Schmidt)", + "homepage": "http://lessphp.gpeasy.com", + "keywords": [ + "css", + "less", + "less.js", + "lesscss", + "php", + "stylesheet" + ], + "time": "2017-03-28T22:19:25+00:00" + }, + { + "name": "paragonie/constant_time_encoding", + "version": "v2.2.3", + "source": { + "type": "git", + "url": "https://github.com/paragonie/constant_time_encoding.git", + "reference": "55af0dc01992b4d0da7f6372e2eac097bbbaffdb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/55af0dc01992b4d0da7f6372e2eac097bbbaffdb", + "reference": "55af0dc01992b4d0da7f6372e2eac097bbbaffdb", + "shasum": "" + }, + "require": { + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "^6|^7", + "vimeo/psalm": "^1|^2" + }, + "type": "library", + "autoload": { + "psr-4": { + "ParagonIE\\ConstantTime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative", + "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" + } + ], + "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", + "keywords": [ + "base16", + "base32", + "base32_decode", + "base32_encode", + "base64", + "base64_decode", + "base64_encode", + "bin2hex", + "encoding", + "hex", + "hex2bin", + "rfc4648" + ], + "time": "2019-01-03T20:26:31+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.99", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "shasum": "" + }, + "require": { + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2018-07-02T15:55:56+00:00" + }, + { + "name": "paragonie/sodium_compat", + "version": "v1.9.1", + "source": { + "type": "git", + "url": "https://github.com/paragonie/sodium_compat.git", + "reference": "87125d5b265f98c4d1b8d83a1f0726607c229421" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/87125d5b265f98c4d1b8d83a1f0726607c229421", + "reference": "87125d5b265f98c4d1b8d83a1f0726607c229421", + "shasum": "" + }, + "require": { + "paragonie/random_compat": ">=1", + "php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8" + }, + "require-dev": { + "phpunit/phpunit": "^3|^4|^5" + }, + "suggest": { + "ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.", + "ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." + }, + "type": "library", + "autoload": { + "files": [ + "autoload.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Paragon Initiative", + "email": "security@paragonie.com" + }, + { + "name": "Frank Denis", + "email": "jedisct1@pureftpd.org" + } + ], + "description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists", + "keywords": [ + "Authentication", + "BLAKE2b", + "ChaCha20", + "ChaCha20-Poly1305", + "Chapoly", + "Curve25519", + "Ed25519", + "EdDSA", + "Edwards-curve Digital Signature Algorithm", + "Elliptic Curve Diffie-Hellman", + "Poly1305", + "Pure-PHP cryptography", + "RFC 7748", + "RFC 8032", + "Salpoly", + "Salsa20", + "X25519", + "XChaCha20-Poly1305", + "XSalsa20-Poly1305", + "Xchacha20", + "Xsalsa20", + "aead", + "cryptography", + "ecdh", + "elliptic curve", + "elliptic curve cryptography", + "encryption", + "libsodium", + "php", + "public-key cryptography", + "secret-key cryptography", + "side-channel resistant" + ], + "time": "2019-03-20T17:19:05+00:00" + }, + { + "name": "pelago/emogrifier", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/MyIntervals/emogrifier.git", + "reference": "8ee7fb5ad772915451ed3415c1992bd3697d4983" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MyIntervals/emogrifier/zipball/8ee7fb5ad772915451ed3415c1992bd3697d4983", + "reference": "8ee7fb5ad772915451ed3415c1992bd3697d4983", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0", + "symfony/css-selector": "^3.4.0 || ^4.0.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.2.0", + "phpmd/phpmd": "^2.6.0", + "phpunit/phpunit": "^4.8.0", + "squizlabs/php_codesniffer": "^3.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Pelago\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Reeve", + "email": "jreeve@pelagodesign.com" + }, + { + "name": "Cameron Brooks" + }, + { + "name": "Jaime Prado" + }, + { + "name": "Oliver Klee", + "email": "github@oliverklee.de" + }, + { + "name": "Zoli Szabó", + "email": "zoli.szabo+github@gmail.com" + }, + { + "name": "Jake Hotson", + "email": "jake@qzdesign.co.uk" + } + ], + "description": "Converts CSS styles into inline style attributes in your HTML code", + "homepage": "https://www.myintervals.com/emogrifier.php", + "keywords": [ + "css", + "email", + "pre-processing" + ], + "time": "2018-12-10T10:36:30+00:00" + }, + { + "name": "php-amqplib/php-amqplib", + "version": "v2.7.3", + "source": { + "type": "git", + "url": "https://github.com/php-amqplib/php-amqplib.git", + "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", + "reference": "a8ba54bd35b973fc6861e4c2e105f71e9e95f43f", + "shasum": "" + }, + "require": { + "ext-bcmath": "*", + "ext-mbstring": "*", + "php": ">=5.3.0" + }, + "replace": { + "videlalvaro/php-amqplib": "self.version" + }, + "require-dev": { + "phpdocumentor/phpdocumentor": "^2.9", + "phpunit/phpunit": "^4.8", + "scrutinizer/ocular": "^1.1", + "squizlabs/php_codesniffer": "^2.5" + }, + "suggest": { + "ext-sockets": "Use AMQPSocketConnection" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "PhpAmqpLib\\": "PhpAmqpLib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Alvaro Videla", + "role": "Original Maintainer" + }, + { + "name": "John Kelly", + "email": "johnmkelly86@gmail.com", + "role": "Maintainer" + }, + { + "name": "Raúl Araya", + "email": "nubeiro@gmail.com", + "role": "Maintainer" + } + ], + "description": "Formerly videlalvaro/php-amqplib. This library is a pure PHP implementation of the AMQP protocol. It's been tested against RabbitMQ.", + "homepage": "https://github.com/php-amqplib/php-amqplib/", + "keywords": [ + "message", + "queue", + "rabbitmq" + ], + "time": "2018-04-30T03:54:54+00:00" + }, + { + "name": "phpseclib/mcrypt_compat", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/mcrypt_compat.git", + "reference": "f74c7b1897b62f08f268184b8bb98d9d9ab723b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/mcrypt_compat/zipball/f74c7b1897b62f08f268184b8bb98d9d9ab723b0", + "reference": "f74c7b1897b62f08f268184b8bb98d9d9ab723b0", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "phpseclib/phpseclib": ">=2.0.11 <3.0.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|^5.7|^6.0" + }, + "suggest": { + "ext-openssl": "Will enable faster cryptographic operations" + }, + "type": "library", + "autoload": { + "files": [ + "lib/mcrypt.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "homepage": "http://phpseclib.sourceforge.net" + } + ], + "description": "PHP 7.1 polyfill for the mcrypt extension from PHP <= 7.0", + "keywords": [ + "cryptograpy", + "encryption", + "mcrypt" + ], + "time": "2018-08-22T03:11:43+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "2.0.15", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "11cf67cf78dc4acb18dc9149a57be4aee5036ce0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/11cf67cf78dc4acb18dc9149a57be4aee5036ce0", + "reference": "11cf67cf78dc4acb18dc9149a57be4aee5036ce0", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "^4.8.35|^5.7|^6.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "time": "2019-03-10T16:53:45+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2018-11-20T15:27:04+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7.0", + "satooshi/php-coveralls": ">=1.0" + }, + "type": "library", + "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.", + "time": "2016-02-11T07:05:27+00:00" + }, + { + "name": "ramsey/uuid", + "version": "3.8.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "^1.0|^2.0|9.99.99", + "php": "^5.4 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "codeception/aspect-mock": "^1.0 | ~2.0.0", + "doctrine/annotations": "~1.2.0", + "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ~2.1.0", + "ircmaxell/random-lib": "^1.1", + "jakub-onderka/php-parallel-lint": "^0.9.0", + "mockery/mockery": "^0.9.9", + "moontoast/math": "^1.1", + "php-mock/php-mock-phpunit": "^0.3|^1.1", + "phpunit/phpunit": "^4.7|^5.0|^6.5", + "squizlabs/php_codesniffer": "^2.3" + }, + "suggest": { + "ext-ctype": "Provides support for PHP Ctype functions", + "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", + "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", + "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", + "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marijn Huizendveld", + "email": "marijn.huizendveld@gmail.com" + }, + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + }, + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", + "homepage": "https://github.com/ramsey/uuid", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "time": "2018-07-19T23:38:55+00:00" + }, + { + "name": "react/promise", + "version": "v2.7.1", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "31ffa96f8d2ed0341a57848cbb84d88b89dd664d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/31ffa96f8d2ed0341a57848cbb84d88b89dd664d", + "reference": "31ffa96f8d2ed0341a57848cbb84d88b89dd664d", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "time": "2019-01-07T21:25:54+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "time": "2018-01-24T12:46:19+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phra" + ], + "time": "2015-10-13T18:44:15+00:00" + }, + { + "name": "spomky-labs/otphp", + "version": "v8.3.3", + "source": { + "type": "git", + "url": "https://github.com/Spomky-Labs/otphp.git", + "reference": "eb14442699ae6470b29ffd89238a9ccfb9f20788" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Spomky-Labs/otphp/zipball/eb14442699ae6470b29ffd89238a9ccfb9f20788", + "reference": "eb14442699ae6470b29ffd89238a9ccfb9f20788", + "shasum": "" + }, + "require": { + "beberlei/assert": "^2.4", + "paragonie/constant_time_encoding": "^1.0|^2.0", + "paragonie/random_compat": ">=2", + "php": "^5.5|^7.0", + "symfony/polyfill-mbstring": "^1.1", + "symfony/polyfill-php56": "^1.1" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|^5.0", + "satooshi/php-coveralls": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "OTPHP\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Florent Morselli", + "homepage": "https://github.com/Spomky" + }, + { + "name": "All contributors", + "homepage": "https://github.com/Spomky-Labs/otphp/contributors" + } + ], + "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" + ], + "time": "2018-09-13T19:25:26+00:00" + }, + { + "name": "symfony/console", + "version": "v4.1.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "9e87c798f67dc9fceeb4f3d57847b52d945d1a02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/9e87c798f67dc9fceeb4f3d57847b52d945d1a02", + "reference": "9e87c798f67dc9fceeb4f3d57847b52d945d1a02", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "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": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2019-01-25T14:34:37+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "48eddf66950fa57996e1be4a55916d65c10c604a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/48eddf66950fa57996e1be4a55916d65c10c604a", + "reference": "48eddf66950fa57996e1be4a55916d65c10c604a", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2019-01-16T20:31:39+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v4.1.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "51be1b61dfe04d64a260223f2b81475fa8066b97" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/51be1b61dfe04d64a260223f2b81475fa8066b97", + "reference": "51be1b61dfe04d64a260223f2b81475fa8066b97", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "conflict": { + "symfony/dependency-injection": "<3.4" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "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": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2019-01-16T18:35:49+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "e16b9e471703b2c60b95f14d31c1239f68f11601" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/e16b9e471703b2c60b95f14d31c1239f68f11601", + "reference": "e16b9e471703b2c60b95f14d31c1239f68f11601", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "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": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2019-02-07T11:40:08+00:00" + }, + { + "name": "symfony/finder", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "267b7002c1b70ea80db0833c3afe05f0fbde580a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/267b7002c1b70ea80db0833c3afe05f0fbde580a", + "reference": "267b7002c1b70ea80db0833c3afe05f0fbde580a", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "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": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:42:05+00:00" + }, + { + "name": "symfony/inflector", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/inflector.git", + "reference": "275e54941a4f17a471c68d2a00e2513fc1fd4a78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/inflector/zipball/275e54941a4f17a471c68d2a00e2513fc1fd4a78", + "reference": "275e54941a4f17a471c68d2a00e2513fc1fd4a78", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Inflector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Inflector Component", + "homepage": "https://symfony.com", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string", + "symfony", + "words" + ], + "time": "2019-01-16T20:31:39+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "3896e5a7d06fd15fa4947694c8dcdd371ff147d1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/3896e5a7d06fd15fa4947694c8dcdd371ff147d1", + "reference": "3896e5a7d06fd15fa4947694c8dcdd371ff147d1", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "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": "Symfony OptionsResolver Component", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "time": "2019-02-23T15:17:42+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "82ebae02209c21113908c229e9883c419720738a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", + "reference": "82ebae02209c21113908c229e9883c419720738a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "backendtea@gmail.com" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2019-02-06T07:57:58+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.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": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2019-02-06T07:57:58+00:00" + }, + { + "name": "symfony/polyfill-php56", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "f4dddbc5c3471e1b700a147a20ae17cdb72dbe42" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/f4dddbc5c3471e1b700a147a20ae17cdb72dbe42", + "reference": "f4dddbc5c3471e1b700a147a20ae17cdb72dbe42", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + }, + "files": [ + "bootstrap.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-02-06T07:57:58+00:00" + }, + { + "name": "symfony/polyfill-util", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "b46c6cae28a3106735323f00a0c38eccf2328897" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/b46c6cae28a3106735323f00a0c38eccf2328897", + "reference": "b46c6cae28a3106735323f00a0c38eccf2328897", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Util\\": "" + } + }, + "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 utilities for portability of PHP codes", + "homepage": "https://symfony.com", + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], + "time": "2019-02-08T14:16:39+00:00" + }, + { + "name": "symfony/process", + "version": "v4.1.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "72d838aafaa7c790330fe362b9cecec362c64629" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/72d838aafaa7c790330fe362b9cecec362c64629", + "reference": "72d838aafaa7c790330fe362b9cecec362c64629", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "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": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2019-01-16T19:07:26+00:00" + }, + { + "name": "symfony/property-access", + "version": "v4.2.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "5440dd2b5373073beee051bd978b58a0f543b192" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-access/zipball/5440dd2b5373073beee051bd978b58a0f543b192", + "reference": "5440dd2b5373073beee051bd978b58a0f543b192", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/inflector": "~3.4|~4.0" + }, + "require-dev": { + "symfony/cache": "~3.4|~4.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "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": "Symfony PropertyAccess Component", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property path", + "reflection" + ], + "time": "2019-03-04T09:16:25+00:00" + }, + { + "name": "tedivm/jshrink", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/tedious/JShrink.git", + "reference": "21254058dc3ce6aba6bef458cff4bfa25cf8b198" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tedious/JShrink/zipball/21254058dc3ce6aba6bef458cff4bfa25cf8b198", + "reference": "21254058dc3ce6aba6bef458cff4bfa25cf8b198", + "shasum": "" + }, + "require": { + "php": "^5.6|^7.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.8", + "php-coveralls/php-coveralls": "^1.1.0", + "phpunit/phpunit": "^6" + }, + "type": "library", + "autoload": { + "psr-0": { + "JShrink": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Robert Hafner", + "email": "tedivm@tedivm.com" + } + ], + "description": "Javascript Minifier built in PHP", + "homepage": "http://github.com/tedious/JShrink", + "keywords": [ + "javascript", + "minifier" + ], + "time": "2018-09-16T00:02:51+00:00" + }, + { + "name": "temando/module-shipping-m2", + "version": "1.5.1", + "dist": { + "type": "zip", + "url": "https://repo.magento.com/archives/temando/module-shipping-m2/temando-module-shipping-m2-1.5.1.0.zip", + "reference": null, + "shasum": "7fb7a9164d6bc4a17e9b8869ddbc8c5f79106905" + }, + "require": { + "ext-iconv": "*", + "ext-intl": "*", + "ext-json": "*", + "magento/framework": "^102.0.0", + "magento/module-backend": "^101.0.0", + "magento/module-catalog": "^103.0.0", + "magento/module-checkout": "^100.3.0", + "magento/module-config": "^101.1.0||^102.0.0", + "magento/module-customer": "^102.0.0", + "magento/module-directory": "^100.3.0", + "magento/module-eav": "^102.0.0", + "magento/module-email": "^101.0.0", + "magento/module-integration": "^100.3.0", + "magento/module-multishipping": "^100.3.0", + "magento/module-payment": "^100.3.0", + "magento/module-quote": "^101.1.0", + "magento/module-sales": "^102.0.0", + "magento/module-security": "^100.3.0", + "magento/module-shipping": "^100.3.0", + "magento/module-store": "^101.0.0", + "magento/module-tax": "^100.3.0", + "magento/module-ui": "^101.1.0", + "monolog/monolog": "^1.17.0", + "php": "~7.1.3||~7.2.0", + "psr/log": "~1.0", + "zendframework/zend-barcode": "^2.7.0", + "zendframework/zend-http": "^2.6.0" + }, + "suggest": { + "magento/module-rma": "^101.1.0", + "magento/module-scalable-checkout": "^100.3.0", + "magento/module-scalable-oms": "^100.3.0" + }, + "type": "magento2-module", + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Temando\\Shipping\\": "" + } + }, + "license": [ + "OSL-3.0" + ], + "authors": [ + { + "name": "Christoph Aßmann", + "email": "christoph.assmann@netresearch.de", + "homepage": "https://www.netresearch.de/", + "role": "Developer" + } + ], + "description": "Temando multi-carrier shipping extension for Magento 2" + }, + { + "name": "true/punycode", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/true/php-punycode.git", + "reference": "a4d0c11a36dd7f4e7cd7096076cab6d3378a071e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/true/php-punycode/zipball/a4d0c11a36dd7f4e7cd7096076cab6d3378a071e", + "reference": "a4d0c11a36dd7f4e7cd7096076cab6d3378a071e", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.7", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "TrueBV\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Renan Gonçalves", + "email": "renan.saddam@gmail.com" + } + ], + "description": "A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)", + "homepage": "https://github.com/true/php-punycode", + "keywords": [ + "idna", + "punycode" + ], + "time": "2016-11-16T10:37:54+00:00" + }, + { + "name": "tubalmartin/cssmin", + "version": "v4.1.1", + "source": { + "type": "git", + "url": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port.git", + "reference": "3cbf557f4079d83a06f9c3ff9b957c022d7805cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tubalmartin/YUI-CSS-compressor-PHP-port/zipball/3cbf557f4079d83a06f9c3ff9b957c022d7805cf", + "reference": "3cbf557f4079d83a06f9c3ff9b957c022d7805cf", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": ">=5.3.2" + }, + "require-dev": { + "cogpowered/finediff": "0.3.*", + "phpunit/phpunit": "4.8.*" + }, + "bin": [ + "cssmin" + ], + "type": "library", + "autoload": { + "psr-4": { + "tubalmartin\\CssMin\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Túbal Martín", + "homepage": "http://tubalmartin.me/" + } + ], + "description": "A PHP port of the YUI CSS compressor", + "homepage": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port", + "keywords": [ + "compress", + "compressor", + "css", + "cssmin", + "minify", + "yui" ], - "description": "Magento 2 Base" + "time": "2018-01-15T15:26:51+00:00" }, { - "name": "magento/module-admin-notification", - "version": "0.74.0-beta2", + "name": "vertex/module-tax", + "version": "3.1.0", "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-admin-notification-0.74.0-beta2.zip", + "url": "https://repo.magento.com/archives/vertex/module-tax/vertex-module-tax-3.1.0.0.zip", "reference": null, - "shasum": "740186bdf97b2161994c10a883211eae76b285e9" + "shasum": "f741436e6732930f69d24f7f8291101b0d3382c6" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "ext-json": "*", + "ext-simplexml": "*", + "ext-soap": "*", + "magento/framework": "^100|^101|^102", + "magento/module-backend": "^100|^101", + "magento/module-catalog": "^100|^101|^102|^103", + "magento/module-checkout": "^100", + "magento/module-config": "^100|^101", + "magento/module-cron": "^100", + "magento/module-customer": "^100|^101|^102", + "magento/module-directory": "^100", + "magento/module-eav": "^100|^101|^102", + "magento/module-quote": "^100|^101", + "magento/module-sales": "^100|^101|^102", + "magento/module-shipping": "^100", + "magento/module-store": "^100|^101", + "magento/module-tax": "^100", + "magento/module-ui": "^100|^101", + "php": "^5.6|^7.0", + "vertex/sdk": "^1.1.0" + }, + "conflict": { + "magento/module-gift-wrapping": ">=102", + "pixafy/tax": "*", + "pixafy/tax-ee": "*", + "vertex/tax": "*", + "vertex/tax-ee": "*" + }, + "require-dev": { + "ext-dom": "*", + "ext-simplexml": "*", + "magento/marketplace-eqp": "^1.0", + "magento/module-offline-shipping": "^100.2", + "magento/module-usps": "^100.2" + }, + "suggest": { + "magento/module-gift-card-account": "Vertex Tax Links for Magento 2 also supports Magento's Gift Card Account module", + "magento/module-gift-wrapping": "Vertex Tax Links for Magento 2 also supports Magento's Gift Wrapping module", + "magento/module-multishipping": "Vertex Tax Links for Magento 2 also supports Magento's Multishipping module", + "magento/module-reward": "Vertex Tax Links for Magento 2 also supports Magento's Reward module" }, "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/AdminNotification" - ] - ] + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Vertex\\Tax\\": "" + } }, "license": [ - "OSL-3.0", - "AFL-3.0" + "proprietary" ], - "description": "N/A" + "description": "Vertex Tax Links for Magento 2" }, { - "name": "magento/module-authorization", - "version": "0.74.0-beta2", + "name": "vertex/product-magento-module", + "version": "3.1.0", + "require": { + "vertex/module-tax": "3.1.0" + }, + "type": "metapackage", + "license": [ + "proprietary" + ], + "authors": [ + { + "name": "Mediotype", + "email": "diveinto@mediotype.com", + "homepage": "http://www.mediotype.com/", + "role": "Development Company" + } + ], + "description": "Vertex Tax Links for Magento 2", + "homepage": "http://go.vertexsmb.com/magento_cbe", + "keywords": [ + "tax", + "vertex" + ] + }, + { + "name": "vertex/sdk", + "version": "1.1.0", "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-authorization-0.74.0-beta2.zip", + "url": "https://repo.magento.com/archives/vertex/sdk/vertex-sdk-1.1.0.0.zip", "reference": null, - "shasum": "045f8440fe82b38ce228b0be52b011bb02773214" + "shasum": "85c38829f8233c14865912e092a2c5c6c80146ec" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-soap": "*", + "php": "^5.4|^7" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Authorization" - ] - ] + "require-dev": { + "php": "^7.1", + "phpmd/phpmd": "^2.6", + "phpunit/phpunit": "^7.2", + "squizlabs/php_codesniffer": "^3.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Vertex\\": "src/" + } }, "license": [ - "OSL-3.0", - "AFL-3.0" + "proprietary" ], - "description": "Authorization module provides access to Magento ACL functionality." + "description": "Tools for communicating with Vertex Cloud and Vertex O-Series" }, { - "name": "magento/module-backend", - "version": "0.74.0-beta2", + "name": "webonyx/graphql-php", + "version": "v0.12.6", + "source": { + "type": "git", + "url": "https://github.com/webonyx/graphql-php.git", + "reference": "4c545e5ec4fc37f6eb36c19f5a0e7feaf5979c95" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-backend-0.74.0-beta2.zip", - "reference": null, - "shasum": "39ddbf62a11d9be1b16539733c0f66f46a503033" + "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/4c545e5ec4fc37f6eb36c19f5a0e7feaf5979c95", + "reference": "4c545e5ec4fc37f6eb36c19f5a0e7feaf5979c95", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backup": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-cron": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-developer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-reports": "0.74.0-beta2", - "magento/module-require-js": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "magento/module-translation": "0.74.0-beta2", - "magento/module-user": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "ext-mbstring": "*", + "php": ">=5.6" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Backend" - ] + "require-dev": { + "phpunit/phpunit": "^4.8", + "psr/http-message": "^1.0", + "react/promise": "2.*" + }, + "suggest": { + "psr/http-message": "To use standard GraphQL server", + "react/promise": "To leverage async resolving on React PHP platform" + }, + "type": "library", + "autoload": { + "psr-4": { + "GraphQL\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP port of GraphQL reference implementation", + "homepage": "https://github.com/webonyx/graphql-php", + "keywords": [ + "api", + "graphql" + ], + "time": "2018-09-02T14:59:54+00:00" + }, + { + "name": "yubico/u2flib-server", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/Yubico/php-u2flib-server.git", + "reference": "55d813acf68212ad2cadecde07551600d6971939" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Yubico/php-u2flib-server/zipball/55d813acf68212ad2cadecde07551600d6971939", + "reference": "55d813acf68212ad2cadecde07551600d6971939", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "paragonie/random_compat": ">= 1", + "php": ">=5.6" + }, + "require-dev": { + "phpunit/phpunit": "~5.7", + "vimeo/psalm": "^0|^1|^2" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-2-Clause" ], - "description": "N/A" + "description": "Library for U2F implementation", + "homepage": "https://developers.yubico.com/php-u2flib-server", + "time": "2018-09-07T08:16:44+00:00" }, { - "name": "magento/module-backup", - "version": "0.74.0-beta2", + "name": "zendframework/zend-barcode", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-barcode.git", + "reference": "50f24f604ef2172a0127efe91e786bc2caf2e8cf" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-backup-0.74.0-beta2.zip", - "reference": null, - "shasum": "7188d9a41bd9d4294dfd90c7053c301876d82c48" + "url": "https://api.github.com/repos/zendframework/zend-barcode/zipball/50f24f604ef2172a0127efe91e786bc2caf2e8cf", + "reference": "50f24f604ef2172a0127efe91e786bc2caf2e8cf", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-cron": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1", + "zendframework/zend-validator": "^2.10.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6 || ^3.1", + "zendframework/zendpdf": "^2.0.2" + }, + "suggest": { + "zendframework/zendpdf": "ZendPdf component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Backup" - ] - ] + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Barcode\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides a generic way to generate barcodes", + "keywords": [ + "ZendFramework", + "barcode", + "zf" + ], + "time": "2017-12-11T15:30:02+00:00" }, { - "name": "magento/module-bundle", - "version": "0.74.0-beta2", + "name": "zendframework/zend-captcha", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-captcha.git", + "reference": "37e9b6a4f632a9399eecbf2e5e325ad89083f87b" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-bundle-0.74.0-beta2.zip", - "reference": null, - "shasum": "849f7fc43f7f9b6a37a922272656c6218c681693" + "url": "https://api.github.com/repos/zendframework/zend-captcha/zipball/37e9b6a4f632a9399eecbf2e5e325ad89083f87b", + "reference": "37e9b6a4f632a9399eecbf2e5e325ad89083f87b", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-catalog-rule": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-gift-message": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-math": "^2.7 || ^3.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-session": "^2.8", + "zendframework/zend-text": "^2.6", + "zendframework/zend-validator": "^2.10.1", + "zendframework/zendservice-recaptcha": "^3.0" }, "suggest": { - "magento/module-webapi": "0.74.0-beta2" + "zendframework/zend-i18n-resources": "Translations of captcha messages", + "zendframework/zend-session": "Zend\\Session component", + "zendframework/zend-text": "Zend\\Text component", + "zendframework/zend-validator": "Zend\\Validator component", + "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Bundle" - ] - ] + "branch-alias": { + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Captcha\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Generate and validate CAPTCHAs using Figlets, images, ReCaptcha, and more", + "keywords": [ + "ZendFramework", + "captcha", + "zf" + ], + "time": "2018-04-24T17:24:10+00:00" }, { - "name": "magento/module-captcha", - "version": "0.74.0-beta2", + "name": "zendframework/zend-code", + "version": "3.3.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-code.git", + "reference": "c21db169075c6ec4b342149f446e7b7b724f95eb" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-captcha-0.74.0-beta2.zip", - "reference": null, - "shasum": "a80050a22bad3399e146b242be33f6717fe15d26" + "url": "https://api.github.com/repos/zendframework/zend-code/zipball/c21db169075c6ec4b342149f446e7b7b724f95eb", + "reference": "c21db169075c6ec4b342149f446e7b7b724f95eb", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^7.1", + "zendframework/zend-eventmanager": "^2.6 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "doctrine/annotations": "~1.0", + "ext-phar": "*", + "phpunit/phpunit": "^6.2.3", + "zendframework/zend-coding-standard": "^1.0.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "suggest": { + "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", + "zendframework/zend-stdlib": "Zend\\Stdlib component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Captcha" - ] - ] + "branch-alias": { + "dev-master": "3.3.x-dev", + "dev-develop": "3.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Code\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides facilities to generate arbitrary code using an object oriented interface", + "homepage": "https://github.com/zendframework/zend-code", + "keywords": [ + "code", + "zf2" + ], + "time": "2018-08-13T20:36:59+00:00" }, { - "name": "magento/module-catalog", - "version": "0.74.0-beta2", + "name": "zendframework/zend-config", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-config.git", + "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-0.74.0-beta2.zip", - "reference": null, - "shasum": "d4259a0113a3b8eece9bdf88ad24b5cdee349de0" + "url": "https://api.github.com/repos/zendframework/zend-config/zipball/2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", + "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-catalog-rule": "0.74.0-beta2", - "magento/module-catalog-url-rewrite": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-cms": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-indexer": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-msrp": "0.74.0-beta2", - "magento/module-page-cache": "0.74.0-beta2", - "magento/module-product-alert": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "magento/module-url-rewrite": "0.74.0-beta2", - "magento/module-widget": "0.74.0-beta2", - "magento/module-wishlist": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" - }, - "suggest": { - "magento/module-cookie": "0.74.0-beta2" + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-i18n": "^2.5", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-i18n": "Zend\\I18n component", + "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes", + "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Catalog" - ] - ] + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Config\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" + ], + "description": "provides a nested object property based user interface for accessing this configuration data within application code", + "homepage": "https://github.com/zendframework/zend-config", + "keywords": [ + "config", + "zf2" ], - "description": "N/A" + "time": "2016-02-04T23:01:10+00:00" }, { - "name": "magento/module-catalog-import-export", - "version": "0.74.0-beta2", + "name": "zendframework/zend-console", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-console.git", + "reference": "e8aa08da83de3d265256c40ba45cd649115f0e18" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-import-export-0.74.0-beta2.zip", - "reference": null, - "shasum": "3a26206abf71888d300c9d72b2190ff0f66eafd2" + "url": "https://api.github.com/repos/zendframework/zend-console/zipball/e8aa08da83de3d265256c40ba45cd649115f0e18", + "reference": "e8aa08da83de3d265256c40ba45cd649115f0e18", + "shasum": "" }, "require": { - "ext-ctype": "*", - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-import-export": "0.74.0-beta2", - "magento/module-indexer": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-filter": "^2.7.2", + "zendframework/zend-json": "^2.6 || ^3.0", + "zendframework/zend-validator": "^2.10.1" + }, + "suggest": { + "zendframework/zend-filter": "To support DefaultRouteMatcher usage", + "zendframework/zend-validator": "To support DefaultRouteMatcher usage" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CatalogImportExport" - ] - ] + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Console\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Build console applications using getopt syntax or routing, complete with prompts", + "keywords": [ + "ZendFramework", + "console", + "zf" + ], + "time": "2018-01-25T19:08:04+00:00" }, { - "name": "magento/module-catalog-inventory", - "version": "0.74.0-beta2", + "name": "zendframework/zend-crypt", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-crypt.git", + "reference": "1b2f5600bf6262904167116fa67b58ab1457036d" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-inventory-0.74.0-beta2.zip", - "reference": null, - "shasum": "805c2bb2fb2c2f038dd73e4030a02e1208ea23da" + "url": "https://api.github.com/repos/zendframework/zend-crypt/zipball/1b2f5600bf6262904167116fa67b58ab1457036d", + "reference": "1b2f5600bf6262904167116fa67b58ab1457036d", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-indexer": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "~1.0", + "php": "^5.5 || ^7.0", + "zendframework/zend-math": "^2.6", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-mcrypt": "Required for most features of Zend\\Crypt" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CatalogInventory" - ] - ] + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Crypt\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-crypt", + "keywords": [ + "crypt", + "zf2" + ], + "time": "2016-02-03T23:46:30+00:00" }, { - "name": "magento/module-catalog-rule", - "version": "0.74.0-beta2", + "name": "zendframework/zend-db", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-db.git", + "reference": "77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-rule-0.74.0-beta2.zip", - "reference": null, - "shasum": "e9fe8b0f65dea1f8feba125e7d2974d48d1e0eef" + "url": "https://api.github.com/repos/zendframework/zend-db/zipball/77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e", + "reference": "77022f06f6ffd384fa86d22ab8d8bbdb925a1e8e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-import-export": "0.74.0-beta2", - "magento/module-indexer": "0.74.0-beta2", - "magento/module-rule": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.25 || ^6.4.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-hydrator": "^1.1 || ^2.1 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-eventmanager": "Zend\\EventManager component", + "zendframework/zend-hydrator": "Zend\\Hydrator component for using HydratingResultSets", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CatalogRule" - ] - ] + "branch-alias": { + "dev-master": "2.9-dev", + "dev-develop": "2.10-dev" + }, + "zf": { + "component": "Zend\\Db", + "config-provider": "Zend\\Db\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Db\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Database abstraction layer, SQL abstraction, result set abstraction, and RowDataGateway and TableDataGateway implementations", + "keywords": [ + "ZendFramework", + "db", + "zf" + ], + "time": "2019-02-25T11:37:45+00:00" }, { - "name": "magento/module-catalog-search", - "version": "0.74.0-beta2", + "name": "zendframework/zend-di", + "version": "2.6.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-di.git", + "reference": "1fd1ba85660b5a2718741b38639dc7c4c3194b37" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-search-0.74.0-beta2.zip", - "reference": null, - "shasum": "e8239e3dbbdccda266347d1ca5f286c1e9a2cb4b" + "url": "https://api.github.com/repos/zendframework/zend-di/zipball/1fd1ba85660b5a2718741b38639dc7c4c3194b37", + "reference": "1fd1ba85660b5a2718741b38639dc7c4c3194b37", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-indexer": "0.74.0-beta2", - "magento/module-search": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "^1.1", + "php": "^5.5 || ^7.0", + "zendframework/zend-code": "^2.6 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CatalogSearch" - ] - ] + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Di\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-di", + "keywords": [ + "di", + "zf2" + ], + "time": "2016-04-25T20:58:11+00:00" }, { - "name": "magento/module-catalog-url-rewrite", - "version": "0.74.0-beta2", + "name": "zendframework/zend-diactoros", + "version": "1.8.6", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-diactoros.git", + "reference": "20da13beba0dde8fb648be3cc19765732790f46e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-url-rewrite-0.74.0-beta2.zip", - "reference": null, - "shasum": "c3cc582396cc97970e2d0dd92e5315190cde0971" + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/20da13beba0dde8fb648be3cc19765732790f46e", + "reference": "20da13beba0dde8fb648be3cc19765732790f46e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-import-export": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-import-export": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-url-rewrite": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "psr/http-message": "^1.0" }, - "type": "magento2-module", + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-dom": "*", + "ext-libxml": "*", + "php-http/psr7-integration-tests": "dev-master", + "phpunit/phpunit": "^5.7.16 || ^6.0.8 || ^7.2.7", + "zendframework/zend-coding-standard": "~1.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CatalogUrlRewrite" - ] - ] + "branch-alias": { + "dev-master": "1.8.x-dev", + "dev-develop": "1.9.x-dev", + "dev-release-2.0": "2.0.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/marshal_uri_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php" + ], + "psr-4": { + "Zend\\Diactoros\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-2-Clause" ], - "description": "N/A" + "description": "PSR HTTP Message implementations", + "homepage": "https://github.com/zendframework/zend-diactoros", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2018-09-05T19:29:37+00:00" }, { - "name": "magento/module-catalog-widget", - "version": "0.74.0-beta2", + "name": "zendframework/zend-escaper", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-escaper.git", + "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-catalog-widget-0.74.0-beta2.zip", - "reference": null, - "shasum": "7dad3ad909bc97610211f4f008fa1817f1aac22a" + "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/31d8aafae982f9568287cb4dce987e6aff8fd074", + "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-rule": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-widget": "0.74.0-beta2", - "magento/module-wishlist": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CatalogWidget" - ] - ] + "branch-alias": { + "dev-master": "2.6.x-dev", + "dev-develop": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Escaper\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", + "keywords": [ + "ZendFramework", + "escaper", + "zf" + ], + "time": "2018-04-25T15:48:53+00:00" }, { - "name": "magento/module-centinel", - "version": "0.74.0-beta2", + "name": "zendframework/zend-eventmanager", + "version": "2.6.4", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-eventmanager.git", + "reference": "d238c443220dce4b6396579c8ab2200ec25f9108" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-centinel-0.74.0-beta2.zip", - "reference": null, - "shasum": "069e94cd124c0d078eeb3174afdc1e49031a7288" + "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/d238c443220dce4b6396579c8ab2200ec25f9108", + "reference": "d238c443220dce4b6396579c8ab2200ec25f9108", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7" }, - "type": "magento2-module", + "require-dev": { + "athletic/athletic": "dev-master", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Centinel" - ] - ] + "branch-alias": { + "dev-release-2.6": "2.6-dev", + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\EventManager\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-eventmanager", + "keywords": [ + "eventmanager", + "zf2" + ], + "time": "2017-12-12T17:48:56+00:00" }, { - "name": "magento/module-checkout", - "version": "0.74.0-beta2", + "name": "zendframework/zend-feed", + "version": "2.10.3", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-feed.git", + "reference": "6641f4cf3f4586c63f83fd70b6d19966025c8888" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-checkout-0.74.0-beta2.zip", - "reference": null, - "shasum": "8161dcc6c2bba44981cb63cd24cf137900d37db7" + "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/6641f4cf3f4586c63f83fd70b6d19966025c8888", + "reference": "6641f4cf3f4586c63f83fd70b6d19966025c8888", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-gift-message": "0.74.0-beta2", - "magento/module-msrp": "0.74.0-beta2", - "magento/module-page-cache": "0.74.0-beta2", - "magento/module-payment": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "magento/module-ui": "0.74.0-beta2", - "magento/module-wishlist": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" - }, - "suggest": { - "magento/module-cookie": "0.74.0-beta2" + "php": "^5.6 || ^7.0", + "zendframework/zend-escaper": "^2.5.2", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "psr/http-message": "^1.0.1", + "zendframework/zend-cache": "^2.7.2", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.8.2", + "zendframework/zend-http": "^2.7", + "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", + "zendframework/zend-validator": "^2.10.1" + }, + "suggest": { + "psr/http-message": "PSR-7 ^1.0.1, if you wish to use Zend\\Feed\\Reader\\Http\\Psr7ResponseDecorator", + "zendframework/zend-cache": "Zend\\Cache component, for optionally caching feeds between requests", + "zendframework/zend-db": "Zend\\Db component, for use with PubSubHubbub", + "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for easily extending ExtensionManager implementations", + "zendframework/zend-validator": "Zend\\Validator component, for validating email addresses used in Atom feeds and entries when using the Writer subcomponent" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Checkout" - ] - ] + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Feed\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides functionality for consuming RSS and Atom feeds", + "keywords": [ + "ZendFramework", + "feed", + "zf" + ], + "time": "2018-08-01T13:53:20+00:00" }, { - "name": "magento/module-checkout-agreements", - "version": "0.74.0-beta2", + "name": "zendframework/zend-filter", + "version": "2.9.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-filter.git", + "reference": "1c3e6d02f9cd5f6c929c9859498f5efbe216e86f" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-checkout-agreements-0.74.0-beta2.zip", - "reference": null, - "shasum": "be00ed9e3c1e3e4bacf7efc00b67c7cbb2065715" + "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/1c3e6d02f9cd5f6c929c9859498f5efbe216e86f", + "reference": "1c3e6d02f9cd5f6c929c9859498f5efbe216e86f", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7.7 || ^3.1" }, - "type": "magento2-module", + "conflict": { + "zendframework/zend-validator": "<2.10.1" + }, + "require-dev": { + "pear/archive_tar": "^1.4.3", + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "psr/http-factory": "^1.0", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-crypt": "^3.2.1", + "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", + "zendframework/zend-uri": "^2.6" + }, + "suggest": { + "psr/http-factory-implementation": "psr/http-factory-implementation, for creating file upload instances when consuming PSR-7 in file upload filters", + "zendframework/zend-crypt": "Zend\\Crypt component, for encryption filters", + "zendframework/zend-i18n": "Zend\\I18n component for filters depending on i18n functionality", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for using the filter chain functionality", + "zendframework/zend-uri": "Zend\\Uri component, for the UriNormalize filter" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CheckoutAgreements" - ] - ] + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\Filter", + "config-provider": "Zend\\Filter\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Filter\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides a set of commonly needed data filters", + "keywords": [ + "ZendFramework", + "filter", + "zf" + ], + "time": "2018-12-17T16:00:04+00:00" }, { - "name": "magento/module-cms", - "version": "0.74.0-beta2", + "name": "zendframework/zend-form", + "version": "2.13.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-form.git", + "reference": "c713a12ccbd43148b71c9339e171ca11e3f8a1da" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-cms-0.74.0-beta2.zip", - "reference": null, - "shasum": "15ae95a27b5ff0c82fbdb43ca8570e0cee4b21f5" + "url": "https://api.github.com/repos/zendframework/zend-form/zipball/c713a12ccbd43148b71c9339e171ca11e3f8a1da", + "reference": "c713a12ccbd43148b71c9339e171ca11e3f8a1da", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-email": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "magento/module-ui": "0.74.0-beta2", - "magento/module-variable": "0.74.0-beta2", - "magento/module-widget": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-hydrator": "^1.1 || ^2.1 || ^3.0", + "zendframework/zend-inputfilter": "^2.8", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "doctrine/annotations": "~1.0", + "phpunit/phpunit": "^5.7.23 || ^6.5.3", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-captcha": "^2.7.1", + "zendframework/zend-code": "^2.6 || ^3.0", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.8.1", + "zendframework/zend-text": "^2.6", + "zendframework/zend-validator": "^2.6", + "zendframework/zend-view": "^2.6.2", + "zendframework/zendservice-recaptcha": "^3.0.0" + }, + "suggest": { + "zendframework/zend-captcha": "^2.7.1, required for using CAPTCHA form elements", + "zendframework/zend-code": "^2.6 || ^3.0, required to use zend-form annotations support", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, reuired for zend-form annotations support", + "zendframework/zend-i18n": "^2.6, required when using zend-form view helpers", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, required to use the form factories or provide services", + "zendframework/zend-view": "^2.6.2, required for using the zend-form view helpers", + "zendframework/zendservice-recaptcha": "in order to use the ReCaptcha form element" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Cms" - ] + "branch-alias": { + "dev-master": "2.13.x-dev", + "dev-develop": "2.14.x-dev" + }, + "zf": { + "component": "Zend\\Form", + "config-provider": "Zend\\Form\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Form\\": "src/" + }, + "files": [ + "autoload/formElementManagerPolyfill.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Validate and display simple and complex forms, casting forms to business objects and vice versa", + "keywords": [ + "ZendFramework", + "form", + "zf" + ], + "time": "2018-12-11T22:51:29+00:00" }, { - "name": "magento/module-cms-url-rewrite", - "version": "0.74.0-beta2", + "name": "zendframework/zend-http", + "version": "2.8.4", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-http.git", + "reference": "d160aedc096be230af0fe9c31151b2b33ad4e807" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-cms-url-rewrite-0.74.0-beta2.zip", - "reference": null, - "shasum": "6a3775d7705efcf5b43bfbe327d6ef1db2a1c09c" + "url": "https://api.github.com/repos/zendframework/zend-http/zipball/d160aedc096be230af0fe9c31151b2b33ad4e807", + "reference": "d160aedc096be230af0fe9c31151b2b33ad4e807", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-cms": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-url-rewrite": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-loader": "^2.5.1", + "zendframework/zend-stdlib": "^3.1 || ^2.7.7", + "zendframework/zend-uri": "^2.5.2", + "zendframework/zend-validator": "^2.10.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^3.1 || ^2.6" + }, + "suggest": { + "paragonie/certainty": "For automated management of cacert.pem" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CmsUrlRewrite" - ] - ] + "branch-alias": { + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Http\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", + "keywords": [ + "ZendFramework", + "http", + "http client", + "zend", + "zf" + ], + "time": "2019-02-07T17:47:08+00:00" }, { - "name": "magento/module-config", - "version": "0.74.0-beta2", + "name": "zendframework/zend-hydrator", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-hydrator.git", + "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-config-0.74.0-beta2.zip", - "reference": null, - "shasum": "a4be4800b197ab3a73bbfc0d23d5a1f753a07a57" + "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/22652e1661a5a10b3f564cf7824a2206cf5a4a65", + "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-cron": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-email": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "^2.0@dev", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-inputfilter": "^2.6", + "zendframework/zend-serializer": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, to support aggregate hydrator usage", + "zendframework/zend-filter": "^2.6, to support naming strategy hydrator usage", + "zendframework/zend-serializer": "^2.6.1, to use the SerializableStrategy", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, to support hydrator plugin manager usage" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Config" - ] - ] + "branch-alias": { + "dev-release-1.0": "1.0-dev", + "dev-release-1.1": "1.1-dev", + "dev-master": "2.0-dev", + "dev-develop": "2.1-dev" + } }, + "autoload": { + "psr-4": { + "Zend\\Hydrator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-hydrator", + "keywords": [ + "hydrator", + "zf2" + ], + "time": "2016-02-18T22:38:26+00:00" }, { - "name": "magento/module-configurable-import-export", - "version": "0.74.0-beta2", + "name": "zendframework/zend-i18n", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-i18n.git", + "reference": "6d69af5a04e1a4de7250043cb1322f077a0cdb7f" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-configurable-import-export-0.74.0-beta2.zip", - "reference": null, - "shasum": "bb6d242228bcbe7c35253dc244c7977994b24b8e" + "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/6d69af5a04e1a4de7250043cb1322f077a0cdb7f", + "reference": "6d69af5a04e1a4de7250043cb1322f077a0cdb7f", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-import-export": "0.74.0-beta2", - "magento/module-configurable-product": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-import-export": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-validator": "^2.6", + "zendframework/zend-view": "^2.6.3" + }, + "suggest": { + "ext-intl": "Required for most features of Zend\\I18n; included in default builds of PHP", + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-config": "Zend\\Config component", + "zendframework/zend-eventmanager": "You should install this package to use the events in the translator", + "zendframework/zend-filter": "You should install this package to use the provided filters", + "zendframework/zend-i18n-resources": "Translation resources", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-validator": "You should install this package to use the provided validators", + "zendframework/zend-view": "You should install this package to use the provided view helpers" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/ConfigurableImportExport" - ] - ] + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\I18n", + "config-provider": "Zend\\I18n\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\I18n\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Provide translations for your application, and filter and validate internationalized values", + "keywords": [ + "ZendFramework", + "i18n", + "zf" + ], + "time": "2018-05-16T16:39:13+00:00" }, { - "name": "magento/module-configurable-product", - "version": "0.74.0-beta2", + "name": "zendframework/zend-inputfilter", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-inputfilter.git", + "reference": "4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-configurable-product-0.74.0-beta2.zip", - "reference": null, - "shasum": "fe8e4536a59f60be79211fc0072e640102d3be06" + "url": "https://api.github.com/repos/zendframework/zend-inputfilter/zipball/4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c", + "reference": "4f52b71ec9cef3a06e3bba8f5c2124e94055ec0c", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-catalog-rule": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-filter": "^2.9.1", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.3.1", + "zendframework/zend-stdlib": "^2.7 || ^3.0", + "zendframework/zend-validator": "^2.11" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "psr/http-message": "^1.0", + "zendframework/zend-coding-standard": "~1.0.0" }, "suggest": { - "magento/module-webapi": "0.74.0-beta2" + "psr/http-message-implementation": "PSR-7 is required if you wish to validate PSR-7 UploadedFileInterface payloads" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/ConfigurableProduct" - ] - ] + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + }, + "zf": { + "component": "Zend\\InputFilter", + "config-provider": "Zend\\InputFilter\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\InputFilter\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Normalize and validate input sets from the web, APIs, the CLI, and more, including files", + "keywords": [ + "ZendFramework", + "inputfilter", + "zf" + ], + "time": "2019-01-30T16:58:51+00:00" }, { - "name": "magento/module-contact", - "version": "0.74.0-beta2", + "name": "zendframework/zend-json", + "version": "2.6.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-json.git", + "reference": "4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-contact-0.74.0-beta2.zip", - "reference": null, - "shasum": "b53d65b91dd1f596d0a4f7b8bacf73e6eaff98c9" + "url": "https://api.github.com/repos/zendframework/zend-json/zipball/4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28", + "reference": "4c8705dbe4ad7d7e51b2876c5b9eea0ef916ba28", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-cms": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0" }, - "type": "magento2-module", + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-server": "^2.6.1", + "zendframework/zend-stdlib": "^2.5 || ^3.0", + "zendframework/zendxml": "^1.0.2" + }, + "suggest": { + "zendframework/zend-http": "Zend\\Http component, required to use Zend\\Json\\Server", + "zendframework/zend-server": "Zend\\Server component, required to use Zend\\Json\\Server", + "zendframework/zend-stdlib": "Zend\\Stdlib component, for use with caching Zend\\Json\\Server responses", + "zendframework/zendxml": "To support Zend\\Json\\Json::fromXml() usage" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Contact" - ] - ] + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Json\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP", + "homepage": "https://github.com/zendframework/zend-json", + "keywords": [ + "json", + "zf2" + ], + "time": "2016-02-04T21:20:26+00:00" }, { - "name": "magento/module-cookie", - "version": "0.74.0-beta2", + "name": "zendframework/zend-loader", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-loader.git", + "reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-cookie-0.74.0-beta2.zip", - "reference": null, - "shasum": "a8a4e29967524214fb6af5c12681d7b410a63bc6" + "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/78f11749ea340f6ca316bca5958eef80b38f9b6c", + "reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-store": "0.74.0-beta2", - "php": "~5.4.11|~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0" }, - "suggest": { - "magento/module-backend": "0.74.0-beta2" + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Cookie" - ] - ] + "branch-alias": { + "dev-master": "2.6.x-dev", + "dev-develop": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Loader\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Autoloading and plugin loading strategies", + "keywords": [ + "ZendFramework", + "loader", + "zf" + ], + "time": "2018-04-30T15:20:54+00:00" }, { - "name": "magento/module-cron", - "version": "0.74.0-beta2", + "name": "zendframework/zend-log", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-log.git", + "reference": "9cec3b092acb39963659c2f32441cccc56b3f430" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-cron-0.74.0-beta2.zip", - "reference": null, - "shasum": "0e91ec4ade457797e7db0fe1aa4794747817fa6a" + "url": "https://api.github.com/repos/zendframework/zend-log/zipball/9cec3b092acb39963659c2f32441cccc56b3f430", + "reference": "9cec3b092acb39963659c2f32441cccc56b3f430", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-config": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "psr/log": "^1.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^5.7.15 || ^6.0.8", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.6", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-filter": "^2.5", + "zendframework/zend-mail": "^2.6.1", + "zendframework/zend-validator": "^2.10.1" + }, + "suggest": { + "ext-mongo": "mongo extension to use Mongo writer", + "ext-mongodb": "mongodb extension to use MongoDB writer", + "zendframework/zend-console": "Zend\\Console component to use the RequestID log processor", + "zendframework/zend-db": "Zend\\Db component to use the database log writer", + "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML log formatter", + "zendframework/zend-mail": "Zend\\Mail component to use the email log writer", + "zendframework/zend-validator": "Zend\\Validator component to block invalid log messages" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Cron" - ] - ] + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + }, + "zf": { + "component": "Zend\\Log", + "config-provider": "Zend\\Log\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Log\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "component for general purpose logging", + "homepage": "https://github.com/zendframework/zend-log", + "keywords": [ + "log", + "logging", + "zf2" + ], + "time": "2018-04-09T21:59:51+00:00" }, { - "name": "magento/module-currency-symbol", - "version": "0.74.0-beta2", + "name": "zendframework/zend-mail", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-mail.git", + "reference": "d7beb63d5f7144a21ac100072c453e63860cdab8" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-currency-symbol-0.74.0-beta2.zip", - "reference": null, - "shasum": "261c0a4e05295f852a7986ef2d15509e4c2ad26c" + "url": "https://api.github.com/repos/zendframework/zend-mail/zipball/d7beb63d5f7144a21ac100072c453e63860cdab8", + "reference": "d7beb63d5f7144a21ac100072c453e63860cdab8", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-page-cache": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "ext-iconv": "*", + "php": "^5.6 || ^7.0", + "true/punycode": "^2.1", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-mime": "^2.5", + "zendframework/zend-stdlib": "^2.7 || ^3.0", + "zendframework/zend-validator": "^2.10.2" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.25 || ^6.4.4 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-crypt": "^2.6 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.3.1" + }, + "suggest": { + "zendframework/zend-crypt": "Crammd5 support in SMTP Auth", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.3.1 when using SMTP to deliver messages" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CurrencySymbol" - ] - ] + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + }, + "zf": { + "component": "Zend\\Mail", + "config-provider": "Zend\\Mail\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Mail\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Provides generalized functionality to compose and send both text and MIME-compliant multipart e-mail messages", + "keywords": [ + "ZendFramework", + "mail", + "zf" + ], + "time": "2018-06-07T13:37:07+00:00" }, { - "name": "magento/module-customer", - "version": "0.74.0-beta2", + "name": "zendframework/zend-math", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-math.git", + "reference": "1abce074004dacac1a32cd54de94ad47ef960d38" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-customer-0.74.0-beta2.zip", - "reference": null, - "shasum": "135623f9517f12f4dc17e062280eaf5f5071e7b7" + "url": "https://api.github.com/repos/zendframework/zend-math/zipball/1abce074004dacac1a32cd54de94ad47ef960d38", + "reference": "1abce074004dacac1a32cd54de94ad47ef960d38", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta2", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-integration": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-newsletter": "0.74.0-beta2", - "magento/module-page-cache": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-review": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "magento/module-ui": "0.74.0-beta2", - "magento/module-wishlist": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" - }, - "suggest": { - "magento/module-cookie": "0.74.0-beta2" + "php": "^5.5 || ^7.0" }, - "type": "magento2-module", + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "ircmaxell/random-lib": "~1.1", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-bcmath": "If using the bcmath functionality", + "ext-gmp": "If using the gmp functionality", + "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if Mcrypt extensions is unavailable" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Customer" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + } }, + "autoload": { + "psr-4": { + "Zend\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-math", + "keywords": [ + "math", + "zf2" + ], + "time": "2018-12-04T15:34:17+00:00" }, { - "name": "magento/module-customer-import-export", - "version": "0.74.0-beta2", + "name": "zendframework/zend-mime", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-mime.git", + "reference": "52ae5fa9f12845cae749271034a2d594f0e4c6f2" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-customer-import-export-0.74.0-beta2.zip", - "reference": null, - "shasum": "9b4f6b059fecce79c7f8ce9fc163858b8a47c7ca" + "url": "https://api.github.com/repos/zendframework/zend-mime/zipball/52ae5fa9f12845cae749271034a2d594f0e4c6f2", + "reference": "52ae5fa9f12845cae749271034a2d594f0e4c6f2", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-import-export": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.21 || ^6.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-mail": "^2.6" + }, + "suggest": { + "zendframework/zend-mail": "Zend\\Mail component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/CustomerImportExport" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Mime\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Create and parse MIME messages and parts", + "homepage": "https://github.com/zendframework/zend-mime", + "keywords": [ + "ZendFramework", + "mime", + "zf" + ], + "time": "2018-05-14T19:02:50+00:00" }, { - "name": "magento/module-developer", - "version": "0.74.0-beta2", + "name": "zendframework/zend-modulemanager", + "version": "2.8.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-modulemanager.git", + "reference": "394df6e12248ac430a312d4693f793ee7120baa6" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-developer-0.74.0-beta2.zip", - "reference": null, - "shasum": "1a1077d963ec6310df7080defaadc9bd87ed6e21" + "url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/394df6e12248ac430a312d4693f793ee7120baa6", + "reference": "394df6e12248ac430a312d4693f793ee7120baa6", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-config": "^3.1 || ^2.6", + "zendframework/zend-eventmanager": "^3.2 || ^2.6.3", + "zendframework/zend-stdlib": "^3.1 || ^2.7" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^6.0.8 || ^5.7.15", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-console": "^2.6", + "zendframework/zend-di": "^2.6", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-mvc": "^3.0 || ^2.7", + "zendframework/zend-servicemanager": "^3.0.3 || ^2.7.5" + }, + "suggest": { + "zendframework/zend-console": "Zend\\Console component", + "zendframework/zend-loader": "Zend\\Loader component if you are not using Composer autoloading for your modules", + "zendframework/zend-mvc": "Zend\\Mvc component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Developer" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\ModuleManager\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Modular application system for zend-mvc applications", + "homepage": "https://github.com/zendframework/zend-modulemanager", + "keywords": [ + "ZendFramework", + "modulemanager", + "zf" + ], + "time": "2017-12-02T06:11:18+00:00" }, { - "name": "magento/module-dhl", - "version": "0.74.0-beta2", + "name": "zendframework/zend-mvc", + "version": "2.7.15", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-mvc.git", + "reference": "a8d45689d37a9e4ff4b75ea0b7478fa3d4f9c089" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-dhl-0.74.0-beta2.zip", - "reference": null, - "shasum": "f525d0b48189b60e2c0def9a8804933133995104" + "url": "https://api.github.com/repos/zendframework/zend-mvc/zipball/a8d45689d37a9e4ff4b75ea0b7478fa3d4f9c089", + "reference": "a8d45689d37a9e4ff4b75ea0b7478fa3d4f9c089", + "shasum": "" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-shipping": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "^1.1", + "php": "^5.5 || ^7.0", + "zendframework/zend-console": "^2.7", + "zendframework/zend-eventmanager": "^2.6.4 || ^3.0", + "zendframework/zend-form": "^2.11", + "zendframework/zend-hydrator": "^1.1 || ^2.4", + "zendframework/zend-psr7bridge": "^0.2", + "zendframework/zend-servicemanager": "^2.7.10 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7.5 || ^3.0" }, - "type": "magento2-module", + "replace": { + "zendframework/zend-router": "^2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "^4.8.36", + "sebastian/comparator": "^1.2.4", + "sebastian/version": "^1.0.4", + "zendframework/zend-authentication": "^2.6", + "zendframework/zend-cache": "^2.8", + "zendframework/zend-di": "^2.6", + "zendframework/zend-filter": "^2.8", + "zendframework/zend-http": "^2.8", + "zendframework/zend-i18n": "^2.8", + "zendframework/zend-inputfilter": "^2.8", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-log": "^2.9.3", + "zendframework/zend-modulemanager": "^2.8", + "zendframework/zend-serializer": "^2.8", + "zendframework/zend-session": "^2.8.1", + "zendframework/zend-text": "^2.7", + "zendframework/zend-uri": "^2.6", + "zendframework/zend-validator": "^2.10", + "zendframework/zend-view": "^2.9" + }, + "suggest": { + "zendframework/zend-authentication": "Zend\\Authentication component for Identity plugin", + "zendframework/zend-config": "Zend\\Config component", + "zendframework/zend-di": "Zend\\Di component", + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-i18n": "Zend\\I18n component for translatable segments", + "zendframework/zend-inputfilter": "Zend\\Inputfilter component", + "zendframework/zend-json": "Zend\\Json component", + "zendframework/zend-log": "Zend\\Log component", + "zendframework/zend-modulemanager": "Zend\\ModuleManager component", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager-di": "^1.0.1, if using zend-servicemanager v3 and requiring the zend-di integration", + "zendframework/zend-session": "Zend\\Session component for FlashMessenger, PRG, and FPRG plugins", + "zendframework/zend-text": "Zend\\Text component", + "zendframework/zend-uri": "Zend\\Uri component", + "zendframework/zend-validator": "Zend\\Validator component", + "zendframework/zend-view": "Zend\\View component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Dhl" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "3.0-dev" + } + }, + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Zend\\Mvc\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-mvc", + "keywords": [ + "mvc", + "zf2" + ], + "time": "2018-05-03T13:13:41+00:00" }, { - "name": "magento/module-directory", - "version": "0.74.0-beta2", + "name": "zendframework/zend-psr7bridge", + "version": "0.2.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-psr7bridge.git", + "reference": "86c0b53b0c6381391c4add4a93a56e51d5c74605" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-directory-0.74.0-beta2.zip", - "reference": null, - "shasum": "3cb3ed72d237966f9deab3ac0386c3b6701cf66e" + "url": "https://api.github.com/repos/zendframework/zend-psr7bridge/zipball/86c0b53b0c6381391c4add4a93a56e51d5c74605", + "reference": "86c0b53b0c6381391c4add4a93a56e51d5c74605", + "shasum": "" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.5", + "psr/http-message": "^1.0", + "zendframework/zend-diactoros": "^1.1", + "zendframework/zend-http": "^2.5" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^4.7", + "squizlabs/php_codesniffer": "^2.3" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Directory" - ] - ] + "branch-alias": { + "dev-master": "1.0-dev", + "dev-develop": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Psr7Bridge\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "PSR-7 <-> Zend\\Http bridge", + "homepage": "https://github.com/zendframework/zend-psr7bridge", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2016-05-10T21:44:39+00:00" }, { - "name": "magento/module-downloadable", - "version": "0.74.0-beta2", + "name": "zendframework/zend-serializer", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-serializer.git", + "reference": "0172690db48d8935edaf625c4cba38b79719892c" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-downloadable-0.74.0-beta2.zip", - "reference": null, - "shasum": "5bd1cabf95a5c44e329f1263f40e165b3aa6070e" + "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/0172690db48d8935edaf625c4cba38b79719892c", + "reference": "0172690db48d8935edaf625c4cba38b79719892c", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-gift-message": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-msrp": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "magento/module-wishlist": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-json": "^2.5 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.25 || ^6.4.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-math": "^2.6 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-math": "(^2.6 || ^3.0) To support Python Pickle serialization", + "zendframework/zend-servicemanager": "(^2.7.5 || ^3.0.3) To support plugin manager support" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Downloadable" - ] - ] + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "2.10.x-dev" + }, + "zf": { + "component": "Zend\\Serializer", + "config-provider": "Zend\\Serializer\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Serializer\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides an adapter based interface to simply generate storable representation of PHP types by different facilities, and recover", + "keywords": [ + "ZendFramework", + "serializer", + "zf" + ], + "time": "2018-05-14T18:45:18+00:00" }, { - "name": "magento/module-eav", - "version": "0.74.0-beta2", + "name": "zendframework/zend-server", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-server.git", + "reference": "23a2e9a5599c83c05da831cb7c649e8a7809595e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-eav-0.74.0-beta2.zip", - "reference": null, - "shasum": "5594f375105dc1921f38772fbb069ff57c2e8f01" + "url": "https://api.github.com/repos/zendframework/zend-server/zipball/23a2e9a5599c83c05da831cb7c649e8a7809595e", + "reference": "23a2e9a5599c83c05da831cb7c649e8a7809595e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-code": "^2.5 || ^3.0", + "zendframework/zend-stdlib": "^2.5 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Eav" - ] - ] + "branch-alias": { + "dev-master": "2.8.x-dev", + "dev-develop": "2.9.x-dev" + } }, + "autoload": { + "psr-4": { + "Zend\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Create Reflection-based RPC servers", + "keywords": [ + "ZendFramework", + "server", + "zf" + ], + "time": "2018-04-30T22:21:28+00:00" }, { - "name": "magento/module-email", - "version": "0.74.0-beta2", + "name": "zendframework/zend-servicemanager", + "version": "2.7.11", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-servicemanager.git", + "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-email-0.74.0-beta2.zip", - "reference": null, - "shasum": "8ff7affa3d22107bd5e519dc24c098acccc44bf8" + "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/99ec9ed5d0f15aed9876433c74c2709eb933d4c7", + "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-cms": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-variable": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "~1.0", + "php": "^5.5 || ^7.0" }, - "type": "magento2-module", + "require-dev": { + "athletic/athletic": "dev-master", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-di": "~2.5", + "zendframework/zend-mvc": "~2.5" + }, + "suggest": { + "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services", + "zendframework/zend-di": "Zend\\Di component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Email" - ] - ] + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\ServiceManager\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-servicemanager", + "keywords": [ + "servicemanager", + "zf2" + ], + "time": "2018-06-22T14:49:54+00:00" }, { - "name": "magento/module-fedex", - "version": "0.74.0-beta2", + "name": "zendframework/zend-session", + "version": "2.8.5", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-session.git", + "reference": "2cfd90e1a2f6b066b9f908599251d8f64f07021b" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-fedex-0.74.0-beta2.zip", - "reference": null, - "shasum": "cdc61b901b080b14e42b10889c8fb6f639f520af" + "url": "https://api.github.com/repos/zendframework/zend-session/zipball/2cfd90e1a2f6b066b9f908599251d8f64f07021b", + "reference": "2cfd90e1a2f6b066b9f908599251d8f64f07021b", + "shasum": "" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-shipping": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "container-interop/container-interop": "^1.1", + "mongodb/mongodb": "^1.0.1", + "php-mock/php-mock-phpunit": "^1.1.2 || ^2.0", + "phpunit/phpunit": "^5.7.5 || >=6.0.13 <6.5.0", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.7", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-validator": "^2.6" + }, + "suggest": { + "mongodb/mongodb": "If you want to use the MongoDB session save handler", + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-db": "Zend\\Db component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-validator": "Zend\\Validator component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Fedex" - ] - ] + "branch-alias": { + "dev-master": "2.8-dev", + "dev-develop": "2.9-dev" + }, + "zf": { + "component": "Zend\\Session", + "config-provider": "Zend\\Session\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Session\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "manage and preserve session data, a logical complement of cookie data, across multiple page requests by the same client", + "keywords": [ + "ZendFramework", + "session", + "zf" + ], + "time": "2018-02-22T16:33:54+00:00" }, { - "name": "magento/module-gift-message", - "version": "0.74.0-beta2", + "name": "zendframework/zend-soap", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-soap.git", + "reference": "af03c32f0db2b899b3df8cfe29aeb2b49857d284" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-gift-message-0.74.0-beta2.zip", - "reference": null, - "shasum": "76ea03167970205295c95d88f871f7ce0547cdbf" + "url": "https://api.github.com/repos/zendframework/zend-soap/zipball/af03c32f0db2b899b3df8cfe29aeb2b49857d284", + "reference": "af03c32f0db2b899b3df8cfe29aeb2b49857d284", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-multishipping": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "ext-soap": "*", + "php": "^5.6 || ^7.0", + "zendframework/zend-server": "^2.6.1", + "zendframework/zend-stdlib": "^2.7 || ^3.0", + "zendframework/zend-uri": "^2.5.2" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.21 || ^6.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-http": "^2.5.4" + }, + "suggest": { + "zendframework/zend-http": "Zend\\Http component" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GiftMessage" - ] - ] + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Soap\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-soap", + "keywords": [ + "soap", + "zf2" + ], + "time": "2018-01-29T17:51:26+00:00" }, { - "name": "magento/module-google-adwords", - "version": "0.74.0-beta2", + "name": "zendframework/zend-stdlib", + "version": "2.7.7", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-stdlib.git", + "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-google-adwords-0.74.0-beta2.zip", - "reference": null, - "shasum": "45dfa690b1f183b0a87e6db39e6399ff0024bc66" + "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/0e44eb46788f65e09e077eb7f44d2659143bcc1f", + "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0", + "zendframework/zend-hydrator": "~1.1" }, - "type": "magento2-module", + "require-dev": { + "athletic/athletic": "~0.1", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-config": "~2.5", + "zendframework/zend-eventmanager": "~2.5", + "zendframework/zend-filter": "~2.5", + "zendframework/zend-inputfilter": "~2.5", + "zendframework/zend-serializer": "~2.5", + "zendframework/zend-servicemanager": "~2.5" + }, + "suggest": { + "zendframework/zend-eventmanager": "To support aggregate hydrator usage", + "zendframework/zend-filter": "To support naming strategy hydrator usage", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GoogleAdwords" - ] - ] + "branch-alias": { + "dev-release-2.7": "2.7-dev", + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Stdlib\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "homepage": "https://github.com/zendframework/zend-stdlib", + "keywords": [ + "stdlib", + "zf2" + ], + "time": "2016-04-12T21:17:31+00:00" }, { - "name": "magento/module-google-analytics", - "version": "0.74.0-beta2", + "name": "zendframework/zend-text", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-text.git", + "reference": "ca987dd4594f5f9508771fccd82c89bc7fbb39ac" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-google-analytics-0.74.0-beta2.zip", - "reference": null, - "shasum": "7460860110d6942c3375db4a05cf079134e8ab6a" + "url": "https://api.github.com/repos/zendframework/zend-text/zipball/ca987dd4594f5f9508771fccd82c89bc7fbb39ac", + "reference": "ca987dd4594f5f9508771fccd82c89bc7fbb39ac", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-cookie": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GoogleAnalytics" - ] - ] + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Text\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Create FIGlets and text-based tables", + "keywords": [ + "ZendFramework", + "text", + "zf" + ], + "time": "2018-04-30T14:55:10+00:00" }, { - "name": "magento/module-google-optimizer", - "version": "0.74.0-beta2", + "name": "zendframework/zend-uri", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-uri.git", + "reference": "b2785cd38fe379a784645449db86f21b7739b1ee" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-google-optimizer-0.74.0-beta2.zip", - "reference": null, - "shasum": "90565d6ecc18276ef08c324caae5178ca8ba82ed" + "url": "https://api.github.com/repos/zendframework/zend-uri/zipball/b2785cd38fe379a784645449db86f21b7739b1ee", + "reference": "b2785cd38fe379a784645449db86f21b7739b1ee", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-cms": "0.74.0-beta2", - "magento/module-google-analytics": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-validator": "^2.10" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GoogleOptimizer" - ] - ] + "branch-alias": { + "dev-master": "2.7.x-dev", + "dev-develop": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Uri\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", + "keywords": [ + "ZendFramework", + "uri", + "zf" + ], + "time": "2019-02-27T21:39:04+00:00" }, { - "name": "magento/module-google-shopping", - "version": "0.74.0-beta2", + "name": "zendframework/zend-validator", + "version": "2.11.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-validator.git", + "reference": "3c28dfe4e5951ba38059cea895244d9d206190b3" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-google-shopping-0.74.0-beta2.zip", - "reference": null, - "shasum": "f86c5696c215900805df27dcc6f8d6df5bd8453a" + "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/3c28dfe4e5951ba38059cea895244d9d206190b3", + "reference": "3c28dfe4e5951ba38059cea895244d9d206190b3", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "^1.1", + "php": "^5.6 || ^7.0", + "zendframework/zend-stdlib": "^2.7.6 || ^3.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^6.0.8 || ^5.7.15", + "psr/http-message": "^1.0", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-db": "^2.7", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-math": "^2.6", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.8", + "zendframework/zend-uri": "^2.5" + }, + "suggest": { + "psr/http-message": "psr/http-message, required when validating PSR-7 UploadedFileInterface instances via the Upload and UploadFile validators", + "zendframework/zend-db": "Zend\\Db component, required by the (No)RecordExists validator", + "zendframework/zend-filter": "Zend\\Filter component, required by the Digits validator", + "zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages", + "zendframework/zend-i18n-resources": "Translations of validator messages", + "zendframework/zend-math": "Zend\\Math component, required by the Csrf validator", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", + "zendframework/zend-session": "Zend\\Session component, ^2.8; required by the Csrf validator", + "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GoogleShopping" - ] - ] + "branch-alias": { + "dev-master": "2.11.x-dev", + "dev-develop": "2.12.x-dev" + }, + "zf": { + "component": "Zend\\Validator", + "config-provider": "Zend\\Validator\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Validator\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "provides a set of commonly needed validators", + "homepage": "https://github.com/zendframework/zend-validator", + "keywords": [ + "validator", + "zf2" + ], + "time": "2019-01-29T22:26:39+00:00" }, { - "name": "magento/module-grouped-import-export", - "version": "0.74.0-beta2", + "name": "zendframework/zend-view", + "version": "2.10.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-view.git", + "reference": "c1a3f2043fb75b5983ab9adfc369ae396601be7e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-grouped-import-export-0.74.0-beta2.zip", - "reference": null, - "shasum": "3cbf803098dd03d361b51f730930c9c3e6a9292c" + "url": "https://api.github.com/repos/zendframework/zend-view/zipball/c1a3f2043fb75b5983ab9adfc369ae396601be7e", + "reference": "c1a3f2043fb75b5983ab9adfc369ae396601be7e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-import-export": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-grouped-product": "0.74.0-beta2", - "magento/module-import-export": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-stdlib": "^2.7 || ^3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^5.7.15 || ^6.0.8", + "zendframework/zend-authentication": "^2.5", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-console": "^2.6", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-feed": "^2.7", + "zendframework/zend-filter": "^2.6.1", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-log": "^2.7", + "zendframework/zend-modulemanager": "^2.7.1", + "zendframework/zend-mvc": "^2.7.14 || ^3.0", + "zendframework/zend-navigation": "^2.5", + "zendframework/zend-paginator": "^2.5", + "zendframework/zend-permissions-acl": "^2.6", + "zendframework/zend-router": "^3.0.1", + "zendframework/zend-serializer": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.8.1", + "zendframework/zend-uri": "^2.5" + }, + "suggest": { + "zendframework/zend-authentication": "Zend\\Authentication component", + "zendframework/zend-escaper": "Zend\\Escaper component", + "zendframework/zend-feed": "Zend\\Feed component", + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-i18n": "Zend\\I18n component", + "zendframework/zend-mvc": "Zend\\Mvc component", + "zendframework/zend-mvc-plugin-flashmessenger": "zend-mvc-plugin-flashmessenger component, if you want to use the FlashMessenger view helper with zend-mvc versions 3 and up", + "zendframework/zend-navigation": "Zend\\Navigation component", + "zendframework/zend-paginator": "Zend\\Paginator component", + "zendframework/zend-permissions-acl": "Zend\\Permissions\\Acl component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-uri": "Zend\\Uri component" + }, + "bin": [ + "bin/templatemap_generator.php" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/GroupedImportExport" - ] - ] + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "2.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\View\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" - }, + "description": "provides a system of helpers, output filters, and variable escaping", + "homepage": "https://github.com/zendframework/zend-view", + "keywords": [ + "view", + "zf2" + ], + "time": "2018-12-06T21:20:01+00:00" + } + ], + "packages-dev": [ { - "name": "magento/module-grouped-product", - "version": "0.74.0-beta2", + "name": "allure-framework/allure-codeception", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/allure-framework/allure-codeception.git", + "reference": "9d31d781b3622b028f1f6210bc76ba88438bd518" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-grouped-product-0.74.0-beta2.zip", - "reference": null, - "shasum": "8ad968c974e321d99a9bccfd04721ccfb4bfb86f" + "url": "https://api.github.com/repos/allure-framework/allure-codeception/zipball/9d31d781b3622b028f1f6210bc76ba88438bd518", + "reference": "9d31d781b3622b028f1f6210bc76ba88438bd518", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-msrp": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "allure-framework/allure-php-api": "~1.1.0", + "codeception/codeception": "~2.1", + "php": ">=5.4.0", + "symfony/filesystem": ">=2.6", + "symfony/finder": ">=2.6" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/GroupedProduct" - ] - ] + "type": "library", + "autoload": { + "psr-0": { + "Yandex": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache-2.0" ], - "description": "N/A" + "authors": [ + { + "name": "Ivan Krutov", + "email": "vania-pooh@yandex-team.ru", + "role": "Developer" + } + ], + "description": "A Codeception adapter for Allure report.", + "homepage": "http://allure.qatools.ru/", + "keywords": [ + "allure", + "attachments", + "cases", + "codeception", + "report", + "steps", + "testing" + ], + "time": "2018-12-18T19:47:23+00:00" }, { - "name": "magento/module-import-export", - "version": "0.74.0-beta2", + "name": "allure-framework/allure-php-api", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/allure-framework/allure-php-adapter-api.git", + "reference": "a462a0da121681577033e13c123b6cc4e89cdc64" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-import-export-0.74.0-beta2.zip", - "reference": null, - "shasum": "c16b13bdf9efb2a9d52b6423ee641ca47d60da36" + "url": "https://api.github.com/repos/allure-framework/allure-php-adapter-api/zipball/a462a0da121681577033e13c123b6cc4e89cdc64", + "reference": "a462a0da121681577033e13c123b6cc4e89cdc64", + "shasum": "" }, "require": { - "ext-ctype": "*", - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-indexer": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "jms/serializer": ">=0.16.0", + "moontoast/math": ">=1.1.0", + "php": ">=5.4.0", + "phpunit/phpunit": ">=4.0.0", + "ramsey/uuid": ">=3.0.0", + "symfony/http-foundation": ">=2.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/ImportExport" + "type": "library", + "autoload": { + "psr-0": { + "Yandex": [ + "src/", + "test/" ] - ] + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache-2.0" ], - "description": "N/A" + "authors": [ + { + "name": "Ivan Krutov", + "email": "vania-pooh@yandex-team.ru", + "role": "Developer" + } + ], + "description": "PHP API for Allure adapter", + "homepage": "http://allure.qatools.ru/", + "keywords": [ + "allure", + "api", + "php", + "report" + ], + "time": "2016-12-07T12:15:46+00:00" }, { - "name": "magento/module-indexer", - "version": "0.74.0-beta2", + "name": "allure-framework/allure-phpunit", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/allure-framework/allure-phpunit.git", + "reference": "45504aeba41304cf155a898fa9ac1aae79f4a089" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-indexer-0.74.0-beta2.zip", - "reference": null, - "shasum": "d1c6e17c92d766f8f3f578d290da957deb5d9a7c" + "url": "https://api.github.com/repos/allure-framework/allure-phpunit/zipball/45504aeba41304cf155a898fa9ac1aae79f4a089", + "reference": "45504aeba41304cf155a898fa9ac1aae79f4a089", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-page-cache": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "allure-framework/allure-php-api": "~1.1.0", + "mikey179/vfsstream": "1.*", + "php": ">=7.0.0", + "phpunit/phpunit": ">=6.0.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Indexer" - ] - ] + "type": "library", + "autoload": { + "psr-0": { + "Yandex": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache-2.0" ], - "description": "N/A" + "authors": [ + { + "name": "Ivan Krutov", + "email": "vania-pooh@yandex-team.ru", + "role": "Developer" + } + ], + "description": "A PHPUnit adapter for Allure report.", + "homepage": "http://allure.qatools.ru/", + "keywords": [ + "allure", + "attachments", + "cases", + "phpunit", + "report", + "steps", + "testing" + ], + "time": "2017-11-03T13:08:21+00:00" }, { - "name": "magento/module-integration", - "version": "0.74.0-beta2", + "name": "behat/gherkin", + "version": "v4.6.0", + "source": { + "type": "git", + "url": "https://github.com/Behat/Gherkin.git", + "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-integration-0.74.0-beta2.zip", - "reference": null, - "shasum": "8e9a7d4df606513a67a649f63abdd31557061665" + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/ab0a02ea14893860bca00f225f5621d351a3ad07", + "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta2", - "magento/module-backend": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-user": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.1" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "~4.5|~5", + "symfony/phpunit-bridge": "~2.7|~3|~4", + "symfony/yaml": "~2.3|~3|~4" + }, + "suggest": { + "symfony/yaml": "If you want to parse features, represented in YAML files" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Integration" - ] - ] + "branch-alias": { + "dev-master": "4.4-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Gherkin": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Gherkin DSL parser for PHP 5.3", + "homepage": "http://behat.org/", + "keywords": [ + "BDD", + "Behat", + "Cucumber", + "DSL", + "gherkin", + "parser" + ], + "time": "2019-01-16T14:22:17+00:00" }, { - "name": "magento/module-layered-navigation", - "version": "0.74.0-beta2", + "name": "codeception/codeception", + "version": "2.4.5", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Codeception.git", + "reference": "5fee32d5c82791548931cbc34806b4de6aa1abfc" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-layered-navigation-0.74.0-beta2.zip", - "reference": null, - "shasum": "a20af59f1ffcf9565e2fab9ead134ee129bdcc8d" + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/5fee32d5c82791548931cbc34806b4de6aa1abfc", + "reference": "5fee32d5c82791548931cbc34806b4de6aa1abfc", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "behat/gherkin": "^4.4.0", + "codeception/phpunit-wrapper": "^6.0.9|^7.0.6", + "codeception/stub": "^2.0", + "ext-json": "*", + "ext-mbstring": "*", + "facebook/webdriver": ">=1.1.3 <2.0", + "guzzlehttp/guzzle": ">=4.1.4 <7.0", + "guzzlehttp/psr7": "~1.0", + "php": ">=5.6.0 <8.0", + "symfony/browser-kit": ">=2.7 <5.0", + "symfony/console": ">=2.7 <5.0", + "symfony/css-selector": ">=2.7 <5.0", + "symfony/dom-crawler": ">=2.7 <5.0", + "symfony/event-dispatcher": ">=2.7 <5.0", + "symfony/finder": ">=2.7 <5.0", + "symfony/yaml": ">=2.7 <5.0" }, - "type": "magento2-module", + "require-dev": { + "codeception/specify": "~0.3", + "facebook/graph-sdk": "~5.3", + "flow/jsonpath": "~0.2", + "monolog/monolog": "~1.8", + "pda/pheanstalk": "~3.0", + "php-amqplib/php-amqplib": "~2.4", + "predis/predis": "^1.0", + "squizlabs/php_codesniffer": "~2.0", + "symfony/process": ">=2.7 <5.0", + "vlucas/phpdotenv": "^2.4.0" + }, + "suggest": { + "aws/aws-sdk-php": "For using AWS Auth in REST module and Queue module", + "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests", + "codeception/specify": "BDD-style code blocks", + "codeception/verify": "BDD-style assertions", + "flow/jsonpath": "For using JSONPath in REST module", + "league/factory-muffin": "For DataFactory module", + "league/factory-muffin-faker": "For Faker support in DataFactory module", + "phpseclib/phpseclib": "for SFTP option in FTP Module", + "stecman/symfony-console-completion": "For BASH autocompletion", + "symfony/phpunit-bridge": "For phpunit-bridge support" + }, + "bin": [ + "codecept" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/LayeredNavigation" - ] - ] + "branch-alias": [] + }, + "autoload": { + "psr-4": { + "Codeception\\": "src\\Codeception", + "Codeception\\Extension\\": "ext" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Michael Bodnarchuk", + "email": "davert@mail.ua", + "homepage": "http://codegyre.com" + } + ], + "description": "BDD-style testing framework", + "homepage": "http://codeception.com/", + "keywords": [ + "BDD", + "TDD", + "acceptance testing", + "functional testing", + "unit testing" + ], + "time": "2018-08-01T07:21:49+00:00" }, { - "name": "magento/module-media-storage", - "version": "0.74.0-beta2", + "name": "codeception/phpunit-wrapper", + "version": "6.6.1", + "source": { + "type": "git", + "url": "https://github.com/Codeception/phpunit-wrapper.git", + "reference": "d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-media-storage-0.74.0-beta2.zip", - "reference": null, - "shasum": "7c1b9232bf83b123c2a3c6b03973bd637f34e0f6" + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c", + "reference": "d0da25a98bcebeb15d97c2ad3b2de6166b6e7a0c", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "phpunit/php-code-coverage": ">=4.0.4 <6.0", + "phpunit/phpunit": ">=6.5.13 <7.0", + "sebastian/comparator": ">=1.2.4 <3.0", + "sebastian/diff": ">=1.4 <4.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/MediaStorage" - ] - ] + "replace": { + "codeception/phpunit-wrapper": "*" + }, + "require-dev": { + "codeception/specify": "*", + "vlucas/phpdotenv": "^3.0" }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\PHPUnit\\": "src\\" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Davert", + "email": "davert.php@resend.cc" + } + ], + "description": "PHPUnit classes used by Codeception", + "time": "2019-02-26T20:47:39+00:00" }, { - "name": "magento/module-msrp", - "version": "0.74.0-beta2", + "name": "codeception/stub", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Stub.git", + "reference": "853657f988942f7afb69becf3fd0059f192c705a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-msrp-0.74.0-beta2.zip", - "reference": null, - "shasum": "16bda583d7a876262fdc740c9513a4fb1739c3eb" + "url": "https://api.github.com/repos/Codeception/Stub/zipball/853657f988942f7afb69becf3fd0059f192c705a", + "reference": "853657f988942f7afb69becf3fd0059f192c705a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-bundle": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-downloadable": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-grouped-product": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Msrp" - ] - ] + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", + "time": "2019-03-02T15:35:10+00:00" }, { - "name": "magento/module-multishipping", - "version": "0.74.0-beta2", + "name": "consolidation/annotated-command", + "version": "2.12.0", + "source": { + "type": "git", + "url": "https://github.com/consolidation/annotated-command.git", + "reference": "512a2e54c98f3af377589de76c43b24652bcb789" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-multishipping-0.74.0-beta2.zip", - "reference": null, - "shasum": "53b01c1acc039dec9e603681264a450f708d5fb6" + "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/512a2e54c98f3af377589de76c43b24652bcb789", + "reference": "512a2e54c98f3af377589de76c43b24652bcb789", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-payment": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "consolidation/output-formatters": "^3.4", + "php": ">=5.4.5", + "psr/log": "^1", + "symfony/console": "^2.8|^3|^4", + "symfony/event-dispatcher": "^2.5|^3|^4", + "symfony/finder": "^2.5|^3|^4" }, - "type": "magento2-module", + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^6", + "squizlabs/php_codesniffer": "^2.7" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Multishipping" - ] - ] + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + }, + "phpunit4": { + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\AnnotatedCommand\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Initialize Symfony Console commands from annotated command class methods.", + "time": "2019-03-08T16:55:03+00:00" }, { - "name": "magento/module-newsletter", - "version": "0.74.0-beta2", + "name": "consolidation/config", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/config.git", + "reference": "cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-newsletter-0.74.0-beta2.zip", - "reference": null, - "shasum": "a9e11c0ab106ea0aec8709a5a17169be826680c3" + "url": "https://api.github.com/repos/consolidation/config/zipball/cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1", + "reference": "cac1279bae7efb5c7fb2ca4c3ba4b8eb741a96c1", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-cms": "0.74.0-beta2", - "magento/module-cron": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-email": "0.74.0-beta2", - "magento/module-require-js": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-widget": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "dflydev/dot-access-data": "^1.1.0", + "grasmash/expander": "^1", + "php": ">=5.4.0" }, - "type": "magento2-module", + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^5", + "squizlabs/php_codesniffer": "2.*", + "symfony/console": "^2.5|^3|^4", + "symfony/yaml": "^2.8.11|^3|^4" + }, + "suggest": { + "symfony/yaml": "Required to use Consolidation\\Config\\Loader\\YamlConfigLoader" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Newsletter" - ] - ] + "scenarios": { + "symfony4": { + "require-dev": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require-dev": { + "symfony/console": "^2.8", + "symfony/event-dispatcher": "^2.8", + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\Config\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Provide configuration services for a commandline tool.", + "time": "2019-03-03T19:37:04+00:00" }, { - "name": "magento/module-offline-payments", - "version": "0.74.0-beta2", + "name": "consolidation/log", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/log.git", + "reference": "b2e887325ee90abc96b0a8b7b474cd9e7c896e3a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-offline-payments-0.74.0-beta2.zip", - "reference": null, - "shasum": "d3b7cd008994bef7456496094f397c82a9f3a8ef" + "url": "https://api.github.com/repos/consolidation/log/zipball/b2e887325ee90abc96b0a8b7b474cd9e7c896e3a", + "reference": "b2e887325ee90abc96b0a8b7b474cd9e7c896e3a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-payment": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.4.5", + "psr/log": "^1.0", + "symfony/console": "^2.8|^3|^4" }, - "type": "magento2-module", + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^6", + "squizlabs/php_codesniffer": "^2" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/OfflinePayments" - ] - ] + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + }, + "phpunit4": { + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + } + } + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\Log\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Improved Psr-3 / Psr\\Log logger based on Symfony Console components.", + "time": "2019-01-01T17:30:51+00:00" }, { - "name": "magento/module-offline-shipping", - "version": "0.74.0-beta2", + "name": "consolidation/output-formatters", + "version": "3.4.1", + "source": { + "type": "git", + "url": "https://github.com/consolidation/output-formatters.git", + "reference": "0881112642ad9059071f13f397f571035b527cb9" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-offline-shipping-0.74.0-beta2.zip", - "reference": null, - "shasum": "94f097652ea87bc0504837366a51b7065ca864d4" + "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/0881112642ad9059071f13f397f571035b527cb9", + "reference": "0881112642ad9059071f13f397f571035b527cb9", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-sales-rule": "0.74.0-beta2", - "magento/module-shipping": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4.0", + "symfony/console": "^2.8|^3|^4", + "symfony/finder": "^2.5|^3|^4" }, - "type": "magento2-module", + "require-dev": { + "g1a/composer-test-scenarios": "^3", + "php-coveralls/php-coveralls": "^1", + "phpunit/phpunit": "^5.7.27", + "squizlabs/php_codesniffer": "^2.7", + "symfony/var-dumper": "^2.8|^3|^4", + "victorjonsson/markdowndocs": "^1.3" + }, + "suggest": { + "symfony/var-dumper": "For using the var_dump formatter" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/OfflineShipping" - ] - ] + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^6" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony3": { + "require": { + "symfony/console": "^3.4", + "symfony/finder": "^3.4", + "symfony/var-dumper": "^3.4" + }, + "config": { + "platform": { + "php": "5.6.32" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36" + }, + "remove": [ + "php-coveralls/php-coveralls" + ], + "config": { + "platform": { + "php": "5.4.8" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + } + }, + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\OutputFormatters\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Format text by applying transformations provided by plug-in formatters.", + "time": "2019-03-14T03:45:44+00:00" }, { - "name": "magento/module-page-cache", - "version": "0.74.0-beta2", + "name": "consolidation/robo", + "version": "1.4.9", + "source": { + "type": "git", + "url": "https://github.com/consolidation/Robo.git", + "reference": "5c6b3840a45afda1cbffbb3bb1f94dd5f9f83345" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-page-cache-0.74.0-beta2.zip", - "reference": null, - "shasum": "9db7b9c8d035e0eb3f619d37c8ff439b9f225e8f" + "url": "https://api.github.com/repos/consolidation/Robo/zipball/5c6b3840a45afda1cbffbb3bb1f94dd5f9f83345", + "reference": "5c6b3840a45afda1cbffbb3bb1f94dd5f9f83345", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "consolidation/annotated-command": "^2.10.2", + "consolidation/config": "^1.2", + "consolidation/log": "~1", + "consolidation/output-formatters": "^3.1.13", + "consolidation/self-update": "^1", + "grasmash/yaml-expander": "^1.3", + "league/container": "^2.2", + "php": ">=5.5.0", + "symfony/console": "^2.8|^3|^4", + "symfony/event-dispatcher": "^2.5|^3|^4", + "symfony/filesystem": "^2.5|^3|^4", + "symfony/finder": "^2.5|^3|^4", + "symfony/process": "^2.5|^3|^4" + }, + "replace": { + "codegyre/robo": "< 1.0" + }, + "require-dev": { + "codeception/aspect-mock": "^1|^2.1.1", + "codeception/base": "^2.3.7", + "codeception/verify": "^0.3.2", + "g1a/composer-test-scenarios": "^3", + "goaop/framework": "~2.1.2", + "goaop/parser-reflection": "^1.1.0", + "natxet/cssmin": "3.0.4", + "nikic/php-parser": "^3.1.5", + "patchwork/jsqueeze": "~2", + "pear/archive_tar": "^1.4.4", + "php-coveralls/php-coveralls": "^1", + "phpunit/php-code-coverage": "~2|~4", + "squizlabs/php_codesniffer": "^2.8" + }, + "suggest": { + "henrikbjorn/lurker": "For monitoring filesystem changes in taskWatch", + "natxet/CssMin": "For minifying CSS files in taskMinify", + "patchwork/jsqueeze": "For minifying JS files in taskMinify", + "pear/archive_tar": "Allows tar archives to be created and extracted in taskPack and taskExtract, respectively." }, - "type": "magento2-module", + "bin": [ + "robo" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/PageCache" - ] - ] + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "remove": [ + "goaop/framework" + ], + "config": { + "platform": { + "php": "5.5.9" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + } + }, + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Robo\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Davert", + "email": "davert.php@resend.cc" + } + ], + "description": "Modern task runner", + "time": "2019-03-19T18:07:19+00:00" }, { - "name": "magento/module-payment", - "version": "0.74.0-beta2", + "name": "consolidation/self-update", + "version": "1.1.5", + "source": { + "type": "git", + "url": "https://github.com/consolidation/self-update.git", + "reference": "a1c273b14ce334789825a09d06d4c87c0a02ad54" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-payment-0.74.0-beta2.zip", - "reference": null, - "shasum": "9da0894c984887cf2e3c6c5a32f84616867495ae" + "url": "https://api.github.com/repos/consolidation/self-update/zipball/a1c273b14ce334789825a09d06d4c87c0a02ad54", + "reference": "a1c273b14ce334789825a09d06d4c87c0a02ad54", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-centinel": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.5.0", + "symfony/console": "^2.8|^3|^4", + "symfony/filesystem": "^2.5|^3|^4" }, - "type": "magento2-module", + "bin": [ + "scripts/release" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Payment" - ] - ] + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "SelfUpdate\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + }, + { + "name": "Alexander Menk", + "email": "menk@mestrona.net" + } + ], + "description": "Provides a self:update command for Symfony Console applications.", + "time": "2018-10-28T01:52:03+00:00" }, { - "name": "magento/module-persistent", - "version": "0.74.0-beta2", + "name": "dflydev/dot-access-data", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-persistent-0.74.0-beta2.zip", - "reference": null, - "shasum": "891f5f3f5c23dd19e2f815754f4c5e8b4da6af1c" + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/3fbd874921ab2c041e899d044585a2ab9795df8a", + "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-cron": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-page-cache": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.2" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Persistent" - ] - ] + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Dflydev\\DotAccessData": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "time": "2017-01-20T21:14:22+00:00" }, { - "name": "magento/module-product-alert", - "version": "0.74.0-beta2", + "name": "doctrine/annotations", + "version": "v1.6.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "53120e0eb10355388d6ccbe462f1fea34ddadb24" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-product-alert-0.74.0-beta2.zip", - "reference": null, - "shasum": "43292b34d4078dddc73b7bb4bcdb889292b578a6" + "url": "https://api.github.com/repos/doctrine/annotations/zipball/53120e0eb10355388d6ccbe462f1fea34ddadb24", + "reference": "53120e0eb10355388d6ccbe462f1fea34ddadb24", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "doctrine/lexer": "1.*", + "php": "^7.1" }, - "type": "magento2-module", + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^6.4" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/ProductAlert" - ] - ] + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2019-03-25T19:12:02+00:00" }, { - "name": "magento/module-quote", - "version": "0.74.0-beta2", + "name": "doctrine/collections", + "version": "v1.6.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "d2ae4ef05e25197343b6a39bae1d3c427a2f6956" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-quote-0.74.0-beta2.zip", - "reference": null, - "shasum": "8c3033317c359e5fc20e9308ed796ae6760fa22f" + "url": "https://api.github.com/repos/doctrine/collections/zipball/d2ae4ef05e25197343b6a39bae1d3c427a2f6956", + "reference": "d2ae4ef05e25197343b6a39bae1d3c427a2f6956", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta2", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-catalog-rule": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-payment": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^7.1.3" }, - "type": "magento2-module", + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan-shim": "^0.9.2", + "phpunit/phpunit": "^7.0", + "vimeo/psalm": "^3.2.2" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Quote" - ] - ] + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", + "homepage": "https://www.doctrine-project.org/projects/collections.html", + "keywords": [ + "array", + "collections", + "iterators", + "php" + ], + "time": "2019-03-25T19:03:48+00:00" }, { - "name": "magento/module-reports", - "version": "0.74.0-beta2", + "name": "doctrine/instantiator", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "a2c590166b2133a4633738648b6b064edae0814a" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-reports-0.74.0-beta2.zip", - "reference": null, - "shasum": "38b1c0ddfbd756666cb0bc05e687d01ced515464" + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", + "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-cms": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-downloadable": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-review": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-sales-rule": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "magento/module-widget": "0.74.0-beta2", - "magento/module-wishlist": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^7.1" }, - "type": "magento2-module", + "require-dev": { + "doctrine/coding-standard": "^6.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Reports" - ] - ] + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "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" + ], + "time": "2019-03-17T17:37:11+00:00" }, { - "name": "magento/module-require-js", - "version": "0.74.0-beta2", + "name": "doctrine/lexer", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-require-js-0.74.0-beta2.zip", - "reference": null, - "shasum": "6e94b63070fd1c174ab55c109d384d5b3bb04131" + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.2" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/RequireJs" - ] - ] + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ], + "time": "2014-09-09T13:34:57+00:00" }, { - "name": "magento/module-review", - "version": "0.74.0-beta2", + "name": "epfremme/swagger-php", + "version": "v2.0.0", + "source": { + "type": "git", + "url": "https://github.com/epfremmer/swagger-php.git", + "reference": "eee28a442b7e6220391ec953d3c9b936354f23bc" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-review-0.74.0-beta2.zip", - "reference": null, - "shasum": "45385eac2767e9165bfd88bcbc6a69dccca29f38" + "url": "https://api.github.com/repos/epfremmer/swagger-php/zipball/eee28a442b7e6220391ec953d3c9b936354f23bc", + "reference": "eee28a442b7e6220391ec953d3c9b936354f23bc", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-newsletter": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "magento/module-ui": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "doctrine/annotations": "^1.2", + "doctrine/collections": "^1.3", + "jms/serializer": "^1.1", + "php": ">=5.5", + "phpoption/phpoption": "^1.1", + "symfony/yaml": "^2.7|^3.1" }, - "suggest": { - "magento/module-cookie": "0.74.0-beta2" + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "~4.8|~5.0", + "satooshi/php-coveralls": "^1.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Review" - ] - ] + "type": "package", + "autoload": { + "psr-4": { + "Epfremme\\Swagger\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Edward Pfremmer", + "email": "epfremme@nerdery.com" + } + ], + "description": "Library for parsing swagger documentation into PHP entities for use in testing and code generation", + "time": "2016-09-26T17:24:17+00:00" }, { - "name": "magento/module-rss", - "version": "0.74.0-beta2", + "name": "facebook/webdriver", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/facebook/php-webdriver.git", + "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-rss-0.74.0-beta2.zip", - "reference": null, - "shasum": "0706c2102a0003e2f214c35b77c1e628519b727a" + "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bd8c740097eb9f2fc3735250fc1912bc811a954e", + "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-zip": "*", + "php": "^5.6 || ~7.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0" }, - "type": "magento2-module", + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "php-coveralls/php-coveralls": "^2.0", + "php-mock/php-mock-phpunit": "^1.1", + "phpunit/phpunit": "^5.7", + "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", + "squizlabs/php_codesniffer": "^2.6", + "symfony/var-dumper": "^3.3 || ^4.0" + }, + "suggest": { + "ext-SimpleXML": "For Firefox profile creation" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Rss" - ] - ] + "branch-alias": { + "dev-community": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Facebook\\WebDriver\\": "lib/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache-2.0" ], - "description": "N/A" + "description": "A PHP client for Selenium WebDriver", + "homepage": "https://github.com/facebook/php-webdriver", + "keywords": [ + "facebook", + "php", + "selenium", + "webdriver" + ], + "time": "2018-05-16T17:37:13+00:00" }, { - "name": "magento/module-rule", - "version": "0.74.0-beta2", + "name": "flow/jsonpath", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/FlowCommunications/JSONPath.git", + "reference": "f0222818d5c938e4ab668ab2e2c079bd51a27112" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-rule-0.74.0-beta2.zip", - "reference": null, - "shasum": "762edf4eabfe082b589b09bcf47a3ef2ac8a7f35" + "url": "https://api.github.com/repos/FlowCommunications/JSONPath/zipball/f0222818d5c938e4ab668ab2e2c079bd51a27112", + "reference": "f0222818d5c938e4ab668ab2e2c079bd51a27112", + "shasum": "" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.4.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Rule" - ] - ] + "require-dev": { + "peekmo/jsonpath": "dev-master", + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Flow\\JSONPath": "src/", + "Flow\\JSONPath\\Test": "tests/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Stephen Frank", + "email": "stephen@flowsa.com" + } + ], + "description": "JSONPath implementation for parsing, searching and flattening arrays", + "time": "2018-03-04T16:39:47+00:00" }, { - "name": "magento/module-sales", - "version": "0.74.0-beta2", + "name": "friendsofphp/php-cs-fixer", + "version": "v2.13.3", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", + "reference": "38d6f2e9be2aa80bf3c7365612af7f9eb9078719" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-sales-0.74.0-beta2.zip", - "reference": null, - "shasum": "bf591f1f3033aa2fd3fe8bfb2732a6e7b81a499c" + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/38d6f2e9be2aa80bf3c7365612af7f9eb9078719", + "reference": "38d6f2e9be2aa80bf3c7365612af7f9eb9078719", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta2", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-email": "0.74.0-beta2", - "magento/module-gift-message": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-payment": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-reports": "0.74.0-beta2", - "magento/module-sales-rule": "0.74.0-beta2", - "magento/module-shipping": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "magento/module-ui": "0.74.0-beta2", - "magento/module-widget": "0.74.0-beta2", - "magento/module-wishlist": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "composer/semver": "^1.4", + "composer/xdebug-handler": "^1.2", + "doctrine/annotations": "^1.2", + "ext-json": "*", + "ext-tokenizer": "*", + "php": "^5.6 || >=7.0 <7.3", + "php-cs-fixer/diff": "^1.3", + "symfony/console": "^3.4.17 || ^4.1.6", + "symfony/event-dispatcher": "^3.0 || ^4.0", + "symfony/filesystem": "^3.0 || ^4.0", + "symfony/finder": "^3.0 || ^4.0", + "symfony/options-resolver": "^3.0 || ^4.0", + "symfony/polyfill-php70": "^1.0", + "symfony/polyfill-php72": "^1.4", + "symfony/process": "^3.0 || ^4.0", + "symfony/stopwatch": "^3.0 || ^4.0" + }, + "conflict": { + "hhvm": "*" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Sales" - ] + "require-dev": { + "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", + "justinrainbow/json-schema": "^5.0", + "keradus/cli-executor": "^1.2", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.1", + "php-cs-fixer/accessible-object": "^1.0", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.0.1", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.0.1", + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1", + "phpunitgoodpractices/traits": "^1.5.1", + "symfony/phpunit-bridge": "^4.0" + }, + "suggest": { + "ext-mbstring": "For handling non-UTF8 characters in cache signature.", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "For IsIdenticalString constraint.", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "For XmlMatchesXsd constraint.", + "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", + "autoload": { + "psr-4": { + "PhpCsFixer\\": "src/" + }, + "classmap": [ + "tests/Test/AbstractFixerTestCase.php", + "tests/Test/AbstractIntegrationCaseFactory.php", + "tests/Test/AbstractIntegrationTestCase.php", + "tests/Test/Assert/AssertTokensTrait.php", + "tests/Test/IntegrationCase.php", + "tests/Test/IntegrationCaseFactory.php", + "tests/Test/IntegrationCaseFactoryInterface.php", + "tests/Test/InternalIntegrationCaseFactory.php", + "tests/TestCase.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "A tool to automatically fix PHP code style", + "time": "2019-01-04T18:24:28+00:00" }, { - "name": "magento/module-sales-rule", - "version": "0.74.0-beta2", + "name": "fzaninotto/faker", + "version": "v1.8.0", + "source": { + "type": "git", + "url": "https://github.com/fzaninotto/Faker.git", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-sales-rule-0.74.0-beta2.zip", - "reference": null, - "shasum": "fdb556db9915f50b0bbbc3fd5f004c21fdf144ac" + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-rule": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-payment": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-reports": "0.74.0-beta2", - "magento/module-rule": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-shipping": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-widget": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.3.3 || ^7.0" }, - "type": "magento2-module", + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "squizlabs/php_codesniffer": "^1.5" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/SalesRule" - ] - ] + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "time": "2018-07-12T10:23:15+00:00" }, { - "name": "magento/module-search", - "version": "0.74.0-beta2", + "name": "grasmash/expander", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/grasmash/expander.git", + "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-search-0.74.0-beta2.zip", - "reference": null, - "shasum": "a9605f79153be5e6206e269161ec6b0fe27b4b1a" + "url": "https://api.github.com/repos/grasmash/expander/zipball/95d6037344a4be1dd5f8e0b0b2571a28c397578f", + "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog-search": "0.74.0-beta2", - "magento/module-reports": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4" }, - "type": "magento2-module", + "require-dev": { + "greg-1-anderson/composer-test-scenarios": "^1", + "phpunit/phpunit": "^4|^5.5.4", + "satooshi/php-coveralls": "^1.0.2|dev-master", + "squizlabs/php_codesniffer": "^2.7" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Search" - ] - ] + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Grasmash\\Expander\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Matthew Grasmick" + } + ], + "description": "Expands internal property references in PHP arrays file.", + "time": "2017-12-21T22:14:55+00:00" }, { - "name": "magento/module-sendfriend", - "version": "0.74.0-beta2", + "name": "grasmash/yaml-expander", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/grasmash/yaml-expander.git", + "reference": "3f0f6001ae707a24f4d9733958d77d92bf9693b1" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-sendfriend-0.74.0-beta2.zip", - "reference": null, - "shasum": "3830393608a4c34ef05eb26de6543ffe3739e1f4" + "url": "https://api.github.com/repos/grasmash/yaml-expander/zipball/3f0f6001ae707a24f4d9733958d77d92bf9693b1", + "reference": "3f0f6001ae707a24f4d9733958d77d92bf9693b1", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4", + "symfony/yaml": "^2.8.11|^3|^4" }, - "type": "magento2-module", + "require-dev": { + "greg-1-anderson/composer-test-scenarios": "^1", + "phpunit/phpunit": "^4.8|^5.5.4", + "satooshi/php-coveralls": "^1.0.2|dev-master", + "squizlabs/php_codesniffer": "^2.7" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Sendfriend" - ] - ] + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Grasmash\\YamlExpander\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Matthew Grasmick" + } + ], + "description": "Expands internal property references in a yaml file.", + "time": "2017-12-16T16:06:03+00:00" }, { - "name": "magento/module-shipping", - "version": "0.74.0-beta2", + "name": "jms/metadata", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/metadata.git", + "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-shipping-0.74.0-beta2.zip", - "reference": null, - "shasum": "0793baf12096494d141c3e6419f53a9c57aef0df" + "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/e5854ab1aa643623dc64adde718a8eec32b957a8", + "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8", + "shasum": "" }, "require": { - "ext-gd": "*", - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-contact": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-payment": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.0" }, - "suggest": { - "magento/module-fedex": "0.74.0-beta2", - "magento/module-ups": "0.74.0-beta2" + "require-dev": { + "doctrine/cache": "~1.0", + "symfony/cache": "~3.1" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Shipping" - ] - ] + "branch-alias": { + "dev-master": "1.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "Metadata\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + }, + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Class/method/property metadata management in PHP", + "keywords": [ + "annotations", + "metadata", + "xml", + "yaml" + ], + "time": "2018-10-26T12:40:10+00:00" }, { - "name": "magento/module-sitemap", - "version": "0.74.0-beta2", + "name": "jms/parser-lib", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/parser-lib.git", + "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-sitemap-0.74.0-beta2.zip", - "reference": null, - "shasum": "55e734ce8228a6e0b39eccb1829ae617845f9e53" + "url": "https://api.github.com/repos/schmittjoh/parser-lib/zipball/c509473bc1b4866415627af0e1c6cc8ac97fa51d", + "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-url-rewrite": "0.74.0-beta2", - "magento/module-cms": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "phpoption/phpoption": ">=0.9,<2.0-dev" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Sitemap" - ] - ] + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache2" ], - "description": "N/A" + "description": "A library for easily creating recursive-descent parsers.", + "time": "2012-11-18T18:08:43+00:00" }, { - "name": "magento/module-store", - "version": "0.74.0-beta2", + "name": "jms/serializer", + "version": "1.13.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/serializer.git", + "reference": "00863e1d55b411cc33ad3e1de09a4c8d3aae793c" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-store-0.74.0-beta2.zip", - "reference": null, - "shasum": "b53f0f39a5eceb85e0b28bcf32d5bb68314b3027" + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/00863e1d55b411cc33ad3e1de09a4c8d3aae793c", + "reference": "00863e1d55b411cc33ad3e1de09a4c8d3aae793c", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-config": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-ui": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "doctrine/annotations": "^1.0", + "doctrine/instantiator": "^1.0.3", + "jms/metadata": "^1.3", + "jms/parser-lib": "1.*", + "php": "^5.5|^7.0", + "phpcollection/phpcollection": "~0.1", + "phpoption/phpoption": "^1.1" }, - "type": "magento2-module", + "require-dev": { + "doctrine/orm": "~2.1", + "doctrine/phpcr-odm": "^1.3|^2.0", + "ext-pdo_sqlite": "*", + "jackalope/jackalope-doctrine-dbal": "^1.1.5", + "phpunit/phpunit": "^4.8|^5.0", + "propel/propel1": "~1.7", + "psr/container": "^1.0", + "symfony/dependency-injection": "^2.7|^3.3|^4.0", + "symfony/expression-language": "^2.6|^3.0", + "symfony/filesystem": "^2.1", + "symfony/form": "~2.1|^3.0", + "symfony/translation": "^2.1|^3.0", + "symfony/validator": "^2.2|^3.0", + "symfony/yaml": "^2.1|^3.0" + }, + "suggest": { + "doctrine/cache": "Required if you like to use cache functionality.", + "doctrine/collections": "Required if you like to use doctrine collection types as ArrayCollection.", + "symfony/yaml": "Required if you'd like to serialize data to YAML format." + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Store" - ] - ] + "branch-alias": { + "dev-1.x": "1.13-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\Serializer": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + }, + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.", + "homepage": "http://jmsyst.com/libs/serializer", + "keywords": [ + "deserialization", + "jaxb", + "json", + "serialization", + "xml" + ], + "time": "2018-07-25T13:58:54+00:00" }, { - "name": "magento/module-tax", - "version": "0.74.0-beta2", + "name": "league/container", + "version": "2.4.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/container.git", + "reference": "43f35abd03a12977a60ffd7095efd6a7808488c0" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-tax-0.74.0-beta2.zip", - "reference": null, - "shasum": "ed22d2db556957de4ab5406d4d0edce811855b9b" + "url": "https://api.github.com/repos/thephpleague/container/zipball/43f35abd03a12977a60ffd7095efd6a7808488c0", + "reference": "43f35abd03a12977a60ffd7095efd6a7808488c0", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-reports": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-shipping": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "container-interop/container-interop": "^1.2", + "php": "^5.4.0 || ^7.0" }, - "type": "magento2-module", + "provide": { + "container-interop/container-interop-implementation": "^1.2", + "psr/container-implementation": "^1.0" + }, + "replace": { + "orno/di": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Tax" - ] - ] + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Container\\": "src" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Phil Bennett", + "email": "philipobenito@gmail.com", + "homepage": "http://www.philipobenito.com", + "role": "Developer" + } + ], + "description": "A fast and intuitive dependency injection container.", + "homepage": "https://github.com/thephpleague/container", + "keywords": [ + "container", + "dependency", + "di", + "injection", + "league", + "provider", + "service" + ], + "time": "2017-05-10T09:20:27+00:00" }, { - "name": "magento/module-tax-import-export", - "version": "0.74.0-beta2", + "name": "lusitanian/oauth", + "version": "v0.8.11", + "source": { + "type": "git", + "url": "https://github.com/Lusitanian/PHPoAuthLib.git", + "reference": "fc11a53db4b66da555a6a11fce294f574a8374f9" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-tax-import-export-0.74.0-beta2.zip", - "reference": null, - "shasum": "90716decbf4c0eb8fb29523530471fc2f8fbb426" + "url": "https://api.github.com/repos/Lusitanian/PHPoAuthLib/zipball/fc11a53db4b66da555a6a11fce294f574a8374f9", + "reference": "fc11a53db4b66da555a6a11fce294f574a8374f9", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "3.7.*", + "predis/predis": "0.8.*@dev", + "squizlabs/php_codesniffer": "2.*", + "symfony/http-foundation": "~2.1" + }, + "suggest": { + "ext-openssl": "Allows for usage of secure connections with the stream-based HTTP client.", + "predis/predis": "Allows using the Redis storage backend.", + "symfony/http-foundation": "Allows using the Symfony Session storage backend." + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/TaxImportExport" - ] - ] + "branch-alias": { + "dev-master": "0.1-dev" + } + }, + "autoload": { + "psr-0": { + "OAuth": "src", + "OAuth\\Unit": "tests" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "David Desberg", + "email": "david@daviddesberg.com" + }, + { + "name": "Elliot Chance", + "email": "elliotchance@gmail.com" + }, + { + "name": "Pieter Hordijk", + "email": "info@pieterhordijk.com" + } + ], + "description": "PHP 5.3+ oAuth 1/2 Library", + "keywords": [ + "Authentication", + "authorization", + "oauth", + "security" + ], + "time": "2018-02-14T22:37:14+00:00" }, { - "name": "magento/module-theme", - "version": "0.74.0-beta2", + "name": "magento/magento2-functional-testing-framework", + "version": "2.3.14", + "source": { + "type": "git", + "url": "https://github.com/magento/magento2-functional-testing-framework.git", + "reference": "b4002b3fe53884895921b44cf519d42918e3c7c6" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-theme-0.74.0-beta2.zip", - "reference": null, - "shasum": "4754e71f25664ca7d010351e63c8c017e3c649dd" + "url": "https://api.github.com/repos/magento/magento2-functional-testing-framework/zipball/b4002b3fe53884895921b44cf519d42918e3c7c6", + "reference": "b4002b3fe53884895921b44cf519d42918e3c7c6", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-cms": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-media-storage": "0.74.0-beta2", - "magento/module-require-js": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-widget": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "allure-framework/allure-codeception": "~1.3.0", + "codeception/codeception": "~2.3.4 || ~2.4.0 ", + "consolidation/robo": "^1.0.0", + "epfremme/swagger-php": "^2.0", + "ext-curl": "*", + "flow/jsonpath": ">0.2", + "fzaninotto/faker": "^1.6", + "monolog/monolog": "^1.0", + "mustache/mustache": "~2.5", + "php": "7.0.2|7.0.4|~7.0.6|~7.1.0|~7.2.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0", + "vlucas/phpdotenv": "^2.4" }, - "suggest": { - "magento/module-translation": "0.74.0-beta2" + "require-dev": { + "brainmaestro/composer-git-hooks": "^2.3", + "codacy/coverage": "^1.4", + "codeception/aspect-mock": "^3.0", + "doctrine/cache": "<1.7.0", + "goaop/framework": "2.2.0", + "php-coveralls/php-coveralls": "^1.0", + "phpmd/phpmd": "^2.6.0", + "phpunit/phpunit": "~6.5.0 || ~7.0.0", + "rregeer/phpunit-coverage-check": "^0.1.4", + "sebastian/phpcpd": "~3.0 || ~4.0", + "squizlabs/php_codesniffer": "~3.2", + "symfony/stopwatch": "~3.4.6" }, - "type": "magento2-module", + "bin": [ + "bin/mftf" + ], + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Theme" - ] - ] + "hooks": { + "pre-push": "bin/all-checks" + } + }, + "autoload": { + "files": [ + "src/Magento/FunctionalTestingFramework/_bootstrap.php" + ], + "psr-4": { + "Magento\\FunctionalTestingFramework\\": "src/Magento/FunctionalTestingFramework", + "MFTF\\": "dev/tests/functional/MFTF" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "AGPL-3.0" ], - "description": "N/A" + "description": "Magento2 Functional Testing Framework", + "keywords": [ + "automation", + "functional", + "magento", + "testing" + ], + "time": "2019-02-19T16:03:22+00:00" }, { - "name": "magento/module-translation", - "version": "0.74.0-beta2", + "name": "mikey179/vfsStream", + "version": "v1.6.6", + "source": { + "type": "git", + "url": "https://github.com/bovigo/vfsStream.git", + "reference": "095238a0711c974ae5b4ebf4c4534a23f3f6c99d" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-translation-0.74.0-beta2.zip", - "reference": null, - "shasum": "68e633ff0380bb3d9660c17149935a0cdeda4edb" + "url": "https://api.github.com/repos/bovigo/vfsStream/zipball/095238a0711c974ae5b4ebf4c4534a23f3f6c99d", + "reference": "095238a0711c974ae5b4ebf4c4534a23f3f6c99d", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-developer": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "~4.5" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Translation" - ] - ] + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "org\\bovigo\\vfs\\": "src/main/php" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "authors": [ + { + "name": "Frank Kleine", + "homepage": "http://frankkleine.de/", + "role": "Developer" + } + ], + "description": "Virtual file system to mock the real file system in unit tests.", + "homepage": "http://vfs.bovigo.org/", + "time": "2019-04-08T13:54:32+00:00" }, { - "name": "magento/module-ui", - "version": "0.74.0-beta2", + "name": "moontoast/math", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/ramsey/moontoast-math.git", + "reference": "c2792a25df5cad4ff3d760dd37078fc5b6fccc79" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-ui-0.74.0-beta2.zip", - "reference": null, - "shasum": "6edb28f5c771ccb9e747ea71922ecbea80a32391" + "url": "https://api.github.com/repos/ramsey/moontoast-math/zipball/c2792a25df5cad4ff3d760dd37078fc5b6fccc79", + "reference": "c2792a25df5cad4ff3d760dd37078fc5b6fccc79", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "ext-bcmath": "*", + "php": ">=5.3.3" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Ui" - ] - ] + "require-dev": { + "jakub-onderka/php-parallel-lint": "^0.9.0", + "phpunit/phpunit": "^4.7|>=5.0 <5.4", + "satooshi/php-coveralls": "^0.6.1", + "squizlabs/php_codesniffer": "^2.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Moontoast\\Math\\": "src/Moontoast/Math/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache-2.0" ], - "description": "N/A" + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A mathematics library, providing functionality for large numbers", + "homepage": "https://github.com/ramsey/moontoast-math", + "keywords": [ + "bcmath", + "math" + ], + "time": "2017-02-16T16:54:46+00:00" }, { - "name": "magento/module-ups", - "version": "0.74.0-beta2", + "name": "mustache/mustache", + "version": "v2.12.0", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/mustache.php.git", + "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-ups-0.74.0-beta2.zip", - "reference": null, - "shasum": "70a8139468124067bfb07bf1c071638484136883" + "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/fe8fe72e9d580591854de404cc59a1b83ca4d19e", + "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-shipping": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.2.4" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Ups" - ] - ] + "require-dev": { + "friendsofphp/php-cs-fixer": "~1.11", + "phpunit/phpunit": "~3.7|~4.0|~5.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Mustache": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "A Mustache implementation in PHP.", + "homepage": "https://github.com/bobthecow/mustache.php", + "keywords": [ + "mustache", + "templating" + ], + "time": "2017-07-11T12:54:05+00:00" }, { - "name": "magento/module-url-rewrite", - "version": "0.74.0-beta2", + "name": "myclabs/deep-copy", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-url-rewrite-0.74.0-beta2.zip", - "reference": null, - "shasum": "8e781525600ff9d43383816283807ebcff07a8bf" + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", + "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-url-rewrite": "0.74.0-beta2", - "magento/module-cms": "0.74.0-beta2", - "magento/module-cms-url-rewrite": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^7.1" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/UrlRewrite" - ] + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2019-04-07T13:18:21+00:00" }, { - "name": "magento/module-user", - "version": "0.74.0-beta2", + "name": "pdepend/pdepend", + "version": "2.5.2", + "source": { + "type": "git", + "url": "https://github.com/pdepend/pdepend.git", + "reference": "9daf26d0368d4a12bed1cacae1a9f3a6f0adf239" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-user-0.74.0-beta2.zip", - "reference": null, - "shasum": "023375251bc6104b31984e4509d01907f6661c6b" + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/9daf26d0368d4a12bed1cacae1a9f3a6f0adf239", + "reference": "9daf26d0368d4a12bed1cacae1a9f3a6f0adf239", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta2", - "magento/module-backend": "0.74.0-beta2", - "magento/module-integration": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.7", + "symfony/config": "^2.3.0|^3|^4", + "symfony/dependency-injection": "^2.3.0|^3|^4", + "symfony/filesystem": "^2.3.0|^3|^4" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/User" - ] - ] + "require-dev": { + "phpunit/phpunit": "^4.8|^5.7", + "squizlabs/php_codesniffer": "^2.0.0" + }, + "bin": [ + "src/bin/pdepend" + ], + "type": "library", + "autoload": { + "psr-4": { + "PDepend\\": "src/main/php/PDepend" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "description": "Official version of pdepend to be handled with Composer", + "time": "2017-12-13T13:21:38+00:00" }, { - "name": "magento/module-usps", - "version": "0.74.0-beta2", + "name": "phar-io/manifest", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-usps-0.74.0-beta2.zip", - "reference": null, - "shasum": "22eecac7075ca9c6ecaa08e482b59f5c29ba465c" + "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", + "shasum": "" }, "require": { - "lib-libxml": "*", - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-config": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-shipping": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^1.0.1", + "php": "^5.6 || ^7.0" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Usps" - ] + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "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" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2017-03-05T18:14:27+00:00" }, { - "name": "magento/module-variable", - "version": "0.74.0-beta2", + "name": "phar-io/version", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-variable-0.74.0-beta2.zip", - "reference": null, - "shasum": "73cb1fdc0ff84722f854736a4016e3f5fa331ec1" + "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-email": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.4.11|~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Variable" - ] + "type": "library", + "autoload": { + "classmap": [ + "src/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "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" + } + ], + "description": "Library for handling version information and constraints", + "time": "2017-03-05T17:38:23+00:00" }, { - "name": "magento/module-version", - "version": "0.74.0-beta2", + "name": "php-cs-fixer/diff", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/PHP-CS-Fixer/diff.git", + "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-version-0.74.0-beta2.zip", - "reference": null, - "shasum": "de77cb875f16d6eec9c785df117eddf469bec459" + "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/78bb099e9c16361126c86ce82ec4405ebab8e756", + "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" + "php": "^5.6 || ^7.0" }, - "type": "magento2-module", - "extra": { - "map": [ - [ - "*", - "Magento/Version" - ] + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "symfony/process": "^3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "SpacePossum" + } + ], + "description": "sebastian/diff v2 backport support for PHP5.6", + "homepage": "https://github.com/PHP-CS-Fixer", + "keywords": [ + "diff" + ], + "time": "2018-02-15T16:58:55+00:00" }, { - "name": "magento/module-webapi", - "version": "0.74.0-beta2", + "name": "phpcollection/phpcollection", + "version": "0.5.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-collection.git", + "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-webapi-0.74.0-beta2.zip", - "reference": null, - "shasum": "c189f264c1bb186e052a2ed375b4b9e00295f3a6" + "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", + "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-authorization": "0.74.0-beta2", - "magento/module-backend": "0.74.0-beta2", - "magento/module-integration": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "phpoption/phpoption": "1.*" }, - "suggest": { - "magento/module-user": "0.74.0-beta2" - }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Webapi" - ] - ] + "branch-alias": { + "dev-master": "0.4-dev" + } + }, + "autoload": { + "psr-0": { + "PhpCollection": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache2" ], - "description": "N/A" + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "General-Purpose Collection Library for PHP", + "keywords": [ + "collection", + "list", + "map", + "sequence", + "set" + ], + "time": "2015-05-17T12:39:23+00:00" }, { - "name": "magento/module-weee", - "version": "0.74.0-beta2", + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-weee-0.74.0-beta2.zip", - "reference": null, - "shasum": "cc524f7211673263beb1f4c6b96bf32ffa04527b" + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-directory": "0.74.0-beta2", - "magento/module-eav": "0.74.0-beta2", - "magento/module-quote": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-tax": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": ">=5.5" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Weee" + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" ] - ] + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2017-09-11T18:02:19+00:00" }, { - "name": "magento/module-widget", - "version": "0.74.0-beta2", + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-widget-0.74.0-beta2.zip", - "reference": null, - "shasum": "f23668007563d5b7f9122e3eb453359fab9d1249" + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-cms": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "magento/module-variable": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" }, - "type": "magento2-module", + "require-dev": { + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Widget" + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" ] - ] + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-30T07:14:17+00:00" }, { - "name": "magento/module-wishlist", - "version": "0.74.0-beta2", + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_module-wishlist-0.74.0-beta2.zip", - "reference": null, - "shasum": "fca56783501ad2b8f2c583350cb038f8191634e1" + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/module-backend": "0.74.0-beta2", - "magento/module-catalog": "0.74.0-beta2", - "magento/module-catalog-inventory": "0.74.0-beta2", - "magento/module-checkout": "0.74.0-beta2", - "magento/module-customer": "0.74.0-beta2", - "magento/module-grouped-product": "0.74.0-beta2", - "magento/module-rss": "0.74.0-beta2", - "magento/module-sales": "0.74.0-beta2", - "magento/module-store": "0.74.0-beta2", - "magento/module-theme": "0.74.0-beta2", - "magento/module-ui": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" }, - "suggest": { - "magento/module-bundle": "0.74.0-beta2", - "magento/module-configurable-product": "0.74.0-beta2", - "magento/module-cookie": "0.74.0-beta2", - "magento/module-downloadable": "0.74.0-beta2" + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" }, - "type": "magento2-module", + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/Wishlist" + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" ] - ] + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } ], - "description": "N/A" + "time": "2017-07-14T14:27:02+00:00" }, { - "name": "magento/product-community-edition", - "version": "0.74.0-beta2", + "name": "phpmd/phpmd", + "version": "2.6.0", "source": { "type": "git", - "url": "https://github.com/magento/magento2-community-edition.git", - "reference": "830bba759a180a97375275013b974c4606805466" + "url": "https://github.com/phpmd/phpmd.git", + "reference": "4e9924b2c157a3eb64395460fcf56b31badc8374" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento/magento2-community-edition/zipball/830bba759a180a97375275013b974c4606805466", - "reference": "830bba759a180a97375275013b974c4606805466", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/4e9924b2c157a3eb64395460fcf56b31badc8374", + "reference": "4e9924b2c157a3eb64395460fcf56b31badc8374", "shasum": "" }, "require": { - "composer/composer": "1.0.0-alpha8", - "magento/framework": "self.version", - "magento/language-de_de": "self.version", - "magento/language-en_us": "self.version", - "magento/language-es_es": "self.version", - "magento/language-fr_fr": "self.version", - "magento/language-nl_nl": "self.version", - "magento/language-pt_br": "self.version", - "magento/language-zh_cn": "self.version", - "magento/magento-composer-installer": "*", - "magento/magento2-base": "self.version", - "magento/module-admin-notification": "self.version", - "magento/module-authorization": "self.version", - "magento/module-backend": "self.version", - "magento/module-backup": "self.version", - "magento/module-bundle": "self.version", - "magento/module-captcha": "self.version", - "magento/module-catalog": "self.version", - "magento/module-catalog-import-export": "self.version", - "magento/module-catalog-inventory": "self.version", - "magento/module-catalog-rule": "self.version", - "magento/module-catalog-search": "self.version", - "magento/module-catalog-url-rewrite": "self.version", - "magento/module-catalog-widget": "self.version", - "magento/module-centinel": "self.version", - "magento/module-checkout": "self.version", - "magento/module-checkout-agreements": "self.version", - "magento/module-cms": "self.version", - "magento/module-cms-url-rewrite": "self.version", - "magento/module-config": "self.version", - "magento/module-configurable-import-export": "self.version", - "magento/module-configurable-product": "self.version", - "magento/module-contact": "self.version", - "magento/module-cookie": "self.version", - "magento/module-cron": "self.version", - "magento/module-currency-symbol": "self.version", - "magento/module-customer": "self.version", - "magento/module-customer-import-export": "self.version", - "magento/module-developer": "self.version", - "magento/module-dhl": "self.version", - "magento/module-directory": "self.version", - "magento/module-downloadable": "self.version", - "magento/module-eav": "self.version", - "magento/module-email": "self.version", - "magento/module-fedex": "self.version", - "magento/module-gift-message": "self.version", - "magento/module-google-adwords": "self.version", - "magento/module-google-analytics": "self.version", - "magento/module-google-optimizer": "self.version", - "magento/module-google-shopping": "self.version", - "magento/module-grouped-import-export": "self.version", - "magento/module-grouped-product": "self.version", - "magento/module-import-export": "self.version", - "magento/module-indexer": "self.version", - "magento/module-integration": "self.version", - "magento/module-layered-navigation": "self.version", - "magento/module-media-storage": "self.version", - "magento/module-msrp": "self.version", - "magento/module-multishipping": "self.version", - "magento/module-newsletter": "self.version", - "magento/module-offline-payments": "self.version", - "magento/module-offline-shipping": "self.version", - "magento/module-page-cache": "self.version", - "magento/module-payment": "self.version", - "magento/module-persistent": "self.version", - "magento/module-product-alert": "self.version", - "magento/module-quote": "self.version", - "magento/module-reports": "self.version", - "magento/module-require-js": "self.version", - "magento/module-review": "self.version", - "magento/module-rss": "self.version", - "magento/module-rule": "self.version", - "magento/module-sales": "self.version", - "magento/module-sales-rule": "self.version", - "magento/module-search": "self.version", - "magento/module-sendfriend": "self.version", - "magento/module-shipping": "self.version", - "magento/module-sitemap": "self.version", - "magento/module-store": "self.version", - "magento/module-tax": "self.version", - "magento/module-tax-import-export": "self.version", - "magento/module-theme": "self.version", - "magento/module-translation": "self.version", - "magento/module-ui": "self.version", - "magento/module-ups": "self.version", - "magento/module-url-rewrite": "self.version", - "magento/module-user": "self.version", - "magento/module-usps": "self.version", - "magento/module-variable": "self.version", - "magento/module-version": "self.version", - "magento/module-webapi": "self.version", - "magento/module-weee": "self.version", - "magento/module-widget": "self.version", - "magento/module-wishlist": "self.version", - "magento/theme-adminhtml-backend": "self.version", - "magento/theme-frontend-blank": "self.version", - "magento/theme-frontend-luma": "self.version", - "magento/zendframework1": "1.12.10", - "monolog/monolog": "1.11.0", - "oyejorge/less.php": "1.7.0.3", - "php": "~5.5.0|~5.6.0|~7.0.0", - "tubalmartin/cssmin": "2.4.8-p4", - "zendframework/zend-code": "2.3.1", - "zendframework/zend-config": "2.3.1", - "zendframework/zend-console": "2.3.1", - "zendframework/zend-di": "2.3.1", - "zendframework/zend-eventmanager": "2.3.1", - "zendframework/zend-form": "2.3.1", - "zendframework/zend-http": "2.3.1", - "zendframework/zend-json": "2.3.1", - "zendframework/zend-log": "2.3.1", - "zendframework/zend-modulemanager": "2.3.1", - "zendframework/zend-mvc": "2.3.1", - "zendframework/zend-serializer": "2.3.1", - "zendframework/zend-server": "2.3.1", - "zendframework/zend-servicemanager": "2.3.1", - "zendframework/zend-soap": "2.3.1", - "zendframework/zend-stdlib": "2.3.1", - "zendframework/zend-text": "2.3.1", - "zendframework/zend-uri": "2.3.1", - "zendframework/zend-validator": "2.3.1", - "zendframework/zend-view": "2.3.1" + "ext-xml": "*", + "pdepend/pdepend": "^2.5", + "php": ">=5.3.9" }, "require-dev": { - "ext-ctype": "*", - "ext-curl": "*", - "ext-dom": "*", - "ext-gd": "*", - "ext-hash": "*", - "ext-iconv": "*", - "ext-intl": "*", - "ext-mcrypt": "*", - "ext-simplexml": "*", - "ext-spl": "*", - "fabpot/php-cs-fixer": "~1.2", - "lib-libxml": "*", - "lusitanian/oauth": "~0.3", - "pdepend/pdepend": "2.0.6", - "phpmd/phpmd": "@stable", - "phpunit/phpunit": "4.1.0", - "sjparkinson/static-review": "~4.1", - "squizlabs/php_codesniffer": "1.5.3" + "phpunit/phpunit": "^4.0", + "squizlabs/php_codesniffer": "^2.0" }, + "bin": [ + "src/bin/phpmd" + ], "type": "project", "autoload": { - "psr-4": { - "Magento\\Framework\\": "lib/internal/Magento/Framework/", - "Magento\\Setup\\": "setup/src/Magento/Setup/" + "psr-0": { + "PHPMD\\": "src/main/php" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Manuel Pichler", + "email": "github@manuel-pichler.de", + "homepage": "https://github.com/manuelpichler", + "role": "Project Founder" + }, + { + "name": "Other contributors", + "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", + "role": "Contributors" + }, + { + "name": "Marc Würth", + "email": "ravage@bluewin.ch", + "homepage": "https://github.com/ravage84", + "role": "Project Maintainer" + } ], - "description": "eCommerce Platform for Growth (Community Edition)", - "time": "2015-03-27 15:47:02" + "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", + "homepage": "http://phpmd.org/", + "keywords": [ + "mess detection", + "mess detector", + "pdepend", + "phpmd", + "pmd" + ], + "time": "2017-01-20T14:41:10+00:00" }, { - "name": "magento/sample-module-minimal", - "version": "1.0.0", + "name": "phpoption/phpoption", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_sample-module-minimal-1.0.0.zip", - "reference": null, - "shasum": "8c8bd3ee4907a6a91bffeac177628bd4f238d6e4" + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/94e644f7d2051a5f0fcf77d81605f152eecff0ed", + "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed", + "shasum": "" }, "require": { - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" + "php": ">=5.3.0" }, - "type": "magento2-module", + "require-dev": { + "phpunit/phpunit": "4.7.*" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "Magento/SampleMinimal" - ] - ] + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-0": { + "PhpOption\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" ], - "description": "A minimal skeleton Magento 2 module" + "time": "2015-07-25T16:39:46+00:00" }, { - "name": "magento/theme-adminhtml-backend", - "version": "0.74.0-beta2", + "name": "phpspec/prophecy", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_theme-adminhtml-backend-0.74.0-beta2.zip", - "reference": null, - "shasum": "d8bd8d6b70d65d6f38751f7e9f9cbbebf751c97c" + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0|^3.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, - "type": "magento2-theme", + "require-dev": { + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + }, + "type": "library", "extra": { - "map": [ - [ - "*", - "adminhtml/Magento/backend" - ] - ] + "branch-alias": { + "dev-master": "1.8.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "MIT" ], - "description": "N/A" + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2018-08-05T17:53:17+00:00" }, { - "name": "magento/theme-frontend-blank", - "version": "0.74.0-beta2", + "name": "phpunit/php-code-coverage", + "version": "5.3.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac" + }, "dist": { "type": "zip", - "url": "https://repo.magento.com/_packages/magento_theme-frontend-blank-0.74.0-beta2.zip", - "reference": null, - "shasum": "e298ae05894e97ba3d94a87b77086dfe0c2d974a" + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac", + "shasum": "" }, "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "php": "~5.5.0|~5.6.0" - }, - "type": "magento2-theme", - "extra": { - "map": [ - [ - "*", - "frontend/Magento/blank" - ] - ] + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^7.0", + "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^2.0.1", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.0", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" }, - "license": [ - "OSL-3.0", - "AFL-3.0" - ], - "description": "N/A" - }, - { - "name": "magento/theme-frontend-luma", - "version": "0.74.0-beta2", - "dist": { - "type": "zip", - "url": "https://repo.magento.com/_packages/magento_theme-frontend-luma-0.74.0-beta2.zip", - "reference": null, - "shasum": "82e29e8fd8d928c33f064fb431d06f3968f37327" + "require-dev": { + "phpunit/phpunit": "^6.0" }, - "require": { - "magento/framework": "0.74.0-beta2", - "magento/magento-composer-installer": "*", - "magento/theme-frontend-blank": "0.74.0-beta2", - "php": "~5.5.0|~5.6.0" + "suggest": { + "ext-xdebug": "^2.5.5" }, - "type": "magento2-theme", + "type": "library", "extra": { - "map": [ - [ - "*", - "frontend/Magento/luma" - ] + "branch-alias": { + "dev-master": "5.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "OSL-3.0", - "AFL-3.0" + "BSD-3-Clause" ], - "description": "N/A" + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2018-04-06T15:36:58+00:00" }, { - "name": "magento/zendframework1", - "version": "1.12.10", + "name": "phpunit/php-file-iterator", + "version": "1.4.5", "source": { "type": "git", - "url": "https://github.com/magento/zf1.git", - "reference": "d1e5cd8c9f83229bcdd9bb485c3ce25259c77884" + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento/zf1/zipball/d1e5cd8c9f83229bcdd9bb485c3ce25259c77884", - "reference": "d1e5cd8c9f83229bcdd9bb485c3ce25259c77884", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", "shasum": "" }, "require": { - "php": ">=5.2.11" - }, - "require-dev": { - "phpunit/dbunit": "1.3.*", - "phpunit/phpunit": "3.7.*" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12.x-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { - "psr-0": { - "Zend_": "library/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "library/" - ], "license": [ "BSD-3-Clause" ], - "description": "Magento Zend Framework 1", - "homepage": "http://framework.zend.com/", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ - "ZF1", - "framework" + "filesystem", + "iterator" ], - "time": "2015-02-06 17:25:45" + "time": "2017-11-27T13:52:08+00:00" }, { - "name": "monolog/monolog", - "version": "1.11.0", + "name": "phpunit/php-text-template", + "version": "1.2.1", "source": { "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "ec3961874c43840e96da3a8a1ed20d8c73d7e5aa" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/ec3961874c43840e96da3a8a1ed20d8c73d7e5aa", - "reference": "ec3961874c43840e96da3a8a1ed20d8c73d7e5aa", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", "shasum": "" }, "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "~2.4, >2.4.8", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "phpunit/phpunit": "~3.7.0", - "raven/raven": "~0.5", - "ruflin/elastica": "0.90.*", - "videlalvaro/php-amqplib": "~2.4" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "raven/raven": "Allow sending log messages to a Sentry server", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib" + "php": ">=5.3.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.11.x-dev" - } - }, "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "log", - "logging", - "psr-3" + "template" ], - "time": "2014-09-30 13:30:58" + "time": "2015-06-21T13:50:34+00:00" }, { - "name": "oyejorge/less.php", - "version": "v1.7.0.3", + "name": "phpunit/php-timer", + "version": "1.0.9", "source": { "type": "git", - "url": "https://github.com/oyejorge/less.php.git", - "reference": "6e08ecb07e6f6d9170c23e8744c58fdd822ad0de" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/oyejorge/less.php/zipball/6e08ecb07e6f6d9170c23e8744c58fdd822ad0de", - "reference": "6e08ecb07e6f6d9170c23e8744c58fdd822ad0de", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", "shasum": "" }, "require": { - "php": ">=5.2" + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, - "bin": [ - "bin/lessc" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, "autoload": { - "psr-0": { - "Less": "lib/" - }, "classmap": [ - "lessc.inc.php" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "BSD-3-Clause" ], "authors": [ { - "name": "Matt Agar", - "homepage": "https://github.com/agar" - }, - { - "name": "Martin Jantošovič", - "homepage": "https://github.com/Mordred" - }, - { - "name": "Josh Schmidt", - "homepage": "https://github.com/oyejorge" + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" } ], - "description": "PHP port of the Javascript version of LESS http://lesscss.org", - "homepage": "http://lessphp.gpeasy.com", + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "css", - "less", - "less.js", - "lesscss", - "php", - "stylesheet" + "timer" ], - "time": "2015-03-10 18:12:59" + "time": "2017-02-26T11:10:40+00:00" }, { - "name": "psr/log", - "version": "dev-master", + "name": "phpunit/php-token-stream", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "bf2c13de4300e227d7b2fd08027673a79c519987" + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "791198a2c6254db10131eecfe8c06670700904db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/bf2c13de4300e227d7b2fd08027673a79c519987", - "reference": "bf2c13de4300e227d7b2fd08027673a79c519987", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", + "reference": "791198a2c6254db10131eecfe8c06670700904db", "shasum": "" }, + "require": { + "ext-tokenizer": "*", + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.2.4" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Common interface for logging libraries", + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", "keywords": [ - "log", - "psr", - "psr-3" + "tokenizer" ], - "time": "2015-03-26 14:39:45" + "time": "2017-11-27T05:48:46+00:00" }, { - "name": "seld/jsonlint", - "version": "1.3.1", + "name": "phpunit/phpunit", + "version": "6.5.14", "source": { "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "863ae85c6d3ef60ca49cb12bd051c4a0648c40c4" + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/863ae85c6d3ef60ca49cb12bd051c4a0648c40c4", - "reference": "863ae85c6d3ef60ca49cb12bd051c4a0648c40c4", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bac23fe7ff13dbdb461481f706f0e9fe746334b7", + "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7", "shasum": "" }, "require": { - "php": ">=5.3.0" + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "^1.6.1", + "phar-io/manifest": "^1.0.1", + "phar-io/version": "^1.0", + "php": "^7.0", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^5.3", + "phpunit/php-file-iterator": "^1.4.3", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^1.0.9", + "phpunit/phpunit-mock-objects": "^5.0.9", + "sebastian/comparator": "^2.1", + "sebastian/diff": "^2.0", + "sebastian/environment": "^3.1", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^1.0", + "sebastian/version": "^2.0.1" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2", + "phpunit/dbunit": "<3.0" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-xdebug": "*", + "phpunit/php-invoker": "^1.1" }, "bin": [ - "bin/jsonlint" + "phpunit" ], "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" + "extra": { + "branch-alias": { + "dev-master": "6.5.x-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "JSON Linter", + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", "keywords": [ - "json", - "linter", - "parser", - "validator" + "phpunit", + "testing", + "xunit" ], - "time": "2015-01-04 21:18:15" + "time": "2019-02-01T05:22:47+00:00" }, { - "name": "symfony/console", - "version": "2.8.x-dev", + "name": "phpunit/phpunit-mock-objects", + "version": "5.0.10", "source": { "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "7e857a2b52b5833ed27d78a6b1b846bd440ee8bd" + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/7e857a2b52b5833ed27d78a6b1b846bd440ee8bd", - "reference": "7e857a2b52b5833ed27d78a6b1b846bd440ee8bd", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f", "shasum": "" }, "require": { - "php": ">=5.3.9" + "doctrine/instantiator": "^1.0.5", + "php": "^7.0", + "phpunit/php-text-template": "^1.2.1", + "sebastian/exporter": "^3.1" + }, + "conflict": { + "phpunit/phpunit": "<6.0" }, "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/phpunit-bridge": "~2.7|~3.0.0", - "symfony/process": "~2.1|~3.0.0" + "phpunit/phpunit": "^6.5.11" }, "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" + "ext-soap": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "5.0.x-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2015-05-15 14:11:12" + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "abandoned": true, + "time": "2018-08-09T05:50:03+00:00" }, { - "name": "symfony/finder", - "version": "2.8.x-dev", + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/Finder.git", - "reference": "fd26bdbb67bc8753884eff5767a4f1ee90e2284b" + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/fd26bdbb67bc8753884eff5767a4f1ee90e2284b", - "reference": "fd26bdbb67bc8753884eff5767a4f1ee90e2284b", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^5.6 || ^7.0" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7|~3.0.0" + "phpunit/phpunit": "^5.7 || ^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "time": "2015-05-15 14:11:12" + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" }, { - "name": "symfony/process", - "version": "2.8.x-dev", + "name": "sebastian/comparator", + "version": "2.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/Process.git", - "reference": "daf96f1491cf0b8d8de60e6d3b5fda8e502b3798" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/daf96f1491cf0b8d8de60e6d3b5fda8e502b3798", - "reference": "daf96f1491cf0b8d8de60e6d3b5fda8e502b3798", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^7.0", + "sebastian/diff": "^2.0 || ^3.0", + "sebastian/exporter": "^3.1" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7|~3.0.0" + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "2.1.x-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2015-05-15 14:11:12" + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2018-02-01T13:46:46+00:00" }, { - "name": "tubalmartin/cssmin", - "version": "v2.4.8-p4", + "name": "sebastian/diff", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port.git", - "reference": "fe84d71e8420243544c0ce3bd0f5d7c1936b0f90" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tubalmartin/YUI-CSS-compressor-PHP-port/zipball/fe84d71e8420243544c0ce3bd0f5d7c1936b0f90", - "reference": "fe84d71e8420243544c0ce3bd0f5d7c1936b0f90", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", "shasum": "" }, "require": { - "php": ">=5.0.0" + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, "autoload": { "classmap": [ - "cssmin.php" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -4680,1405 +17824,1342 @@ ], "authors": [ { - "name": "Túbal Martín", - "homepage": "http://tubalmartin.me/" + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "A PHP port of the YUI CSS compressor", - "homepage": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port", + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ - "compress", - "compressor", - "css", - "minify", - "yui" + "diff" ], - "time": "2014-09-22 08:08:50" + "time": "2017-08-03T08:09:46+00:00" }, { - "name": "zendframework/zend-code", - "version": "2.3.1", + "name": "sebastian/environment", + "version": "3.1.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-code.git", - "reference": "a64e90c9ee8c939335ee7e21e39e3342c0e54526" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-code/zipball/a64e90c9ee8c939335ee7e21e39e3342c0e54526", - "reference": "a64e90c9ee8c939335ee7e21e39e3342c0e54526", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version" + "php": "^7.0" }, "require-dev": { - "doctrine/common": ">=2.1", - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-stdlib": "self.version" - }, - "suggest": { - "doctrine/common": "Doctrine\\Common >=2.1 for annotation features", - "zendframework/zend-stdlib": "Zend\\Stdlib component" + "phpunit/phpunit": "^6.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Code\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides facilities to generate arbitrary code using an object oriented interface", - "homepage": "https://github.com/zendframework/zend-code", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", "keywords": [ - "code", - "zf2" + "Xdebug", + "environment", + "hhvm" ], - "time": "2014-04-15 14:47:18" + "time": "2017-07-01T08:51:00+00:00" }, { - "name": "zendframework/zend-config", - "version": "2.3.1", + "name": "sebastian/exporter", + "version": "3.1.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-config.git", - "reference": "698c139707380b29fd09791ec1c21b837e9a3f15" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-config/zipball/698c139707380b29fd09791ec1c21b837e9a3f15", - "reference": "698c139707380b29fd09791ec1c21b837e9a3f15", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": "^7.0", + "sebastian/recursion-context": "^3.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-filter": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-json": "self.version", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes", - "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances" + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Config\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides a nested object property based user interface for accessing this configuration data within application code", - "homepage": "https://github.com/zendframework/zend-config", + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", "keywords": [ - "config", - "zf2" + "export", + "exporter" ], - "time": "2014-04-15 13:59:53" + "time": "2017-04-03T13:19:02+00:00" }, { - "name": "zendframework/zend-console", - "version": "2.3.1", + "name": "sebastian/finder-facade", + "version": "1.2.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-console.git", - "reference": "4253efd75a022d97ef326eac38a06c8eebb48a37" + "url": "https://github.com/sebastianbergmann/finder-facade.git", + "reference": "4a3174709c2dc565fe5fb26fcf827f6a1fc7b09f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-console/zipball/4253efd75a022d97ef326eac38a06c8eebb48a37", - "reference": "4253efd75a022d97ef326eac38a06c8eebb48a37", + "url": "https://api.github.com/repos/sebastianbergmann/finder-facade/zipball/4a3174709c2dc565fe5fb26fcf827f6a1fc7b09f", + "reference": "4a3174709c2dc565fe5fb26fcf827f6a1fc7b09f", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" - }, - "suggest": { - "zendframework/zend-filter": "To support DefaultRouteMatcher usage", - "zendframework/zend-validator": "To support DefaultRouteMatcher usage" + "symfony/finder": "~2.3|~3.0|~4.0", + "theseer/fdomdocument": "~1.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\Console\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-console", - "keywords": [ - "console", - "zf2" + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } ], - "time": "2014-04-14 19:50:30" + "description": "FinderFacade is a convenience wrapper for Symfony's Finder component.", + "homepage": "https://github.com/sebastianbergmann/finder-facade", + "time": "2017-11-18T17:31:49+00:00" }, { - "name": "zendframework/zend-di", - "version": "2.3.1", + "name": "sebastian/global-state", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-di.git", - "reference": "7502db10f8023bfd4e860ce83c9cdeda0db42c31" + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-di/zipball/7502db10f8023bfd4e860ce83c9cdeda0db42c31", - "reference": "7502db10f8023bfd4e860ce83c9cdeda0db42c31", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-code": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^7.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-servicemanager": "self.version" + "phpunit/phpunit": "^6.0" }, "suggest": { - "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + "ext-uopz": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { - "psr-4": { - "Zend\\Di\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-di", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", "keywords": [ - "di", - "zf2" + "global state" ], - "time": "2014-04-14 19:50:30" + "time": "2017-04-27T15:39:26+00:00" }, { - "name": "zendframework/zend-escaper", - "version": "2.3.1", + "name": "sebastian/object-enumerator", + "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-escaper.git", - "reference": "2b2fcb6141cc2a2c6cc0c596e82771c72ef4ddc1" + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/2b2fcb6141cc2a2c6cc0c596e82771c72ef4ddc1", - "reference": "2b2fcb6141cc2a2c6cc0c596e82771c72ef4ddc1", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Escaper\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-escaper", - "keywords": [ - "escaper", - "zf2" + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } ], - "time": "2014-04-14 19:50:30" + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-08-03T12:35:26+00:00" }, { - "name": "zendframework/zend-eventmanager", - "version": "2.3.1", + "name": "sebastian/object-reflector", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-eventmanager.git", - "reference": "ec158e89d0290f988a29ccd6bf179b561efbb702" + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/ec158e89d0290f988a29ccd6bf179b561efbb702", - "reference": "ec158e89d0290f988a29ccd6bf179b561efbb702", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": "^7.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.1-dev" } }, "autoload": { - "psr-4": { - "Zend\\EventManager\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-event-manager", - "keywords": [ - "eventmanager", - "zf2" + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } ], - "time": "2014-04-15 13:59:53" + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" }, - { - "name": "zendframework/zend-filter", - "version": "2.3.1", + { + "name": "sebastian/phpcpd", + "version": "3.0.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-filter.git", - "reference": "307fe694659e08ffd710c70e4db8bc60187bcc84" + "url": "https://github.com/sebastianbergmann/phpcpd.git", + "reference": "dfed51c1288790fc957c9433e2f49ab152e8a564" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/307fe694659e08ffd710c70e4db8bc60187bcc84", - "reference": "307fe694659e08ffd710c70e4db8bc60187bcc84", + "url": "https://api.github.com/repos/sebastianbergmann/phpcpd/zipball/dfed51c1288790fc957c9433e2f49ab152e8a564", + "reference": "dfed51c1288790fc957c9433e2f49ab152e8a564", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-crypt": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-uri": "self.version" - }, - "suggest": { - "zendframework/zend-crypt": "Zend\\Crypt component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-uri": "Zend\\Uri component for UriNormalize filter" + "php": "^5.6|^7.0", + "phpunit/php-timer": "^1.0.6", + "sebastian/finder-facade": "^1.1", + "sebastian/version": "^1.0|^2.0", + "symfony/console": "^2.7|^3.0|^4.0" }, + "bin": [ + "phpcpd" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "3.0-dev" } }, "autoload": { - "psr-4": { - "Zend\\Filter\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides a set of commonly needed data filters", - "homepage": "https://github.com/zendframework/zend-filter", - "keywords": [ - "filter", - "zf2" + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } ], - "time": "2014-04-14 19:50:30" + "description": "Copy/Paste Detector (CPD) for PHP code.", + "homepage": "https://github.com/sebastianbergmann/phpcpd", + "time": "2017-11-16T08:49:28+00:00" }, { - "name": "zendframework/zend-form", - "version": "2.3.1", + "name": "sebastian/recursion-context", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-form.git", - "reference": "d7a1f5bc4626b1df990391502a868b28c37ba65d" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-form/zipball/d7a1f5bc4626b1df990391502a868b28c37ba65d", - "reference": "d7a1f5bc4626b1df990391502a868b28c37ba65d", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-inputfilter": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^7.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-captcha": "self.version", - "zendframework/zend-code": "self.version", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-validator": "self.version", - "zendframework/zend-view": "self.version", - "zendframework/zendservice-recaptcha": "*" - }, - "suggest": { - "zendframework/zend-captcha": "Zend\\Captcha component", - "zendframework/zend-code": "Zend\\Code component", - "zendframework/zend-eventmanager": "Zend\\EventManager component", - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-validator": "Zend\\Validator component", - "zendframework/zend-view": "Zend\\View component", - "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Form\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-form", - "keywords": [ - "form", - "zf2" + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } ], - "time": "2014-04-15 14:36:41" + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2017-03-03T06:23:57+00:00" }, { - "name": "zendframework/zend-http", - "version": "2.3.1", + "name": "sebastian/resource-operations", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-http.git", - "reference": "869ce7bdf60727e14d85c305d2948fbe831c3534" + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-http/zipball/869ce7bdf60727e14d85c305d2948fbe831c3534", - "reference": "869ce7bdf60727e14d85c305d2948fbe831c3534", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-loader": "self.version", - "zendframework/zend-stdlib": "self.version", - "zendframework/zend-uri": "self.version", - "zendframework/zend-validator": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "php": ">=5.6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\Http\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", - "homepage": "https://github.com/zendframework/zend-http", - "keywords": [ - "http", - "zf2" + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } ], - "time": "2014-04-15 13:59:53" + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" }, { - "name": "zendframework/zend-inputfilter", - "version": "2.3.1", + "name": "sebastian/version", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-inputfilter.git", - "reference": "abca740015a856d03542f5b6c535b8874f84b622" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-inputfilter/zipball/abca740015a856d03542f5b6c535b8874f84b622", - "reference": "abca740015a856d03542f5b6c535b8874f84b622", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-filter": "self.version", - "zendframework/zend-stdlib": "self.version", - "zendframework/zend-validator": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-servicemanager": "To support plugin manager support" + "php": ">=5.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { - "psr-4": { - "Zend\\InputFilter\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-input-filter", - "keywords": [ - "inputfilter", - "zf2" + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } ], - "time": "2014-04-15 13:59:53" + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" }, { - "name": "zendframework/zend-json", - "version": "2.3.1", + "name": "squizlabs/php_codesniffer", + "version": "3.3.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-json.git", - "reference": "5284687fc3aeab27961d2e17ada08973ae6daafe" + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "628a481780561150481a9ec74709092b9759b3ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-json/zipball/5284687fc3aeab27961d2e17ada08973ae6daafe", - "reference": "5284687fc3aeab27961d2e17ada08973ae6daafe", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/628a481780561150481a9ec74709092b9759b3ec", + "reference": "628a481780561150481a9ec74709092b9759b3ec", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-http": "self.version", - "zendframework/zend-server": "self.version" - }, - "suggest": { - "zendframework/zend-http": "Zend\\Http component", - "zendframework/zend-server": "Zend\\Server component", - "zendframework/zendxml": "To support Zend\\Json\\Json::fromXml() usage" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Json\\": "src/" + "dev-master": "3.x-dev" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP", - "homepage": "https://github.com/zendframework/zend-json", + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "http://www.squizlabs.com/php-codesniffer", "keywords": [ - "json", - "zf2" + "phpcs", + "standards" ], - "time": "2014-04-14 19:50:30" + "time": "2018-07-26T23:47:18+00:00" }, { - "name": "zendframework/zend-loader", - "version": "2.3.1", + "name": "symfony/browser-kit", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-loader.git", - "reference": "5e0bd7e28c644078685f525cf8ae03d9a01ae292" + "url": "https://github.com/symfony/browser-kit.git", + "reference": "61d85c5af2fc058014c7c89504c3944e73a086f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/5e0bd7e28c644078685f525cf8ae03d9a01ae292", - "reference": "5e0bd7e28c644078685f525cf8ae03d9a01ae292", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/61d85c5af2fc058014c7c89504c3944e73a086f0", + "reference": "61d85c5af2fc058014c7c89504c3944e73a086f0", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": "^7.1.3", + "symfony/dom-crawler": "~3.4|~4.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "symfony/css-selector": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "4.2-dev" } }, "autoload": { "psr-4": { - "Zend\\Loader\\": "src/" - } + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-loader", - "keywords": [ - "loader", - "zf2" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "time": "2014-04-14 19:50:30" + "description": "Symfony BrowserKit Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:17:42+00:00" }, { - "name": "zendframework/zend-log", - "version": "2.3.1", + "name": "symfony/config", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-log.git", - "reference": "217611433f5cb56d4420a1db8f164e5db85d815d" + "url": "https://github.com/symfony/config.git", + "reference": "0e745ead307d5dcd4e163e94a47ec04b1428943f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-log/zipball/217611433f5cb56d4420a1db8f164e5db85d815d", - "reference": "217611433f5cb56d4420a1db8f164e5db85d815d", + "url": "https://api.github.com/repos/symfony/config/zipball/0e745ead307d5dcd4e163e94a47ec04b1428943f", + "reference": "0e745ead307d5dcd4e163e94a47ec04b1428943f", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^7.1.3", + "symfony/filesystem": "~3.4|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/finder": "<3.4" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-console": "self.version", - "zendframework/zend-db": "self.version", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-mail": "self.version", - "zendframework/zend-validator": "self.version" + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { - "ext-mongo": "*", - "zendframework/zend-console": "Zend\\Console component", - "zendframework/zend-db": "Zend\\Db component", - "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML formatter", - "zendframework/zend-mail": "Zend\\Mail component", - "zendframework/zend-validator": "Zend\\Validator component" + "symfony/yaml": "To use the yaml reference dumper" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "4.2-dev" } }, "autoload": { "psr-4": { - "Zend\\Log\\": "src/" - } + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "component for general purpose logging", - "homepage": "https://github.com/zendframework/zend-log", - "keywords": [ - "log", - "logging", - "zf2" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "time": "2014-04-15 13:59:53" + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "time": "2019-04-01T14:03:25+00:00" }, { - "name": "zendframework/zend-math", - "version": "2.3.1", + "name": "symfony/contracts", + "version": "v1.0.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-math.git", - "reference": "63225fcebb196fc6e20094f5f01e9354779ec31e" + "url": "https://github.com/symfony/contracts.git", + "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-math/zipball/63225fcebb196fc6e20094f5f01e9354779ec31e", - "reference": "63225fcebb196fc6e20094f5f01e9354779ec31e", + "url": "https://api.github.com/repos/symfony/contracts/zipball/1aa7ab2429c3d594dd70689604b5cf7421254cdf", + "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": "^7.1.3" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "psr/cache": "^1.0", + "psr/container": "^1.0" }, "suggest": { - "ext-bcmath": "If using the bcmath functionality", - "ext-gmp": "If using the gmp functionality", - "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable", - "zendframework/zend-servicemanager": ">= current version, if using the BigInteger::factory functionality" + "psr/cache": "When using the Cache contracts", + "psr/container": "When using the Service contracts", + "symfony/cache-contracts-implementation": "", + "symfony/service-contracts-implementation": "", + "symfony/translation-contracts-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { - "Zend\\Math\\": "src/" - } + "Symfony\\Contracts\\": "" + }, + "exclude-from-classmap": [ + "**/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-math", + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A set of abstractions extracted out of the Symfony components", + "homepage": "https://symfony.com", "keywords": [ - "math", - "zf2" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], - "time": "2014-04-14 19:50:30" + "time": "2018-12-05T08:06:11+00:00" }, { - "name": "zendframework/zend-modulemanager", - "version": "2.3.1", + "name": "symfony/dependency-injection", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-modulemanager.git", - "reference": "d4591b958e40b8f5ae8110d9b203331437aa19f2" + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "1806e43ff6bff57398d33b326cd753a12d9f434f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/d4591b958e40b8f5ae8110d9b203331437aa19f2", - "reference": "d4591b958e40b8f5ae8110d9b203331437aa19f2", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1806e43ff6bff57398d33b326cd753a12d9f434f", + "reference": "1806e43ff6bff57398d33b326cd753a12d9f434f", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^7.1.3", + "psr/container": "^1.0", + "symfony/contracts": "^1.0" + }, + "conflict": { + "symfony/config": "<4.2", + "symfony/finder": "<3.4", + "symfony/proxy-manager-bridge": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "psr/container-implementation": "1.0", + "symfony/service-contracts-implementation": "1.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-config": "self.version", - "zendframework/zend-console": "self.version", - "zendframework/zend-loader": "self.version", - "zendframework/zend-mvc": "self.version", - "zendframework/zend-servicemanager": "self.version" + "symfony/config": "~4.2", + "symfony/expression-language": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { - "zendframework/zend-config": "Zend\\Config component", - "zendframework/zend-console": "Zend\\Console component", - "zendframework/zend-loader": "Zend\\Loader component", - "zendframework/zend-mvc": "Zend\\Mvc component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "4.2-dev" } }, "autoload": { "psr-4": { - "Zend\\ModuleManager\\": "src/" - } + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-module-manager", - "keywords": [ - "modulemanager", - "zf2" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "time": "2014-04-14 19:50:30" + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com", + "time": "2019-03-30T15:58:42+00:00" }, { - "name": "zendframework/zend-mvc", - "version": "2.3.1", + "name": "symfony/dom-crawler", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-mvc.git", - "reference": "ee76ddd009ecb0c507bb8ab396fbe719aea8f1ff" + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "53c97769814c80a84a8403efcf3ae7ae966d53bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-mvc/zipball/ee76ddd009ecb0c507bb8ab396fbe719aea8f1ff", - "reference": "ee76ddd009ecb0c507bb8ab396fbe719aea8f1ff", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/53c97769814c80a84a8403efcf3ae7ae966d53bb", + "reference": "53c97769814c80a84a8403efcf3ae7ae966d53bb", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-form": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-authentication": "self.version", - "zendframework/zend-console": "self.version", - "zendframework/zend-di": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-form": "self.version", - "zendframework/zend-http": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-inputfilter": "self.version", - "zendframework/zend-json": "self.version", - "zendframework/zend-log": "self.version", - "zendframework/zend-modulemanager": "self.version", - "zendframework/zend-serializer": "self.version", - "zendframework/zend-session": "self.version", - "zendframework/zend-text": "self.version", - "zendframework/zend-uri": "self.version", - "zendframework/zend-validator": "self.version", - "zendframework/zend-version": "self.version", - "zendframework/zend-view": "self.version" + "symfony/css-selector": "~3.4|~4.0" }, "suggest": { - "zendframework/zend-authentication": "Zend\\Authentication component for Identity plugin", - "zendframework/zend-config": "Zend\\Config component", - "zendframework/zend-console": "Zend\\Console component", - "zendframework/zend-di": "Zend\\Di component", - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-form": "Zend\\Form component", - "zendframework/zend-http": "Zend\\Http component", - "zendframework/zend-i18n": "Zend\\I18n component for translatable segments", - "zendframework/zend-inputfilter": "Zend\\Inputfilter component", - "zendframework/zend-json": "Zend\\Json component", - "zendframework/zend-log": "Zend\\Log component", - "zendframework/zend-modulemanager": "Zend\\ModuleManager component", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-session": "Zend\\Session component for FlashMessenger, PRG, and FPRG plugins", - "zendframework/zend-stdlib": "Zend\\Stdlib component", - "zendframework/zend-text": "Zend\\Text component", - "zendframework/zend-uri": "Zend\\Uri component", - "zendframework/zend-validator": "Zend\\Validator component", - "zendframework/zend-version": "Zend\\Version component", - "zendframework/zend-view": "Zend\\View component" + "symfony/css-selector": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "4.2-dev" } }, "autoload": { "psr-4": { - "Zend\\Mvc\\": "src/" - } + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-mvc", - "keywords": [ - "mvc", - "zf2" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "time": "2014-04-14 19:50:30" + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:17:42+00:00" }, { - "name": "zendframework/zend-serializer", - "version": "2.3.1", + "name": "symfony/http-foundation", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-serializer.git", - "reference": "22f73b0d0ff1158216bd5bcacf6bd00f7be1a0f6" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "5b7ab6beaa5b053b8d3c9b13367ada9b292e12e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/22f73b0d0ff1158216bd5bcacf6bd00f7be1a0f6", - "reference": "22f73b0d0ff1158216bd5bcacf6bd00f7be1a0f6", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5b7ab6beaa5b053b8d3c9b13367ada9b292e12e1", + "reference": "5b7ab6beaa5b053b8d3c9b13367ada9b292e12e1", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-json": "self.version", - "zendframework/zend-math": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.1" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-servicemanager": "To support plugin manager support" + "predis/predis": "~1.0", + "symfony/expression-language": "~3.4|~4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "4.2-dev" } }, "autoload": { "psr-4": { - "Zend\\Serializer\\": "src/" - } + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "provides an adapter based interface to simply generate storable representation of PHP types by different facilities, and recover", - "homepage": "https://github.com/zendframework/zend-serializer", - "keywords": [ - "serializer", - "zf2" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "time": "2014-04-14 19:50:30" + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2019-03-30T15:58:42+00:00" }, { - "name": "zendframework/zend-server", - "version": "2.3.1", + "name": "symfony/polyfill-php70", + "version": "v1.11.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-server.git", - "reference": "bc5fb97f4ac48a5dc54bd18dded21a3e1eea552c" + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "bc4858fb611bda58719124ca079baff854149c89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-server/zipball/bc5fb97f4ac48a5dc54bd18dded21a3e1eea552c", - "reference": "bc5fb97f4ac48a5dc54bd18dded21a3e1eea552c", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/bc4858fb611bda58719124ca079baff854149c89", + "reference": "bc4858fb611bda58719124ca079baff854149c89", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-code": "self.version", - "zendframework/zend-stdlib": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "paragonie/random_compat": "~1.0|~2.0|~9.99", + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.11-dev" } }, "autoload": { "psr-4": { - "Zend\\Server\\": "src/" - } + "Symfony\\Polyfill\\Php70\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "homepage": "https://github.com/zendframework/zend-server", + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "server", - "zf2" + "compatibility", + "polyfill", + "portable", + "shim" ], - "time": "2014-04-14 19:50:30" + "time": "2019-02-06T07:57:58+00:00" }, { - "name": "zendframework/zend-servicemanager", - "version": "2.3.1", + "name": "symfony/polyfill-php72", + "version": "v1.11.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-servicemanager.git", - "reference": "7a428b595a1fcd4c2a8026ee5d5f89a56036f682" + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "ab50dcf166d5f577978419edd37aa2bb8eabce0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/7a428b595a1fcd4c2a8026ee5d5f89a56036f682", - "reference": "7a428b595a1fcd4c2a8026ee5d5f89a56036f682", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/ab50dcf166d5f577978419edd37aa2bb8eabce0c", + "reference": "ab50dcf166d5f577978419edd37aa2bb8eabce0c", "shasum": "" }, "require": { - "php": ">=5.3.23" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-di": "self.version" - }, - "suggest": { - "zendframework/zend-di": "Zend\\Di component" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.11-dev" } }, "autoload": { "psr-4": { - "Zend\\ServiceManager\\": "src/" - } + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "homepage": "https://github.com/zendframework/zend-service-manager", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "servicemanager", - "zf2" + "compatibility", + "polyfill", + "portable", + "shim" ], - "time": "2014-04-15 13:59:53" + "time": "2019-02-06T07:57:58+00:00" }, { - "name": "zendframework/zend-soap", - "version": "2.3.1", + "name": "symfony/stopwatch", + "version": "v4.2.5", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-soap.git", - "reference": "fab9f5309be04cacf01af54f694aed5102592c5c" + "url": "https://github.com/symfony/stopwatch.git", + "reference": "b1a5f646d56a3290230dbc8edf2a0d62cda23f67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-soap/zipball/fab9f5309be04cacf01af54f694aed5102592c5c", - "reference": "fab9f5309be04cacf01af54f694aed5102592c5c", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b1a5f646d56a3290230dbc8edf2a0d62cda23f67", + "reference": "b1a5f646d56a3290230dbc8edf2a0d62cda23f67", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-server": "self.version", - "zendframework/zend-stdlib": "self.version", - "zendframework/zend-uri": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-http": "self.version" - }, - "suggest": { - "zendframework/zend-http": "Zend\\Http component" + "php": "^7.1.3", + "symfony/contracts": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "4.2-dev" } }, "autoload": { "psr-4": { - "Zend\\Soap\\": "src/" - } + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-soap", - "keywords": [ - "soap", - "zf2" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "time": "2014-04-14 19:50:30" + "description": "Symfony Stopwatch Component", + "homepage": "https://symfony.com", + "time": "2019-01-16T20:31:39+00:00" }, { - "name": "zendframework/zend-stdlib", - "version": "2.3.1", + "name": "symfony/yaml", + "version": "v3.4.24", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-stdlib.git", - "reference": "6079302963d57f36a9ba92ed3f38b992997aa78d" + "url": "https://github.com/symfony/yaml.git", + "reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/6079302963d57f36a9ba92ed3f38b992997aa78d", - "reference": "6079302963d57f36a9ba92ed3f38b992997aa78d", + "url": "https://api.github.com/repos/symfony/yaml/zipball/212a27b731e5bfb735679d1ffaac82bd6a1dc996", + "reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-serializer": "self.version", - "zendframework/zend-servicemanager": "self.version" + "symfony/console": "~3.4|~4.0" }, "suggest": { - "zendframework/zend-eventmanager": "To support aggregate hydrator usage", - "zendframework/zend-filter": "To support naming strategy hydrator usage", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + "symfony/console": "For validating YAML files using the lint command" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { - "Zend\\Stdlib\\": "src/" - } + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-stdlib", - "keywords": [ - "stdlib", - "zf2" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "time": "2014-04-15 13:59:53" + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2019-03-25T07:48:46+00:00" }, { - "name": "zendframework/zend-text", - "version": "2.3.1", + "name": "theseer/fdomdocument", + "version": "1.6.6", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-text.git", - "reference": "e9b3fffcc6241f7cfdb33282ed10979cd8ba9b90" + "url": "https://github.com/theseer/fDOMDocument.git", + "reference": "6e8203e40a32a9c770bcb62fe37e68b948da6dca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-text/zipball/e9b3fffcc6241f7cfdb33282ed10979cd8ba9b90", - "reference": "e9b3fffcc6241f7cfdb33282ed10979cd8ba9b90", + "url": "https://api.github.com/repos/theseer/fDOMDocument/zipball/6e8203e40a32a9c770bcb62fe37e68b948da6dca", + "reference": "6e8203e40a32a9c770bcb62fe37e68b948da6dca", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-stdlib": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "ext-dom": "*", + "lib-libxml": "*", + "php": ">=5.3.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\Text\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-text", - "keywords": [ - "text", - "zf2" + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "lead" + } ], - "time": "2014-04-14 19:50:30" + "description": "The classes contained within this repository extend the standard DOM to use exceptions at all occasions of errors instead of PHP warnings or notices. They also add various custom methods and shortcuts for convenience and to simplify the usage of DOM.", + "homepage": "https://github.com/theseer/fDOMDocument", + "time": "2017-06-30T11:53:12+00:00" }, { - "name": "zendframework/zend-uri", - "version": "2.3.1", + "name": "theseer/tokenizer", + "version": "1.1.2", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-uri.git", - "reference": "0de6ba8c166a235588783ff8e88a19b364630d89" + "url": "https://github.com/theseer/tokenizer.git", + "reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-uri/zipball/0de6ba8c166a235588783ff8e88a19b364630d89", - "reference": "0de6ba8c166a235588783ff8e88a19b364630d89", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/1c42705be2b6c1de5904f8afacef5895cab44bf8", + "reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-validator": "self.version" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" - } - }, "autoload": { - "psr-4": { - "Zend\\Uri\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "a component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", - "homepage": "https://github.com/zendframework/zend-uri", - "keywords": [ - "uri", - "zf2" + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } ], - "time": "2014-04-14 19:50:30" + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2019-04-04T09:56:43+00:00" }, { - "name": "zendframework/zend-validator", - "version": "2.3.1", + "name": "vlucas/phpdotenv", + "version": "v2.6.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-validator.git", - "reference": "a5f97f6c3a27a27b1235f724ad0048715459f013" + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/a5f97f6c3a27a27b1235f724ad0048715459f013", - "reference": "a5f97f6c3a27a27b1235f724ad0048715459f013", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2a7dcf7e3e02dc5e701004e51a6f304b713107d5", + "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-stdlib": "self.version" + "php": ">=5.3.9", + "symfony/polyfill-ctype": "^1.9" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-db": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-math": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-session": "self.version", - "zendframework/zend-uri": "self.version" - }, - "suggest": { - "zendframework/zend-db": "Zend\\Db component", - "zendframework/zend-filter": "Zend\\Filter component, required by the Digits validator", - "zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages as well as to use the various Date validators", - "zendframework/zend-math": "Zend\\Math component", - "zendframework/zend-resources": "Translations of validator messages", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", - "zendframework/zend-session": "Zend\\Session component", - "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators" + "phpunit/phpunit": "^4.8.35 || ^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { "psr-4": { - "Zend\\Validator\\": "src/" + "Dotenv\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides a set of commonly needed validators", - "homepage": "https://github.com/zendframework/zend-validator", + "authors": [ + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "http://www.vancelucas.com" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", "keywords": [ - "validator", - "zf2" + "dotenv", + "env", + "environment" ], - "time": "2014-04-14 19:50:30" + "time": "2019-01-29T11:11:52+00:00" }, { - "name": "zendframework/zend-view", - "version": "2.3.1", + "name": "webmozart/assert", + "version": "1.4.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-view.git", - "reference": "e308d498fa7851f26bd639bfe3ebbfba397c47bc" + "url": "https://github.com/webmozart/assert.git", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-view/zipball/e308d498fa7851f26bd639bfe3ebbfba397c47bc", - "reference": "e308d498fa7851f26bd639bfe3ebbfba397c47bc", + "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-loader": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master", - "zendframework/zend-authentication": "self.version", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-feed": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-http": "self.version", - "zendframework/zend-i18n": "self.version", - "zendframework/zend-json": "self.version", - "zendframework/zend-mvc": "self.version", - "zendframework/zend-navigation": "self.version", - "zendframework/zend-paginator": "self.version", - "zendframework/zend-permissions-acl": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-uri": "self.version" - }, - "suggest": { - "zendframework/zend-authentication": "Zend\\Authentication component", - "zendframework/zend-escaper": "Zend\\Escaper component", - "zendframework/zend-feed": "Zend\\Feed component", - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-http": "Zend\\Http component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-json": "Zend\\Json component", - "zendframework/zend-mvc": "Zend\\Mvc component", - "zendframework/zend-navigation": "Zend\\Navigation component", - "zendframework/zend-paginator": "Zend\\Paginator component", - "zendframework/zend-permissions-acl": "Zend\\Permissions\\Acl component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-uri": "Zend\\Uri component" + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.3-dev" } }, "autoload": { "psr-4": { - "Zend\\View\\": "src/" + "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "provides a system of helpers, output filters, and variable escaping", - "homepage": "https://github.com/zendframework/zend-view", + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", "keywords": [ - "view", - "zf2" + "assert", + "check", + "validate" ], - "time": "2014-04-15 14:36:41" + "time": "2018-12-25T11:19:39+00:00" } ], - "packages-dev": [], "aliases": [], - "minimum-stability": "dev", - "stability-flags": [], + "minimum-stability": "stable", + "stability-flags": { + "phpmd/phpmd": 0 + }, "prefer-stable": false, "prefer-lowest": false, "platform": [], diff --git a/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schemaA.graphqls b/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schemaA.graphqls index 6c832e5f122a..0ebe4caa94a3 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schemaA.graphqls +++ b/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schemaA.graphqls @@ -8,7 +8,6 @@ type Mutation { input FilterTypeInput @doc(description:"Comment for FilterTypeInput") { eq: String @doc(description:"Equal") - finset: [String] from: String gt: String gteq: String diff --git a/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schemaC.graphqls b/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schemaC.graphqls index 92682468c42b..d1d698703551 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schemaC.graphqls +++ b/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schemaC.graphqls @@ -19,7 +19,6 @@ type Attribute @doc(description: "Attribute contains the attribute_type of the s } input FilterTypeInput @doc(description:"Comment for FilterTypeInput") { eq: String @doc(description:"Equal") - finset: [String] from: String gt: String gteq: String diff --git a/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schema_response_sdl_description.php b/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schema_response_sdl_description.php index 0a73b8ed445d..03dbac447449 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schema_response_sdl_description.php +++ b/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schema_response_sdl_description.php @@ -505,20 +505,6 @@ ], 'defaultValue' => null ], - [ - 'name' => 'finset', - 'description' => '', - 'type' => [ - 'kind' => 'LIST', - 'name' => null, - 'ofType' => [ - 'kind' => 'SCALAR', - 'name' => 'String', - 'ofType' => null - ] - ], - 'defaultValue' => null - ], [ 'name' => 'from', 'description' => '', diff --git a/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schema_with_description_sdl.php b/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schema_with_description_sdl.php index 2aeb8f3d1443..969c2cceb0a4 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schema_with_description_sdl.php +++ b/dev/tests/integration/testsuite/Magento/Framework/GraphQl/_files/schema_with_description_sdl.php @@ -505,20 +505,6 @@ ], 'defaultValue' => null ], - [ - 'name' => 'finset', - 'description' => '', - 'type' => [ - 'kind' => 'LIST', - 'name' => null, - 'ofType' => [ - 'kind' => 'SCALAR', - 'name' => 'String', - 'ofType' => null - ] - ], - 'defaultValue' => null - ], [ 'name' => 'from', 'description' => '', diff --git a/dev/tests/integration/testsuite/Magento/GraphQl/Catalog/_files/set_custom_options_simple_product.php b/dev/tests/integration/testsuite/Magento/GraphQl/Catalog/_files/set_custom_options_simple_product.php new file mode 100644 index 000000000000..618ed0e25602 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/GraphQl/Catalog/_files/set_custom_options_simple_product.php @@ -0,0 +1,54 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +use Magento\Catalog\Api\Data\ProductCustomOptionInterface; +use Magento\Catalog\Api\Data\ProductCustomOptionInterfaceFactory; +use Magento\Catalog\Api\ProductRepositoryInterface; +use Magento\TestFramework\Helper\Bootstrap; + +$objectManager = Bootstrap::getObjectManager(); + +$productCustomOptions = []; +$optionsSet = [ + [ + 'title' => 'test_option_code_1', + 'type' => 'field', + 'is_require' => false, + 'sort_order' => 1, + 'price' => -10.0, + 'price_type' => 'fixed', + 'sku' => 'sku1', + 'max_characters' => 100, + ], + [ + 'title' => 'area option', + 'type' => 'area', + 'is_require' => false, + 'sort_order' => 2, + 'price' => 20.0, + 'price_type' => 'percent', + 'sku' => 'sku2', + 'max_characters' => 100 + ] +]; + +/** @var ProductRepositoryInterface $productRepository */ +$productRepository = $objectManager->get(ProductRepositoryInterface::class); +$product = $productRepository->get('simple_product'); +/** @var ProductCustomOptionInterfaceFactory $customOptionFactory */ +$customOptionFactory = $objectManager->get(ProductCustomOptionInterfaceFactory::class); + +foreach ($optionsSet as $option) { + /** @var ProductCustomOptionInterface $customOption */ + $customOption = $customOptionFactory->create(['data' => $option]); + $customOption->setProductSku($product->getSku()); + + $productCustomOptions[] = $customOption; +} + +$product->setOptions($productCustomOptions); +$productRepository->save($product); diff --git a/dev/tests/integration/testsuite/Magento/GraphQl/Quote/_files/add_simple_product_with_options.php b/dev/tests/integration/testsuite/Magento/GraphQl/Quote/_files/add_simple_product_with_options.php new file mode 100644 index 000000000000..ecd1428a5d61 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/GraphQl/Quote/_files/add_simple_product_with_options.php @@ -0,0 +1,53 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +use Magento\Catalog\Api\ProductRepositoryInterface; +use Magento\Catalog\Model\Product\Option as ProductOption; +use Magento\Catalog\Model\Product\OptionFactory; +use Magento\Framework\DataObjectFactory; +use Magento\Quote\Api\CartRepositoryInterface; +use Magento\Quote\Model\QuoteFactory; +use Magento\Quote\Model\ResourceModel\Quote as QuoteResource; +use Magento\TestFramework\Helper\Bootstrap; + +/** @var ProductRepositoryInterface $productRepository */ +$productRepository = Bootstrap::getObjectManager()->get(ProductRepositoryInterface::class); +/** @var QuoteFactory $quoteFactory */ +$quoteFactory = Bootstrap::getObjectManager()->get(QuoteFactory::class); +/** @var QuoteResource $quoteResource */ +$quoteResource = Bootstrap::getObjectManager()->get(QuoteResource::class); +/** @var CartRepositoryInterface $cartRepository */ +$cartRepository = Bootstrap::getObjectManager()->get(CartRepositoryInterface::class); +/** @var OptionFactory $productOptionFactory */ +$productOptionFactory = Bootstrap::getObjectManager()->get(OptionFactory::class); +/** @var DataObjectFactory $dataObjectFactory */ +$dataObjectFactory = Bootstrap::getObjectManager()->get(DataObjectFactory::class); + +/** @var ProductOption $productOption */ +$productOption = $productOptionFactory->create(); +$product = $productRepository->get('simple_product'); +$productOptions = $productOption->getProductOptionCollection($product); +$cartItemCustomOptions = []; + +/** @var ProductOption $productOption */ +foreach ($productOptions as $productOption) { + $cartItemCustomOptions[$productOption->getId()] = 'initial value'; +} + +$request = $dataObjectFactory->create( + [ + 'data' => [ + 'qty' => 1.0, + 'options' => $cartItemCustomOptions, + ], + ] +); + +$quote = $quoteFactory->create(); +$quoteResource->load($quote, 'test_quote', 'reserved_order_id'); +$quote->addProduct($product, $request); +$cartRepository->save($quote); diff --git a/dev/tests/integration/testsuite/Magento/GraphQl/SendFriend/_files/disable_send_friend_guest.php b/dev/tests/integration/testsuite/Magento/GraphQl/SendFriend/_files/disable_send_friend_guest.php new file mode 100644 index 000000000000..80fcc2079a01 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/GraphQl/SendFriend/_files/disable_send_friend_guest.php @@ -0,0 +1,21 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167 +declare(strict_types=1); + +use Magento\Framework\App\Config\Storage\Writer; +use Magento\Framework\App\Config\Storage\WriterInterface; +use Magento\TestFramework\Helper\Bootstrap; +use Magento\Framework\App\Config\ScopeConfigInterface; + +$objectManager = Bootstrap::getObjectManager(); +/** @var Writer $configWriter */ +$configWriter = $objectManager->get(WriterInterface::class); + +$configWriter->save('sendfriend/email/allow_guest', '0'); + +$scopeConfig = $objectManager->get(ScopeConfigInterface::class); +$scopeConfig->clean(); diff --git a/dev/tests/integration/testsuite/Magento/GraphQl/SendFriend/_files/enable_send_friend_guest.php b/dev/tests/integration/testsuite/Magento/GraphQl/SendFriend/_files/enable_send_friend_guest.php new file mode 100644 index 000000000000..aaf9a447aeaa --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/GraphQl/SendFriend/_files/enable_send_friend_guest.php @@ -0,0 +1,21 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167 +declare(strict_types=1); + +use Magento\Framework\App\Config\Storage\Writer; +use Magento\Framework\App\Config\Storage\WriterInterface; +use Magento\TestFramework\Helper\Bootstrap; +use Magento\Framework\App\Config\ScopeConfigInterface; + +$objectManager = Bootstrap::getObjectManager(); +/** @var Writer $configWriter */ +$configWriter = $objectManager->get(WriterInterface::class); + +$configWriter->save('sendfriend/email/allow_guest', '1'); + +$scopeConfig = $objectManager->get(ScopeConfigInterface::class); +$scopeConfig->clean(); diff --git a/dev/tests/integration/testsuite/Magento/MediaStorage/Console/Command/ImageResizeCommandTest.php b/dev/tests/integration/testsuite/Magento/MediaStorage/Console/Command/ImageResizeCommandTest.php new file mode 100644 index 000000000000..2cdfb5e7e4e6 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/MediaStorage/Console/Command/ImageResizeCommandTest.php @@ -0,0 +1,107 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\MediaStorage\Console\Command; + +use Magento\Catalog\Model\Product\Gallery\Processor; +use Magento\Catalog\Model\ProductRepository; +use Magento\Framework\App\Filesystem\DirectoryList; +use Magento\Framework\Filesystem; +use Magento\Framework\Filesystem\Directory\WriteInterface; +use Magento\Framework\ObjectManagerInterface; +use Magento\TestFramework\Helper\Bootstrap; +use Symfony\Component\Console\Tester\CommandTester; + +/** + * Test for \Magento\MediaStorage\Console\Command\ImagesResizeCommand. + * + */ +class ImageResizeCommandTest extends \PHPUnit\Framework\TestCase +{ + /** + * @var CommandTester + */ + private $tester; + + /** + * @var ImagesResizeCommand + */ + private $command; + + /** + * @var ObjectManagerInterface + */ + private $objectManager; + + /** + * @var WriteInterface + */ + private $mediaDirectory; + + /** + * @var Filesystem + */ + private $filesystem; + + /** + * @var string + */ + private $fileName; + + /** + * @inheritdoc + */ + public function setUp() + { + $this->fileName = 'image.jpg'; + $this->objectManager = Bootstrap::getObjectManager(); + $this->command = $this->objectManager->get(ImagesResizeCommand::class); + $this->tester = new CommandTester($this->command); + $this->filesystem = $this->objectManager->get(Filesystem::class); + $this->mediaDirectory = $this->filesystem->getDirectoryWrite(DirectoryList::MEDIA); + } + + /** + * Test command with zero byte file + * + * @magentoDataFixture Magento/Catalog/_files/product_simple.php + * @magentoDataFixture Magento/Catalog/_files/product_image.php + * + * @return void + */ + public function testExecuteWithZeroByteImage() + { + $this->mediaDirectory->writeFile($this->fileName, ''); + + /** @var ProductRepository $productRepository */ + $productRepository = $this->objectManager->create(ProductRepository::class); + $product = $productRepository->getById(1); + + /** @var Processor $mediaGalleryProcessor */ + $mediaGalleryProcessor = $this->objectManager->get(Processor::class); + $mediaGalleryProcessor->addImage( + $product, + $this->mediaDirectory->getAbsolutePath($this->fileName), + ['image','thumbnail','small_image'], + false, + false + ); + + $product->save(); + + $this->tester->execute([]); + $this->assertContains('Wrong file', $this->tester->getDisplay()); + } + + /** + * @inheritDoc + */ + public function tearDown() + { + $this->mediaDirectory->getDriver()->deleteFile($this->mediaDirectory->getAbsolutePath($this->fileName)); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Review/Controller/Adminhtml/Product/EditTest.php b/dev/tests/integration/testsuite/Magento/Review/Controller/Adminhtml/Product/EditTest.php new file mode 100644 index 000000000000..ad39928f9f33 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Review/Controller/Adminhtml/Product/EditTest.php @@ -0,0 +1,91 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Review\Controller\Adminhtml\Product; + +use Magento\Review\Model\Review; +use Magento\TestFramework\TestCase\AbstractBackendController; +use Magento\Framework\Acl\Builder; +use Magento\TestFramework\Helper\Bootstrap; +use Magento\Framework\UrlInterface; +use Magento\Review\Model\ResourceModel\Review\CollectionFactory; + +/** + * Test Edit action. + * + * @magentoAppArea adminhtml + */ +class EditTest extends AbstractBackendController +{ + /** + * @var \Magento\Framework\ObjectManagerInterface + */ + private $objectManager; + + /** + * @var Builder + */ + private $aclBuilder; + + /** + * @var UrlInterface + */ + private $urlBuilder; + + /** + * @var CollectionFactory + */ + private $collectionFactory; + + /** + * @inheritdoc + */ + protected function setUp() + { + parent::setUp(); + + $this->objectManager = Bootstrap::getObjectManager(); + $this->aclBuilder = $this->objectManager->get(Builder::class); + $this->urlBuilder = $this->objectManager->get(UrlInterface::class); + $this->collectionFactory = $this->objectManager->get(CollectionFactory::class); + $this->aclBuilder->resetRuntimeAcl(); + } + + /** + * Tests Edit action without reviews_all resource when manipulating Pending review. + * + * @return void + * @magentoDataFixture Magento/Review/_files/reviews.php + */ + public function testAclHasAccess(): void + { + $collection = $this->collectionFactory->create(); + $collection->addFilter('detail.nickname', 'Nickname'); + /** @var Review $review */ + $review = $collection->getItemByColumnValue('status_id', Review::STATUS_PENDING); + + // Exclude resource from ACL. + $this->aclBuilder->getAcl()->deny(null, 'Magento_Review::reviews_all'); + $this->uri = 'backend/review/product/edit/id/' . $review->getId(); + + parent::testAclHasAccess(); + } + + /** + * Tests Edit action without pending and reviews_all resources. + * + * @return void + */ + public function testAclNoAccess(): void + { + // Exclude resource from ACL. + $this->resource = ['Magento_Review::reviews_all', 'Magento_Review::pending']; + $this->uri = 'backend/review/product/edit/id/' . 'doesn\'t matter'; + + parent::testAclNoAccess(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Review/Controller/Adminhtml/Product/MassUpdateTest.php b/dev/tests/integration/testsuite/Magento/Review/Controller/Adminhtml/Product/MassUpdateTest.php new file mode 100644 index 000000000000..d6664d1fbb7a --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Review/Controller/Adminhtml/Product/MassUpdateTest.php @@ -0,0 +1,93 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\Review\Controller\Adminhtml\Product; + +use Magento\Review\Model\Review; +use Magento\TestFramework\TestCase\AbstractBackendController; +use Magento\Framework\Acl\Builder; +use Magento\TestFramework\Helper\Bootstrap; +use Magento\Framework\UrlInterface; +use Magento\Review\Model\ResourceModel\Review\CollectionFactory; +use Zend\Http\Request; + +/** + * Test Mass Update action. + * + * @magentoAppArea adminhtml + */ +class MassUpdateTest extends AbstractBackendController +{ + /** + * @var \Magento\Framework\ObjectManagerInterface + */ + private $objectManager; + + /** + * @var Builder + */ + private $aclBuilder; + + /** + * @var UrlInterface + */ + private $urlBuilder; + + /** + * @var CollectionFactory + */ + private $collectionFactory; + + /** + * @inheritdoc + */ + protected function setUp() + { + parent::setUp(); + + $this->objectManager = Bootstrap::getObjectManager(); + $this->aclBuilder = $this->objectManager->get(Builder::class); + $this->urlBuilder = $this->objectManager->get(UrlInterface::class); + $this->collectionFactory = $this->objectManager->get(CollectionFactory::class); + $this->aclBuilder->resetRuntimeAcl(); + $this->httpMethod = Request::METHOD_POST; + $this->uri = 'backend/review/product/massUpdateStatus'; + } + + /** + * Tests Mass Update action without reviews_all resource when manipulating Pending reviews. + * + * @return void + * @magentoDataFixture Magento/Review/_files/reviews.php + */ + public function testAclHasAccess(): void + { + $collection = $this->collectionFactory->create(); + $collection->addFilter('detail.nickname', 'Nickname'); + /** @var Review $review */ + $review = $collection->getItemByColumnValue('status_id', Review::STATUS_PENDING); + + // Exclude resource from ACL. + $this->aclBuilder->getAcl()->deny(null, 'Magento_Review::reviews_all'); + $this->getRequest()->setPostValue(['reviews' => $review->getId()]); + + parent::testAclHasAccess(); + } + + /** + * Tests Mass Update action without pending and reviews_all resources. + * + * @return void + */ + public function testAclNoAccess(): void + { + // Exclude resource from ACL. + $this->resource = ['Magento_Review::reviews_all', 'Magento_Review::pending']; + + parent::testAclNoAccess(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Search/Model/SynonymReaderTest.php b/dev/tests/integration/testsuite/Magento/Search/Model/SynonymReaderTest.php index 2d0020ba2268..90540a1d637d 100644 --- a/dev/tests/integration/testsuite/Magento/Search/Model/SynonymReaderTest.php +++ b/dev/tests/integration/testsuite/Magento/Search/Model/SynonymReaderTest.php @@ -25,7 +25,7 @@ protected function setUp() /** * @return array */ - public static function loadByPhraseDataProvider() + public function loadByPhraseDataProvider(): array { return [ [ @@ -64,6 +64,15 @@ public static function loadByPhraseDataProvider() [ 'query_value+@', [] ], + [ + '<', [] + ], + [ + '>', [] + ], + [ + '<english>', [['synonyms' => 'british,english', 'store_id' => 1, 'website_id' => 0]] + ], ]; } @@ -72,7 +81,7 @@ public static function loadByPhraseDataProvider() * @param array $expectedResult * @dataProvider loadByPhraseDataProvider */ - public function testLoadByPhrase($phrase, $expectedResult) + public function testLoadByPhrase(string $phrase, array $expectedResult) { $data = $this->model->loadByPhrase($phrase)->getData(); diff --git a/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/expandable.test.js b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/expandable.test.js index 1c3b51919f5f..b8b6dce52c05 100644 --- a/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/expandable.test.js +++ b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/expandable.test.js @@ -69,5 +69,22 @@ define([ expect(expandable.getLabel).toHaveBeenCalled(); }); }); + + describe('getLabelsArray method', function () { + it('check if label array sort alphabetically case insensitive', function () { + record['shared_catalog'].push(1, 2, 3); + expandable.options.push({ + label: 'Default', + value: '1' + }, { + label: 'Label', + value: '2' + }, { + label: 'default', + value: '3' + }); + expect(expandable.getLabelsArray(record)).toEqual(['Default', 'default', 'Label']); + }); + }); }); }); diff --git a/dev/tests/static/framework/Magento/TestFramework/Dependency/PhpRule.php b/dev/tests/static/framework/Magento/TestFramework/Dependency/PhpRule.php index 800bba2a880b..495879541268 100644 --- a/dev/tests/static/framework/Magento/TestFramework/Dependency/PhpRule.php +++ b/dev/tests/static/framework/Magento/TestFramework/Dependency/PhpRule.php @@ -5,10 +5,19 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ +declare(strict_types=1); + namespace Magento\TestFramework\Dependency; use Magento\Framework\App\Utility\Files; +use Magento\Framework\Exception\LocalizedException; +use Magento\Framework\UrlInterface; +use Magento\TestFramework\Dependency\Route\RouteMapper; +use Magento\TestFramework\Exception\NoSuchActionException; +/** + * Rule to check the dependencies between modules based on references, getUrl and layout blocks + */ class PhpRule implements RuleInterface { /** @@ -34,7 +43,7 @@ class PhpRule implements RuleInterface * * @var array */ - protected $_mapRouters = []; + private $_mapRouters = []; /** * List of layout blocks @@ -59,18 +68,36 @@ class PhpRule implements RuleInterface ]; /** - * Constructor + * @var RouteMapper + */ + private $routeMapper; + + /** + * Whitelists for dependency check * + * @var array + */ + private $whitelists; + + /** * @param array $mapRouters * @param array $mapLayoutBlocks * @param array $pluginMap + * @param array $whitelists + * @throws \Exception */ - public function __construct(array $mapRouters, array $mapLayoutBlocks, array $pluginMap = []) - { + public function __construct( + array $mapRouters, + array $mapLayoutBlocks, + array $pluginMap = [], + array $whitelists = [] + ) { $this->_mapRouters = $mapRouters; $this->_mapLayoutBlocks = $mapLayoutBlocks; $this->_namespaces = implode('|', \Magento\Framework\App\Utility\Files::init()->getNamespaces()); $this->pluginMap = $pluginMap ?: null; + $this->routeMapper = new RouteMapper(); + $this->whitelists = $whitelists; } /** @@ -81,6 +108,7 @@ public function __construct(array $mapRouters, array $mapLayoutBlocks, array $pl * @param string $file * @param string $contents * @return array + * @throws \Exception */ public function getDependencyInfo($currentModule, $fileType, $file, &$contents) { @@ -104,6 +132,16 @@ public function getDependencyInfo($currentModule, $fileType, $file, &$contents) return $dependenciesInfo; } + /** + * Get routes whitelist + * + * @return array + */ + private function getRoutesWhitelist(): array + { + return $this->whitelists['routes'] ?? []; + } + /** * Check references to classes and identifiers defined in other modules * @@ -111,6 +149,7 @@ public function getDependencyInfo($currentModule, $fileType, $file, &$contents) * @param string $file * @param string $contents * @return array + * @throws \Exception */ private function caseClassesAndIdentifiers($currentModule, $file, &$contents) { @@ -169,6 +208,8 @@ private function getClassFromFilepath($filepath, $module) } /** + * Load DI configuration files + * * @return array * @throws \Exception */ @@ -184,12 +225,14 @@ private function loadDiFiles() * Generate an array of plugin info * * @return array + * @throws \Exception */ private function loadPluginMap() { if (!$this->pluginMap) { foreach ($this->loadDiFiles() as $filepath) { $dom = new \DOMDocument(); + // phpcs:ignore Magento2.Functions.DiscouragedFunction $dom->loadXML(file_get_contents($filepath)); $typeNodes = $dom->getElementsByTagName('type'); /** @var \DOMElement $type */ @@ -214,6 +257,7 @@ private function loadPluginMap() * @param string $dependent * @param string $dependency * @return bool + * @throws \Exception */ private function isPluginDependency($dependent, $dependency) { @@ -236,47 +280,59 @@ private function isPluginDependency($dependent, $dependency) * * Ex.: getUrl('{path}') * - * @param $currentModule - * @param $contents + * @param string $currentModule + * @param string $contents * @return array + * @throws LocalizedException + * @throws \Exception */ - protected function _caseGetUrl($currentModule, &$contents) + protected function _caseGetUrl(string $currentModule, string &$contents): array { - $pattern = '/[\->:]+(?<source>getUrl\([\'"](?<router>[\w\/*]+)[\'"])/'; + $pattern = '#(\->|:)(?<source>getUrl\(([\'"])(?<route_id>[a-z0-9\-_]{3,})' + .'(/(?<controller_name>[a-z0-9\-_]+))?(/(?<action_name>[a-z0-9\-_]+))?\3)#i'; $dependencies = []; if (!preg_match_all($pattern, $contents, $matches, PREG_SET_ORDER)) { return $dependencies; } - foreach ($matches as $item) { - $router = str_replace('/', '\\', $item['router']); - if (isset($this->_mapRouters[$router])) { - $modules = $this->_mapRouters[$router]; + try { + foreach ($matches as $item) { + $modules = $this->routeMapper->getDependencyByRoutePath( + $item['route_id'], + $item['controller_name'] ?? UrlInterface::DEFAULT_CONTROLLER_NAME, + $item['action_name'] ?? UrlInterface::DEFAULT_ACTION_NAME + ); if (!in_array($currentModule, $modules)) { - foreach ($modules as $module) { - $dependencies[] = [ - 'module' => $module, - 'type' => RuleInterface::TYPE_HARD, - 'source' => $item['source'], - ]; + if (count($modules) === 1) { + $modules = reset($modules); } + $dependencies[] = [ + 'module' => $modules, + 'type' => RuleInterface::TYPE_HARD, + 'source' => $item['source'], + ]; } } + } catch (NoSuchActionException $e) { + if (array_search($e->getMessage(), $this->getRoutesWhitelist()) === false) { + throw new LocalizedException(__('Invalid URL path: %1', $e->getMessage()), $e); + } } + return $dependencies; } /** * Check layout blocks * - * @param $currentModule - * @param $fileType - * @param $file - * @param $contents + * @param string $currentModule + * @param string $fileType + * @param string $file + * @param string $contents * @return array */ - protected function _caseLayoutBlock($currentModule, $fileType, $file, &$contents) + protected function _caseLayoutBlock(string $currentModule, string $fileType, string $file, string &$contents): array { $pattern = '/[\->:]+(?<source>(?:getBlock|getBlockHtml)\([\'"](?<block>[\w\.\-]+)[\'"]\))/'; @@ -306,11 +362,11 @@ protected function _caseLayoutBlock($currentModule, $fileType, $file, &$contents /** * Get area from file path * - * @param $file - * @param $fileType + * @param string $file + * @param string $fileType * @return string|null */ - protected function _getAreaByFile($file, $fileType) + protected function _getAreaByFile(string $file, string $fileType): ?string { if ($fileType == 'php') { return null; @@ -330,12 +386,12 @@ protected function _getAreaByFile($file, $fileType) * 'source' // source text * ) * - * @param $currentModule - * @param $area - * @param $block + * @param string $currentModule + * @param string|null $area + * @param string $block * @return array */ - protected function _checkDependencyLayoutBlock($currentModule, $area, $block) + protected function _checkDependencyLayoutBlock(string $currentModule, ?string $area, string $block): array { if (isset($this->_mapLayoutBlocks[$area][$block]) || $area === null) { // CASE 1: No dependencies @@ -396,6 +452,8 @@ protected function _getUniqueDependencies($dependencies = []) } /** + * Merge dependencies + * * @param array $known * @param array $new * @return array diff --git a/dev/tests/static/framework/Magento/TestFramework/Dependency/Route/RouteMapper.php b/dev/tests/static/framework/Magento/TestFramework/Dependency/Route/RouteMapper.php new file mode 100644 index 000000000000..a3e5b6927e72 --- /dev/null +++ b/dev/tests/static/framework/Magento/TestFramework/Dependency/Route/RouteMapper.php @@ -0,0 +1,334 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\TestFramework\Dependency\Route; + +use Magento\Framework\App\Area; +use Magento\Framework\App\Utility\Files; +use Magento\TestFramework\Exception\NoSuchActionException; + +/** + * Route mapper based on routes.xml declarations + */ +class RouteMapper +{ + /** + * List of routers + * + * Format: array( + * '{Router_Id}' => '{Route_Id}' => ['{Module_Name}'] + * ) + * + * @var array + */ + private $routers = []; + + /** + * List of routes.xml files by modules + * + * Format: array( + * '{Module_Name}' => ['{Filename}'] + * ) + * + * @var array + */ + private $routeConfigFiles = []; + + /** + * List of controllers actions + * + * Format: array( + * '{Router_Id}' => '{Route_Id}' => '{Controller_Name}' => '{Action_Name}' => [{'Module_Name'}] + * ) + * + * @var array + */ + private $actions = []; + + /** + * List of reserved words + * + * @see \Magento\Framework\App\Router\ActionList + * @var array + */ + private $reservedWords = [ + 'abstract' => 1, + 'and' => 1, + 'array' => 1, + 'as' => 1, + 'break' => 1, + 'callable' => 1, + 'case' => 1, + 'catch' => 1, + 'class' => 1, + 'clone' => 1, + 'const' => 1, + 'continue' => 1, + 'declare' => 1, + 'default' => 1, + 'die' => 1, + 'do' => 1, + 'echo' => 1, + 'else' => 1, + 'elseif' => 1, + 'empty' => 1, + 'enddeclare' => 1, + 'endfor' => 1, + 'endforeach' => 1, + 'endif' => 1, + 'endswitch' => 1, + 'endwhile' => 1, + 'eval' => 1, + 'exit' => 1, + 'extends' => 1, + 'final' => 1, + 'for' => 1, + 'foreach' => 1, + 'function' => 1, + 'global' => 1, + 'goto' => 1, + 'if' => 1, + 'implements' => 1, + 'include' => 1, + 'instanceof' => 1, + 'insteadof' => 1, + 'interface' => 1, + 'isset' => 1, + 'list' => 1, + 'namespace' => 1, + 'new' => 1, + 'or' => 1, + 'print' => 1, + 'private' => 1, + 'protected' => 1, + 'public' => 1, + 'require' => 1, + 'return' => 1, + 'static' => 1, + 'switch' => 1, + 'throw' => 1, + 'trait' => 1, + 'try' => 1, + 'unset' => 1, + 'use' => 1, + 'var' => 1, + 'while' => 1, + 'xor' => 1, + 'void' => 1, + ]; + + /** + * Provide routing declaration by router_id + * + * @param string $routerId + * @return array + * @throws \Exception + */ + public function getRoutes(string $routerId = ''): array + { + $routes = []; + if (!$routerId) { + foreach ($this->getRoutersMap() as $routesByRouterType) { + $routes = array_merge_recursive($routes, $routesByRouterType); + } + array_walk( + $routes, + function (&$modules) { + $modules = array_unique($modules); + } + ); + } else { + $routes = $this->getRoutersMap()[$routerId] ?? []; + } + return $routes; + } + + /** + * Provide dependencies for a specific URL path + * + * @param string $routeId + * @param string $controllerName + * @param string $actionName + * @return array + * @throws NoSuchActionException + * @throws \Exception + */ + public function getDependencyByRoutePath( + string $routeId, + string $controllerName, + string $actionName + ): array { + $routeId = strtolower($routeId); + $controllerName = strtolower($controllerName); + $actionName = strtolower($actionName); + + if (isset($this->reservedWords[$actionName])) { + $actionName .= 'action'; + } + + $dependencies = []; + foreach ($this->getRouterTypes() as $routerId) { + if (isset($this->getActionsMap()[$routerId][$routeId][$controllerName][$actionName])) { + $dependencies = array_merge( + $dependencies, + $this->getActionsMap()[$routerId][$routeId][$controllerName][$actionName] + ); + } + } + + if (empty($dependencies)) { + throw new NoSuchActionException(implode('/', [$routeId, $controllerName, $actionName])); + } else { + $dependencies = array_unique($dependencies); + } + return $dependencies; + } + + /** + * Provide a list of router type + * + * @return array + * @throws \Exception + */ + private function getRouterTypes() + { + return array_keys($this->getActionsMap()); + } + + /** + * Provide routing declaration + * + * @return array + * @throws \Exception + */ + private function getRoutersMap() + { + if (empty($this->routers)) { + foreach ($this->getListRoutesXml() as $module => $configFiles) { + foreach ($configFiles as $configFile) { + $this->processConfigFile($module, $configFile); + } + } + } + + return $this->routers; + } + + /** + * Update routers map for the module basing on the routing config file + * + * @param string $module + * @param string $configFile + * + * @return void + */ + private function processConfigFile(string $module, string $configFile) + { + // Read module's routes.xml file + $config = simplexml_load_file($configFile); + + $routers = $config->xpath("/config/router"); + foreach ($routers as $router) { + $routerId = (string)$router['id']; + foreach ($router->xpath('route') as $route) { + $routeId = (string)$route['id']; + if (!isset($this->routers[$routerId][$routeId])) { + $this->routers[$routerId][$routeId] = []; + } + if (!in_array($module, $this->routers[$routerId][$routeId])) { + $this->routers[$routerId][$routeId][] = $module; + } + } + } + } + + /** + * Prepare the list of routes.xml files (by modules) + * + * @throws \Exception + */ + private function getListRoutesXml() + { + if (empty($this->routeConfigFiles)) { + $files = Files::init()->getConfigFiles('*/routes.xml', [], false); + $pattern = '/(?<namespace>[A-Z][a-z]+)[_\/\\\\](?<module>[A-Z][a-zA-Z]+)/'; + foreach ($files as $file) { + if (preg_match($pattern, $file, $matches)) { + $module = $matches['namespace'] . '\\' . $matches['module']; + $this->routeConfigFiles[$module][] = $file; + } + } + } + return $this->routeConfigFiles; + } + + /** + * Provide a list of available actions + * + * @return array + * @throws \Exception + */ + private function getActionsMap(): array + { + if (empty($this->actions)) { + $files = Files::init()->getPhpFiles(Files::INCLUDE_APP_CODE); + $actionsMap = []; + foreach ($this->getRoutersMap() as $routerId => $routes) { + foreach ($routes as $routeId => $dependencies) { + $actionsMapPerArea[$routeId] = []; + foreach ($dependencies as $module) { + $moduleActions = $this->getModuleActionsMapping($module, $routerId, $files); + $actionsMapPerArea[$routeId] = + array_merge_recursive($actionsMapPerArea[$routeId], $moduleActions); + } + } + $actionsMap[$routerId] = $actionsMapPerArea; + } + $this->actions = $actionsMap; + } + + return $this->actions; + } + + /** + * Provide a list of available module actions by router_id + * + * @param string $module + * @param string $routerId + * @param array $files + * @return array + */ + private function getModuleActionsMapping(string $module, string $routerId, array $files): array + { + $subdirectoryPattern = str_replace('\\', DIRECTORY_SEPARATOR, $module); + $subdirectoryPattern .= DIRECTORY_SEPARATOR . 'Controller/'; + if (array_search($routerId, [Area::AREA_ADMINHTML, Area::AREA_ADMIN], true) !== false) { + $subdirectoryPattern .= ucfirst(Area::AREA_ADMINHTML) . DIRECTORY_SEPARATOR; + } else { + $subdirectoryPattern .= '(?!' . ucfirst(Area::AREA_ADMINHTML) . ')'; + } + + $actions = preg_grep('~' . $subdirectoryPattern . '~', $files); + + $actionsPattern = '#' . $subdirectoryPattern . '(?<controller>\S+)/' + . '(?<action_name>\w+)\.php$#'; + + $moduleActionsMapping = []; + foreach ($actions as $action) { + if (preg_match($actionsPattern, $action, $matches)) { + $controllerName = strtolower(str_replace('/', '_', $matches['controller'])); + $actionName = strtolower($matches['action_name']); + if (!isset($moduleActionsMapping[$controllerName][$actionName])) { + $moduleActionsMapping[$controllerName][$actionName] = []; + } + $moduleActionsMapping[$controllerName][$actionName][] = $module; + } + } + + return $moduleActionsMapping; + } +} diff --git a/dev/tests/static/framework/Magento/TestFramework/Exception/NoSuchActionException.php b/dev/tests/static/framework/Magento/TestFramework/Exception/NoSuchActionException.php new file mode 100644 index 000000000000..5ce432f8a183 --- /dev/null +++ b/dev/tests/static/framework/Magento/TestFramework/Exception/NoSuchActionException.php @@ -0,0 +1,16 @@ +<?php + +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +declare(strict_types=1); + +namespace Magento\TestFramework\Exception; + +/** + * An exception is thrown if such a controller action does not exist + */ +class NoSuchActionException extends \Exception +{ +} diff --git a/dev/tests/static/framework/tests/unit/testsuite/Magento/TestFramework/Dependency/PhpRuleTest.php b/dev/tests/static/framework/tests/unit/testsuite/Magento/TestFramework/Dependency/PhpRuleTest.php index 8fb883f79bfa..a636aa81800d 100644 --- a/dev/tests/static/framework/tests/unit/testsuite/Magento/TestFramework/Dependency/PhpRuleTest.php +++ b/dev/tests/static/framework/tests/unit/testsuite/Magento/TestFramework/Dependency/PhpRuleTest.php @@ -5,6 +5,13 @@ */ namespace Magento\TestFramework\Dependency; +use Magento\Framework\Exception\LocalizedException; +use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper; +use Magento\TestFramework\Exception\NoSuchActionException; + +/** + * Test for PhpRule dependency check + */ class PhpRuleTest extends \PHPUnit\Framework\TestCase { /** @@ -12,6 +19,15 @@ class PhpRuleTest extends \PHPUnit\Framework\TestCase */ protected $model; + /** + * @var ObjectManagerHelper + */ + private $objectManagerHelper; + + /** + * @inheritDoc + * @throws \Exception + */ protected function setUp() { $mapRoutes = ['someModule' => ['Magento\SomeModule'], 'anotherModule' => ['Magento\OneModule']]; @@ -20,9 +36,23 @@ protected function setUp() 'Magento\Module1\Plugin1' => 'Magento\Module1\Subject', 'Magento\Module1\Plugin2' => 'Magento\Module2\Subject', ]; - $this->model = new PhpRule($mapRoutes, $mapLayoutBlocks, $pluginMap); + $whitelist = []; + + $this->objectManagerHelper = new ObjectManagerHelper($this); + $this->model = $this->objectManagerHelper->getObject( + PhpRule::class, + [ + 'mapRouters' => $mapRoutes, + 'mapLayoutBlocks' => $mapLayoutBlocks, + 'pluginMap' => $pluginMap, + 'whitelists' => $whitelist, + ] + ); } + /** + * @throws \Exception + */ public function testNonPhpGetDependencyInfo() { $content = 'any content'; @@ -34,6 +64,7 @@ public function testNonPhpGetDependencyInfo() * @param string $content * @param array $expected * @dataProvider getDependencyInfoDataProvider + * @throws \Exception */ public function testGetDependencyInfo($class, $content, array $expected) { @@ -96,22 +127,6 @@ public function getDependencyInfoDataProvider() ] ] ], - 'getUrl from same module' => [ - 'Magento\SomeModule\SomeClass', - '$this->getUrl("someModule")', - [] - ], - 'getUrl from another module' => [ - 'Magento\SomeModule\SomeClass', - '$this->getUrl("anotherModule")', - [ - [ - 'module' => 'Magento\OneModule', - 'type' => \Magento\TestFramework\Dependency\RuleInterface::TYPE_HARD, - 'source' => 'getUrl("anotherModule"', - ] - ] - ], 'getBlock from same module' => [ 'Magento\SomeModule\SomeClass', '$this->getLayout()->getBlock(\'block.name\');', [] @@ -173,11 +188,88 @@ public function getDependencyInfoDataProvider() ]; } + /** + * @param string $class + * @param string $content + * @param array $expected + * @throws \Exception + * @dataProvider getDependencyInfoDataCaseGetUrlDataProvider + */ + public function testGetDependencyInfoCaseGetUrl( + string $class, + string $content, + array $expected + ) { + $file = $this->makeMockFilepath($class); + $module = $this->getModuleFromClass($class); + + $this->assertEquals($expected, $this->model->getDependencyInfo($module, 'php', $file, $content)); + } + + /** + * @return array + */ + public function getDependencyInfoDataCaseGetUrlDataProvider() + { + return [ + 'getUrl from same module' => [ + 'Magento\Cms\SomeClass', + '$this->getUrl("cms/index/index")', + [] + ], + 'getUrl from another module' => [ + 'Magento\SomeModule\SomeClass', + '$this->getUrl("cms/index/index")', + [ + [ + 'module' => 'Magento\Cms', + 'type' => \Magento\TestFramework\Dependency\RuleInterface::TYPE_HARD, + 'source' => 'getUrl("cms/index/index"', + ] + ] + ], + ]; + } + + /** + * @param string $class + * @param string $content + * @param \Exception $expected + * @throws \Exception + * @dataProvider getDependencyInfoDataCaseGetUrlExceptionDataProvider + */ + public function testGetDependencyInfoCaseGetUrlException( + string $class, + string $content, + \Exception $expected + ) { + $file = $this->makeMockFilepath($class); + $module = $this->getModuleFromClass($class); + $this->expectExceptionObject($expected); + + $this->model->getDependencyInfo($module, 'php', $file, $content); + } + + /** + * @return array + */ + public function getDependencyInfoDataCaseGetUrlExceptionDataProvider() + { + return [ + 'getUrl from same module' => [ + 'Magento\SomeModule\SomeClass', + '$this->getUrl("someModule")', + new LocalizedException(__('Invalid URL path: %1', 'somemodule/index/index')), + ], + ]; + } + /** * @param string $module * @param string $content * @param array $expected * @dataProvider getDefaultModelDependencyDataProvider + * @throws \Exception */ public function testGetDefaultModelDependency($module, $content, array $expected) { @@ -192,6 +284,9 @@ public function testGetDefaultModelDependency($module, $content, array $expected $this->assertEquals($expected, $this->model->getDependencyInfo($module, 'template', 'any', $content)); } + /** + * @return array + */ public function getDefaultModelDependencyDataProvider() { return [ diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/DependencyTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/DependencyTest.php index 9c0380260293..16ba295588b5 100644 --- a/dev/tests/static/testsuite/Magento/Test/Integrity/DependencyTest.php +++ b/dev/tests/static/testsuite/Magento/Test/Integrity/DependencyTest.php @@ -10,6 +10,7 @@ use Magento\Framework\App\Utility\Files; use Magento\Framework\Component\ComponentRegistrar; +use Magento\Framework\Exception\LocalizedException; use Magento\Test\Integrity\Dependency\DeclarativeSchemaDependencyProvider; use Magento\TestFramework\Dependency\DbRule; use Magento\TestFramework\Dependency\DiRule; @@ -17,6 +18,7 @@ use Magento\TestFramework\Dependency\PhpRule; use Magento\TestFramework\Dependency\ReportsConfigRule; use Magento\TestFramework\Dependency\AnalyticsConfigRule; +use Magento\TestFramework\Dependency\Route\RouteMapper; use Magento\TestFramework\Dependency\VirtualType\VirtualTypeMapper; /** @@ -66,17 +68,6 @@ class DependencyTest extends \PHPUnit\Framework\TestCase */ protected static $_listConfigXml = []; - /** - * List of routes.xml files by modules - * - * Format: array( - * '{Module_Name}' => '{Filename}' - * ) - * - * @var array - */ - protected static $_listRoutesXml = []; - /** * List of analytics.xml * @@ -88,17 +79,6 @@ class DependencyTest extends \PHPUnit\Framework\TestCase */ protected static $_listAnalyticsXml = []; - /** - * List of routers - * - * Format: array( - * '{Router}' => '{Module_Name}' - * ) - * - * @var array - */ - protected static $_mapRouters = []; - /** * List of layout blocks * @@ -167,8 +147,22 @@ class DependencyTest extends \PHPUnit\Framework\TestCase */ private static $whiteList = []; + /** + * Routes whitelist + * + * @var array|null + */ + private static $routesWhitelist = null; + + /** + * @var RouteMapper + */ + private static $routeMapper = null; + /** * Sets up data + * + * @throws \Exception */ public static function setUpBeforeClass() { @@ -181,13 +175,12 @@ public static function setUpBeforeClass() ); } + self::$routeMapper = new RouteMapper(); self::$_namespaces = implode('|', Files::init()->getNamespaces()); self::_prepareListConfigXml(); - self::_prepareListRoutesXml(); self::_prepareListAnalyticsXml(); - self::_prepareMapRouters(); self::_prepareMapLayoutBlocks(); self::_prepareMapLayoutHandles(); @@ -232,20 +225,28 @@ protected static function _initThemes() /** * Create rules objects + * + * @throws \Exception */ protected static function _initRules() { - $replaceFilePattern = str_replace('\\', '/', realpath(__DIR__)) . '/_files/dependency_test/tables_*.php'; + $replaceFilePattern = str_replace('\\', '/', realpath(__DIR__)) + . '/_files/dependency_test/tables_*.php'; $dbRuleTables = []; foreach (glob($replaceFilePattern) as $fileName) { //phpcs:ignore Generic.PHP.NoSilencedErrors $dbRuleTables = array_merge($dbRuleTables, @include $fileName); } self::$_rulesInstances = [ - new PhpRule(self::$_mapRouters, self::$_mapLayoutBlocks), + new PhpRule( + self::$routeMapper->getRoutes(), + self::$_mapLayoutBlocks, + [], + ['routes' => self::getRoutesWhitelist()] + ), new DbRule($dbRuleTables), new LayoutRule( - self::$_mapRouters, + self::$routeMapper->getRoutes(), self::$_mapLayoutBlocks, self::$_mapLayoutHandles ), @@ -255,6 +256,25 @@ protected static function _initRules() ]; } + /** + * Initialize routes whitelist + * + * @return array + */ + private static function getRoutesWhitelist(): array + { + if (is_null(self::$routesWhitelist)) { + $routesWhitelistFilePattern = realpath(__DIR__) . '/_files/dependency_test/whitelist/routes_*.php'; + $routesWhitelist = []; + foreach (glob($routesWhitelistFilePattern) as $fileName) { + $routesWhitelist = array_merge($routesWhitelist, include $fileName); + } + self::$routesWhitelist = $routesWhitelist; + } + + return self::$routesWhitelist; + } + /** * Return cleaned file contents * @@ -268,7 +288,8 @@ protected function _getCleanedFileContents($fileType, $file) switch ($fileType) { case 'php': //Removing php comments - $contents = preg_replace('~/\*.*?\*/~s', '', $contents); + $contents = preg_replace('~/\*.*?\*/~m', '', $contents); + $contents = preg_replace('~^\s*/\*.*?\*/~sm', '', $contents); $contents = preg_replace('~^\s*//.*$~m', '', $contents); break; case 'layout': @@ -298,6 +319,7 @@ function ($matches) use ($contents, &$contentsWithoutHtml) { /** * @inheritdoc + * @throws \Exception */ public function testUndeclared() { @@ -362,6 +384,7 @@ function ($fileType, $file) { * @param string $file * @param string $contents * @return string[] + * @throws LocalizedException */ protected function getDependenciesFromFiles($module, $fileType, $file, $contents) { @@ -372,6 +395,7 @@ protected function getDependenciesFromFiles($module, $fileType, $file, $contents $newDependencies = $rule->getDependencyInfo($module, $fileType, $file, $contents); $dependencies = array_merge($dependencies, $newDependencies); } + foreach ($dependencies as $key => $dependency) { foreach (self::$whiteList as $namespace) { if (strpos($dependency['source'], $namespace) !== false) { @@ -411,21 +435,64 @@ protected function _collectDependencies($currentModuleName, $dependencies = []) */ private function collectDependency($dependency, $currentModule, &$undeclared) { - $module = $dependency['module']; - $nsModule = str_replace('_', '\\', $module); $type = isset($dependency['type']) ? $dependency['type'] : self::TYPE_HARD; $soft = $this->_getDependencies($currentModule, self::TYPE_SOFT, self::MAP_TYPE_DECLARED); $hard = $this->_getDependencies($currentModule, self::TYPE_HARD, self::MAP_TYPE_DECLARED); $declared = $type == self::TYPE_SOFT ? array_merge($soft, $hard) : $hard; - if (!in_array($module, $declared) && !in_array($nsModule, $declared) && !$this->_isFake($nsModule)) { - $undeclared[$type][] = $module; - } elseif ((in_array($module, $declared) || in_array($nsModule, $declared)) && $this->_isFake($nsModule)) { - $this->_setDependencies($currentModule, $type, self::MAP_TYPE_REDUNDANT, $module); + + $module = $dependency['module']; + if (is_array($module)) { + $this->collectConditionalDependencies($module, $type, $currentModule, $declared, $undeclared); + } else { + $nsModule = str_replace('_', '\\', $module); + + if (!in_array($nsModule, $declared) && !$this->_isFake($nsModule)) { + $undeclared[$type][] = $module; + } elseif (in_array($nsModule, $declared) && $this->_isFake($nsModule)) { + $this->_setDependencies($currentModule, $type, self::MAP_TYPE_REDUNDANT, $module); + } + + $this->addDependency($currentModule, $type, self::MAP_TYPE_FOUND, $nsModule); } + } - $this->addDependency($currentModule, $type, self::MAP_TYPE_FOUND, $nsModule); + /** + * Collect non-strict dependencies when the module depends on one of modules + * + * @param array $conditionalDependencies + * @param string $type + * @param string $currentModule + * @param array $declared + * @param array $undeclared + */ + private function collectConditionalDependencies( + array $conditionalDependencies, + string $type, + string $currentModule, + array $declared, + array &$undeclared + ) { + array_walk( + $conditionalDependencies, + function (&$moduleName) { + $moduleName = str_replace('_', '\\', $moduleName); + } + ); + $declaredDependencies = array_intersect($conditionalDependencies, $declared); + + foreach ($declaredDependencies as $moduleName) { + if ($this->_isFake($moduleName)) { + $this->_setDependencies($currentModule, $type, self::MAP_TYPE_REDUNDANT, $moduleName); + } + + $this->addDependency($currentModule, $type, self::MAP_TYPE_FOUND, $moduleName); + } + + if (empty($declaredDependencies)) { + $undeclared[$type][] = implode(" || ", $conditionalDependencies); + } } /** @@ -440,13 +507,6 @@ public function collectRedundant() { $schemaDependencyProvider = new DeclarativeSchemaDependencyProvider(); - /** TODO: Remove this temporary solution after MC-5806 is closed */ - $filePattern = __DIR__ . '/_files/dependency_test/undetected_dependencies_*.php'; - $undetectedDependencies = []; - foreach (glob($filePattern) as $fileName) { - $undetectedDependencies = array_merge($undetectedDependencies, require $fileName); - } - foreach (array_keys(self::$mapDependencies) as $module) { $declared = $this->_getDependencies($module, self::TYPE_HARD, self::MAP_TYPE_DECLARED); $found = array_merge( @@ -454,10 +514,6 @@ public function collectRedundant() $this->_getDependencies($module, self::TYPE_SOFT, self::MAP_TYPE_FOUND), $schemaDependencyProvider->getDeclaredExistingModuleDependencies($module) ); - /** TODO: Remove this temporary solution after MC-5806 is closed */ - if (!empty($undetectedDependencies[$module])) { - $found = array_merge($found, $undetectedDependencies[$module]); - } $found['Magento\Framework'] = 'Magento\Framework'; $this->_setDependencies($module, self::TYPE_HARD, self::MAP_TYPE_REDUNDANT, array_diff($declared, $found)); @@ -557,6 +613,8 @@ public function getAllFiles() /** * Prepare list of config.xml files (by modules). + * + * @throws \Exception */ protected static function _prepareListConfigXml() { @@ -569,22 +627,10 @@ protected static function _prepareListConfigXml() } } - /** - * Prepare list of routes.xml files (by modules) - */ - protected static function _prepareListRoutesXml() - { - $files = Files::init()->getConfigFiles('*/routes.xml', [], false); - foreach ($files as $file) { - if (preg_match('/(?<namespace>[A-Z][a-z]+)[_\/\\\\](?<module>[A-Z][a-zA-Z]+)/', $file, $matches)) { - $module = $matches['namespace'] . '\\' . $matches['module']; - self::$_listRoutesXml[$module][] = $file; - } - } - } - /** * Prepare list of analytics.xml files + * + * @throws \Exception */ protected static function _prepareListAnalyticsXml() { @@ -597,57 +643,10 @@ protected static function _prepareListAnalyticsXml() } } - /** - * Prepare map of routers - */ - protected static function _prepareMapRouters() - { - $pattern = '/(?<namespace>[A-Z][a-z]+)[_\/\\\\](?<module>[A-Z][a-zA-Z]+)\/Controller\/' . - '(?<path>[\/\w]*).php/'; - - $files = Files::init()->getPhpFiles(Files::INCLUDE_APP_CODE | Files::INCLUDE_NON_CLASSES); - foreach ($files as $file) { - if (preg_match($pattern, $file, $matches)) { - $module = $matches['namespace'] . '\\' . $matches['module']; - if (!empty(self::$_listRoutesXml[$module])) { - foreach (self::$_listRoutesXml[$module] as $configFile) { - self::updateRoutersMap($module, $configFile); - } - } - } - } - } - - /** - * Update routers map for the module basing on the routing config file - * - * @param string $module - * @param string $configFile - * - * @return void - */ - private static function updateRoutersMap($module, $configFile) - { - // Read module's routes.xml file - $config = simplexml_load_file($configFile); - $nodes = $config->xpath("/config/router/*"); - foreach ($nodes as $node) { - $id = (string)$node['id']; - if ($id != 'adminhtml' && '' == (string)$node['frontName']) { - // Exclude overridden routers - continue; - } - if (!isset(self::$_mapRouters[$id])) { - self::$_mapRouters[$id] = []; - } - if (!in_array($module, self::$_mapRouters[$id])) { - self::$_mapRouters[$id][] = $module; - } - } - } - /** * Prepare map of layout blocks + * + * @throws \Exception */ protected static function _prepareMapLayoutBlocks() { @@ -676,6 +675,8 @@ protected static function _prepareMapLayoutBlocks() /** * Prepare map of layout handles + * + * @throws \Exception */ protected static function _prepareMapLayoutHandles() { @@ -795,10 +796,14 @@ private static function addDependencies( string $type, array $packageModuleMap ): void { - $packageNames = array_filter($packageNames, function ($packageName) use ($packageModuleMap) { - return isset($packageModuleMap[$packageName]) || - 0 === strpos($packageName, 'magento/') && 'magento/magento-composer-installer' != $packageName; - }); + $packageNames = array_filter( + $packageNames, + function ($packageName) use ($packageModuleMap) { + return isset($packageModuleMap[$packageName]) || + 0 === strpos($packageName, 'magento/') + && 'magento/magento-composer-installer' != $packageName; + } + ); foreach ($packageNames as $packageName) { self::addDependency( diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/_files/dependency_test/undetected_dependencies_ce.php b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/dependency_test/whitelist/routes_ce.php similarity index 71% rename from dev/tests/static/testsuite/Magento/Test/Integrity/_files/dependency_test/undetected_dependencies_ce.php rename to dev/tests/static/testsuite/Magento/Test/Integrity/_files/dependency_test/whitelist/routes_ce.php index 407f57ee5125..9ebc951a3a3a 100644 --- a/dev/tests/static/testsuite/Magento/Test/Integrity/_files/dependency_test/undetected_dependencies_ce.php +++ b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/dependency_test/whitelist/routes_ce.php @@ -3,8 +3,8 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ - declare(strict_types=1); + return [ - "Magento\Search" => ["Magento\CatalogSearch"] + 'privacy-policy-cookie-restriction-mode/index/index', ]; diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/LayoutTest.php b/dev/tests/static/testsuite/Magento/Test/Legacy/LayoutTest.php index 1ee599a04463..dd2229968375 100644 --- a/dev/tests/static/testsuite/Magento/Test/Legacy/LayoutTest.php +++ b/dev/tests/static/testsuite/Magento/Test/Legacy/LayoutTest.php @@ -3,14 +3,15 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ +declare(strict_types=1); -/** - * Coverage of obsolete nodes in layout - */ namespace Magento\Test\Legacy; use Magento\Framework\Component\ComponentRegistrar; +/** + * Coverage of obsolete nodes in layout + */ class LayoutTest extends \PHPUnit\Framework\TestCase { /** @@ -85,6 +86,9 @@ class LayoutTest extends \PHPUnit\Framework\TestCase ], ]; + /** + * @throws \Exception + */ public function testLayoutFile() { $invoker = new \Magento\Framework\App\Utility\AggregateInvoker($this); @@ -141,6 +145,11 @@ function ($layoutFile) { $componentRegistrar->getPath(ComponentRegistrar::MODULE, 'Magento_Shipping') . '/view/adminhtml/layout/adminhtml_order' ) + || false !== strpos( + $layoutFile, + $componentRegistrar->getPath(ComponentRegistrar::MODULE, 'Magento_Catalog') + . '/view/adminhtml/layout/catalog_product_grid.xml' + ) ) { $this->markTestIncomplete( "The file {$layoutFile} has to use \\Magento\\Core\\Block\\Text\\List, \n" . @@ -204,6 +213,9 @@ protected function _testObsoleteAttributes($layoutXml) } } + /** + * @throws \Exception + */ public function testActionNodeMethods() { $invoker = new \Magento\Framework\App\Utility\AggregateInvoker($this); @@ -356,8 +368,6 @@ public function getAllowedActionNodeMethods() 'unsetChildren', 'updateButton', 'setIsProductListingContext', - 'checkCompanyStatus', // MAGETWO-88965 - 'setRendererType', // MAGETWO-88965 ]; } } diff --git a/lib/internal/Magento/Framework/Composer/ComposerInformation.php b/lib/internal/Magento/Framework/Composer/ComposerInformation.php index 93fb9070cddf..5ed5b0892d5d 100755 --- a/lib/internal/Magento/Framework/Composer/ComposerInformation.php +++ b/lib/internal/Magento/Framework/Composer/ComposerInformation.php @@ -3,6 +3,7 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + namespace Magento\Framework\Composer; use Composer\Package\Link; @@ -126,6 +127,7 @@ public function getRequiredPhpVersion() } if (!isset($requiredPhpVersion)) { + // phpcs:ignore Magento2.Exceptions.DirectThrow throw new \Exception('Cannot find php version requirement in \'composer.lock\' file'); } return $requiredPhpVersion; @@ -148,7 +150,6 @@ public function getRequiredExtensions() /** @var CompletePackageInterface $package */ foreach ($this->getLocker()->getLockedRepository()->getPackages() as $package) { $requires = array_keys($package->getRequires()); - $requires = array_merge($requires, array_keys($package->getDevRequires())); $allPlatformReqs = array_merge($allPlatformReqs, $requires); } } @@ -301,6 +302,8 @@ public function isPackageInComposerJson($packageName) } /** + * Retrieve magento packages types. + * * @return array */ public function getPackagesTypes() @@ -309,6 +312,8 @@ public function getPackagesTypes() } /** + * Retrieve magento packages requirements. + * * @param string $name * @param string $version * @return array diff --git a/lib/internal/Magento/Framework/Data/Form/Element/Time.php b/lib/internal/Magento/Framework/Data/Form/Element/Time.php index 68f32823d7a2..f56dbedb744a 100644 --- a/lib/internal/Magento/Framework/Data/Form/Element/Time.php +++ b/lib/internal/Magento/Framework/Data/Form/Element/Time.php @@ -4,15 +4,15 @@ * See COPYING.txt for license details. */ +namespace Magento\Framework\Data\Form\Element; + +use Magento\Framework\Escaper; + /** * Form time element * * @author Magento Core Team <core@magentocommerce.com> */ -namespace Magento\Framework\Data\Form\Element; - -use Magento\Framework\Escaper; - class Time extends AbstractElement { /** @@ -32,7 +32,7 @@ public function __construct( } /** - * @return mixed + * @inheritDoc */ public function getName() { @@ -44,7 +44,7 @@ public function getName() } /** - * @return string + * @inheritDoc * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ @@ -76,7 +76,8 @@ public function getElementHtml() } $html .= '</select>' . "\n"; - $html .= ': <select name="' . $this->getName() . '" style="width:80px" ' + $html .= '<span class="time-separator">: </span><select name="' + . $this->getName() . '" style="width:80px" ' . $this->serialize($this->getHtmlAttributes()) . $this->_getUiId('minute') . '>' . "\n"; for ($i = 0; $i < 60; $i++) { @@ -86,7 +87,8 @@ public function getElementHtml() } $html .= '</select>' . "\n"; - $html .= ': <select name="' . $this->getName() . '" style="width:80px" ' + $html .= '<span class="time-separator">: </span><select name="' + . $this->getName() . '" style="width:80px" ' . $this->serialize($this->getHtmlAttributes()) . $this->_getUiId('second') . '>' . "\n"; for ($i = 0; $i < 60; $i++) { diff --git a/lib/internal/Magento/Framework/Image/Adapter/AbstractAdapter.php b/lib/internal/Magento/Framework/Image/Adapter/AbstractAdapter.php index 6042e4eee491..42f7e42960ef 100644 --- a/lib/internal/Magento/Framework/Image/Adapter/AbstractAdapter.php +++ b/lib/internal/Magento/Framework/Image/Adapter/AbstractAdapter.php @@ -3,11 +3,16 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + +declare(strict_types=1); + namespace Magento\Framework\Image\Adapter; use Magento\Framework\App\Filesystem\DirectoryList; /** + * Image abstract adapter + * * @file Abstract.php * @author Magento Core Team <core@magentocommerce.com> * @SuppressWarnings(PHPMD.TooManyFields) @@ -169,6 +174,7 @@ abstract public function open($fileName); /** * Save image to specific path. + * * If some folders of path does not exist they will be created * * @param null|string $destination @@ -620,7 +626,7 @@ protected function _checkDimensions($frameWidth, $frameHeight) $frameHeight !== null && $frameHeight <= 0 || empty($frameWidth) && empty($frameHeight) ) { - throw new \Exception('Invalid image dimensions.'); + throw new \InvalidArgumentException('Invalid image dimensions.'); } } @@ -687,7 +693,9 @@ protected function _prepareDestination($destination = null, $newName = null) $this->directoryWrite->create($this->directoryWrite->getRelativePath($destination)); } catch (\Magento\Framework\Exception\FileSystemException $e) { $this->logger->critical($e); - throw new \Exception('Unable to write file into directory ' . $destination . '. Access forbidden.'); + throw new \DomainException( + 'Unable to write file into directory ' . $destination . '. Access forbidden.' + ); } } @@ -701,7 +709,7 @@ protected function _prepareDestination($destination = null, $newName = null) */ protected function _canProcess() { - return !empty($this->_fileName); + return !empty($this->_fileName) && filesize($this->_fileName) > 0; } /** @@ -710,12 +718,19 @@ protected function _canProcess() * @param string $filePath * @return bool * @throws \InvalidArgumentException + * @throws \DomainException + * @throws \BadFunctionCallException + * @throws \RuntimeException + * @throws \OverflowException */ public function validateUploadFile($filePath) { if (!file_exists($filePath)) { throw new \InvalidArgumentException("File '{$filePath}' does not exists."); } + if (filesize($filePath) === 0) { + throw new \InvalidArgumentException('Wrong file size.'); + } if (!getimagesize($filePath)) { throw new \InvalidArgumentException('Disallowed file type.'); } diff --git a/lib/internal/Magento/Framework/Image/Adapter/Gd2.php b/lib/internal/Magento/Framework/Image/Adapter/Gd2.php index cfba1820bec0..d52e70ef56a1 100644 --- a/lib/internal/Magento/Framework/Image/Adapter/Gd2.php +++ b/lib/internal/Magento/Framework/Image/Adapter/Gd2.php @@ -3,6 +3,7 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + namespace Magento\Framework\Image\Adapter; /** @@ -59,6 +60,9 @@ protected function _reset() */ public function open($filename) { + if (!$filename || filesize($filename) === 0) { + throw new \InvalidArgumentException('Wrong file'); + } $this->_fileName = $filename; $this->_reset(); $this->getMimeType(); @@ -225,7 +229,8 @@ public function getImage() * @param null|int $fileType * @param string $unsupportedText * @return string - * @throws \Exception + * @throws \InvalidArgumentException + * @throws \BadFunctionCallException */ private function _getCallback($callbackType, $fileType = null, $unsupportedText = 'Unsupported image format.') { @@ -233,10 +238,10 @@ private function _getCallback($callbackType, $fileType = null, $unsupportedText $fileType = $this->_fileType; } if (empty(self::$_callbacks[$fileType])) { - throw new \Exception($unsupportedText); + throw new \InvalidArgumentException($unsupportedText); } if (empty(self::$_callbacks[$fileType][$callbackType])) { - throw new \Exception('Callback not found.'); + throw new \BadFunctionCallException('Callback not found.'); } return self::$_callbacks[$fileType][$callbackType]; } @@ -248,7 +253,7 @@ private function _getCallback($callbackType, $fileType = null, $unsupportedText * * @param resource &$imageResourceTo * @return int - * @throws \Exception + * @throws \InvalidArgumentException * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ private function _fillBackgroundColor(&$imageResourceTo) @@ -261,17 +266,17 @@ private function _fillBackgroundColor(&$imageResourceTo) // fill truecolor png with alpha transparency if ($isAlpha) { if (!imagealphablending($imageResourceTo, false)) { - throw new \Exception('Failed to set alpha blending for PNG image.'); + throw new \InvalidArgumentException('Failed to set alpha blending for PNG image.'); } $transparentAlphaColor = imagecolorallocatealpha($imageResourceTo, 0, 0, 0, 127); if (false === $transparentAlphaColor) { - throw new \Exception('Failed to allocate alpha transparency for PNG image.'); + throw new \InvalidArgumentException('Failed to allocate alpha transparency for PNG image.'); } if (!imagefill($imageResourceTo, 0, 0, $transparentAlphaColor)) { - throw new \Exception('Failed to fill PNG image with alpha transparency.'); + throw new \InvalidArgumentException('Failed to fill PNG image with alpha transparency.'); } if (!imagesavealpha($imageResourceTo, true)) { - throw new \Exception('Failed to save alpha transparency into PNG image.'); + throw new \InvalidArgumentException('Failed to save alpha transparency into PNG image.'); } return $transparentAlphaColor; @@ -283,22 +288,22 @@ private function _fillBackgroundColor(&$imageResourceTo) $transparentColor = imagecolorallocate($imageResourceTo, $r, $g, $b); } if (false === $transparentColor) { - throw new \Exception('Failed to allocate transparent color for image.'); + throw new \InvalidArgumentException('Failed to allocate transparent color for image.'); } if (!imagefill($imageResourceTo, 0, 0, $transparentColor)) { - throw new \Exception('Failed to fill image with transparency.'); + throw new \InvalidArgumentException('Failed to fill image with transparency.'); } imagecolortransparent($imageResourceTo, $transparentColor); return $transparentColor; } } catch (\Exception $e) { - // fallback to default background color + throw new \DomainException('Failed to fill image.'); } } list($r, $g, $b) = $this->_backgroundColor; $color = imagecolorallocate($imageResourceTo, $r, $g, $b); if (!imagefill($imageResourceTo, 0, 0, $color)) { - throw new \Exception("Failed to fill image background with color {$r} {$g} {$b}."); + throw new \InvalidArgumentException("Failed to fill image background with color {$r} {$g} {$b}."); } return $color; @@ -319,10 +324,12 @@ public function checkAlpha($fileName) * Checks if image has alpha transparency * * @param resource $imageResource - * @param int $fileType one of the constants IMAGETYPE_* - * @param bool &$isAlpha - * @param bool &$isTrueColor + * @param int $fileType + * @param bool $isAlpha + * @param bool $isTrueColor + * * @return boolean + * * @SuppressWarnings(PHPMD.BooleanGetMethodName) */ private function _getTransparency($imageResource, $fileType, &$isAlpha = false, &$isTrueColor = false) @@ -637,13 +644,13 @@ public function crop($top = 0, $left = 0, $right = 0, $bottom = 0) * Checks required dependencies * * @return void - * @throws \Exception If some of dependencies are missing + * @throws \RuntimeException If some of dependencies are missing */ public function checkDependencies() { foreach ($this->_requiredExtensions as $value) { if (!extension_loaded($value)) { - throw new \Exception("Required PHP extension '{$value}' was not loaded."); + throw new \RuntimeException("Required PHP extension '{$value}' was not loaded."); } } } @@ -755,7 +762,7 @@ protected function _createImageFromText($text) * @param string $text * @param string $font * @return void - * @throws \Exception + * @throws \InvalidArgumentException */ protected function _createImageFromTtfText($text, $font) { @@ -777,7 +784,7 @@ protected function _createImageFromTtfText($text, $font) $text ); if ($result === false) { - throw new \Exception('Unable to create TTF text'); + throw new \InvalidArgumentException('Unable to create TTF text'); } } diff --git a/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/Gd2Test.php b/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/Gd2Test.php index 41281c96e1bb..ccf52c7c59ce 100644 --- a/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/Gd2Test.php +++ b/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/Gd2Test.php @@ -3,6 +3,9 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + +declare(strict_types=1); + namespace Magento\Framework\Image\Test\Unit\Adapter; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; @@ -24,6 +27,13 @@ class Gd2Test extends \PHPUnit\Framework\TestCase */ public static $imageData = []; + /** + * Simulation of filesize() function + * + * @var int + */ + public static $imageSize = 1; + /** * Adapter for testing * @var \Magento\Framework\Image\Adapter\Gd2 diff --git a/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/_files/global_php_mock.php b/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/_files/global_php_mock.php index 3e90359b97b4..a62909b495ab 100644 --- a/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/_files/global_php_mock.php +++ b/lib/internal/Magento/Framework/Image/Test/Unit/Adapter/_files/global_php_mock.php @@ -3,6 +3,9 @@ * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ + +declare(strict_types=1); + namespace Magento\Framework\Image\Adapter; use Magento\Framework\Image\Test\Unit\Adapter\Gd2Test; @@ -35,6 +38,16 @@ function getimagesize($file) return Gd2Test::$imageData; } +/** + * @param $file + * @return mixed + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ +function filesize($file) +{ + return Gd2Test::$imageSize; +} + /** * @param $real * @return int diff --git a/lib/internal/Magento/Framework/Mview/View.php b/lib/internal/Magento/Framework/Mview/View.php index 20736eb21963..fa1bfa0d38c6 100644 --- a/lib/internal/Magento/Framework/Mview/View.php +++ b/lib/internal/Magento/Framework/Mview/View.php @@ -6,15 +6,19 @@ namespace Magento\Framework\Mview; +use InvalidArgumentException; +use Magento\Framework\DataObject; use Magento\Framework\Mview\View\ChangelogTableNotExistsException; use Magento\Framework\Mview\View\SubscriptionFactory; +use Exception; +use Magento\Framework\Mview\View\SubscriptionInterface; /** * Mview * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ -class View extends \Magento\Framework\DataObject implements ViewInterface +class View extends DataObject implements ViewInterface { /** * Default batch size for partial reindex @@ -52,7 +56,7 @@ class View extends \Magento\Framework\DataObject implements ViewInterface protected $subscriptionFactory; /** - * @var \Magento\Framework\Mview\View\StateInterface + * @var View\StateInterface */ protected $state; @@ -113,7 +117,7 @@ public function setId($id) /** * Id field name setter * - * @param string $name + * @param string $name * @return $this */ public function setIdFieldName($name) @@ -167,13 +171,13 @@ public function getSubscriptions() * * @param string $viewId * @return ViewInterface - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function load($viewId) { $view = $this->config->getView($viewId); - if (empty($view) || empty($view['view_id']) || $view['view_id'] != $viewId) { - throw new \InvalidArgumentException("{$viewId} view does not exist."); + if (empty($view) || empty($view['view_id']) || $view['view_id'] !== $viewId) { + throw new InvalidArgumentException("{$viewId} view does not exist."); } $this->setId($viewId); @@ -185,37 +189,21 @@ public function load($viewId) /** * Create subscriptions * - * @throws \Exception * @return ViewInterface + * @throws Exception */ public function subscribe() { - if ($this->getState()->getMode() != View\StateInterface::MODE_ENABLED) { - try { - // Create changelog table - $this->getChangelog()->create(); - - // Create subscriptions - foreach ($this->getSubscriptions() as $subscriptionConfig) { - /** @var \Magento\Framework\Mview\View\SubscriptionInterface $subscription */ - $subscriptionInstance = $this->subscriptionFactory->create( - [ - 'view' => $this, - 'tableName' => $subscriptionConfig['name'], - 'columnName' => $subscriptionConfig['column'], - 'subscriptionModel' => !empty($subscriptionConfig['subscription_model']) - ? $subscriptionConfig['subscription_model'] - : SubscriptionFactory::INSTANCE_NAME, - ] - ); - $subscriptionInstance->create(); - } + if ($this->getState()->getMode() !== View\StateInterface::MODE_ENABLED) { + // Create changelog table + $this->getChangelog()->create(); - // Update view state - $this->getState()->setMode(View\StateInterface::MODE_ENABLED)->save(); - } catch (\Exception $e) { - throw $e; + foreach ($this->getSubscriptions() as $subscriptionConfig) { + $this->initSubscriptionInstance($subscriptionConfig)->create(); } + + // Update view state + $this->getState()->setMode(View\StateInterface::MODE_ENABLED)->save(); } return $this; @@ -224,34 +212,19 @@ public function subscribe() /** * Remove subscriptions * - * @throws \Exception * @return ViewInterface + * @throws Exception */ public function unsubscribe() { if ($this->getState()->getMode() != View\StateInterface::MODE_DISABLED) { - try { - // Remove subscriptions - foreach ($this->getSubscriptions() as $subscriptionConfig) { - /** @var \Magento\Framework\Mview\View\SubscriptionInterface $subscription */ - $subscriptionInstance = $this->subscriptionFactory->create( - [ - 'view' => $this, - 'tableName' => $subscriptionConfig['name'], - 'columnName' => $subscriptionConfig['column'], - 'subscriptionModel' => !empty($subscriptionConfig['subscriptionModel']) - ? $subscriptionConfig['subscriptionModel'] - : SubscriptionFactory::INSTANCE_NAME, - ] - ); - $subscriptionInstance->remove(); - } - - // Update view state - $this->getState()->setMode(View\StateInterface::MODE_DISABLED)->save(); - } catch (\Exception $e) { - throw $e; + // Remove subscriptions + foreach ($this->getSubscriptions() as $subscriptionConfig) { + $this->initSubscriptionInstance($subscriptionConfig)->remove(); } + + // Update view state + $this->getState()->setMode(View\StateInterface::MODE_DISABLED)->save(); } return $this; @@ -261,53 +234,56 @@ public function unsubscribe() * Materialize view by IDs in changelog * * @return void - * @throws \Exception + * @throws Exception */ public function update() { - if ($this->getState()->getStatus() == View\StateInterface::STATUS_IDLE) { - try { - $currentVersionId = $this->getChangelog()->getVersion(); - } catch (ChangelogTableNotExistsException $e) { - return; - } - $lastVersionId = (int) $this->getState()->getVersionId(); - $action = $this->actionFactory->get($this->getActionClass()); - - try { - $this->getState()->setStatus(View\StateInterface::STATUS_WORKING)->save(); - - $versionBatchSize = self::$maxVersionQueryBatch; - $batchSize = isset($this->changelogBatchSize[$this->getChangelog()->getViewId()]) - ? $this->changelogBatchSize[$this->getChangelog()->getViewId()] - : self::DEFAULT_BATCH_SIZE; - - for ($vsFrom = $lastVersionId; $vsFrom < $currentVersionId; $vsFrom += $versionBatchSize) { - // Don't go past the current version for atomicy. - $versionTo = min($currentVersionId, $vsFrom + $versionBatchSize); - $ids = $this->getChangelog()->getList($vsFrom, $versionTo); - - // We run the actual indexer in batches. - // Chunked AFTER loading to avoid duplicates in separate chunks. - $chunks = array_chunk($ids, $batchSize); - foreach ($chunks as $ids) { - $action->execute($ids); - } - } + if ($this->getState()->getStatus() !== View\StateInterface::STATUS_IDLE) { + return; + } + + try { + $currentVersionId = $this->getChangelog()->getVersion(); + } catch (ChangelogTableNotExistsException $e) { + return; + } + + $lastVersionId = (int)$this->getState()->getVersionId(); + $action = $this->actionFactory->get($this->getActionClass()); - $this->getState()->loadByView($this->getId()); - $statusToRestore = $this->getState()->getStatus() == View\StateInterface::STATUS_SUSPENDED - ? View\StateInterface::STATUS_SUSPENDED - : View\StateInterface::STATUS_IDLE; - $this->getState()->setVersionId($currentVersionId)->setStatus($statusToRestore)->save(); - } catch (\Exception $exception) { - $this->getState()->loadByView($this->getId()); - $statusToRestore = $this->getState()->getStatus() == View\StateInterface::STATUS_SUSPENDED - ? View\StateInterface::STATUS_SUSPENDED - : View\StateInterface::STATUS_IDLE; - $this->getState()->setStatus($statusToRestore)->save(); - throw $exception; + try { + $this->getState()->setStatus(View\StateInterface::STATUS_WORKING)->save(); + + $versionBatchSize = self::$maxVersionQueryBatch; + $batchSize = isset($this->changelogBatchSize[$this->getChangelog()->getViewId()]) + ? $this->changelogBatchSize[$this->getChangelog()->getViewId()] + : self::DEFAULT_BATCH_SIZE; + + for ($vsFrom = $lastVersionId; $vsFrom < $currentVersionId; $vsFrom += $versionBatchSize) { + // Don't go past the current version for atomicy. + $versionTo = min($currentVersionId, $vsFrom + $versionBatchSize); + $ids = $this->getChangelog()->getList($vsFrom, $versionTo); + + // We run the actual indexer in batches. + // Chunked AFTER loading to avoid duplicates in separate chunks. + $chunks = array_chunk($ids, $batchSize); + foreach ($chunks as $ids) { + $action->execute($ids); + } } + + $this->getState()->loadByView($this->getId()); + $statusToRestore = $this->getState()->getStatus() === View\StateInterface::STATUS_SUSPENDED + ? View\StateInterface::STATUS_SUSPENDED + : View\StateInterface::STATUS_IDLE; + $this->getState()->setVersionId($currentVersionId)->setStatus($statusToRestore)->save(); + } catch (Exception $exception) { + $this->getState()->loadByView($this->getId()); + $statusToRestore = $this->getState()->getStatus() === View\StateInterface::STATUS_SUSPENDED + ? View\StateInterface::STATUS_SUSPENDED + : View\StateInterface::STATUS_IDLE; + $this->getState()->setStatus($statusToRestore)->save(); + throw $exception; } } @@ -315,10 +291,11 @@ public function update() * Suspend view updates and set version ID to changelog's end * * @return void + * @throws Exception */ public function suspend() { - if ($this->getState()->getMode() == View\StateInterface::MODE_ENABLED) { + if ($this->getState()->getMode() === View\StateInterface::MODE_ENABLED) { $state = $this->getState(); $state->setVersionId($this->getChangelog()->getVersion()); $state->setStatus(View\StateInterface::STATUS_SUSPENDED); @@ -330,11 +307,12 @@ public function suspend() * Resume view updates * * @return void + * @throws Exception */ public function resume() { $state = $this->getState(); - if ($state->getStatus() == View\StateInterface::STATUS_SUSPENDED) { + if ($state->getStatus() === View\StateInterface::STATUS_SUSPENDED) { $state->setStatus(View\StateInterface::STATUS_IDLE); $state->save(); } @@ -347,7 +325,7 @@ public function resume() */ public function clearChangelog() { - if ($this->getState()->getMode() == View\StateInterface::MODE_ENABLED) { + if ($this->getState()->getMode() === View\StateInterface::MODE_ENABLED) { $this->getChangelog()->clear($this->getState()->getVersionId()); } } @@ -384,7 +362,7 @@ public function setState(View\StateInterface $state) */ public function isEnabled() { - return $this->getState()->getMode() == View\StateInterface::MODE_ENABLED; + return $this->getState()->getMode() === View\StateInterface::MODE_ENABLED; } /** @@ -394,7 +372,7 @@ public function isEnabled() */ public function isIdle() { - return $this->getState()->getStatus() == \Magento\Framework\Mview\View\StateInterface::STATUS_IDLE; + return $this->getState()->getStatus() === View\StateInterface::STATUS_IDLE; } /** @@ -404,7 +382,7 @@ public function isIdle() */ public function isWorking() { - return $this->getState()->getStatus() == \Magento\Framework\Mview\View\StateInterface::STATUS_WORKING; + return $this->getState()->getStatus() === View\StateInterface::STATUS_WORKING; } /** @@ -414,7 +392,7 @@ public function isWorking() */ public function isSuspended() { - return $this->getState()->getStatus() == \Magento\Framework\Mview\View\StateInterface::STATUS_SUSPENDED; + return $this->getState()->getStatus() === View\StateInterface::STATUS_SUSPENDED; } /** @@ -439,4 +417,24 @@ public function getChangelog() } return $this->changelog; } + + /** + * Initializes Subscription instance + * + * @param array $subscriptionConfig + * @return SubscriptionInterface + */ + private function initSubscriptionInstance(array $subscriptionConfig): SubscriptionInterface + { + return $this->subscriptionFactory->create( + [ + 'view' => $this, + 'tableName' => $subscriptionConfig['name'], + 'columnName' => $subscriptionConfig['column'], + 'subscriptionModel' => !empty($subscriptionConfig['subscription_model']) + ? $subscriptionConfig['subscription_model'] + : SubscriptionFactory::INSTANCE_NAME, + ] + ); + } } diff --git a/lib/web/mage/common.js b/lib/web/mage/common.js index 01f696ec1b7f..53f5b7487219 100644 --- a/lib/web/mage/common.js +++ b/lib/web/mage/common.js @@ -18,10 +18,21 @@ define([ 'form', function (e) { var formKeyElement, + existingFormKeyElement, + isKeyPresentInForm, form = $(e.target), formKey = $('input[name="form_key"]').val(); - if (formKey && !form.find('input[name="form_key"]').length && form[0].method !== 'get') { + existingFormKeyElement = form.find('input[name="form_key"]'); + isKeyPresentInForm = existingFormKeyElement.length; + + /* Verifies that existing auto-added form key is a direct form child element, + protection from a case when one form contains another form. */ + if (isKeyPresentInForm && existingFormKeyElement.attr('auto-added-form-key') === '1') { + isKeyPresentInForm = form.find('> input[name="form_key"]').length; + } + + if (formKey && !isKeyPresentInForm && form[0].method !== 'get') { formKeyElement = document.createElement('input'); formKeyElement.setAttribute('type', 'hidden'); formKeyElement.setAttribute('name', 'form_key'); diff --git a/lib/web/mage/validation.js b/lib/web/mage/validation.js index 6c53eaa6a614..619ad3fa7261 100644 --- a/lib/web/mage/validation.js +++ b/lib/web/mage/validation.js @@ -204,6 +204,21 @@ return empty === 0; } + /** + * + * @param {float} qty + * @param {float} qtyIncrements + * @returns {float} + */ + function resolveModulo(qty, qtyIncrements) { + while (qtyIncrements < 1) { + qty *= 10; + qtyIncrements *= 10; + } + + return qty % qtyIncrements; + } + /** * Collection of validation rules including rules from additional-methods.js * @type {Object} @@ -1614,7 +1629,7 @@ isMaxAllowedValid = typeof params.maxAllowed === 'undefined' || qty <= $.mage.parseNumber(params.maxAllowed), isQtyIncrementsValid = typeof params.qtyIncrements === 'undefined' || - qty % $.mage.parseNumber(params.qtyIncrements) === 0; + resolveModulo(qty, $.mage.parseNumber(params.qtyIncrements)) === 0.0; result = qty > 0; diff --git a/pub/media/.htaccess b/pub/media/.htaccess index d8793a891430..d68d163d7a6b 100644 --- a/pub/media/.htaccess +++ b/pub/media/.htaccess @@ -31,7 +31,7 @@ SetHandler default-handler RewriteCond %{REQUEST_FILENAME} !-f ############################################ -## rewrite everything else to index.php +## rewrite everything else to get.php RewriteRule .* ../get.php [L] </IfModule>