schranz-php-recipes / symfony-recipes-php

Provides https://github.com/symfony/recipes as PHP instead of YAML configs.
MIT License
13 stars 3 forks source link

Update recipes 2023-12-11 #63

Closed symfony-php-recipes-bot closed 10 months ago

symfony-php-recipes-bot commented 10 months ago
Q A
License MIT

The Symfony Recipes changed with version . This PR contains the new definition for recipes.

github-actions[bot] commented 10 months ago

Thanks for the PR 😍

How to test these changes in your application

  1. Define the SYMFONY_ENDPOINT environment variable:

    # On Unix-like (BSD, Linux and macOS)
    export SYMFONY_ENDPOINT=https://raw.githubusercontent.com/schranz-php-recipes/symfony-recipes-php/flex/pull-63/index.json
    # On Windows
    SET SYMFONY_ENDPOINT=https://raw.githubusercontent.com/schranz-php-recipes/symfony-recipes-php/flex/pull-63/index.json
  2. Install the package(s) related to this recipe:

    composer req 'symfony/flex:^1.16'
    composer req 'doctrine/doctrine-bundle:^2.10' 'symfony/asset-mapper:^6.4'
  3. Don't forget to unset the SYMFONY_ENDPOINT environment variable when done:

    # On Unix-like (BSD, Linux and macOS)
    unset SYMFONY_ENDPOINT
    # On Windows
    SET SYMFONY_ENDPOINT=

Diff between recipe versions

In order to help with the review stage, I'm in charge of computing the diff between the various versions of patched recipes. I'm going keep this comment up to date with any updates of the attached patch.

doctrine/doctrine-bundle

