diff --git a/.dockerignore b/.dockerignore index aa2ce42..9a16601 100644 --- a/.dockerignore +++ b/.dockerignore @@ -20,17 +20,12 @@ docker/minio_storage docker/postgres-data !docker/conf -storage/h5p/temp .env.local.testing /coverage -storage/h5p/libraries/** -storage/h5p/editor/images/** +storage +storage/**/* -storage/h5p/cachedassets/* -storage/h5p/editor/** -storage/scorm/** -storage/imgcache escolasoft/**/vendor .DS_Store @@ -45,7 +40,6 @@ bootstrap/cache/**/* /public/scorm/** -storage/api-docs/api-docs.json #composer.lock yarn.lock @@ -61,4 +55,7 @@ tests/badge.svg tests/coverage.xml tests/coverage.txt -caddy \ No newline at end of file +caddy + +.git +docs \ No newline at end of file diff --git a/.github/workflows/phpunit-tests.yml b/.github/workflows/phpunit-tests.yml index b22e0a4..55a5566 100644 --- a/.github/workflows/phpunit-tests.yml +++ b/.github/workflows/phpunit-tests.yml @@ -1,20 +1,123 @@ on: push name: Integration Tests jobs: - phpunit-mysql-php81: + # phpunit-mysql-php81: + # runs-on: ubuntu-latest + # container: + # image: escolalms/php:8.1-work + + # services: + # mysql: + # image: mariadb:10.5 + # env: + # MYSQL_ROOT_PASSWORD: password + # MYSQL_DATABASE: test + # ports: + # - 33306:3306 + # options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + + # steps: + # - uses: actions/checkout@v2 + # with: + # fetch-depth: 1 + + # - name: Copy environment configuration files + # run: | + # cp docker/envs/.env.ci.mysql .env + # cp docker/envs/.env.ci.mysql .env.testing + # cp docker/envs/phpunit.xml.mysql phpunit.xml + + # - name: Update composer + # run: | + # apt-get install unzip -y + # composer self-update + # rm composer.lock # lock is for php >=8.2 + # composer install --no-scripts + + # - name: Prepare Laravel Application + # run: | + # php artisan key:generate + # php artisan migrate:fresh + # php artisan db:seed --class="Database\Seeders\PermissionsSeeder" + # php artisan passport:keys --force + # php artisan passport:client --personal --no-interaction + # cp storage/oauth-private.key vendor/orchestra/testbench-core/laravel/storage/oauth-private.key + # cp storage/oauth-public.key vendor/orchestra/testbench-core/laravel/storage/oauth-public.key + # mkdir vendor/escolalms/lrs/src/../../storage/ + # cp storage/*.key vendor/escolalms/lrs/src/../../storage/ + + # - name: Special Migrations for Tests + # run: php artisan migrate --path=vendor/escolalms/courses/tests/Database/Migrations + + # - name: Run Testsuite + # run: vendor/bin/phpunit + + # phpunit-postgres-php81: + # runs-on: ubuntu-latest + # container: + # image: escolalms/php:8.1-work + + # services: + # postgres: + # image: postgres:12 + # env: + # POSTGRES_USER: postgres + # POSTGRES_PASSWORD: postgres + # POSTGRES_DB: test + # TZ: Europe/Warsaw + # ports: + # - 5432:5432 + + # steps: + # - uses: actions/checkout@v2 + # with: + # fetch-depth: 1 + + # - name: Copy environment configuration files + # run: | + # cp docker/envs/.env.ci.postgres .env + # cp docker/envs/phpunit.xml.postgres phpunit.xml + + # - name: Update composer + # run: | + # apt-get install git unzip -y + # composer self-update + # rm composer.lock # lock is for php >=8.2 + # composer install --no-scripts + + # - name: Prepare Laravel Application + # run: | + # php artisan key:generate + # php artisan migrate:fresh + # php artisan db:seed --class="Database\Seeders\PermissionsSeeder" + # php artisan passport:keys --force + # php artisan passport:client --personal --no-interaction + # cp storage/oauth-private.key vendor/orchestra/testbench-core/laravel/storage/oauth-private.key + # cp storage/oauth-public.key vendor/orchestra/testbench-core/laravel/storage/oauth-public.key + # mkdir vendor/escolalms/lrs/src/../../storage/ + # cp storage/*.key vendor/escolalms/lrs/src/../../storage/ + + # - name: Special Migrations for Tests + # run: php artisan migrate --path=vendor/escolalms/courses/tests/Database/Migrations + + # - name: Run Testsuite + # run: vendor/bin/phpunit + + phpunit-postgres-php82: runs-on: ubuntu-latest container: - image: escolalms/php:8.1-work + image: escolalms/php:8.2-work services: - mysql: - image: mariadb:10.5 + postgres: + image: postgres:12 env: - MYSQL_ROOT_PASSWORD: password - MYSQL_DATABASE: test + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: test + TZ: Europe/Warsaw ports: - - 33306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + - 5432:5432 steps: - uses: actions/checkout@v2 @@ -23,16 +126,14 @@ jobs: - name: Copy environment configuration files run: | - cp docker/envs/.env.ci.mysql .env - cp docker/envs/.env.ci.mysql .env.testing - cp docker/envs/phpunit.xml.mysql phpunit.xml + cp docker/envs/.env.ci.postgres .env + cp docker/envs/phpunit.xml.postgres phpunit.xml - name: Update composer run: | - apt-get install unzip -y + apt-get install git unzip -y composer self-update - rm composer.lock # lock is for php >=8.2 - composer install --no-scripts + composer update --no-scripts - name: Prepare Laravel Application run: | @@ -52,10 +153,10 @@ jobs: - name: Run Testsuite run: vendor/bin/phpunit - phpunit-postgres-php81: + phpunit-postgres-php83: runs-on: ubuntu-latest container: - image: escolalms/php:8.1-work + image: escolalms/php:8.3-alpine services: postgres: @@ -80,10 +181,9 @@ jobs: - name: Update composer run: | - apt-get install git unzip -y + #apt-get install git unzip -y composer self-update - rm composer.lock # lock is for php >=8.2 - composer install --no-scripts + composer update --no-scripts - name: Prepare Laravel Application run: | @@ -103,10 +203,10 @@ jobs: - name: Run Testsuite run: vendor/bin/phpunit - phpunit-postgres-php82: + phpunit-postgres-php84: runs-on: ubuntu-latest container: - image: escolalms/php:8.2-work + image: escolalms/php:8.4-alpine services: postgres: @@ -131,7 +231,7 @@ jobs: - name: Update composer run: | - apt-get install git unzip -y + #apt-get install git unzip -y composer self-update composer update --no-scripts diff --git a/Dockerfile b/Dockerfile index a192869..6575b53 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,12 @@ -FROM escolalms/php:8.2-prod +FROM escolalms/php:8.3-alpine WORKDIR /var/www/html -EXPOSE 80 +EXPOSE 9000 COPY / /var/www/html -RUN pecl install excimer RUN \ - # general supervisord settings - cp docker/conf/supervisor/supervisord.conf /etc/supervisor/supervisord.conf \ - # supervisord services - # && cp -r docker/conf/supervisor/services/* /etc/supervisor/custom.d \ - # devilbox php.ini./ TODO this should be rather send to different custom file - && cp docker/conf/php/xxx-devilbox-default-php.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini \ - # overwrite some php-fpm settings + cp docker/conf/supervisor/supervisord.conf /etc/supervisord.conf \ + && cp docker/conf/php/xxx-devilbox-default-php.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini \ && cp docker/conf/php/php-fpm-custom.conf /usr/local/etc/php-fpm.d/php-fpm-custom.conf -RUN composer self-update && composer install --no-scripts -RUN chown -R devilbox:devilbox /var/www/ +RUN composer install --no-scripts CMD /var/www/html/init.sh diff --git a/Dockerfile.develop b/Dockerfile.develop index 4e640f1..6575b53 100644 --- a/Dockerfile.develop +++ b/Dockerfile.develop @@ -1,17 +1,13 @@ -FROM escolalms/php:8.2-work +FROM escolalms/php:8.3-alpine WORKDIR /var/www/html +EXPOSE 9000 COPY / /var/www/html -RUN pecl install excimer -RUN cp docker/conf/supervisor/supervisord.conf /etc/supervisor/supervisord.conf \ - # supervisord services - # && cp -r docker/conf/supervisor/services/* /etc/supervisor/custom.d \ - # devilbox php.ini./ TODO this should be rather send to different custom file - && cp docker/conf/php/xxx-devilbox-default-php.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini \ - # overwrite some php-fpm settings +RUN \ + cp docker/conf/supervisor/supervisord.conf /etc/supervisord.conf \ + && cp docker/conf/php/xxx-devilbox-default-php.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini \ && cp docker/conf/php/php-fpm-custom.conf /usr/local/etc/php-fpm.d/php-fpm-custom.conf -RUN composer self-update && composer install --no-scripts -RUN chown -R devilbox:devilbox /var/www/ +RUN composer install --no-scripts CMD /var/www/html/init.sh -HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=5 CMD [ "php", "artisan", "health:check" ] \ No newline at end of file +HEALTHCHECK --interval=30s --timeout=30s --start-period=10s --retries=5 CMD [ "php", "artisan", "health:check" ] \ No newline at end of file diff --git a/composer.lock b/composer.lock index f5a2068..c651644 100644 --- a/composer.lock +++ b/composer.lock @@ -62,16 +62,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.334.7", + "version": "3.336.11", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "8e0104e95a1edba209e077e6c4212b8cca04686f" + "reference": "442039c766a82f06ecfecb0ac2c610d6aaba228d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8e0104e95a1edba209e077e6c4212b8cca04686f", - "reference": "8e0104e95a1edba209e077e6c4212b8cca04686f", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/442039c766a82f06ecfecb0ac2c610d6aaba228d", + "reference": "442039c766a82f06ecfecb0ac2c610d6aaba228d", "shasum": "" }, "require": { @@ -154,9 +154,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.334.7" + "source": "https://github.com/aws/aws-sdk-php/tree/3.336.11" }, - "time": "2024-12-16T19:09:36+00:00" + "time": "2025-01-08T19:06:59+00:00" }, { "name": "barryvdh/laravel-dompdf", @@ -468,16 +468,16 @@ }, { "name": "beste/json", - "version": "1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/beste/json.git", - "reference": "3ed7d6be039617e5ea63a835a792a811c7fba0ff" + "reference": "0e9a0dc74fa6d1bb4f9883ef64fa9f36b7b6b934" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/beste/json/zipball/3ed7d6be039617e5ea63a835a792a811c7fba0ff", - "reference": "3ed7d6be039617e5ea63a835a792a811c7fba0ff", + "url": "https://api.github.com/repos/beste/json/zipball/0e9a0dc74fa6d1bb4f9883ef64fa9f36b7b6b934", + "reference": "0e9a0dc74fa6d1bb4f9883ef64fa9f36b7b6b934", "shasum": "" }, "require": { @@ -486,11 +486,11 @@ }, "require-dev": { "phpstan/extension-installer": "^1.3", - "phpstan/phpstan": "^1.10", - "phpstan/phpstan-phpunit": "^1.3", - "phpstan/phpstan-strict-rules": "^1.5", + "phpstan/phpstan": "^2.0.4", + "phpstan/phpstan-phpunit": "^2.0.2", + "phpstan/phpstan-strict-rules": "^2.0.1", "phpunit/phpunit": "^10.4.2", - "rector/rector": "^0.18.10" + "rector/rector": "^2.0.3" }, "type": "library", "autoload": { @@ -515,7 +515,7 @@ ], "support": { "issues": "https://github.com/beste/json/issues", - "source": "https://github.com/beste/json/tree/1.5.0" + "source": "https://github.com/beste/json/tree/1.5.1" }, "funding": [ { @@ -527,7 +527,7 @@ "type": "tidelift" } ], - "time": "2024-08-16T22:44:02+00:00" + "time": "2024-12-19T09:35:08+00:00" }, { "name": "brick/math", @@ -721,16 +721,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.5.4", + "version": "1.5.5", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "bc0593537a463e55cadf45fd938d23b75095b7e1" + "reference": "08c50d5ec4c6ced7d0271d2862dec8c1033283e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/bc0593537a463e55cadf45fd938d23b75095b7e1", - "reference": "bc0593537a463e55cadf45fd938d23b75095b7e1", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/08c50d5ec4c6ced7d0271d2862dec8c1033283e6", + "reference": "08c50d5ec4c6ced7d0271d2862dec8c1033283e6", "shasum": "" }, "require": { @@ -777,7 +777,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.4" + "source": "https://github.com/composer/ca-bundle/tree/1.5.5" }, "funding": [ { @@ -793,7 +793,7 @@ "type": "tidelift" } ], - "time": "2024-11-27T15:35:25+00:00" + "time": "2025-01-08T16:17:16+00:00" }, { "name": "composer/class-map-generator", @@ -1078,13 +1078,13 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - }, "phpstan": { "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-main": "3.x-dev" } }, "autoload": { @@ -1389,12 +1389,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "L5Swagger\\L5SwaggerServiceProvider" - ], "aliases": { "L5Swagger": "L5Swagger\\L5SwaggerFacade" - } + }, + "providers": [ + "L5Swagger\\L5SwaggerServiceProvider" + ] } }, "autoload": { @@ -1907,20 +1907,20 @@ }, { "name": "doctrine/common", - "version": "3.4.5", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "6c8fef961f67b8bc802ce3e32e3ebd1022907286" + "reference": "d9ea4a54ca2586db781f0265d36bea731ac66ec5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/6c8fef961f67b8bc802ce3e32e3ebd1022907286", - "reference": "6c8fef961f67b8bc802ce3e32e3ebd1022907286", + "url": "https://api.github.com/repos/doctrine/common/zipball/d9ea4a54ca2586db781f0265d36bea731ac66ec5", + "reference": "d9ea4a54ca2586db781f0265d36bea731ac66ec5", "shasum": "" }, "require": { - "doctrine/persistence": "^2.0 || ^3.0", + "doctrine/persistence": "^2.0 || ^3.0 || ^4.0", "php": "^7.1 || ^8.0" }, "require-dev": { @@ -1978,7 +1978,7 @@ ], "support": { "issues": "https://github.com/doctrine/common/issues", - "source": "https://github.com/doctrine/common/tree/3.4.5" + "source": "https://github.com/doctrine/common/tree/3.5.0" }, "funding": [ { @@ -1994,7 +1994,7 @@ "type": "tidelift" } ], - "time": "2024-10-08T15:53:43+00:00" + "time": "2025-01-01T22:12:03+00:00" }, { "name": "doctrine/dbal", @@ -2415,21 +2415,21 @@ }, { "name": "doctrine/persistence", - "version": "3.4.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/persistence.git", - "reference": "0ea965320cec355dba75031c1b23d4c78362e3ff" + "reference": "45004aca79189474f113cbe3a53847c2115a55fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/0ea965320cec355dba75031c1b23d4c78362e3ff", - "reference": "0ea965320cec355dba75031c1b23d4c78362e3ff", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/45004aca79189474f113cbe3a53847c2115a55fa", + "reference": "45004aca79189474f113cbe3a53847c2115a55fa", "shasum": "" }, "require": { "doctrine/event-manager": "^1 || ^2", - "php": "^7.2 || ^8.0", + "php": "^8.1", "psr/cache": "^1.0 || ^2.0 || ^3.0" }, "conflict": { @@ -2437,11 +2437,10 @@ }, "require-dev": { "doctrine/coding-standard": "^12", - "doctrine/common": "^3.0", "phpstan/phpstan": "1.12.7", "phpstan/phpstan-phpunit": "^1", "phpstan/phpstan-strict-rules": "^1.1", - "phpunit/phpunit": "^8.5.38 || ^9.5", + "phpunit/phpunit": "^9.6", "symfony/cache": "^4.4 || ^5.4 || ^6.0 || ^7.0" }, "type": "library", @@ -2491,7 +2490,7 @@ ], "support": { "issues": "https://github.com/doctrine/persistence/issues", - "source": "https://github.com/doctrine/persistence/tree/3.4.0" + "source": "https://github.com/doctrine/persistence/tree/4.0.0" }, "funding": [ { @@ -2507,7 +2506,7 @@ "type": "tidelift" } ], - "time": "2024-10-30T19:48:12+00:00" + "time": "2024-11-01T21:49:07+00:00" }, { "name": "dompdf/dompdf", @@ -2638,16 +2637,16 @@ }, { "name": "egulias/email-validator", - "version": "4.0.2", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + "reference": "b115554301161fa21467629f1e1391c1936de517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b115554301161fa21467629f1e1391c1936de517", + "reference": "b115554301161fa21467629f1e1391c1936de517", "shasum": "" }, "require": { @@ -2693,7 +2692,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.3" }, "funding": [ { @@ -2701,7 +2700,7 @@ "type": "github" } ], - "time": "2023-10-06T06:47:41+00:00" + "time": "2024-12-27T00:36:43+00:00" }, { "name": "escolalms/assign-without-account", @@ -6435,16 +6434,16 @@ }, { "name": "google/apiclient-services", - "version": "v0.386.0", + "version": "v0.389.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client-services.git", - "reference": "cd08601dd729977f7198c72cd10d05901833bec0" + "reference": "6274e67ee52b1a416ccee0a4eaf337d1139cdaf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/cd08601dd729977f7198c72cd10d05901833bec0", - "reference": "cd08601dd729977f7198c72cd10d05901833bec0", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/6274e67ee52b1a416ccee0a4eaf337d1139cdaf8", + "reference": "6274e67ee52b1a416ccee0a4eaf337d1139cdaf8", "shasum": "" }, "require": { @@ -6473,9 +6472,9 @@ ], "support": { "issues": "https://github.com/googleapis/google-api-php-client-services/issues", - "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.386.0" + "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.389.0" }, - "time": "2024-12-16T01:04:20+00:00" + "time": "2025-01-05T01:04:21+00:00" }, { "name": "google/auth", @@ -6868,16 +6867,16 @@ }, { "name": "google/protobuf", - "version": "v4.29.1", + "version": "v4.29.3", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "6042b5483f8029e42473faeb8ef75ba266278381" + "reference": "ab5077c2cfdd1f415f42d11fdbdf903ba8e3d9b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/6042b5483f8029e42473faeb8ef75ba266278381", - "reference": "6042b5483f8029e42473faeb8ef75ba266278381", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/ab5077c2cfdd1f415f42d11fdbdf903ba8e3d9b7", + "reference": "ab5077c2cfdd1f415f42d11fdbdf903ba8e3d9b7", "shasum": "" }, "require": { @@ -6906,9 +6905,9 @@ "proto" ], "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.29.1" + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.29.3" }, - "time": "2024-12-03T22:07:45+00:00" + "time": "2025-01-08T21:00:13+00:00" }, { "name": "graham-campbell/result-type", @@ -7927,16 +7926,16 @@ }, { "name": "kreait/firebase-tokens", - "version": "5.2.0", + "version": "5.2.1", "source": { "type": "git", "url": "https://github.com/kreait/firebase-tokens-php.git", - "reference": "d62a4e9e521e246b6cc57742b71c8fdb6d401783" + "reference": "df6f9d153f3bbe671c3247576d2a45cbd0a79620" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kreait/firebase-tokens-php/zipball/d62a4e9e521e246b6cc57742b71c8fdb6d401783", - "reference": "d62a4e9e521e246b6cc57742b71c8fdb6d401783", + "url": "https://api.github.com/repos/kreait/firebase-tokens-php/zipball/df6f9d153f3bbe671c3247576d2a45cbd0a79620", + "reference": "df6f9d153f3bbe671c3247576d2a45cbd0a79620", "shasum": "" }, "require": { @@ -7989,7 +7988,7 @@ ], "support": { "issues": "https://github.com/kreait/firebase-tokens-php/issues", - "source": "https://github.com/kreait/firebase-tokens-php/tree/5.2.0" + "source": "https://github.com/kreait/firebase-tokens-php/tree/5.2.1" }, "funding": [ { @@ -7997,7 +7996,7 @@ "type": "github" } ], - "time": "2024-08-16T23:28:25+00:00" + "time": "2024-12-20T11:29:43+00:00" }, { "name": "kreait/laravel-firebase", @@ -8028,12 +8027,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Kreait\\Laravel\\Firebase\\ServiceProvider" - ], "aliases": { "Firebase": "Kreait\\Laravel\\Firebase\\Facades\\Firebase" - } + }, + "providers": [ + "Kreait\\Laravel\\Firebase\\ServiceProvider" + ] } }, "autoload": { @@ -8397,16 +8396,16 @@ }, { "name": "laravel/horizon", - "version": "v5.30.0", + "version": "v5.30.1", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "37d1f29daa7500fcd170d5c45b98b592fcaab95a" + "reference": "77177646679ef2f2acf71d4d4b16036d18002040" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/37d1f29daa7500fcd170d5c45b98b592fcaab95a", - "reference": "37d1f29daa7500fcd170d5c45b98b592fcaab95a", + "url": "https://api.github.com/repos/laravel/horizon/zipball/77177646679ef2f2acf71d4d4b16036d18002040", + "reference": "77177646679ef2f2acf71d4d4b16036d18002040", "shasum": "" }, "require": { @@ -8471,9 +8470,9 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.30.0" + "source": "https://github.com/laravel/horizon/tree/v5.30.1" }, - "time": "2024-12-06T18:58:00+00:00" + "time": "2024-12-13T14:08:51+00:00" }, { "name": "laravel/passport", @@ -8616,16 +8615,16 @@ }, { "name": "laravel/socialite", - "version": "v5.16.0", + "version": "v5.16.1", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", - "reference": "40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf" + "reference": "4e5be83c0b3ecf81b2ffa47092e917d1f79dce71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf", - "reference": "40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf", + "url": "https://api.github.com/repos/laravel/socialite/zipball/4e5be83c0b3ecf81b2ffa47092e917d1f79dce71", + "reference": "4e5be83c0b3ecf81b2ffa47092e917d1f79dce71", "shasum": "" }, "require": { @@ -8635,7 +8634,7 @@ "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", "illuminate/http": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "league/oauth1-client": "^1.10.1", + "league/oauth1-client": "^1.11", "php": "^7.2|^8.0", "phpseclib/phpseclib": "^3.0" }, @@ -8684,7 +8683,7 @@ "issues": "https://github.com/laravel/socialite/issues", "source": "https://github.com/laravel/socialite" }, - "time": "2024-09-03T09:46:57+00:00" + "time": "2024-12-11T16:43:51+00:00" }, { "name": "laravel/tinker", @@ -8957,16 +8956,16 @@ }, { "name": "league/commonmark", - "version": "2.6.0", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "d150f911e0079e90ae3c106734c93137c184f932" + "reference": "d990688c91cedfb69753ffc2512727ec646df2ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d150f911e0079e90ae3c106734c93137c184f932", - "reference": "d150f911e0079e90ae3c106734c93137c184f932", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d990688c91cedfb69753ffc2512727ec646df2ad", + "reference": "d990688c91cedfb69753ffc2512727ec646df2ad", "shasum": "" }, "require": { @@ -9060,7 +9059,7 @@ "type": "tidelift" } ], - "time": "2024-12-07T15:34:16+00:00" + "time": "2024-12-29T14:10:59+00:00" }, { "name": "league/config", @@ -9519,16 +9518,16 @@ }, { "name": "league/oauth2-server", - "version": "8.5.4", + "version": "8.5.5", "source": { "type": "git", "url": "https://github.com/thephpleague/oauth2-server.git", - "reference": "ab7714d073844497fd222d5d0a217629089936bc" + "reference": "cc8778350f905667e796b3c2364a9d3bd7a73518" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/ab7714d073844497fd222d5d0a217629089936bc", - "reference": "ab7714d073844497fd222d5d0a217629089936bc", + "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/cc8778350f905667e796b3c2364a9d3bd7a73518", + "reference": "cc8778350f905667e796b3c2364a9d3bd7a73518", "shasum": "" }, "require": { @@ -9595,7 +9594,7 @@ ], "support": { "issues": "https://github.com/thephpleague/oauth2-server/issues", - "source": "https://github.com/thephpleague/oauth2-server/tree/8.5.4" + "source": "https://github.com/thephpleague/oauth2-server/tree/8.5.5" }, "funding": [ { @@ -9603,7 +9602,7 @@ "type": "github" } ], - "time": "2023-08-25T22:35:12+00:00" + "time": "2024-12-20T23:06:10+00:00" }, { "name": "league/omnipay", @@ -9844,16 +9843,16 @@ }, { "name": "maatwebsite/excel", - "version": "3.1.61", + "version": "3.1.62", "source": { "type": "git", "url": "https://github.com/SpartnerNL/Laravel-Excel.git", - "reference": "62616317c5ec07e885c5d7f6b537f57a7239c2ff" + "reference": "decfb9140161fcc117571e47e35ddf27983189ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/62616317c5ec07e885c5d7f6b537f57a7239c2ff", - "reference": "62616317c5ec07e885c5d7f6b537f57a7239c2ff", + "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/decfb9140161fcc117571e47e35ddf27983189ce", + "reference": "decfb9140161fcc117571e47e35ddf27983189ce", "shasum": "" }, "require": { @@ -9861,7 +9860,7 @@ "ext-json": "*", "illuminate/support": "5.8.*||^6.0||^7.0||^8.0||^9.0||^10.0||^11.0", "php": "^7.0||^8.0", - "phpoffice/phpspreadsheet": "^1.29.4", + "phpoffice/phpspreadsheet": "^1.29.7", "psr/simple-cache": "^1.0||^2.0||^3.0" }, "require-dev": { @@ -9872,12 +9871,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Maatwebsite\\Excel\\ExcelServiceProvider" - ], "aliases": { "Excel": "Maatwebsite\\Excel\\Facades\\Excel" - } + }, + "providers": [ + "Maatwebsite\\Excel\\ExcelServiceProvider" + ] } }, "autoload": { @@ -9909,7 +9908,7 @@ ], "support": { "issues": "https://github.com/SpartnerNL/Laravel-Excel/issues", - "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.61" + "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.62" }, "funding": [ { @@ -9921,7 +9920,7 @@ "type": "github" } ], - "time": "2024-11-25T18:41:59+00:00" + "time": "2025-01-04T12:14:36+00:00" }, { "name": "maennchen/zipstream-php", @@ -10481,16 +10480,16 @@ }, { "name": "nesbot/carbon", - "version": "2.72.5", + "version": "2.72.6", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "1e9d50601e7035a4c61441a208cb5bed73e108c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/1e9d50601e7035a4c61441a208cb5bed73e108c5", + "reference": "1e9d50601e7035a4c61441a208cb5bed73e108c5", "shasum": "" }, "require": { @@ -10510,7 +10509,7 @@ "doctrine/orm": "^2.7 || ^3.0", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", + "ondrejmirtes/better-reflection": "<6", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12.99 || ^1.7.14", @@ -10523,10 +10522,6 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev" - }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -10536,6 +10531,10 @@ "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" } }, "autoload": { @@ -10584,7 +10583,7 @@ "type": "tidelift" } ], - "time": "2024-06-03T19:18:41+00:00" + "time": "2024-12-27T09:28:11+00:00" }, { "name": "nette/schema", @@ -10736,16 +10735,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.3.1", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" + "reference": "447a020a1f875a434d62f2a401f53b82a396e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494", "shasum": "" }, "require": { @@ -10788,9 +10787,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" }, - "time": "2024-10-08T18:51:32+00:00" + "time": "2024-12-30T11:07:19+00:00" }, { "name": "nunomaduro/termwind", @@ -11993,16 +11992,16 @@ }, { "name": "phpoffice/phpspreadsheet", - "version": "1.29.6", + "version": "1.29.7", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "08597725b84570cd6f32bf0ea92e75a803ef28c2" + "reference": "02c8625411dcb96e1f63d58c47460284e15b2e80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/08597725b84570cd6f32bf0ea92e75a803ef28c2", - "reference": "08597725b84570cd6f32bf0ea92e75a803ef28c2", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/02c8625411dcb96e1f63d58c47460284e15b2e80", + "reference": "02c8625411dcb96e1f63d58c47460284e15b2e80", "shasum": "" }, "require": { @@ -12092,9 +12091,9 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.6" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.7" }, - "time": "2024-12-08T05:49:00+00:00" + "time": "2024-12-27T05:10:37+00:00" }, { "name": "phpoption/phpoption", @@ -13737,16 +13736,16 @@ }, { "name": "sentry/sentry-laravel", - "version": "4.10.1", + "version": "4.10.2", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "1c007fb111ff00f02efba2aca022310dae412c3a" + "reference": "0e2e5bc4311da51349487afcf67b8fca937f6d94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/1c007fb111ff00f02efba2aca022310dae412c3a", - "reference": "1c007fb111ff00f02efba2aca022310dae412c3a", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/0e2e5bc4311da51349487afcf67b8fca937f6d94", + "reference": "0e2e5bc4311da51349487afcf67b8fca937f6d94", "shasum": "" }, "require": { @@ -13810,7 +13809,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/4.10.1" + "source": "https://github.com/getsentry/sentry-laravel/tree/4.10.2" }, "funding": [ { @@ -13822,7 +13821,7 @@ "type": "custom" } ], - "time": "2024-11-24T11:02:20+00:00" + "time": "2024-12-17T11:38:58+00:00" }, { "name": "smalot/pdfparser", @@ -14126,12 +14125,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Spatie\\LaravelImageOptimizer\\ImageOptimizerServiceProvider" - ], "aliases": { "ImageOptimizer": "Spatie\\LaravelImageOptimizer\\Facades\\ImageOptimizer" - } + }, + "providers": [ + "Spatie\\LaravelImageOptimizer\\ImageOptimizerServiceProvider" + ] } }, "autoload": { @@ -14170,16 +14169,16 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.17.0", + "version": "1.18.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "9ab30fd24f677e5aa370ea4cf6b41c517d16cf85" + "reference": "8332205b90d17164913244f4a8e13ab7e6761d29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/9ab30fd24f677e5aa370ea4cf6b41c517d16cf85", - "reference": "9ab30fd24f677e5aa370ea4cf6b41c517d16cf85", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/8332205b90d17164913244f4a8e13ab7e6761d29", + "reference": "8332205b90d17164913244f4a8e13ab7e6761d29", "shasum": "" }, "require": { @@ -14218,7 +14217,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.17.0" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.18.0" }, "funding": [ { @@ -14226,7 +14225,7 @@ "type": "github" } ], - "time": "2024-12-09T16:29:14+00:00" + "time": "2024-12-30T13:13:39+00:00" }, { "name": "spatie/laravel-permission", @@ -14826,12 +14825,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -14884,16 +14883,16 @@ }, { "name": "symfony/console", - "version": "v6.4.15", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd" + "reference": "799445db3f15768ecc382ac5699e6da0520a0a04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f1fc6f47283e27336e7cebb9e8946c8de7bff9bd", - "reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd", + "url": "https://api.github.com/repos/symfony/console/zipball/799445db3f15768ecc382ac5699e6da0520a0a04", + "reference": "799445db3f15768ecc382ac5699e6da0520a0a04", "shasum": "" }, "require": { @@ -14958,7 +14957,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.15" + "source": "https://github.com/symfony/console/tree/v6.4.17" }, "funding": [ { @@ -14974,7 +14973,7 @@ "type": "tidelift" } ], - "time": "2024-11-06T14:19:14+00:00" + "time": "2024-12-07T12:07:30+00:00" }, { "name": "symfony/css-selector", @@ -15060,12 +15059,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -15110,16 +15109,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.4.14", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "9e024324511eeb00983ee76b9aedc3e6ecd993d9" + "reference": "37ad2380e8c1a8cf62a1200a5c10080b679b446c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/9e024324511eeb00983ee76b9aedc3e6ecd993d9", - "reference": "9e024324511eeb00983ee76b9aedc3e6ecd993d9", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/37ad2380e8c1a8cf62a1200a5c10080b679b446c", + "reference": "37ad2380e8c1a8cf62a1200a5c10080b679b446c", "shasum": "" }, "require": { @@ -15165,7 +15164,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.14" + "source": "https://github.com/symfony/error-handler/tree/v6.4.17" }, "funding": [ { @@ -15181,7 +15180,7 @@ "type": "tidelift" } ], - "time": "2024-11-05T15:34:40+00:00" + "time": "2024-12-06T13:30:51+00:00" }, { "name": "symfony/event-dispatcher", @@ -15283,12 +15282,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -15407,16 +15406,16 @@ }, { "name": "symfony/finder", - "version": "v6.4.13", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958" + "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/daea9eca0b08d0ed1dc9ab702a46128fd1be4958", - "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958", + "url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", + "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", "shasum": "" }, "require": { @@ -15451,7 +15450,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.13" + "source": "https://github.com/symfony/finder/tree/v6.4.17" }, "funding": [ { @@ -15467,7 +15466,7 @@ "type": "tidelift" } ], - "time": "2024-10-01T08:30:56+00:00" + "time": "2024-12-29T13:51:37+00:00" }, { "name": "symfony/http-foundation", @@ -15548,16 +15547,16 @@ }, { "name": "symfony/http-kernel", - "version": "v6.4.16", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "8838b5b21d807923b893ccbfc2cbeda0f1bc00f0" + "reference": "c5647393c5ce11833d13e4b70fff4b571d4ac710" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/8838b5b21d807923b893ccbfc2cbeda0f1bc00f0", - "reference": "8838b5b21d807923b893ccbfc2cbeda0f1bc00f0", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c5647393c5ce11833d13e4b70fff4b571d4ac710", + "reference": "c5647393c5ce11833d13e4b70fff4b571d4ac710", "shasum": "" }, "require": { @@ -15642,7 +15641,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.16" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.17" }, "funding": [ { @@ -15658,7 +15657,7 @@ "type": "tidelift" } ], - "time": "2024-11-27T12:49:36+00:00" + "time": "2024-12-31T14:49:31+00:00" }, { "name": "symfony/mailer", @@ -15742,16 +15741,16 @@ }, { "name": "symfony/mime", - "version": "v6.4.13", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855" + "reference": "ea87c8850a54ff039d3e0ab4ae5586dd4e6c0232" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/1de1cf14d99b12c7ebbb850491ec6ae3ed468855", - "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855", + "url": "https://api.github.com/repos/symfony/mime/zipball/ea87c8850a54ff039d3e0ab4ae5586dd4e6c0232", + "reference": "ea87c8850a54ff039d3e0ab4ae5586dd4e6c0232", "shasum": "" }, "require": { @@ -15807,7 +15806,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.13" + "source": "https://github.com/symfony/mime/tree/v6.4.17" }, "funding": [ { @@ -15823,7 +15822,7 @@ "type": "tidelift" } ], - "time": "2024-10-25T15:07:50+00:00" + "time": "2024-12-02T11:09:41+00:00" }, { "name": "symfony/options-resolver", @@ -16861,12 +16860,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -17121,12 +17120,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -17489,31 +17488,33 @@ }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.2.7", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + "reference": "0d72ac1c00084279c1816675284073c5a337c20d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d", + "reference": "0d72ac1c00084279c1816675284073c5a337c20d", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + "php": "^7.4 || ^8.0", + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -17536,9 +17537,9 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0" }, - "time": "2023-12-08T13:03:43+00:00" + "time": "2024-12-21T16:25:41+00:00" }, { "name": "trax2/framework", @@ -21357,8 +21358,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -21413,16 +21414,16 @@ }, { "name": "symfony/stopwatch", - "version": "v7.2.0", + "version": "v7.2.2", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "696f418b0d722a4225e1c3d95489d262971ca924" + "reference": "e46690d5b9d7164a6d061cab1e8d46141b9f49df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/696f418b0d722a4225e1c3d95489d262971ca924", - "reference": "696f418b0d722a4225e1c3d95489d262971ca924", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/e46690d5b9d7164a6d061cab1e8d46141b9f49df", + "reference": "e46690d5b9d7164a6d061cab1e8d46141b9f49df", "shasum": "" }, "require": { @@ -21455,7 +21456,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v7.2.0" + "source": "https://github.com/symfony/stopwatch/tree/v7.2.2" }, "funding": [ { @@ -21471,7 +21472,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2024-12-18T14:28:33+00:00" }, { "name": "theseer/tokenizer", @@ -21601,16 +21602,16 @@ }, { "name": "zbateson/mb-wrapper", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/zbateson/mb-wrapper.git", - "reference": "9e4373a153585d12b6c621ac4a6bb143264d4619" + "reference": "50a14c0c9537f978a61cde9fdc192a0267cc9cff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zbateson/mb-wrapper/zipball/9e4373a153585d12b6c621ac4a6bb143264d4619", - "reference": "9e4373a153585d12b6c621ac4a6bb143264d4619", + "url": "https://api.github.com/repos/zbateson/mb-wrapper/zipball/50a14c0c9537f978a61cde9fdc192a0267cc9cff", + "reference": "50a14c0c9537f978a61cde9fdc192a0267cc9cff", "shasum": "" }, "require": { @@ -21621,7 +21622,7 @@ "require-dev": { "friendsofphp/php-cs-fixer": "*", "phpstan/phpstan": "*", - "phpunit/phpunit": "<10.0" + "phpunit/phpunit": "^9.6|^10.0" }, "suggest": { "ext-iconv": "For best support/performance", @@ -21658,7 +21659,7 @@ ], "support": { "issues": "https://github.com/zbateson/mb-wrapper/issues", - "source": "https://github.com/zbateson/mb-wrapper/tree/2.0.0" + "source": "https://github.com/zbateson/mb-wrapper/tree/2.0.1" }, "funding": [ { @@ -21666,7 +21667,7 @@ "type": "github" } ], - "time": "2024-03-20T01:38:07+00:00" + "time": "2024-12-20T22:05:33+00:00" }, { "name": "zbateson/stream-decorators", diff --git a/docker-compose.yml b/docker-compose.yml index 9e976ea..4508814 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,3 @@ -version: "3.5" networks: escola_lms: name: escola_lms @@ -17,10 +16,11 @@ services: - "80:80" - "443:443" api: - #image: escolalms/php:8.2-prod ## or escolalms/php:8-work for debugginh + # image: escolalms/php:8.4-alpine ## or escolalms/php:8-work for debugginh + # command: sleep infinity build: context: . - dockerfile: Dockerfile.develop + dockerfile: Dockerfile environment: - LARAVEL_APP_NAME=Wellms - LARAVEL_APP_ENV=local diff --git a/docker/conf/supervisor/example/scheduler.conf.example b/docker/conf/supervisor/example/scheduler.conf.example index 04afbea..ed79619 100644 --- a/docker/conf/supervisor/example/scheduler.conf.example +++ b/docker/conf/supervisor/example/scheduler.conf.example @@ -1,7 +1,7 @@ [program:laravel-schedule-$SCHEDULER_DOMAIN] process_name=%(program_name)s_%(process_num)02d command=/bin/sh -c "while [ true ]; do (php /var/www/html/artisan schedule:run --domain=$SCHEDULER_DOMAIN --verbose --no-interaction &); sleep 60; done" -user=devilbox +#user=devilbox autostart=true autorestart=true numprocs=1 diff --git a/docker/conf/supervisor/services/horizon.conf b/docker/conf/supervisor/services/horizon.conf index 0e4e610..5fa29cc 100644 --- a/docker/conf/supervisor/services/horizon.conf +++ b/docker/conf/supervisor/services/horizon.conf @@ -1,11 +1,18 @@ [program:laravel-horizon] process_name=%(program_name)s_%(process_num)02d command=php /var/www/html/artisan horizon -user=devilbox +#user=devilbox autostart=true autorestart=true numprocs=1 redirect_stderr=true stopwaitsecs=3600 -logfile=/etc/supervisor/conf.d/horizon.log +#logfile=/etc/supervisor/conf.d/horizon.log +stdout_logfile = /dev/stdout +stdout_logfile_maxbytes = 0 +stdout_events_enabled = true + +stderr_logfile = /dev/stderr +stderr_logfile_maxbytes = 0 +stderr_events_enabled = true \ No newline at end of file diff --git a/docker/conf/supervisor/services/multidomain_queue.conf b/docker/conf/supervisor/services/multidomain_queue.conf index 8fe48c5..b3d780f 100644 --- a/docker/conf/supervisor/services/multidomain_queue.conf +++ b/docker/conf/supervisor/services/multidomain_queue.conf @@ -1,7 +1,7 @@ [program:laravel-multidomain-queue] process_name=%(program_name)s_%(process_num)02d command=bash /var/www/html/queue.sh -user=devilbox +#user=devilbox autostart=true autorestart=true numprocs=3 diff --git a/docker/conf/supervisor/services/php-fpm.conf b/docker/conf/supervisor/services/php-fpm.conf new file mode 100644 index 0000000..f73755b --- /dev/null +++ b/docker/conf/supervisor/services/php-fpm.conf @@ -0,0 +1,10 @@ +[program:php-fpm] +command = /usr/local/sbin/php-fpm +autostart = true +autorestart = true +stdout_logfile = /dev/stdout +stdout_logfile_maxbytes = 0 +stdout_events_enabled = true +stderr_logfile = /dev/stderr +stderr_logfile_maxbytes = 0 +stderr_events_enabled = true \ No newline at end of file diff --git a/docker/conf/supervisor/services/scheduler.conf b/docker/conf/supervisor/services/scheduler.conf index 8384130..85330b4 100644 --- a/docker/conf/supervisor/services/scheduler.conf +++ b/docker/conf/supervisor/services/scheduler.conf @@ -2,7 +2,7 @@ process_name=%(program_name)s_%(process_num)02d command=/bin/sh -c "while [ true ]; do (php /var/www/html/artisan schedule:run --verbose --no-interaction &); sleep 60; done" #command=php /var/www/html/artisan schedule:run --verbose --no-interaction && sleep 60 -user=devilbox +#user=devilbox autostart=true autorestart=true numprocs=1 diff --git a/docs/init-script.md b/docs/init-script.md index ecfc007..aef1ef1 100644 --- a/docs/init-script.md +++ b/docs/init-script.md @@ -188,7 +188,7 @@ Creates the inited file to mark that initialization has been completed: touch inited ``` -### 15. Change Ownership of the storage Directory +### 15. (Deprecated) Change Ownership of the storage Directory Changes the owner of the storage directory to `devilbox`: @@ -430,7 +430,7 @@ touch inited Creates the inited file to indicate that the initialization process has completed. -### 20. Change Ownership of the Storage Directory +### 20. (Deprecated) Change Ownership of the Storage Directory ```bash chown -R devilbox:devilbox /var/www/html/storage diff --git a/init.sh b/init.sh index 41b24c2..52831f4 100755 --- a/init.sh +++ b/init.sh @@ -4,6 +4,9 @@ rm inited +mkdir -p /etc/supervisor/custom.d +mkdir -p /etc/supervisor/conf.d + if [ -n "$MULTI_DOMAINS" ] then ./init_multidomains.sh @@ -16,6 +19,7 @@ then echo php-fpm.conf disabled else echo php-fpm.conf enabled + cp docker/conf/supervisor/services/php-fpm.conf /etc/supervisor/conf.d/php-fpm.conf fi if [ "$DISABLE_HORIZON" == 'true' ] @@ -109,9 +113,8 @@ touch inited # TODO: Fixme # This is required so far as docker compose run this script as root +chown -R www-data:www-data /var/www/html/storage -chown -R devilbox:devilbox /var/www/html/storage - -/usr/bin/supervisord -c /etc/supervisor/supervisord.conf +/usr/bin/supervisord -c /etc/supervisord.conf diff --git a/init_multidomains.sh b/init_multidomains.sh index 9e84b21..709159a 100755 --- a/init_multidomains.sh +++ b/init_multidomains.sh @@ -190,6 +190,6 @@ touch inited # TODO: Fixme # This is required so far as docker compose run this script as root -chown -R devilbox:devilbox /var/www/html/storage +chown -R www-data:www-data /var/www/html/storage -/usr/bin/supervisord -c /etc/supervisor/supervisord.conf \ No newline at end of file +/usr/bin/supervisord -c /etc/supervisord.conf diff --git a/makefile b/makefile index 61b3d6a..40181ca 100644 --- a/makefile +++ b/makefile @@ -4,24 +4,24 @@ export POSTGRES_DB=postgresql://$(DB_USERNAME):$(DB_PASSWORD)@127.0.0.1:$(DB_POR export NOW_DB_PREFIX=$(date +\%Y-\%m-\%d-\%H:\%M:\%S) test-phpunit: - - docker compose exec --user=1000 api bash -c "./vendor/bin/phpunit" + - docker compose exec api bash -c "./vendor/bin/phpunit" bash: - - docker compose exec --user=1000 api bash + - docker compose exec api bash bash-sudo: - docker compose exec api bash migrate-fresh-quick: - - docker compose exec --user=1000 api bash -c "XDEBUG_MODE=off php artisan migrate:fresh --seed" - - docker compose exec --user=1000 api bash -c "XDEBUG_MODE=off php artisan passport:keys --force" - - docker compose exec --user=1000 api bash -c "XDEBUG_MODE=off php artisan passport:client --personal --no-interaction" - - docker compose exec --user=1000 api bash -c "cp storage/oauth-private.key vendor/orchestra/testbench-core/laravel/storage/oauth-private.key" + - docker compose exec api bash -c "XDEBUG_MODE=off php artisan migrate:fresh --seed" + - docker compose exec api bash -c "XDEBUG_MODE=off php artisan passport:keys --force" + - docker compose exec api bash -c "XDEBUG_MODE=off php artisan passport:client --personal --no-interaction" + - docker compose exec api bash -c "cp storage/oauth-private.key vendor/orchestra/testbench-core/laravel/storage/oauth-private.key" composer-update: - docker compose up -d api - docker compose exec api bash -c "XDEBUG_MODE=off composer self-update" - - docker compose exec --user=1000 api bash -c "XDEBUG_MODE=off composer update" + - docker compose exec api bash -c "XDEBUG_MODE=off composer update" ## supervisd must be restarted, horizon & scheduler must fetch new code - docker compose restart escola_lms_queue_cron @@ -32,27 +32,27 @@ update-composer-to-git: - git checkout develop - git pull - docker compose up -d api - - docker compose exec --user=1000 api bash -c "XDEBUG_MODE=off composer update --no-scripts" + - docker compose exec api bash -c "XDEBUG_MODE=off composer update --no-scripts" - git add composer.lock - git commit -m "updating dependecies" - git push origin develop swagger-generate: - - docker compose exec --user=1000 api bash -c "XDEBUG_MODE=off php artisan l5-swagger:generate" + - docker compose exec api bash -c "XDEBUG_MODE=off php artisan l5-swagger:generate" h5p-seed: - - docker compose exec --user=1000 api bash -c "XDEBUG_MODE=off php artisan db:seed --class=H5PLibrarySeeder" - - docker compose exec --user=1000 api bash -c "XDEBUG_MODE=off php artisan db:seed --class=H5PContentSeeder" - - docker compose exec --user=1000 api bash -c "XDEBUG_MODE=off php artisan db:seed --class=H5PContentCoursesSeeder" + - docker compose exec api bash -c "XDEBUG_MODE=off php artisan db:seed --class=H5PLibrarySeeder" + - docker compose exec api bash -c "XDEBUG_MODE=off php artisan db:seed --class=H5PContentSeeder" + - docker compose exec api bash -c "XDEBUG_MODE=off php artisan db:seed --class=H5PContentCoursesSeeder" node-packages: # install globally at /usr/bin/mjml - - docker compose exec --user=1000 api bash -c "npm install -g mjml" + - docker compose exec api bash -c "npm install -g mjml" tinker: # use CTRL+C to quit and CTRL+D to refresh tinker - - docker compose exec --user=1000 api bash -c "while true; do php artisan tinker; done" + - docker compose exec api bash -c "while true; do php artisan tinker; done" migrate-fresh: migrate-fresh-quick h5p-seed @@ -65,7 +65,7 @@ docker-up: switch-to-postgres: - cp docker/envs/.env.postgres.example .env - - docker compose exec --user=1000 api bash -c "php artisan config:cache" + - docker compose exec api bash -c "php artisan config:cache" migrate-postgres: switch-to-postgres migrate-fresh-quick @@ -90,4 +90,4 @@ import-postgres: init: docker-up switch-to-postgres composer-update migrate-fresh-quick wait: - - docker compose exec --user=1000 api bash -c "./wait.sh" \ No newline at end of file + - docker compose exec api bash -c "./wait.sh" \ No newline at end of file