moodle/composer.json
Eloy Lafuente (stronk7) 11b7ff678d
MDL-78934 behat: Move from mink goutte to browserkit driver
In order to get compatibility with PHP 8.1 there are 2 options:

1) Move to the Goutte 2 mink driver, that uses Goutte 4.
2) Move to the BrowserKit mink driver.

While 1) could sound like the easier alternative, and that is
what we are doing right now, there are a few points to take into consideration.

a) Goutte 4 is a complete wrapper over BrowserKit. 100%. See its
   source code: https://github.com/FriendsOfPHP/Goutte/blob/master/Goutte/Client.php
b) The mink extension still doesn't support Goutte 4, but supports
   BrowserKit. See https://github.com/FriendsOfBehat/MinkExtension (PR#16)
   (we could workaround this by forking the package again)
c) Last, but not least, recently (June 2023) both the MinkGoutteDriver
   and Goutte itself have been archived/abandoned:
   - https://packagist.org/packages/behat/mink-goutte-driver
   - https://packagist.org/packages/fabpot/goutte

So, given the points above, this is an attempt to move away
completely from Goutte and straight use the BrowserKit alternative
that, in practice, is the very same code that we are already using
(you can see that, in the .lock changes there isn't any new thing
being installed, because, as said, we are using it already).

Let's see how complex it is, I imagine it won't be hard. Surely killing
all references everywhere about Goutte will be the most complex task.
2023-08-18 13:59:17 +02:00

58 lines
2.0 KiB
JSON

{
"name": "moodle/moodle",
"license": "GPL-3.0-or-later",
"description": "Moodle - the world's open source learning platform",
"type": "project",
"homepage": "https://moodle.org",
"require-dev": {
"phpunit/phpunit": "9.5.*",
"mikey179/vfsstream": "1.6.*",
"behat/mink": "^1.10.0",
"friends-of-behat/mink-extension": "^2.7.2",
"behat/mink-browserkit-driver": "^2.1.0",
"symfony/process": "^4.4 || ^5.0 || ^6.0",
"symfony/http-client": "^4.4 || ^5.0 || ^6.0",
"symfony/mime": "^4.4 || ^5.0 || ^6.0",
"behat/behat": "3.13.*",
"oleg-andreyev/mink-phpwebdriver": "1.2.*"
},
"autoload-dev": {
"psr-0": {
"Moodle\\BehatExtension": "lib/behat/extension/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": ">=8.0.0",
"ext-iconv": "*",
"ext-mbstring": "*",
"ext-curl": "*",
"ext-openssl": "*",
"ext-ctype": "*",
"ext-zip": "*",
"ext-zlib": "*",
"ext-gd": "*",
"ext-simplexml": "*",
"ext-spl": "*",
"ext-pcre": "*",
"ext-dom": "*",
"ext-xml": "*",
"ext-xmlreader": "*",
"ext-intl": "*",
"ext-json": "*",
"ext-hash": "*",
"ext-fileinfo": "*",
"ext-sodium": "*"
},
"suggest": {
"ext-mysqli": "Needed when Moodle uses MySQL or MariaDB database.",
"ext-pgsql": "Needed when Moodle uses PostgreSQL database.",
"ext-sqlsrv": "Needed when Moodle uses MS SQL Server database.",
"ext-oci8": "Needed when Moodle uses Oracle database.",
"ext-tokenizer": "Enabling Tokenizer PHP extension is recommended, it improves Moodle Networking functionality.",
"ext-soap": "Enabling SOAP PHP extension is useful for web services and some plugins.",
"ext-exif": "Enabling Exif PHP extension is recommended, it is used by Moodle to parse image meta data."
}
}