run cypress tests locally

This commit is contained in:
Spine
2025-04-06 06:57:32 +00:00
parent eeba9e141f
commit e070f78a98
13 changed files with 160 additions and 141 deletions

View File

@@ -4,8 +4,8 @@ ENV DEB_RELEASE=bookworm
ENV DEBIAN_FRONTEND=noninteractive
ENV PHP_VER=8.4
ENV NODE_VERSION=20
# commit of composer 2.8.6
ENV COMPOSER_COMMIT=51c25eb405dc44528575cb36aea4aeec31c4bf15
# commit of composer 2.8.8
ENV COMPOSER_COMMIT=f3108f64b4e1c1ce6eb462b159956461592b3e3e
# Uncomment to skip the chromium download when installing puppeteer. If you do,
# you'll need to launch puppeteer with:
@@ -98,6 +98,13 @@ RUN apt-get update \
libnss3 \
lsb-release \
xdg-utils \
# cypress
# all below is needed until running cypress headless/electron-less is fixed: https://github.com/cypress-io/cypress/issues/23636
libgbm-dev \
libgtk2.0-0 \
libnotify-dev \
procps \
xvfb \
&& apt-get autoremove \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \

View File

@@ -44,6 +44,6 @@
"phpunit/php-code-coverage": "^11",
"phpunit/phpunit": "^11",
"rector/rector": "^1.2",
"squizlabs/php_codesniffer": "^3.11"
"squizlabs/php_codesniffer": "^3.12"
}
}

206
composer.lock generated
View File