1.6 vs 1.12 ```diff diff --git a/doctrine/doctrine-bundle/1.6/config/packages/doctrine.php b/doctrine/doctrine-bundle/1.12/config/packages/doctrine.php index c93732f..aa66d26 100644 --- a/doctrine/doctrine-bundle/1.6/config/packages/doctrine.php +++ b/doctrine/doctrine-bundle/1.12/config/packages/doctrine.php @@ -15,7 +15,7 @@ return static function (ContainerConfigurator $containerConfigurator): void { ], 'orm' => [ 'auto_generate_proxy_classes' => true, - 'naming_strategy' => 'doctrine.orm.naming_strategy.underscore', + 'naming_strategy' => 'doctrine.orm.naming_strategy.underscore_number_aware', 'auto_mapping' => true, 'mappings' => [ 'App' => [ diff --git a/doctrine/doctrine-bundle/1.6/config/packages/prod/doctrine.php b/doctrine/doctrine-bundle/1.12/config/packages/prod/doctrine.php index a6dfabd..dd81ae3 100644 --- a/doctrine/doctrine-bundle/1.6/config/packages/prod/doctrine.php +++ b/doctrine/doctrine-bundle/1.12/config/packages/prod/doctrine.php @@ -3,37 +3,26 @@ declare(strict_types=1); use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; -use function Symfony\Component\DependencyInjection\Loader\Configurator\service; return static function (ContainerConfigurator $containerConfigurator): void { $containerConfigurator->extension('doctrine', [ 'orm' => [ 'auto_generate_proxy_classes' => false, 'metadata_cache_driver' => [ - 'type' => 'service', - 'id' => 'doctrine.system_cache_provider', + 'type' => 'pool', + 'pool' => 'doctrine.system_cache_pool', ], 'query_cache_driver' => [ - 'type' => 'service', - 'id' => 'doctrine.system_cache_provider', + 'type' => 'pool', + 'pool' => 'doctrine.system_cache_pool', ], 'result_cache_driver' => [ - 'type' => 'service', - 'id' => 'doctrine.result_cache_provider', + 'type' => 'pool', + 'pool' => 'doctrine.result_cache_pool', ], ], ]); - $services = $containerConfigurator->services(); - - $services->set('doctrine.result_cache_provider', 'Symfony\Component\Cache\DoctrineProvider') - ->private() - ->args([service('doctrine.result_cache_pool')]); - - $services->set('doctrine.system_cache_provider', 'Symfony\Component\Cache\DoctrineProvider') - ->private() - ->args([service('doctrine.system_cache_pool')]); - $containerConfigurator->extension('framework', [ 'cache' => [ 'pools' => [ diff --git a/doctrine/doctrine-bundle/1.6/manifest.json b/doctrine/doctrine-bundle/1.12/manifest.json index dca9096..754bce8 100644 --- a/doctrine/doctrine-bundle/1.6/manifest.json +++ b/doctrine/doctrine-bundle/1.12/manifest.json @@ -11,8 +11,8 @@ "#2": "IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml", "#3": "", "#4": "DATABASE_URL=\"sqlite:///%kernel.project_dir%/var/data.db\"", - "#5": "DATABASE_URL=\"mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8\"", - "DATABASE_URL": "postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=15&charset=utf8" + "#5": "DATABASE_URL=\"mysql://app:!ChangeMe!@127.0.0.1:3306/db_name?serverVersion=8\"", + "DATABASE_URL": "postgresql://app:!ChangeMe!@127.0.0.1:5432/db_name?serverVersion=15&charset=utf8" }, "dockerfile": [ "RUN apk add --no-cache --virtual .pgsql-deps postgresql-dev && \\", ```
1.12 vs 2.0 ```diff diff --git a/doctrine/doctrine-bundle/1.12/config/packages/doctrine.php b/doctrine/doctrine-bundle/2.0/config/packages/doctrine.php index aa66d26..e210ec1 100644 --- a/doctrine/doctrine-bundle/1.12/config/packages/doctrine.php +++ b/doctrine/doctrine-bundle/2.0/config/packages/doctrine.php @@ -8,10 +8,6 @@ return static function (ContainerConfigurator $containerConfigurator): void { $containerConfigurator->extension('doctrine', [ 'dbal' => [ 'url' => '%env(resolve:DATABASE_URL)%', - 'charset' => 'utf8mb4', - 'default_table_options' => [ - 'collate' => 'utf8mb4_unicode_ci', - ], ], 'orm' => [ 'auto_generate_proxy_classes' => true, diff --git a/doctrine/doctrine-bundle/1.12/manifest.json b/doctrine/doctrine-bundle/2.0/manifest.json index 754bce8..dca9096 100644 --- a/doctrine/doctrine-bundle/1.12/manifest.json +++ b/doctrine/doctrine-bundle/2.0/manifest.json @@ -11,8 +11,8 @@ "#2": "IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml", "#3": "", "#4": "DATABASE_URL=\"sqlite:///%kernel.project_dir%/var/data.db\"", - "#5": "DATABASE_URL=\"mysql://app:!ChangeMe!@127.0.0.1:3306/db_name?serverVersion=8\"", - "DATABASE_URL": "postgresql://app:!ChangeMe!@127.0.0.1:5432/db_name?serverVersion=15&charset=utf8" + "#5": "DATABASE_URL=\"mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8\"", + "DATABASE_URL": "postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=15&charset=utf8" }, "dockerfile": [ "RUN apk add --no-cache --virtual .pgsql-deps postgresql-dev && \\", ```
2.0 vs 2.3 ```diff diff --git a/doctrine/doctrine-bundle/2.0/config/packages/prod/doctrine.php b/doctrine/doctrine-bundle/2.3/config/packages/prod/doctrine.php index dd81ae3..20e0bf6 100644 --- a/doctrine/doctrine-bundle/2.0/config/packages/prod/doctrine.php +++ b/doctrine/doctrine-bundle/2.3/config/packages/prod/doctrine.php @@ -8,10 +8,6 @@ return static function (ContainerConfigurator $containerConfigurator): void { $containerConfigurator->extension('doctrine', [ 'orm' => [ 'auto_generate_proxy_classes' => false, - 'metadata_cache_driver' => [ - 'type' => 'pool', - 'pool' => 'doctrine.system_cache_pool', - ], 'query_cache_driver' => [ 'type' => 'pool', 'pool' => 'doctrine.system_cache_pool', diff --git a/doctrine/doctrine-bundle/2.3/config/packages/test/doctrine.php b/doctrine/doctrine-bundle/2.3/config/packages/test/doctrine.php new file mode 100644 index 0000000..d1f2212 --- /dev/null +++ b/doctrine/doctrine-bundle/2.3/config/packages/test/doctrine.php @@ -0,0 +1,13 @@ +extension('doctrine', [ + 'dbal' => [ + 'dbname' => 'main_test%env(default::TEST_TOKEN)%', + ], + ]); +}; diff --git a/doctrine/doctrine-bundle/2.0/manifest.json b/doctrine/doctrine-bundle/2.3/manifest.json index dca9096..f673cbc 100644 --- a/doctrine/doctrine-bundle/2.0/manifest.json +++ b/doctrine/doctrine-bundle/2.3/manifest.json @@ -11,13 +11,13 @@ "#2": "IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml", "#3": "", "#4": "DATABASE_URL=\"sqlite:///%kernel.project_dir%/var/data.db\"", - "#5": "DATABASE_URL=\"mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8\"", + "#5": "DATABASE_URL=\"mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8&charset=utf8mb4\"", "DATABASE_URL": "postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=15&charset=utf8" }, "dockerfile": [ - "RUN apk add --no-cache --virtual .pgsql-deps postgresql-dev && \\", - "\tdocker-php-ext-install -j$(nproc) pdo_pgsql && \\", - "\tapk add --no-cache --virtual .pgsql-rundeps so:libpq.so.5 && \\", + "RUN apk add --no-cache --virtual .pgsql-deps postgresql-dev; \\", + "\tdocker-php-ext-install -j$(nproc) pdo_pgsql; \\", + "\tapk add --no-cache --virtual .pgsql-rundeps so:libpq.so.5; \\", "\tapk del .pgsql-deps" ], "docker-compose": { ```
2.3 vs 2.4 ```diff diff --git a/doctrine/doctrine-bundle/2.3/config/packages/doctrine.php b/doctrine/doctrine-bundle/2.4/config/packages/doctrine.php index e210ec1..401ce10 100644 --- a/doctrine/doctrine-bundle/2.3/config/packages/doctrine.php +++ b/doctrine/doctrine-bundle/2.4/config/packages/doctrine.php @@ -16,7 +16,6 @@ return static function (ContainerConfigurator $containerConfigurator): void { 'mappings' => [ 'App' => [ 'is_bundle' => false, - 'type' => 'annotation', 'dir' => '%kernel.project_dir%/src/Entity', 'prefix' => 'App\Entity', 'alias' => 'App', @@ -24,4 +23,39 @@ return static function (ContainerConfigurator $containerConfigurator): void { ], ], ]); + if ($containerConfigurator->env() === 'test') { + $containerConfigurator->extension('doctrine', [ + 'dbal' => [ + 'dbname_suffix' => '_test%env(default::TEST_TOKEN)%', + ], + ]); + } + if ($containerConfigurator->env() === 'prod') { + $containerConfigurator->extension('doctrine', [ + 'orm' => [ + 'auto_generate_proxy_classes' => false, + 'proxy_dir' => '%kernel.build_dir%/doctrine/orm/Proxies', + 'query_cache_driver' => [ + 'type' => 'pool', + 'pool' => 'doctrine.system_cache_pool', + ], + 'result_cache_driver' => [ + 'type' => 'pool', + 'pool' => 'doctrine.result_cache_pool', + ], + ], + ]); + $containerConfigurator->extension('framework', [ + 'cache' => [ + 'pools' => [ + 'doctrine.result_cache_pool' => [ + 'adapter' => 'cache.app', + ], + 'doctrine.system_cache_pool' => [ + 'adapter' => 'cache.system', + ], + ], + ], + ]); + } }; diff --git a/doctrine/doctrine-bundle/2.3/config/packages/prod/doctrine.php b/doctrine/doctrine-bundle/2.3/config/packages/prod/doctrine.php deleted file mode 100644 index 20e0bf6..0000000 --- a/doctrine/doctrine-bundle/2.3/config/packages/prod/doctrine.php +++ /dev/null @@ -1,34 +0,0 @@ -extension('doctrine', [ - 'orm' => [ - 'auto_generate_proxy_classes' => false, - 'query_cache_driver' => [ - 'type' => 'pool', - 'pool' => 'doctrine.system_cache_pool', - ], - 'result_cache_driver' => [ - 'type' => 'pool', - 'pool' => 'doctrine.result_cache_pool', - ], - ], - ]); - - $containerConfigurator->extension('framework', [ - 'cache' => [ - 'pools' => [ - 'doctrine.result_cache_pool' => [ - 'adapter' => 'cache.app', - ], - 'doctrine.system_cache_pool' => [ - 'adapter' => 'cache.system', - ], - ], - ], - ]); -}; diff --git a/doctrine/doctrine-bundle/2.3/config/packages/test/doctrine.php b/doctrine/doctrine-bundle/2.3/config/packages/test/doctrine.php deleted file mode 100644 index d1f2212..0000000 --- a/doctrine/doctrine-bundle/2.3/config/packages/test/doctrine.php +++ /dev/null @@ -1,13 +0,0 @@ -extension('doctrine', [ - 'dbal' => [ - 'dbname' => 'main_test%env(default::TEST_TOKEN)%', - ], - ]); -}; diff --git a/doctrine/doctrine-bundle/2.3/manifest.json b/doctrine/doctrine-bundle/2.4/manifest.json index f673cbc..472f48f 100644 --- a/doctrine/doctrine-bundle/2.3/manifest.json +++ b/doctrine/doctrine-bundle/2.4/manifest.json @@ -44,5 +44,8 @@ " - \"5432\"" ] } + }, + "conflict": { + "symfony/framework-bundle": "<5.3" } } ```
2.4 vs 2.8 ```diff diff --git a/doctrine/doctrine-bundle/2.4/config/packages/doctrine.php b/doctrine/doctrine-bundle/2.8/config/packages/doctrine.php index 401ce10..d625cfa 100644 --- a/doctrine/doctrine-bundle/2.4/config/packages/doctrine.php +++ b/doctrine/doctrine-bundle/2.8/config/packages/doctrine.php @@ -11,6 +11,7 @@ return static function (ContainerConfigurator $containerConfigurator): void { ], 'orm' => [ 'auto_generate_proxy_classes' => true, + 'enable_lazy_ghost_objects' => true, 'naming_strategy' => 'doctrine.orm.naming_strategy.underscore_number_aware', 'auto_mapping' => true, 'mappings' => [ diff --git a/doctrine/doctrine-bundle/2.4/manifest.json b/doctrine/doctrine-bundle/2.8/manifest.json index 472f48f..fc8c043 100644 --- a/doctrine/doctrine-bundle/2.4/manifest.json +++ b/doctrine/doctrine-bundle/2.8/manifest.json @@ -11,12 +11,13 @@ "#2": "IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml", "#3": "", "#4": "DATABASE_URL=\"sqlite:///%kernel.project_dir%/var/data.db\"", - "#5": "DATABASE_URL=\"mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8&charset=utf8mb4\"", + "#5": "DATABASE_URL=\"mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8.0.32&charset=utf8mb4\"", + "#6": "DATABASE_URL=\"mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=10.11.2-MariaDB&charset=utf8mb4\"", "DATABASE_URL": "postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=15&charset=utf8" }, "dockerfile": [ "RUN apk add --no-cache --virtual .pgsql-deps postgresql-dev; \\", - "\tdocker-php-ext-install -j$(nproc) pdo_pgsql; \\", + "\tdocker-php-ext-install -j\"$(nproc)\" pdo_pgsql; \\", "\tapk add --no-cache --virtual .pgsql-rundeps so:libpq.so.5; \\", "\tapk del .pgsql-deps" ], @@ -46,6 +47,8 @@ } }, "conflict": { + "doctrine/orm": "<2.14", + "symfony/dependency-injection": "<6.2", "symfony/framework-bundle": "<5.3" } } ```
2.8 vs 2.9 ```diff diff --git a/doctrine/doctrine-bundle/2.8/manifest.json b/doctrine/doctrine-bundle/2.9/manifest.json index fc8c043..86f138e 100644 --- a/doctrine/doctrine-bundle/2.8/manifest.json +++ b/doctrine/doctrine-bundle/2.9/manifest.json @@ -16,10 +16,7 @@ "DATABASE_URL": "postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=15&charset=utf8" }, "dockerfile": [ - "RUN apk add --no-cache --virtual .pgsql-deps postgresql-dev; \\", - "\tdocker-php-ext-install -j\"$(nproc)\" pdo_pgsql; \\", - "\tapk add --no-cache --virtual .pgsql-rundeps so:libpq.so.5; \\", - "\tapk del .pgsql-deps" + "RUN install-php-extensions pdo_pgsql" ], "docker-compose": { "docker-compose.yml": { ```
2.9 vs 2.10 ```diff diff --git a/doctrine/doctrine-bundle/2.9/config/packages/doctrine.php b/doctrine/doctrine-bundle/2.10/config/packages/doctrine.php index d625cfa..b821418 100644 --- a/doctrine/doctrine-bundle/2.9/config/packages/doctrine.php +++ b/doctrine/doctrine-bundle/2.10/config/packages/doctrine.php @@ -8,14 +8,18 @@ return static function (ContainerConfigurator $containerConfigurator): void { $containerConfigurator->extension('doctrine', [ 'dbal' => [ 'url' => '%env(resolve:DATABASE_URL)%', + 'profiling_collect_backtrace' => '%kernel.debug%', ], 'orm' => [ 'auto_generate_proxy_classes' => true, 'enable_lazy_ghost_objects' => true, + 'report_fields_where_declared' => true, + 'validate_xml_mapping' => true, 'naming_strategy' => 'doctrine.orm.naming_strategy.underscore_number_aware', 'auto_mapping' => true, 'mappings' => [ 'App' => [ + 'type' => 'attribute', 'is_bundle' => false, 'dir' => '%kernel.project_dir%/src/Entity', 'prefix' => 'App\Entity', ```

