From b023674497913d2c859416998310ae56f82bfb1b Mon Sep 17 00:00:00 2001 From: DKravtsov Date: Sat, 19 Apr 2025 20:37:00 +0300 Subject: [PATCH 1/4] Laravel 12. Updated composer dependencies, xdebug and phpcpd. MySQL 8.4.4. --- .env.dev | 10 +- .env.prod | 6 +- .env.staging | 6 +- .env.test | 8 +- .env.test-ci | 8 +- .github/workflows/ci.yml | 4 +- .gitignore | 5 +- .idea/htdocs.iml | 32 +- .idea/laravel-idea.xml | 5 + .idea/php.xml | 632 ++++++------ Dockerfile | 2 +- Makefile | 6 +- app/Models/User.php | 10 + composer.json | 22 +- composer.lock | 1378 +++++++++++++------------- config/cache.php | 3 +- config/database.php | 4 + config/filesystems.php | 6 +- config/logging.php | 4 +- config/mail.php | 4 +- config/session.php | 2 +- package.json | 13 +- phpcpd.phar | Bin 133397 -> 0 bytes public/.htaccess | 4 + readme.md | 10 +- resources/css/app.css | 11 + resources/views/welcome.blade.php | 405 +++++--- routes/console.php | 2 +- storage/app/.gitignore | 1 + storage/app/private/.gitignore | 2 + tools/01_phpunit/composer.json | 2 +- tools/01_phpunit/composer.lock | 718 +++++++------- tools/02_phpstan/composer.json | 4 +- tools/02_phpstan/composer.lock | 770 +++++++------- tools/03_ecs/composer.json | 4 +- tools/03_ecs/composer.lock | 303 +++--- tools/04_php-coveralls/composer.lock | 272 +++-- tools/05_phpinsights/composer.json | 2 +- tools/05_phpinsights/composer.lock | 638 +++++++----- tools/06_phpmd/composer.lock | 226 +++-- tools/07_phpmetrics/composer.lock | 188 ++-- tools/08_rector/composer.lock | 226 +++-- tools/09_composer/composer.json | 6 +- tools/09_composer/composer.lock | 846 ++++++---------- tools/10_phpcpd/composer.json | 21 + tools/10_phpcpd/composer.lock | 1265 +++++++++++++++++++++++ vite.config.js | 2 + 47 files changed, 4862 insertions(+), 3236 deletions(-) delete mode 100755 phpcpd.phar create mode 100644 storage/app/private/.gitignore create mode 100644 tools/10_phpcpd/composer.json create mode 100644 tools/10_phpcpd/composer.lock diff --git a/.env.dev b/.env.dev index 0c2c412..a3f3884 100644 --- a/.env.dev +++ b/.env.dev @@ -7,12 +7,12 @@ WEB_PORT_SSL=443 # XDEBUG_CONFIG possible values: main|osx. Use main value for Linux and Windows, osx value for MacOS. XDEBUG_CONFIG=main # Sometimes we need to use different xdebug versions, list of versions can be found here - https://pecl.php.net/package/xdebug -XDEBUG_VERSION=3.4.0 +XDEBUG_VERSION=3.4.2 ###< XDebug docker configuration ### ###> MySQL docker configuration. ### -# MySQL version, recommend values: 9.1.0|9.0.1|8.4.3|8.3.0|8.2.0|8.1.0|8.0.39 -MYSQL_VERSION=8.4.3 +# MySQL version, recommend values: 9.1.0|9.0.1|8.4.4|8.3.0|8.2.0|8.1.0|8.0.39 +MYSQL_VERSION=8.4.4 # MySQL INNODB_USE_NATIVE_AIO possible values: 1|0. Set to 0 when AIO interface is not supported on OSX. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_use_native_aio INNODB_USE_NATIVE_AIO=1 # Sometimes AWS MySQL RDS has SQL_MODE="NO_ENGINE_SUBSTITUTION" (https://github.com/awsdocs/amazon-rds-user-guide/issues/160) but MySQL default described here - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode @@ -35,6 +35,8 @@ APP_FAKER_LOCALE=en_US APP_MAINTENANCE_DRIVER=file APP_MAINTENANCE_STORE=database +PHP_CLI_SERVER_WORKERS=4 + BCRYPT_ROUNDS=12 LOG_CHANNEL=stack @@ -70,11 +72,11 @@ REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp +MAIL_SCHEME=null MAIL_HOST=mail MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null -MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}" diff --git a/.env.prod b/.env.prod index 4079cc0..958bdad 100644 --- a/.env.prod +++ b/.env.prod @@ -4,8 +4,8 @@ WEB_PORT_SSL=443 ###< Nginx docker configuration ### ###> MySQL docker configuration. ### -# MySQL version, recommend values: 9.1.0|9.0.1|8.4.3|8.3.0|8.2.0|8.1.0|8.0.39 -MYSQL_VERSION=8.4.3 +# MySQL version, recommend values: 9.1.0|9.0.1|8.4.4|8.3.0|8.2.0|8.1.0|8.0.39 +MYSQL_VERSION=8.4.4 # MySQL INNODB_USE_NATIVE_AIO possible values: 1|0. Set to 0 when AIO interface is not supported on OSX. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_use_native_aio INNODB_USE_NATIVE_AIO=1 # Sometimes AWS MySQL RDS has SQL_MODE="NO_ENGINE_SUBSTITUTION" (https://github.com/awsdocs/amazon-rds-user-guide/issues/160) but MySQL default described here - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode @@ -63,11 +63,11 @@ REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp +MAIL_SCHEME=null MAIL_HOST=mail MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null -MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}" diff --git a/.env.staging b/.env.staging index 8c63b10..42b25d7 100644 --- a/.env.staging +++ b/.env.staging @@ -4,8 +4,8 @@ WEB_PORT_SSL=443 ###< Nginx docker configuration ### ###> MySQL docker configuration. ### -# MySQL version, recommend values: 9.1.0|9.0.1|8.4.3|8.3.0|8.2.0|8.1.0|8.0.39 -MYSQL_VERSION=8.4.3 +# MySQL version, recommend values: 9.1.0|9.0.1|8.4.4|8.3.0|8.2.0|8.1.0|8.0.39 +MYSQL_VERSION=8.4.4 # MySQL INNODB_USE_NATIVE_AIO possible values: 1|0. Set to 0 when AIO interface is not supported on OSX. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_use_native_aio INNODB_USE_NATIVE_AIO=1 # Sometimes AWS MySQL RDS has SQL_MODE="NO_ENGINE_SUBSTITUTION" (https://github.com/awsdocs/amazon-rds-user-guide/issues/160) but MySQL default described here - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode @@ -63,11 +63,11 @@ REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp +MAIL_SCHEME=null MAIL_HOST=mail MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null -MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}" diff --git a/.env.test b/.env.test index 4a7f6b7..2e277de 100644 --- a/.env.test +++ b/.env.test @@ -7,12 +7,12 @@ WEB_PORT_SSL=443 # XDEBUG_CONFIG possible values: main|osx. Use main value for Linux and Windows, osx value for MacOS. XDEBUG_CONFIG=main # Sometimes we need to use different xdebug versions, list of versions can be found here - https://pecl.php.net/package/xdebug -XDEBUG_VERSION=3.4.0 +XDEBUG_VERSION=3.4.2 ###< XDebug docker configuration ### ###> MySQL docker configuration. ### -# MySQL version, recommend values: 9.1.0|9.0.1|8.4.3|8.3.0|8.2.0|8.1.0|8.0.39 -MYSQL_VERSION=8.4.3 +# MySQL version, recommend values: 9.1.0|9.0.1|8.4.4|8.3.0|8.2.0|8.1.0|8.0.39 +MYSQL_VERSION=8.4.4 # MySQL INNODB_USE_NATIVE_AIO possible values: 1|0. Set to 0 when AIO interface is not supported on OSX. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_use_native_aio INNODB_USE_NATIVE_AIO=1 # Sometimes AWS MySQL RDS has SQL_MODE="NO_ENGINE_SUBSTITUTION" (https://github.com/awsdocs/amazon-rds-user-guide/issues/160) but MySQL default described here - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode @@ -70,11 +70,11 @@ REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp +MAIL_SCHEME=null MAIL_HOST=mail MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null -MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}" diff --git a/.env.test-ci b/.env.test-ci index eabcfa8..ef141b1 100644 --- a/.env.test-ci +++ b/.env.test-ci @@ -9,12 +9,12 @@ WEB_PORT_SSL=443 # XDEBUG_CONFIG possible values: main|osx. Use main value for Linux and Windows, osx value for MacOS. XDEBUG_CONFIG=main # Sometimes we need to use different xdebug versions, list of versions can be found here - https://pecl.php.net/package/xdebug -XDEBUG_VERSION=3.4.0 +XDEBUG_VERSION=3.4.2 ###< XDebug docker configuration ### ###> MySQL docker configuration. ### -# MySQL version, recommend values: 9.1.0|9.0.1|8.4.3|8.3.0|8.2.0|8.1.0|8.0.39 -MYSQL_VERSION=8.4.3 +# MySQL version, recommend values: 9.1.0|9.0.1|8.4.4|8.3.0|8.2.0|8.1.0|8.0.39 +MYSQL_VERSION=8.4.4 # MySQL INNODB_USE_NATIVE_AIO possible values: 1|0. Set to 0 when AIO interface is not supported on OSX. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_use_native_aio INNODB_USE_NATIVE_AIO=1 # Sometimes AWS MySQL RDS has SQL_MODE="NO_ENGINE_SUBSTITUTION" (https://github.com/awsdocs/amazon-rds-user-guide/issues/160) but MySQL default described here - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode @@ -72,11 +72,11 @@ REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp +MAIL_SCHEME=null MAIL_HOST=mail MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null -MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2631cd4..0377270 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: - name: Run test suite run: make phpunit - name: Archive coverage data for Qodana - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: php-coverage-data path: reports/clover.xml @@ -72,7 +72,7 @@ jobs: # - name: 'Install dependencies' # run: COMPOSER_MEMORY_LIMIT=-1 composer install # - name: 'Download coverage data for Qodana' -# uses: actions/download-artifact@v3 +# uses: actions/download-artifact@v4 # with: # name: php-coverage-data # path: .qodana/code-coverage diff --git a/.gitignore b/.gitignore index 36754bf..7fe5429 100644 --- a/.gitignore +++ b/.gitignore @@ -3,20 +3,23 @@ reports/* ###> laravel ### /.vscode -/.vagrant /.fleet +/.nova +/.zed /node_modules /public/build /public/hot /public/storage /storage/*.key /storage/mysql-data/ +/storage/pail /vendor /tools/**/vendor Homestead.yaml Homestead.json auth.json .env +.env.backup _ide_helper.php .phpstorm.meta.php _ide_helper_models.php diff --git a/.idea/htdocs.iml b/.idea/htdocs.iml index 65690e1..62cb316 100644 --- a/.idea/htdocs.iml +++ b/.idea/htdocs.iml @@ -2,27 +2,25 @@ + - - - - - - - - + - + + + + + @@ -77,7 +75,6 @@ - @@ -96,7 +93,6 @@ - @@ -140,8 +136,6 @@ - - @@ -176,7 +170,6 @@ - @@ -369,9 +362,6 @@ - - - @@ -407,12 +397,16 @@ - - + + + + + + diff --git a/.idea/laravel-idea.xml b/.idea/laravel-idea.xml index f0b52ac..a1cfe2f 100644 --- a/.idea/laravel-idea.xml +++ b/.idea/laravel-idea.xml @@ -1,5 +1,10 @@ + + +