@@ -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": "8d317a9cdc51f5861dd39e0e29b348b2",
"content-hash": "e7c11d90bb725a79b986f803f04aff15",
"packages": [
{
"name": "bacon/bacon-qr-code",
@@ -167,20 +167,20 @@
},
{
"name": "cakephp/core",
"version": "5.1.6",
"version": "5.2.0",
"source": {
"type": "git",
"url": "https://github.com/cakephp/core.git",
"reference": "a444d4e993b40da3bc53fccb669b3937b11911be"
"reference": "3c363b20b52af996e535bf24b85fee77c110a50d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cakephp/core/zipball/a444d4e993b40da3bc53fccb669b3937b11911be",
"reference": "a444d4e993b40da3bc53fccb669b3937b11911be",
"url": "https://api.github.com/repos/cakephp/core/zipball/3c363b20b52af996e535bf24b85fee77c110a50d",
"reference": "3c363b20b52af996e535bf24b85fee77c110a50d",
"shasum": ""
},
"require": {
"cakephp/utility": "^5.1",
"cakephp/utility": "5.2.*@dev",
"league/container": "^4.2",
"php": ">=8.1",
"psr/container": "^1.1 || ^2.0"
@@ -194,6 +194,11 @@
"league/container": "To use Container and ServiceProvider classes"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-5.next": "5.2.x-dev"
}
},
"autoload": {
"files": [
"functions.php"
@@ -225,38 +230,43 @@
"issues": "https://github.com/cakephp/cakephp/issues",
"source": "https://github.com/cakephp/core"
},
"time": "2025-01-30T19:58:11+00:00"
"time": "2025-01-31T16:36:33+00:00"
},
{
"name": "cakephp/database",
"version": "5.1.6",
"version": "5.2.0",
"source": {
"type": "git",
"url": "https://github.com/cakephp/database.git",
"reference": "004d1050f6017809cc83fe7c7aad833303a48327"
"reference": "b06cfc843898525ae8a1b17a3963d12d9cff8046"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cakephp/database/zipball/004d1050f6017809cc83fe7c7aad833303a48327",
"reference": "004d1050f6017809cc83fe7c7aad833303a48327",
"url": "https://api.github.com/repos/cakephp/database/zipball/b06cfc843898525ae8a1b17a3963d12d9cff8046",
"reference": "b06cfc843898525ae8a1b17a3963d12d9cff8046",
"shasum": ""
},
"require": {
"cakephp/chronos": "^3.1",
"cakephp/core": "^5.1",
"cakephp/datasource": "^5.1",
"cakephp/core": "5.2.*@dev",
"cakephp/datasource": "5.2.*@dev",
"php": ">=8.1",
"psr/log": "^3.0"
},
"require-dev": {
"cakephp/i18n": "^5.1",
"cakephp/log": "^5.1"
"cakephp/i18n": "5.2.*@dev",
"cakephp/log": "5.2.*@dev"
},
"suggest": {
"cakephp/i18n": "If you are using locale-aware datetime formats.",
"cakephp/log": "If you want to use query logging without providing a logger yourself."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-5.next": "5.2.x-dev"
}
},
"autoload": {
"psr-4": {
"Cake\\Database\\": "."
@@ -287,31 +297,31 @@
"issues": "https://github.com/cakephp/cakephp/issues",
"source": "https://github.com/cakephp/database"
},
"time": "2025-02-09T07:12:20+00:00"
"time": "2025-03-25T02:26:39+00:00"
},
{
"name": "cakephp/datasource",
"version": "5.1.6",
"version": "5.2.0",
"source": {
"type": "git",
"url": "https://github.com/cakephp/datasource.git",
"reference": "49c4e6864213b00ea3ce21874c6a5cfbfb3c8556"
"reference": "fcba5eccaa045a55b01d6481ce7d563ebda9e567"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cakephp/datasource/zipball/49c4e6864213b00ea3ce21874c6a5cfbfb3c8556",
"reference": "49c4e6864213b00ea3ce21874c6a5cfbfb3c8556",
"url": "https://api.github.com/repos/cakephp/datasource/zipball/fcba5eccaa045a55b01d6481ce7d563ebda9e567",
"reference": "fcba5eccaa045a55b01d6481ce7d563ebda9e567",
"shasum": ""
},
"require": {
"cakephp/core": "^5.1",
"cakephp/core": "5.2.*@dev",
"php": ">=8.1",
"psr/simple-cache": "^2.0 || ^3.0"
},
"require-dev": {
"cakephp/cache": "^5.1",
"cakephp/collection": "^5.1",
"cakephp/utility": "^5.1"
"cakephp/cache": "5.2.*@dev",
"cakephp/collection": "5.2.*@dev",
"cakephp/utility": "5.2.*@dev"
},
"suggest": {
"cakephp/cache": "If you decide to use Query caching.",
@@ -319,6 +329,11 @@
"cakephp/utility": "If you decide to use EntityTrait."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-5.next": "5.2.x-dev"
}
},
"autoload": {
"psr-4": {
"Cake\\Datasource\\": "."
@@ -349,24 +364,24 @@
"issues": "https://github.com/cakephp/cakephp/issues",
"source": "https://github.com/cakephp/datasource"
},
"time": "2025-02-04T02:45:22+00:00"
"time": "2025-03-21T17:20:29+00:00"
},
{
"name": "cakephp/utility",
"version": "5.1.6",
"version": "5.2.0",
"source": {
"type": "git",
"url": "https://github.com/cakephp/utility.git",
"reference": "7fd683a85971f7d0b39d446b7265c301050f91c1"
"reference": "23914ff52d70671d696b019c34fe82503231dcf5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cakephp/utility/zipball/7fd683a85971f7d0b39d446b7265c301050f91c1",
"reference": "7fd683a85971f7d0b39d446b7265c301050f91c1",
"url": "https://api.github.com/repos/cakephp/utility/zipball/23914ff52d70671d696b019c34fe82503231dcf5",
"reference": "23914ff52d70671d696b019c34fe82503231dcf5",
"shasum": ""
},
"require": {
"cakephp/core": "^5.1",
"cakephp/core": "5.2.*@dev",
"php": ">=8.1"
},
"suggest": {
@@ -374,6 +389,11 @@
"lib-ICU": "To use Text::transliterate() or Text::slug()"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-5.next": "5.2.x-dev"
}
},
"autoload": {
"files": [
"bootstrap.php"
@@ -408,7 +428,7 @@
"issues": "https://github.com/cakephp/cakephp/issues",
"source": "https://github.com/cakephp/utility"
},
"time": "2025-01-11T17:40:02+00:00"
"time": "2025-03-21T17:20:29+00:00"
},
{
"name": "composer/semver",
@@ -1969,16 +1989,16 @@
},
{
"name": "symfony/console",
"version": "v7.2.1",
"version": "v7.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3"
"reference": "e51498ea18570c062e7df29d05a7003585b19b88"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/fefcc18c0f5d0efe3ab3152f15857298868dc2c3",
"reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3",
"url": "https://api.github.com/repos/symfony/console/zipball/e51498ea18570c062e7df29d05a7003585b19b88",
"reference": "e51498ea18570c062e7df29d05a7003585b19b88",
"shasum": ""
},
"require": {
@@ -2042,7 +2062,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v7.2.1"
"source": "https://github.com/symfony/console/tree/v7.2.5"
},
"funding": [
{
@@ -2058,7 +2078,7 @@
"type": "tidelift"
}
],
"time": "2024-12-11T03:49:26+00:00"
"time": "2025-03-12T08:11:12+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -2513,16 +2533,16 @@
},
{
"name": "symfony/process",
"version": "v7.2.4",
"version": "v7.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "d8f411ff3c7ddc4ae9166fb388d1190a2df5b5cf"
"reference": "87b7c93e57df9d8e39a093d32587702380ff045d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/d8f411ff3c7ddc4ae9166fb388d1190a2df5b5cf",
"reference": "d8f411ff3c7ddc4ae9166fb388d1190a2df5b5cf",
"url": "https://api.github.com/repos/symfony/process/zipball/87b7c93e57df9d8e39a093d32587702380ff045d",
"reference": "87b7c93e57df9d8e39a093d32587702380ff045d",
"shasum": ""
},
"require": {
@@ -2554,7 +2574,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v7.2.4"
"source": "https://github.com/symfony/process/tree/v7.2.5"
},
"funding": [
{
@@ -2570,7 +2590,7 @@
"type": "tidelift"
}
],
"time": "2025-02-05T08:33:46+00:00"
"time": "2025-03-13T12:21:46+00:00"
},
{
"name": "symfony/service-contracts",
@@ -2744,16 +2764,16 @@
},
{
"name": "symfony/yaml",
"version": "v7.2.3",
"version": "v7.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "ac238f173df0c9c1120f862d0f599e17535a87ec"
"reference": "4c4b6f4cfcd7e52053f0c8bfad0f7f30fb924912"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/ac238f173df0c9c1120f862d0f599e17535a87ec",
"reference": "ac238f173df0c9c1120f862d0f599e17535a87ec",
"url": "https://api.github.com/repos/symfony/yaml/zipball/4c4b6f4cfcd7e52053f0c8bfad0f7f30fb924912",
"reference": "4c4b6f4cfcd7e52053f0c8bfad0f7f30fb924912",
"shasum": ""
},
"require": {
@@ -2796,7 +2816,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/yaml/tree/v7.2.3"
"source": "https://github.com/symfony/yaml/tree/v7.2.5"
},
"funding": [
{
@@ -2812,7 +2832,7 @@
"type": "tidelift"
}
],
"time": "2025-01-07T12:55:42+00:00"
"time": "2025-03-03T07:12:39+00:00"
},
{
"name": "twig/twig",
@@ -3487,16 +3507,16 @@
},
{
"name": "phpstan/phpstan",
"version": "1.12.21",
"version": "1.12.23",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "14276fdef70575106a3392a4ed553c06a984df28"
"reference": "29201e7a743a6ab36f91394eab51889a82631428"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/14276fdef70575106a3392a4ed553c06a984df28",
"reference": "14276fdef70575106a3392a4ed553c06a984df28",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/29201e7a743a6ab36f91394eab51889a82631428",
"reference": "29201e7a743a6ab36f91394eab51889a82631428",
"shasum": ""
},
"require": {
@@ -3541,7 +3561,7 @@
"type": "github"
}
],
"time": "2025-03-09T09:24:50+00:00"
"time": "2025-03-23T14:57:32+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -3930,16 +3950,16 @@
},
{
"name": "phpunit/phpunit",
"version": "11.5.12",
"version": "11.5.15",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "d42785840519401ed2113292263795eb4c0f95da"
"reference": "4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d42785840519401ed2113292263795eb4c0f95da",
"reference": "d42785840519401ed2113292263795eb4c0f95da",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c",
"reference": "4b6a4ee654e5e0c5e1f17e2f83c0f4c91dee1f9c",
"shasum": ""
},
"require": {
@@ -3959,14 +3979,14 @@
"phpunit/php-text-template": "^4.0.1",
"phpunit/php-timer": "^7.0.1",
"sebastian/cli-parser": "^3.0.2",
"sebastian/code-unit": "^3.0.2",
"sebastian/code-unit": "^3.0.3",
"sebastian/comparator": "^6.3.1",
"sebastian/diff": "^6.0.2",
"sebastian/environment": "^7.2.0",
"sebastian/exporter": "^6.3.0",
"sebastian/global-state": "^7.0.2",
"sebastian/object-enumerator": "^6.0.1",
"sebastian/type": "^5.1.0",
"sebastian/type": "^5.1.2",
"sebastian/version": "^5.0.2",
"staabm/side-effects-detector": "^1.0.5"
},
@@ -4011,7 +4031,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.12"
"source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.15"
},
"funding": [
{
@@ -4027,7 +4047,7 @@
"type": "tidelift"
}
],
"time": "2025-03-07T07:31:03+00:00"
"time": "2025-03-23T16:02:11+00:00"
},
{
"name": "rector/rector",
@@ -4147,16 +4167,16 @@
},
{
"name": "sebastian/code-unit",
"version": "3.0.2",
"version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
"reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca"
"reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
"reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64",
"reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64",
"shasum": ""
},
"require": {
@@ -4192,7 +4212,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit/issues",
"security": "https://github.com/sebastianbergmann/code-unit/security/policy",
"source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.2"
"source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3"
},
"funding": [
{
@@ -4200,7 +4220,7 @@
"type": "github"
}
],
"time": "2024-12-12T09:59:06+00:00"
"time": "2025-03-19T07:56:08+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@@ -4905,16 +4925,16 @@
},
{
"name": "sebastian/type",
"version": "5.1.0",
"version": "5.1.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac"
"reference": "a8a7e30534b0eb0c77cd9d07e82de1a114389f5e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac",
"reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/a8a7e30534b0eb0c77cd9d07e82de1a114389f5e",
"reference": "a8a7e30534b0eb0c77cd9d07e82de1a114389f5e",
"shasum": ""
},
"require": {
@@ -4950,7 +4970,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"security": "https://github.com/sebastianbergmann/type/security/policy",
"source": "https://github.com/sebastianbergmann/type/tree/5.1.0"
"source": "https://github.com/sebastianbergmann/type/tree/5.1.2"
},
"funding": [
{
@@ -4958,7 +4978,7 @@
"type": "github"
}
],
"time": "2024-09-17T13:12:04+00:00"
"time": "2025-03-18T13:35:50+00:00"
},
{
"name": "sebastian/version",
@@ -5016,16 +5036,16 @@
},
{
"name": "squizlabs/php_codesniffer",
"version": "3.11.3",
"version": "3.12.1",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
"reference": "ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10"
"reference": "ea16a1f3719783345febd3aab41beb55c8c84bfd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10",
"reference": "ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10",
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ea16a1f3719783345febd3aab41beb55c8c84bfd",
"reference": "ea16a1f3719783345febd3aab41beb55c8c84bfd",
"shasum": ""
},
"require": {
@@ -5092,11 +5112,11 @@
"type": "open_collective"
},
{
"url": "https://thanks.dev/phpcsstandards",
"url": "https://thanks.dev/u/gh/phpcsstandards",
"type": "thanks_dev"
}
],
"time": "2025-01-23T17:04:15+00:00"
"time": "2025-04-04T12:57:55+00:00"
},
{
"name": "staabm/side-effects-detector",
@@ -5152,16 +5172,16 @@
},
{
"name": "symfony/dependency-injection",
"version": "v7.2.4",
"version": "v7.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
"reference": "f0a1614cccb4b8431a97076f9debc08ddca321ca"
"reference": "58ab71379f14a741755717cece2868bf41ed45d8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f0a1614cccb4b8431a97076f9debc08ddca321ca",
"reference": "f0a1614cccb4b8431a97076f9debc08ddca321ca",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/58ab71379f14a741755717cece2868bf41ed45d8",
"reference": "58ab71379f14a741755717cece2868bf41ed45d8",
"shasum": ""
},
"require": {
@@ -5169,7 +5189,7 @@
"psr/container": "^1.1|^2.0",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/service-contracts": "^3.5",
"symfony/var-exporter": "^6.4|^7.0"
"symfony/var-exporter": "^6.4.20|^7.2.5"
},
"conflict": {
"ext-psr": "<1.1|>=2",
@@ -5212,7 +5232,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/dependency-injection/tree/v7.2.4"
"source": "https://github.com/symfony/dependency-injection/tree/v7.2.5"
},
"funding": [
{
@@ -5228,20 +5248,20 @@
"type": "tidelift"
}
],
"time": "2025-02-21T09:47:16+00:00"
"time": "2025-03-13T12:21:46+00:00"
},
{
"name": "symfony/var-exporter",
"version": "v7.2.4",
"version": "v7.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
"reference": "4ede73aa7a73d81506002d2caadbbdad1ef5b69a"
"reference": "c37b301818bd7288715d40de634f05781b686ace"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/4ede73aa7a73d81506002d2caadbbdad1ef5b69a",
"reference": "4ede73aa7a73d81506002d2caadbbdad1ef5b69a",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/c37b301818bd7288715d40de634f05781b686ace",
"reference": "c37b301818bd7288715d40de634f05781b686ace",
"shasum": ""
},
"require": {
@@ -5288,7 +5308,7 @@
"serialize"
],
"support": {
"source": "https://github.com/symfony/var-exporter/tree/v7.2.4"
"source": "https://github.com/symfony/var-exporter/tree/v7.2.5"
},
"funding": [
{
@@ -5304,7 +5324,7 @@
"type": "tidelift"
}
],
"time": "2025-02-13T10:27:23+00:00"
"time": "2025-03-13T12:21:46+00:00"
},
{
"name": "theseer/tokenizer",

View File

@@ -7,7 +7,8 @@ export npm_config_cache
bin/config-css /tmp/config-css.js
npm install
npm install -g npm@11.2.0
npm install sass
npx update-browserslist-db@latest
npx puppeteer browsers install chrome
npm run build

View File

@@ -14,7 +14,8 @@ if [ ! -e .docker-init-done ] ; then
bin/local-patch
echo "Installing node, go grab a coffee"
bin/config-css /tmp/config-css.js
npm install
npm install -g npm@11.2.0
npm install cypress
npx update-browserslist-db@latest
npx puppeteer browsers install chrome
bin/config-css /tmp/config-css.js

View File

@@ -4,6 +4,6 @@ xdebug.remote_handler="dbgp"
xdebug.mode=develop
xdebug.discover_client_host=On
xdebug.log=/var/log/xdebug.log
xdebug.force_display_errors=1
xdebug.show_error_trace=1
xdebug.show_exception_trace=1
xdebug.force_display_errors=0
xdebug.show_error_trace=0
xdebug.show_exception_trace=0

View File

@@ -1,19 +1,19 @@
FROM debian:bookworm-slim
WORKDIR /var/www
ENV DEB_RELEASE=bookworm
ENV DEBIAN_FRONTEND=noninteractive
ENV PHP_VER=8.4
ENV NODE_VERSION=20
# commit of composer 2.8.6
ENV COMPOSER_COMMIT=51c25eb405dc44528575cb36aea4aeec31c4bf15
# commit of composer 2.8.8
ENV COMPOSER_COMMIT=f3108f64b4e1c1ce6eb462b159956461592b3e3e
# Uncomment to skip the chromium download when installing puppeteer. If you do,
# you'll need to launch puppeteer with:
# browser.launch({executablePath: 'google-chrome-unstable'})
# ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
WORKDIR /var/www
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-transport-https \
@@ -57,6 +57,7 @@ RUN apt-get update \
unzip \
zlib1g-dev \
# This installs the necessary packages to run the bundled version of chromium for puppeteer
fonts-liberation \
gconf-service \
libasound2 \
libatk1.0-0 \
@@ -72,6 +73,7 @@ RUN apt-get update \
libglib2.0-0 \
libgtk-3-0 \
libnspr4 \
libnss3 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libstdc++6 \
@@ -88,8 +90,6 @@ RUN apt-get update \
libxrender1 \
libxss1 \
libxtst6 \
fonts-liberation \
libnss3 \
lsb-release \
xdg-utils \
&& apt-get autoremove \
@@ -108,20 +108,14 @@ RUN apt-get update \
RUN echo "deb http://deb.debian.org/debian ${DEB_RELEASE}-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
postgresql-client \
default-mysql-client \
libmemcached-tools \
postgresql-client \
sphinxsearch \
# all below is needed until running cypress headless/electron-less is fixed: https://github.com/cypress-io/cypress/issues/23636
libgtk2.0-0 \
libgtk-3-0 \
libnotify-dev \
libgconf-2-4 \
libgbm-dev \
libnss3 \
libxss1 \
libasound2 \
libxtst6 \
procps \
xvfb \
&& apt-get autoremove \

View File

@@ -22,8 +22,6 @@ parameters:
reportStaticMethodSignatures: true
reportWrongPhpDocTypeInVarTag: true
errorFormat: table
stubFiles:
- ../lib/stub/memcached.stub
bootstrapFiles:
- ../lib/config.php
scanFiles:

View File

@@ -22,9 +22,4 @@
</include>
<exclude/>
</source>
<php>
<ini name="xdebug.force_display_errors" value="0" />
<ini name="xdebug.show_exception_trace" value="0" />
<ini name="xdebug.show_error_trace" value="0" />
</php>
</phpunit>

View File

@@ -1,2 +0,0 @@
#!/bin/bash
bin/lint-staged

14
package-lock.json generated
View File

@@ -17,7 +17,7 @@
"devDependencies": {
"@eslint/js": "^9.14",
"@stylistic/eslint-plugin-js": "^2.10",
"cypress": "^13.15",
"cypress": "^13.17.0",
"cypress-terminal-report": "^7.0.4",
"eslint": "^9.14",
"globals": "^15.12",
@@ -1469,9 +1469,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001701",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz",
"integrity": "sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==",
"version": "1.0.30001712",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001712.tgz",
"integrity": "sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==",
"dev": true,
"funding": [
{
@@ -1841,9 +1841,9 @@
}
},
"node_modules/cypress": {
"version": "13.15.2",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.2.tgz",
"integrity": "sha512-ARbnUorjcCM3XiPwgHKuqsyr5W9Qn+pIIBPaoilnoBkLdSC2oLQjV1BUpnmc7KR+b7Avah3Ly2RMFnfxr96E/A==",
"version": "13.17.0",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-13.17.0.tgz",
"integrity": "sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",

View File

@@ -12,24 +12,24 @@
},
"license": "Unlicense",
"devDependencies": {
"@eslint/js": "^9.14",
"@stylistic/eslint-plugin-js": "^2.10",
"cypress": "^13.15",
"cypress-terminal-report": "^7.0.4",
"eslint": "^9.14",
"@eslint/js": "^9.24",
"@stylistic/eslint-plugin-js": "^4.2",
"cypress": "^13.17",
"cypress-terminal-report": "^7.1.0",
"eslint": "^9.24",
"globals": "^15.12",
"stylelint": "^16.9",
"stylelint": "^16.18",
"stylelint-checkstyle-formatter": "^0.1.2",
"stylelint-config-recommended": "^14.0.1",
"stylelint-config-standard": "^36.0.1",
"stylelint-scss": "^6.9",
"update-browserslist-db": "1.1.1"
"stylelint-scss": "^6.11.1",
"update-browserslist-db": "1.1"
},
"dependencies": {
"cross-env": "^7.0",
"puppeteer": "^23.8",
"sass": "^1.80.7",
"sharp": "^0.33.5"
"puppeteer": "^24.6",
"sass": "^1.86",
"sharp": "^0.34"
},
"browserslist": [
"last 3 versions",

View File

@@ -24,6 +24,8 @@
// -- This will overwrite an existing command --
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
/* global Cypress, cy */
const date = new Date();
const footer = `Site and design © ${date.getFullYear()} Gazelle`;
@@ -38,6 +40,9 @@ Cypress.Commands.add('login', (username, password) => {
})
})
// When running Cypress tests locally, change the following login calls
// to users that exist in your environment.
Cypress.Commands.add('loginAdmin', () => {
cy.login('admin', 'password');
})