symfony/asset-mapper

6.3 vs 6.4 ```diff diff --git a/symfony/asset-mapper/6.3/assets/app.js b/symfony/asset-mapper/6.4/assets/app.js index cb0082a..e3b03ad 100644 --- a/symfony/asset-mapper/6.3/assets/app.js +++ b/symfony/asset-mapper/6.4/assets/app.js @@ -4,4 +4,6 @@ * This file will be included onto the page via the importmap() Twig function, * which should already be in your base.html.twig. */ +import './styles/app.css' + console.log('This log comes from assets/app.js - welcome to AssetMapper! 🎉') diff --git a/symfony/asset-mapper/6.3/importmap.php b/symfony/asset-mapper/6.4/importmap.php index 5c2c21d..7e330f7 100644 --- a/symfony/asset-mapper/6.3/importmap.php +++ b/symfony/asset-mapper/6.4/importmap.php @@ -1,13 +1,13 @@ [ - 'path' => 'app.js', - 'preload' => true, + 'path' => './assets/app.js', + 'entrypoint' => true, ], ]; diff --git a/symfony/asset-mapper/6.3/manifest.json b/symfony/asset-mapper/6.4/manifest.json index c6fb477..9716516 100644 --- a/symfony/asset-mapper/6.3/manifest.json +++ b/symfony/asset-mapper/6.4/manifest.json @@ -6,22 +6,19 @@ }, "aliases": ["asset-mapper", "importmap"], "gitignore": [ - "/%PUBLIC_DIR%/assets/" + "/%PUBLIC_DIR%/assets/", + "/assets/vendor" ], + "composer-scripts": { + "importmap:install": "symfony-cmd" + }, "add-lines": [ { "file": "templates/base.html.twig", - "content": " {{ importmap() }}", + "content": "{% block importmap %}{{ importmap('app') }}{% endblock %}", "position": "after_target", "target": "{% block javascripts %}", "warn_if_missing": true - }, - { - "file": "templates/base.html.twig", - "content": " ", - "position": "after_target", - "target": "{% block stylesheets %}", - "warn_if_missing": true } ], "conflict": { ```