diff --git a/.editorconfig b/.editorconfig index 669ef3027..76d47db6a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -5,6 +5,10 @@ root = true [*] end_of_line = LF +[*.{yml,yaml}] +indent_style = space +indent_size = 4 + [*.json] indent_style = space indent_size = 4 diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 9c4972835..e9903f267 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,7 @@ | Q | A | ------------- | --- | License | MIT -| Doc issue/PR | symfony/symfony-docs#... +| Doc issue/PR | symfony/symfony-docs#... diff --git a/phpunit/phpunit/4.7/post-install.txt b/phpunit/phpunit/4.7/post-install.txt deleted file mode 100644 index 103458f0d..000000000 --- a/phpunit/phpunit/4.7/post-install.txt +++ /dev/null @@ -1,7 +0,0 @@ - - Adding phpunit/phpunit as a dependency is discouraged in favor of Symfony's PHPUnit Bridge. - - - * Instead: - 1. Remove it now: composer remove --dev phpunit/phpunit - 2. Use Symfony's bridge: composer require --dev phpunit diff --git a/phpunit/phpunit/4.7/tests/bootstrap.php b/phpunit/phpunit/4.7/tests/bootstrap.php new file mode 100644 index 000000000..469dccee4 --- /dev/null +++ b/phpunit/phpunit/4.7/tests/bootstrap.php @@ -0,0 +1,11 @@ +bootEnv(dirname(__DIR__).'/.env'); +} diff --git a/phpunit/phpunit/9.3/.env.test b/phpunit/phpunit/9.3/.env.test new file mode 100644 index 000000000..9e7162f0b --- /dev/null +++ b/phpunit/phpunit/9.3/.env.test @@ -0,0 +1,6 @@ +# define your env variables for the test env here +KERNEL_CLASS='App\Kernel' +APP_SECRET='$ecretf0rt3st' +SYMFONY_DEPRECATIONS_HELPER=999999 +PANTHER_APP_ENV=panther +PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots diff --git a/phpunit/phpunit/9.3/manifest.json b/phpunit/phpunit/9.3/manifest.json new file mode 100644 index 000000000..8af7b3b35 --- /dev/null +++ b/phpunit/phpunit/9.3/manifest.json @@ -0,0 +1,11 @@ +{ + "copy-from-recipe": { + ".env.test": ".env.test", + "phpunit.xml.dist": "phpunit.xml.dist", + "tests/": "tests/" + }, + "gitignore": [ + "/phpunit.xml", + ".phpunit.result.cache" + ] +} diff --git a/phpunit/phpunit/9.3/phpunit.xml.dist b/phpunit/phpunit/9.3/phpunit.xml.dist new file mode 100644 index 000000000..23ea5cfae --- /dev/null +++ b/phpunit/phpunit/9.3/phpunit.xml.dist @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + tests + + + + + + src + + + + + + + + + diff --git a/phpunit/phpunit/9.3/tests/bootstrap.php b/phpunit/phpunit/9.3/tests/bootstrap.php new file mode 100644 index 000000000..469dccee4 --- /dev/null +++ b/phpunit/phpunit/9.3/tests/bootstrap.php @@ -0,0 +1,11 @@ +bootEnv(dirname(__DIR__).'/.env'); +} diff --git a/phpunit/phpunit/9.6/.env.test b/phpunit/phpunit/9.6/.env.test new file mode 100644 index 000000000..9e7162f0b --- /dev/null +++ b/phpunit/phpunit/9.6/.env.test @@ -0,0 +1,6 @@ +# define your env variables for the test env here +KERNEL_CLASS='App\Kernel' +APP_SECRET='$ecretf0rt3st' +SYMFONY_DEPRECATIONS_HELPER=999999 +PANTHER_APP_ENV=panther +PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots diff --git a/phpunit/phpunit/9.6/manifest.json b/phpunit/phpunit/9.6/manifest.json new file mode 100644 index 000000000..8af7b3b35 --- /dev/null +++ b/phpunit/phpunit/9.6/manifest.json @@ -0,0 +1,11 @@ +{ + "copy-from-recipe": { + ".env.test": ".env.test", + "phpunit.xml.dist": "phpunit.xml.dist", + "tests/": "tests/" + }, + "gitignore": [ + "/phpunit.xml", + ".phpunit.result.cache" + ] +} diff --git a/phpunit/phpunit/9.6/phpunit.xml.dist b/phpunit/phpunit/9.6/phpunit.xml.dist new file mode 100644 index 000000000..6c4bfed7f --- /dev/null +++ b/phpunit/phpunit/9.6/phpunit.xml.dist @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + tests + + + + + + src + + + + + + + + + + diff --git a/phpunit/phpunit/9.6/tests/bootstrap.php b/phpunit/phpunit/9.6/tests/bootstrap.php new file mode 100644 index 000000000..469dccee4 --- /dev/null +++ b/phpunit/phpunit/9.6/tests/bootstrap.php @@ -0,0 +1,11 @@ +bootEnv(dirname(__DIR__).'/.env'); +} diff --git a/scheb/2fa-bundle/5.0/config/packages/scheb_2fa.yaml b/scheb/2fa-bundle/5.0/config/packages/scheb_2fa.yaml new file mode 100644 index 000000000..b20f56d5f --- /dev/null +++ b/scheb/2fa-bundle/5.0/config/packages/scheb_2fa.yaml @@ -0,0 +1,8 @@ +# See the configuration reference at https://symfony.com/bundles/SchebTwoFactorBundle/5.x/configuration.html +scheb_two_factor: + security_tokens: + - Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken + # If you're using guard-based authentication, you have to use this one: + # - Symfony\Component\Security\Guard\Token\PostAuthenticationGuardToken + # If you're using authenticator-based security (introduced in Symfony 5.1), you have to use this one: + # - Symfony\Component\Security\Http\Authenticator\Token\PostAuthenticationToken diff --git a/scheb/2fa-bundle/5.0/config/routes/scheb_2fa.yaml b/scheb/2fa-bundle/5.0/config/routes/scheb_2fa.yaml new file mode 100644 index 000000000..9a8ca6672 --- /dev/null +++ b/scheb/2fa-bundle/5.0/config/routes/scheb_2fa.yaml @@ -0,0 +1,7 @@ +2fa_login: + path: /2fa + defaults: + _controller: "scheb_two_factor.form_controller::form" + +2fa_login_check: + path: /2fa_check diff --git a/scheb/2fa-bundle/5.0/manifest.json b/scheb/2fa-bundle/5.0/manifest.json new file mode 100644 index 000000000..5ef9bb2f7 --- /dev/null +++ b/scheb/2fa-bundle/5.0/manifest.json @@ -0,0 +1,9 @@ +{ + "bundles": { + "Scheb\\TwoFactorBundle\\SchebTwoFactorBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "aliases": ["2fa"] +} diff --git a/scheb/2fa-bundle/6.0/config/packages/scheb_2fa.yaml b/scheb/2fa-bundle/6.0/config/packages/scheb_2fa.yaml new file mode 100644 index 000000000..8a33ebb01 --- /dev/null +++ b/scheb/2fa-bundle/6.0/config/packages/scheb_2fa.yaml @@ -0,0 +1,5 @@ +# See the configuration reference at https://symfony.com/bundles/SchebTwoFactorBundle/6.x/configuration.html +scheb_two_factor: + security_tokens: + - Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken + - Symfony\Component\Security\Http\Authenticator\Token\PostAuthenticationToken diff --git a/scheb/2fa-bundle/6.0/config/routes/scheb_2fa.yaml b/scheb/2fa-bundle/6.0/config/routes/scheb_2fa.yaml new file mode 100644 index 000000000..9a8ca6672 --- /dev/null +++ b/scheb/2fa-bundle/6.0/config/routes/scheb_2fa.yaml @@ -0,0 +1,7 @@ +2fa_login: + path: /2fa + defaults: + _controller: "scheb_two_factor.form_controller::form" + +2fa_login_check: + path: /2fa_check diff --git a/scheb/2fa-bundle/6.0/manifest.json b/scheb/2fa-bundle/6.0/manifest.json new file mode 100644 index 000000000..5ef9bb2f7 --- /dev/null +++ b/scheb/2fa-bundle/6.0/manifest.json @@ -0,0 +1,9 @@ +{ + "bundles": { + "Scheb\\TwoFactorBundle\\SchebTwoFactorBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "aliases": ["2fa"] +} diff --git a/sensiolabs/ansi-to-html/1.2/config/packages/ansi_to_html.yaml b/sensiolabs/ansi-to-html/1.2/config/packages/ansi_to_html.yaml new file mode 100644 index 000000000..78e983cb4 --- /dev/null +++ b/sensiolabs/ansi-to-html/1.2/config/packages/ansi_to_html.yaml @@ -0,0 +1,6 @@ +services: + _defaults: + autowire: true + autoconfigure: true + + SensioLabs\AnsiConverter\Bridge\Twig\AnsiExtension: null diff --git a/sensiolabs/ansi-to-html/1.2/manifest.json b/sensiolabs/ansi-to-html/1.2/manifest.json new file mode 100644 index 000000000..e164c6e63 --- /dev/null +++ b/sensiolabs/ansi-to-html/1.2/manifest.json @@ -0,0 +1,5 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/all-my-sms-notifier/5.3/manifest.json b/symfony/all-my-sms-notifier/5.3/manifest.json new file mode 100644 index 000000000..a0060ceb3 --- /dev/null +++ b/symfony/all-my-sms-notifier/5.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " allmysms: '%env(ALLMYSMS_DSN)%'" + } + ], + "env": { + "#1": "ALLMYSMS_DSN=allmysms://LOGIN:APIKEY@default?from=FROM" + } +} diff --git a/symfony/allmysms-notifier/5.3/manifest.json b/symfony/allmysms-notifier/5.3/manifest.json new file mode 100644 index 000000000..a0060ceb3 --- /dev/null +++ b/symfony/allmysms-notifier/5.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " allmysms: '%env(ALLMYSMS_DSN)%'" + } + ], + "env": { + "#1": "ALLMYSMS_DSN=allmysms://LOGIN:APIKEY@default?from=FROM" + } +} diff --git a/symfony/amazon-sns-notifier/5.4/manifest.json b/symfony/amazon-sns-notifier/5.4/manifest.json new file mode 100644 index 000000000..a637c8b4b --- /dev/null +++ b/symfony/amazon-sns-notifier/5.4/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " chatter_transports:", + "content": " sns: '%env(AMAZON_SNS_DSN)%'" + } + ], + "env": { + "#1": "AMAZON_SNS_DSN=sns://ACCESS_KEY:SECRET_KEY@default?region=REGION" + } +} diff --git a/symfony/asset-mapper/6.3/assets/app.js b/symfony/asset-mapper/6.3/assets/app.js new file mode 100644 index 000000000..cb0082a86 --- /dev/null +++ b/symfony/asset-mapper/6.3/assets/app.js @@ -0,0 +1,7 @@ +/* + * Welcome to your app's main JavaScript file! + * + * This file will be included onto the page via the importmap() Twig function, + * which should already be in your base.html.twig. + */ +console.log('This log comes from assets/app.js - welcome to AssetMapper! 🎉') diff --git a/symfony/asset-mapper/6.3/assets/styles/app.css b/symfony/asset-mapper/6.3/assets/styles/app.css new file mode 100644 index 000000000..dd6181a1a --- /dev/null +++ b/symfony/asset-mapper/6.3/assets/styles/app.css @@ -0,0 +1,3 @@ +body { + background-color: skyblue; +} diff --git a/symfony/asset-mapper/6.3/config/packages/asset_mapper.yaml b/symfony/asset-mapper/6.3/config/packages/asset_mapper.yaml new file mode 100644 index 000000000..d1ac653b3 --- /dev/null +++ b/symfony/asset-mapper/6.3/config/packages/asset_mapper.yaml @@ -0,0 +1,5 @@ +framework: + asset_mapper: + # The paths to make available to the asset mapper. + paths: + - assets/ diff --git a/symfony/asset-mapper/6.3/importmap.php b/symfony/asset-mapper/6.3/importmap.php new file mode 100644 index 000000000..5c2c21d83 --- /dev/null +++ b/symfony/asset-mapper/6.3/importmap.php @@ -0,0 +1,21 @@ + [ + 'path' => 'app.js', + 'preload' => true, + ], +]; diff --git a/symfony/asset-mapper/6.3/manifest.json b/symfony/asset-mapper/6.3/manifest.json new file mode 100644 index 000000000..c6fb477eb --- /dev/null +++ b/symfony/asset-mapper/6.3/manifest.json @@ -0,0 +1,32 @@ +{ + "copy-from-recipe": { + "assets/": "assets/", + "config/": "%CONFIG_DIR%/", + "importmap.php": "importmap.php" + }, + "aliases": ["asset-mapper", "importmap"], + "gitignore": [ + "/%PUBLIC_DIR%/assets/" + ], + "add-lines": [ + { + "file": "templates/base.html.twig", + "content": " {{ importmap() }}", + "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": { + "symfony/framework-bundle": "<6.3", + "symfony/twig-bundle": "<6.3", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + } +} diff --git a/symfony/asset-mapper/6.4/assets/app.js b/symfony/asset-mapper/6.4/assets/app.js new file mode 100644 index 000000000..6174cc64a --- /dev/null +++ b/symfony/asset-mapper/6.4/assets/app.js @@ -0,0 +1,9 @@ +/* + * Welcome to your app's main JavaScript file! + * + * 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.4/assets/styles/app.css b/symfony/asset-mapper/6.4/assets/styles/app.css new file mode 100644 index 000000000..dd6181a1a --- /dev/null +++ b/symfony/asset-mapper/6.4/assets/styles/app.css @@ -0,0 +1,3 @@ +body { + background-color: skyblue; +} diff --git a/symfony/asset-mapper/6.4/config/packages/asset_mapper.yaml b/symfony/asset-mapper/6.4/config/packages/asset_mapper.yaml new file mode 100644 index 000000000..f7653e97f --- /dev/null +++ b/symfony/asset-mapper/6.4/config/packages/asset_mapper.yaml @@ -0,0 +1,11 @@ +framework: + asset_mapper: + # The paths to make available to the asset mapper. + paths: + - assets/ + missing_import_mode: strict + +when@prod: + framework: + asset_mapper: + missing_import_mode: warn diff --git a/symfony/asset-mapper/6.4/importmap.php b/symfony/asset-mapper/6.4/importmap.php new file mode 100644 index 000000000..70ebf14f0 --- /dev/null +++ b/symfony/asset-mapper/6.4/importmap.php @@ -0,0 +1,19 @@ + [ + 'path' => './assets/app.js', + 'entrypoint' => true, + ], +]; diff --git a/symfony/asset-mapper/6.4/manifest.json b/symfony/asset-mapper/6.4/manifest.json new file mode 100644 index 000000000..7454a3d71 --- /dev/null +++ b/symfony/asset-mapper/6.4/manifest.json @@ -0,0 +1,29 @@ +{ + "copy-from-recipe": { + "assets/": "assets/", + "config/": "%CONFIG_DIR%/", + "importmap.php": "importmap.php" + }, + "aliases": ["asset-mapper", "importmap"], + "gitignore": [ + "/%PUBLIC_DIR%/assets/", + "/assets/vendor/" + ], + "composer-scripts": { + "importmap:install": "symfony-cmd" + }, + "add-lines": [ + { + "file": "templates/base.html.twig", + "content": " {% block importmap %}{{ importmap('app') }}{% endblock %}", + "position": "after_target", + "target": "{% block javascripts %}", + "warn_if_missing": true + } + ], + "conflict": { + "symfony/framework-bundle": "<6.3", + "symfony/twig-bundle": "<6.3", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + } +} diff --git a/symfony/azure-mailer/7.1/manifest.json b/symfony/azure-mailer/7.1/manifest.json new file mode 100644 index 000000000..d2e5d1902 --- /dev/null +++ b/symfony/azure-mailer/7.1/manifest.json @@ -0,0 +1,5 @@ +{ + "env": { + "#1": "MAILER_DSN=azure+api://ACS_RESOURCE_NAME:KEY@default" + } +} diff --git a/symfony/bandwidth-notifier/6.3/manifest.json b/symfony/bandwidth-notifier/6.3/manifest.json new file mode 100644 index 000000000..f75c7a9dd --- /dev/null +++ b/symfony/bandwidth-notifier/6.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " bandwidth: '%env(BANDWIDTH_DSN)%'" + } + ], + "env": { + "#1": "BANDWIDTH_DSN=bandwidth://USERNAME:PASSWORD@default?from=FROM&account_id=ACCOUNT_ID&application_id=APPLICATION_ID&priority=PRIORITY" + } +} diff --git a/symfony/bluesky-notifier/7.1/manifest.json b/symfony/bluesky-notifier/7.1/manifest.json new file mode 100644 index 000000000..a979fd7b9 --- /dev/null +++ b/symfony/bluesky-notifier/7.1/manifest.json @@ -0,0 +1,5 @@ +{ + "env": { + "#1": "BLUESKY_DSN=bluesky://USER:PASS@bsky.social" + } +} diff --git a/symfony/brevo-mailer/6.4/manifest.json b/symfony/brevo-mailer/6.4/manifest.json new file mode 100644 index 000000000..e6146212f --- /dev/null +++ b/symfony/brevo-mailer/6.4/manifest.json @@ -0,0 +1,6 @@ +{ + "env": { + "#1": "MAILER_DSN=brevo+api://KEY@default", + "#2": "MAILER_DSN=brevo+smtp://USERNAME:PASSWORD@default" + } +} diff --git a/symfony/brevo-notifier/6.4/manifest.json b/symfony/brevo-notifier/6.4/manifest.json new file mode 100644 index 000000000..d30fa7457 --- /dev/null +++ b/symfony/brevo-notifier/6.4/manifest.json @@ -0,0 +1,5 @@ +{ + "env": { + "#1": "BREVO_DSN=brevo://API_KEY@default?sender=SENDER" + } +} diff --git a/symfony/chatwork-notifier/6.2/manifest.json b/symfony/chatwork-notifier/6.2/manifest.json new file mode 100644 index 000000000..55aaea5ed --- /dev/null +++ b/symfony/chatwork-notifier/6.2/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " chatter_transports:", + "content": " chatwork: '%env(CHATWORK_DSN)%'" + } + ], + "env": { + "#1": "CHATWORK_DSN=chatwork://API_TOKEN@default?room_id=ID" + } +} diff --git a/symfony/click-send-notifier/6.3/manifest.json b/symfony/click-send-notifier/6.3/manifest.json new file mode 100644 index 000000000..208de009d --- /dev/null +++ b/symfony/click-send-notifier/6.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " clicksend: '%env(CLICKSEND_DSN)%'" + } + ], + "env": { + "#1": "CLICKSEND_DSN=clicksend://API_USERNAME:API_KEY@default?from=FROM&source=SOURCE&list_id=LIST_ID&from_email=FROM_EMAIL" + } +} diff --git a/symfony/clickatell-notifier/5.3/manifest.json b/symfony/clickatell-notifier/5.3/manifest.json new file mode 100644 index 000000000..40efa494e --- /dev/null +++ b/symfony/clickatell-notifier/5.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " clickatell: '%env(CLICKATELL_DSN)%'" + } + ], + "env": { + "#1": "CLICKATELL_DSN=clickatell://ACCESS_TOKEN@default?from=FROM" + } +} diff --git a/symfony/console/3.3/bin/console b/symfony/console/3.3/bin/console index 19c2f6c3c..5cef87976 100755 --- a/symfony/console/3.3/bin/console +++ b/symfony/console/3.3/bin/console @@ -6,8 +6,8 @@ use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Input\ArgvInput; use Symfony\Component\Debug\Debug; -if (false === in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) { - echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.\PHP_SAPI.' SAPI'.\PHP_EOL; +if (!in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) { + echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.PHP_SAPI.' SAPI'.PHP_EOL; } set_time_limit(0); @@ -15,7 +15,7 @@ set_time_limit(0); require dirname(__DIR__).'/vendor/autoload.php'; if (!class_exists(Application::class)) { - throw new RuntimeException('You need to add "symfony/framework-bundle" as a Composer dependency.'); + throw new LogicException('You need to add "symfony/framework-bundle" as a Composer dependency.'); } $input = new ArgvInput(); diff --git a/symfony/console/3.3/config/bootstrap.php b/symfony/console/3.3/config/bootstrap.php deleted file mode 120000 index 57ba1e6e0..000000000 --- a/symfony/console/3.3/config/bootstrap.php +++ /dev/null @@ -1 +0,0 @@ -../../../../symfony/framework-bundle/3.3/config/bootstrap.php \ No newline at end of file diff --git a/symfony/console/3.3/config/bootstrap.php b/symfony/console/3.3/config/bootstrap.php new file mode 100644 index 000000000..2a471864d --- /dev/null +++ b/symfony/console/3.3/config/bootstrap.php @@ -0,0 +1,53 @@ +=1.2) +if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { + (new Dotenv(false))->populate($env); +} else { + $path = dirname(__DIR__).'/.env'; + $dotenv = new Dotenv(false); + + // load all the .env files + if (method_exists($dotenv, 'loadEnv')) { + $dotenv->loadEnv($path); + } else { + // fallback code in case your Dotenv component is not 4.2 or higher (when loadEnv() was added) + + if (file_exists($path) || !file_exists($p = "$path.dist")) { + $dotenv->load($path); + } else { + $dotenv->load($p); + } + + if (null === $env = $_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) { + $dotenv->populate(array('APP_ENV' => $env = 'dev')); + } + + if ('test' !== $env && file_exists($p = "$path.local")) { + $dotenv->load($p); + $env = $_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env; + } + + if (file_exists($p = "$path.$env")) { + $dotenv->load($p); + } + + if (file_exists($p = "$path.$env.local")) { + $dotenv->load($p); + } + } +} + +$_SERVER += $_ENV; +$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; +$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; +$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/symfony/console/4.2/bin/console b/symfony/console/4.2/bin/console new file mode 100755 index 000000000..5cef87976 --- /dev/null +++ b/symfony/console/4.2/bin/console @@ -0,0 +1,42 @@ +#!/usr/bin/env php +getParameterOption(['--env', '-e'], null, true)) { + putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env); +} + +if ($input->hasParameterOption('--no-debug', true)) { + putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0'); +} + +require dirname(__DIR__).'/config/bootstrap.php'; + +if ($_SERVER['APP_DEBUG']) { + umask(0000); + + if (class_exists(Debug::class)) { + Debug::enable(); + } +} + +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); +$application = new Application($kernel); +$application->run($input); diff --git a/symfony/console/4.2/config/bootstrap.php b/symfony/console/4.2/config/bootstrap.php new file mode 100644 index 000000000..55560fb83 --- /dev/null +++ b/symfony/console/4.2/config/bootstrap.php @@ -0,0 +1,23 @@ +=1.2) +if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { + (new Dotenv(false))->populate($env); +} else { + // load all the .env files + (new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env'); +} + +$_SERVER += $_ENV; +$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; +$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; +$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/symfony/console/4.2/manifest.json b/symfony/console/4.2/manifest.json new file mode 100644 index 000000000..c00421d61 --- /dev/null +++ b/symfony/console/4.2/manifest.json @@ -0,0 +1,7 @@ +{ + "copy-from-recipe": { + "bin/": "%BIN_DIR%/", + "config/": "%CONFIG_DIR%/" + }, + "aliases": ["cli"] +} diff --git a/symfony/console/4.4/bin/console b/symfony/console/4.4/bin/console index 5d5c80fba..5de0e1c5b 100755 --- a/symfony/console/4.4/bin/console +++ b/symfony/console/4.4/bin/console @@ -6,8 +6,8 @@ use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Input\ArgvInput; use Symfony\Component\ErrorHandler\Debug; -if (false === in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) { - echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.\PHP_SAPI.' SAPI'.\PHP_EOL; +if (!in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) { + echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.PHP_SAPI.' SAPI'.PHP_EOL; } set_time_limit(0); @@ -15,7 +15,7 @@ set_time_limit(0); require dirname(__DIR__).'/vendor/autoload.php'; if (!class_exists(Application::class)) { - throw new RuntimeException('You need to add "symfony/framework-bundle" as a Composer dependency.'); + throw new LogicException('You need to add "symfony/framework-bundle" as a Composer dependency.'); } $input = new ArgvInput(); diff --git a/symfony/console/4.4/config b/symfony/console/4.4/config deleted file mode 120000 index 5b435e976..000000000 --- a/symfony/console/4.4/config +++ /dev/null @@ -1 +0,0 @@ -../3.3/config/ \ No newline at end of file diff --git a/symfony/console/4.4/config/bootstrap.php b/symfony/console/4.4/config/bootstrap.php new file mode 100644 index 000000000..55560fb83 --- /dev/null +++ b/symfony/console/4.4/config/bootstrap.php @@ -0,0 +1,23 @@ +=1.2) +if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { + (new Dotenv(false))->populate($env); +} else { + // load all the .env files + (new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env'); +} + +$_SERVER += $_ENV; +$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; +$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; +$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/symfony/console/4.4/manifest.json b/symfony/console/4.4/manifest.json deleted file mode 120000 index ae0cf2332..000000000 --- a/symfony/console/4.4/manifest.json +++ /dev/null @@ -1 +0,0 @@ -../3.3/manifest.json \ No newline at end of file diff --git a/symfony/console/4.4/manifest.json b/symfony/console/4.4/manifest.json new file mode 100644 index 000000000..c00421d61 --- /dev/null +++ b/symfony/console/4.4/manifest.json @@ -0,0 +1,7 @@ +{ + "copy-from-recipe": { + "bin/": "%BIN_DIR%/", + "config/": "%CONFIG_DIR%/" + }, + "aliases": ["cli"] +} diff --git a/symfony/console/5.1/bin/console b/symfony/console/5.1/bin/console new file mode 100755 index 000000000..8fe9d4948 --- /dev/null +++ b/symfony/console/5.1/bin/console @@ -0,0 +1,43 @@ +#!/usr/bin/env php +getParameterOption(['--env', '-e'], null, true)) { + putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env); +} + +if ($input->hasParameterOption('--no-debug', true)) { + putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0'); +} + +(new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); + +if ($_SERVER['APP_DEBUG']) { + umask(0000); + + if (class_exists(Debug::class)) { + Debug::enable(); + } +} + +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); +$application = new Application($kernel); +$application->run($input); diff --git a/symfony/console/5.1/manifest.json b/symfony/console/5.1/manifest.json new file mode 100644 index 000000000..b0e9e1d41 --- /dev/null +++ b/symfony/console/5.1/manifest.json @@ -0,0 +1,6 @@ +{ + "copy-from-recipe": { + "bin/": "%BIN_DIR%/" + }, + "aliases": ["cli"] +} diff --git a/symfony/console/5.3/bin/console b/symfony/console/5.3/bin/console new file mode 100755 index 000000000..d8d530e2c --- /dev/null +++ b/symfony/console/5.3/bin/console @@ -0,0 +1,21 @@ +#!/usr/bin/env php +=1.2). -# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration +# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration diff --git a/symfony/forty-six-elks-notifier/6.1/manifest.json b/symfony/forty-six-elks-notifier/6.1/manifest.json new file mode 100644 index 000000000..b7b04396b --- /dev/null +++ b/symfony/forty-six-elks-notifier/6.1/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " forty-six-elks: '%env(FORTY_SIX_ELKS_DSN)%'" + } + ], + "env": { + "#1": "FORTY_SIX_ELKS_DSN=forty-six-elks://API_USERNAME:API_PASSWORD@default?from=FROM" + } +} diff --git a/symfony/framework-bundle/3.3/config/bootstrap.php b/symfony/framework-bundle/3.3/config/bootstrap.php index 78b63c265..2a471864d 100644 --- a/symfony/framework-bundle/3.3/config/bootstrap.php +++ b/symfony/framework-bundle/3.3/config/bootstrap.php @@ -4,14 +4,14 @@ require dirname(__DIR__).'/vendor/autoload.php'; +if (!class_exists(Dotenv::class)) { + throw new LogicException('Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.'); +} + // Load cached env vars if the .env.local.php file exists // Run "composer dump-env prod" to create it (requires symfony/flex >=1.2) -if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV']) { - foreach ($env as $k => $v) { - $_ENV[$k] = $_ENV[$k] ?? (isset($_SERVER[$k]) && 0 !== strpos($k, 'HTTP_') ? $_SERVER[$k] : $v); - } -} elseif (!class_exists(Dotenv::class)) { - throw new RuntimeException('Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.'); +if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { + (new Dotenv(false))->populate($env); } else { $path = dirname(__DIR__).'/.env'; $dotenv = new Dotenv(false); diff --git a/symfony/framework-bundle/3.3/manifest.json b/symfony/framework-bundle/3.3/manifest.json index ea46c0b02..aa0150ea6 100644 --- a/symfony/framework-bundle/3.3/manifest.json +++ b/symfony/framework-bundle/3.3/manifest.json @@ -15,7 +15,7 @@ "APP_ENV": "dev", "APP_SECRET": "%generate(secret)%", "#TRUSTED_PROXIES": "127.0.0.1,127.0.0.2", - "#TRUSTED_HOSTS": "'^localhost|example\\.com$'" + "#TRUSTED_HOSTS": "'^(localhost|example\\.com)$'" }, "gitignore": [ "/.env.local", diff --git a/symfony/framework-bundle/3.3/post-install.txt b/symfony/framework-bundle/3.3/post-install.txt index dba20f82b..944aa0622 100644 --- a/symfony/framework-bundle/3.3/post-install.txt +++ b/symfony/framework-bundle/3.3/post-install.txt @@ -1,7 +1,3 @@ - - What's next? - - * Run your application: 1. Go to the project directory 2. Create your code repository with the git init command diff --git a/symfony/framework-bundle/3.3/public/index.php b/symfony/framework-bundle/3.3/public/index.php index e30f90c03..929197ce0 100644 --- a/symfony/framework-bundle/3.3/public/index.php +++ b/symfony/framework-bundle/3.3/public/index.php @@ -12,11 +12,11 @@ Debug::enable(); } -if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false) { - Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST); +if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) { + Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO); } -if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) { +if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) { Request::setTrustedHosts([$trustedHosts]); } diff --git a/symfony/framework-bundle/3.4/config/bootstrap.php b/symfony/framework-bundle/3.4/config/bootstrap.php new file mode 100644 index 000000000..2a471864d --- /dev/null +++ b/symfony/framework-bundle/3.4/config/bootstrap.php @@ -0,0 +1,53 @@ +=1.2) +if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { + (new Dotenv(false))->populate($env); +} else { + $path = dirname(__DIR__).'/.env'; + $dotenv = new Dotenv(false); + + // load all the .env files + if (method_exists($dotenv, 'loadEnv')) { + $dotenv->loadEnv($path); + } else { + // fallback code in case your Dotenv component is not 4.2 or higher (when loadEnv() was added) + + if (file_exists($path) || !file_exists($p = "$path.dist")) { + $dotenv->load($path); + } else { + $dotenv->load($p); + } + + if (null === $env = $_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) { + $dotenv->populate(array('APP_ENV' => $env = 'dev')); + } + + if ('test' !== $env && file_exists($p = "$path.local")) { + $dotenv->load($p); + $env = $_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env; + } + + if (file_exists($p = "$path.$env")) { + $dotenv->load($p); + } + + if (file_exists($p = "$path.$env.local")) { + $dotenv->load($p); + } + } +} + +$_SERVER += $_ENV; +$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; +$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; +$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/symfony/framework-bundle/3.4/config/packages/cache.yaml b/symfony/framework-bundle/3.4/config/packages/cache.yaml new file mode 100644 index 000000000..6899b7200 --- /dev/null +++ b/symfony/framework-bundle/3.4/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Unique name of your app: used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The "app" cache stores to the filesystem by default. + # The data in this cache should persist between deploys. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: null diff --git a/symfony/framework-bundle/3.4/config/packages/framework.yaml b/symfony/framework-bundle/3.4/config/packages/framework.yaml new file mode 100644 index 000000000..f5325764a --- /dev/null +++ b/symfony/framework-bundle/3.4/config/packages/framework.yaml @@ -0,0 +1,15 @@ +framework: + secret: '%env(APP_SECRET)%' + #csrf_protection: true + #http_method_override: true + + # Enables session support. Note that the session will ONLY be started if you read or write from it. + # Remove or comment this section to explicitly disable session support. + session: + handler_id: null + cookie_samesite: lax + + #esi: true + #fragments: true + php_errors: + log: true diff --git a/symfony/framework-bundle/3.4/config/packages/test/framework.yaml b/symfony/framework-bundle/3.4/config/packages/test/framework.yaml new file mode 100644 index 000000000..d051c8400 --- /dev/null +++ b/symfony/framework-bundle/3.4/config/packages/test/framework.yaml @@ -0,0 +1,4 @@ +framework: + test: true + session: + storage_id: session.storage.mock_file diff --git a/symfony/framework-bundle/3.4/config/services.yaml b/symfony/framework-bundle/3.4/config/services.yaml new file mode 100644 index 000000000..07d653cb1 --- /dev/null +++ b/symfony/framework-bundle/3.4/config/services.yaml @@ -0,0 +1,30 @@ +# This file is the entry point to configure your own services. +# Files in the packages/ subdirectory configure your dependencies. + +# Put parameters here that don't need to change on each machine where the app is deployed +# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration +parameters: + +services: + # default configuration for services in *this* file + _defaults: + autowire: true # Automatically injects dependencies in your services. + autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. + public: false # Allows optimizing the container by removing unused services; this also means + # fetching services directly from the container via $container->get() won't work. + # The best practice is to be explicit about your dependencies anyway. + + # makes classes in src/ available to be used as services + # this creates a service per class whose id is the fully-qualified class name + App\: + resource: '../src/*' + exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}' + + # controllers are imported separately to make sure services can be injected + # as action arguments even if you don't extend any base controller class + App\Controller\: + resource: '../src/Controller' + tags: ['controller.service_arguments'] + + # add more service definitions when explicit configuration is needed + # please note that last definitions always *replace* previous ones diff --git a/symfony/framework-bundle/3.4/manifest.json b/symfony/framework-bundle/3.4/manifest.json new file mode 100644 index 000000000..aa0150ea6 --- /dev/null +++ b/symfony/framework-bundle/3.4/manifest.json @@ -0,0 +1,28 @@ +{ + "bundles": { + "Symfony\\Bundle\\FrameworkBundle\\FrameworkBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "public/": "%PUBLIC_DIR%/", + "src/": "%SRC_DIR%/" + }, + "composer-scripts": { + "cache:clear": "symfony-cmd", + "assets:install %PUBLIC_DIR%": "symfony-cmd" + }, + "env": { + "APP_ENV": "dev", + "APP_SECRET": "%generate(secret)%", + "#TRUSTED_PROXIES": "127.0.0.1,127.0.0.2", + "#TRUSTED_HOSTS": "'^(localhost|example\\.com)$'" + }, + "gitignore": [ + "/.env.local", + "/.env.local.php", + "/.env.*.local", + "/%PUBLIC_DIR%/bundles/", + "/%VAR_DIR%/", + "/vendor/" + ] +} diff --git a/symfony/framework-bundle/3.4/post-install.txt b/symfony/framework-bundle/3.4/post-install.txt new file mode 100644 index 000000000..944aa0622 --- /dev/null +++ b/symfony/framework-bundle/3.4/post-install.txt @@ -0,0 +1,7 @@ + * Run your application: + 1. Go to the project directory + 2. Create your code repository with the git init command + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server, + or run composer require server --dev for a minimalist one + + * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/3.4/public/index.php b/symfony/framework-bundle/3.4/public/index.php new file mode 100644 index 000000000..929197ce0 --- /dev/null +++ b/symfony/framework-bundle/3.4/public/index.php @@ -0,0 +1,27 @@ +handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/symfony/framework-bundle/3.4/src/Controller/.gitignore b/symfony/framework-bundle/3.4/src/Controller/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/symfony/framework-bundle/3.4/src/Kernel.php b/symfony/framework-bundle/3.4/src/Kernel.php new file mode 100644 index 000000000..68b7a561d --- /dev/null +++ b/symfony/framework-bundle/3.4/src/Kernel.php @@ -0,0 +1,61 @@ +getProjectDir().'/var/cache/'.$this->environment; + } + + public function getLogDir() + { + return $this->getProjectDir().'/var/log'; + } + + public function registerBundles() + { + $contents = require $this->getProjectDir().'/config/bundles.php'; + foreach ($contents as $class => $envs) { + if ($envs[$this->environment] ?? $envs['all'] ?? false) { + yield new $class(); + } + } + } + + protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader) + { + $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php')); + // Feel free to remove the "container.autowiring.strict_mode" parameter + // if you are using symfony/dependency-injection 4.0+ as it's the default behavior + $container->setParameter('container.autowiring.strict_mode', true); + $container->setParameter('container.dumper.inline_class_loader', true); + $confDir = $this->getProjectDir().'/config'; + + $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{packages}/'.$this->environment.'/*'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob'); + } + + protected function configureRoutes(RouteCollectionBuilder $routes) + { + $confDir = $this->getProjectDir().'/config'; + + $routes->import($confDir.'/{routes}/'.$this->environment.'/*'.self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob'); + } +} diff --git a/symfony/framework-bundle/4.2/config/bootstrap.php b/symfony/framework-bundle/4.2/config/bootstrap.php index 976a77639..55560fb83 100644 --- a/symfony/framework-bundle/4.2/config/bootstrap.php +++ b/symfony/framework-bundle/4.2/config/bootstrap.php @@ -4,14 +4,14 @@ require dirname(__DIR__).'/vendor/autoload.php'; +if (!class_exists(Dotenv::class)) { + throw new LogicException('Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.'); +} + // Load cached env vars if the .env.local.php file exists // Run "composer dump-env prod" to create it (requires symfony/flex >=1.2) -if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV']) { - foreach ($env as $k => $v) { - $_ENV[$k] = $_ENV[$k] ?? (isset($_SERVER[$k]) && 0 !== strpos($k, 'HTTP_') ? $_SERVER[$k] : $v); - } -} elseif (!class_exists(Dotenv::class)) { - throw new RuntimeException('Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.'); +if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { + (new Dotenv(false))->populate($env); } else { // load all the .env files (new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env'); diff --git a/symfony/framework-bundle/4.2/config/packages/cache.yaml b/symfony/framework-bundle/4.2/config/packages/cache.yaml deleted file mode 120000 index a8816e955..000000000 --- a/symfony/framework-bundle/4.2/config/packages/cache.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../3.3/config/packages/cache.yaml \ No newline at end of file diff --git a/symfony/framework-bundle/4.2/config/packages/cache.yaml b/symfony/framework-bundle/4.2/config/packages/cache.yaml new file mode 100644 index 000000000..6899b7200 --- /dev/null +++ b/symfony/framework-bundle/4.2/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Unique name of your app: used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The "app" cache stores to the filesystem by default. + # The data in this cache should persist between deploys. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: null diff --git a/symfony/framework-bundle/4.2/config/packages/framework.yaml b/symfony/framework-bundle/4.2/config/packages/framework.yaml index 6089f4bd0..cad7f780f 100644 --- a/symfony/framework-bundle/4.2/config/packages/framework.yaml +++ b/symfony/framework-bundle/4.2/config/packages/framework.yaml @@ -1,3 +1,4 @@ +# see https://symfony.com/doc/current/reference/configuration/framework.html framework: secret: '%env(APP_SECRET)%' #csrf_protection: true diff --git a/symfony/framework-bundle/4.2/config/services.yaml b/symfony/framework-bundle/4.2/config/services.yaml index 5c4b41757..99d51bd01 100644 --- a/symfony/framework-bundle/4.2/config/services.yaml +++ b/symfony/framework-bundle/4.2/config/services.yaml @@ -15,7 +15,7 @@ services: # this creates a service per class whose id is the fully-qualified class name App\: resource: '../src/*' - exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}' + exclude: '../src/{DependencyInjection,Entity,Kernel.php}' # controllers are imported separately to make sure services can be injected # as action arguments even if you don't extend any base controller class diff --git a/symfony/framework-bundle/4.2/manifest.json b/symfony/framework-bundle/4.2/manifest.json index 8cdbc68d8..101b2aa23 100644 --- a/symfony/framework-bundle/4.2/manifest.json +++ b/symfony/framework-bundle/4.2/manifest.json @@ -15,12 +15,13 @@ "APP_ENV": "dev", "APP_SECRET": "%generate(secret)%", "#TRUSTED_PROXIES": "127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16", - "#TRUSTED_HOSTS": "'^localhost|example\\.com$'" + "#TRUSTED_HOSTS": "'^(localhost|example\\.com)$'" }, "gitignore": [ "/.env.local", "/.env.local.php", "/.env.*.local", + "/%CONFIG_DIR%/secrets/prod/prod.decrypt.private.php", "/%PUBLIC_DIR%/bundles/", "/%VAR_DIR%/", "/vendor/" diff --git a/symfony/framework-bundle/4.2/post-install.txt b/symfony/framework-bundle/4.2/post-install.txt index f2f7cf943..12f3669bf 100644 --- a/symfony/framework-bundle/4.2/post-install.txt +++ b/symfony/framework-bundle/4.2/post-install.txt @@ -1,7 +1,3 @@ - - What's next? - - * Run your application: 1. Go to the project directory 2. Create your code repository with the git init command diff --git a/symfony/framework-bundle/4.2/public/index.php b/symfony/framework-bundle/4.2/public/index.php index e30f90c03..929197ce0 100644 --- a/symfony/framework-bundle/4.2/public/index.php +++ b/symfony/framework-bundle/4.2/public/index.php @@ -12,11 +12,11 @@ Debug::enable(); } -if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false) { - Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST); +if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) { + Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO); } -if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) { +if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) { Request::setTrustedHosts([$trustedHosts]); } diff --git a/symfony/framework-bundle/4.2/src/Kernel.php b/symfony/framework-bundle/4.2/src/Kernel.php index 5730a9be4..1cd05726a 100644 --- a/symfony/framework-bundle/4.2/src/Kernel.php +++ b/symfony/framework-bundle/4.2/src/Kernel.php @@ -33,7 +33,7 @@ public function getProjectDir(): string protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void { $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php')); - $container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || !ini_get('opcache.preload')); + $container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || $this->debug); $container->setParameter('container.dumper.inline_factories', true); $confDir = $this->getProjectDir().'/config'; diff --git a/symfony/framework-bundle/4.4/config/bootstrap.php b/symfony/framework-bundle/4.4/config/bootstrap.php deleted file mode 120000 index a1c120479..000000000 --- a/symfony/framework-bundle/4.4/config/bootstrap.php +++ /dev/null @@ -1 +0,0 @@ -../../4.2/config/bootstrap.php \ No newline at end of file diff --git a/symfony/framework-bundle/4.4/config/bootstrap.php b/symfony/framework-bundle/4.4/config/bootstrap.php new file mode 100644 index 000000000..55560fb83 --- /dev/null +++ b/symfony/framework-bundle/4.4/config/bootstrap.php @@ -0,0 +1,23 @@ +=1.2) +if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { + (new Dotenv(false))->populate($env); +} else { + // load all the .env files + (new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env'); +} + +$_SERVER += $_ENV; +$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; +$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; +$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/symfony/framework-bundle/4.4/config/packages b/symfony/framework-bundle/4.4/config/packages deleted file mode 120000 index d3c894500..000000000 --- a/symfony/framework-bundle/4.4/config/packages +++ /dev/null @@ -1 +0,0 @@ -../../4.2/config/packages/ \ No newline at end of file diff --git a/symfony/framework-bundle/4.4/config/packages/cache.yaml b/symfony/framework-bundle/4.4/config/packages/cache.yaml new file mode 100644 index 000000000..6899b7200 --- /dev/null +++ b/symfony/framework-bundle/4.4/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Unique name of your app: used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The "app" cache stores to the filesystem by default. + # The data in this cache should persist between deploys. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: null diff --git a/symfony/framework-bundle/4.4/config/packages/framework.yaml b/symfony/framework-bundle/4.4/config/packages/framework.yaml new file mode 100644 index 000000000..cad7f780f --- /dev/null +++ b/symfony/framework-bundle/4.4/config/packages/framework.yaml @@ -0,0 +1,17 @@ +# see https://symfony.com/doc/current/reference/configuration/framework.html +framework: + secret: '%env(APP_SECRET)%' + #csrf_protection: true + #http_method_override: true + + # Enables session support. Note that the session will ONLY be started if you read or write from it. + # Remove or comment this section to explicitly disable session support. + session: + handler_id: null + cookie_secure: auto + cookie_samesite: lax + + #esi: true + #fragments: true + php_errors: + log: true diff --git a/symfony/framework-bundle/4.4/config/packages/test/framework.yaml b/symfony/framework-bundle/4.4/config/packages/test/framework.yaml new file mode 100644 index 000000000..d051c8400 --- /dev/null +++ b/symfony/framework-bundle/4.4/config/packages/test/framework.yaml @@ -0,0 +1,4 @@ +framework: + test: true + session: + storage_id: session.storage.mock_file diff --git a/symfony/framework-bundle/4.4/config/preload.php b/symfony/framework-bundle/4.4/config/preload.php new file mode 100644 index 000000000..064bdcd6a --- /dev/null +++ b/symfony/framework-bundle/4.4/config/preload.php @@ -0,0 +1,9 @@ +Run your application: + 1. Go to the project directory + 2. Create your code repository with the git init command + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server + + * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/4.4/public/index.php b/symfony/framework-bundle/4.4/public/index.php index f094a9b19..d0b6e0207 100644 --- a/symfony/framework-bundle/4.4/public/index.php +++ b/symfony/framework-bundle/4.4/public/index.php @@ -12,11 +12,11 @@ Debug::enable(); } -if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false) { - Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST); +if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) { + Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO); } -if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) { +if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) { Request::setTrustedHosts([$trustedHosts]); } diff --git a/symfony/framework-bundle/4.4/src b/symfony/framework-bundle/4.4/src deleted file mode 120000 index c91888063..000000000 --- a/symfony/framework-bundle/4.4/src +++ /dev/null @@ -1 +0,0 @@ -../4.2/src/ \ No newline at end of file diff --git a/symfony/framework-bundle/4.4/src/Controller/.gitignore b/symfony/framework-bundle/4.4/src/Controller/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/symfony/framework-bundle/4.4/src/Kernel.php b/symfony/framework-bundle/4.4/src/Kernel.php new file mode 100644 index 000000000..1cd05726a --- /dev/null +++ b/symfony/framework-bundle/4.4/src/Kernel.php @@ -0,0 +1,54 @@ +getProjectDir().'/config/bundles.php'; + foreach ($contents as $class => $envs) { + if ($envs[$this->environment] ?? $envs['all'] ?? false) { + yield new $class(); + } + } + } + + public function getProjectDir(): string + { + return \dirname(__DIR__); + } + + protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void + { + $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php')); + $container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || $this->debug); + $container->setParameter('container.dumper.inline_factories', true); + $confDir = $this->getProjectDir().'/config'; + + $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{packages}/'.$this->environment.'/*'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob'); + } + + protected function configureRoutes(RouteCollectionBuilder $routes): void + { + $confDir = $this->getProjectDir().'/config'; + + $routes->import($confDir.'/{routes}/'.$this->environment.'/*'.self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob'); + } +} diff --git a/symfony/framework-bundle/5.1/config/packages/cache.yaml b/symfony/framework-bundle/5.1/config/packages/cache.yaml new file mode 100644 index 000000000..6899b7200 --- /dev/null +++ b/symfony/framework-bundle/5.1/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Unique name of your app: used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The "app" cache stores to the filesystem by default. + # The data in this cache should persist between deploys. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: null diff --git a/symfony/framework-bundle/5.1/config/packages/framework.yaml b/symfony/framework-bundle/5.1/config/packages/framework.yaml new file mode 100644 index 000000000..cad7f780f --- /dev/null +++ b/symfony/framework-bundle/5.1/config/packages/framework.yaml @@ -0,0 +1,17 @@ +# see https://symfony.com/doc/current/reference/configuration/framework.html +framework: + secret: '%env(APP_SECRET)%' + #csrf_protection: true + #http_method_override: true + + # Enables session support. Note that the session will ONLY be started if you read or write from it. + # Remove or comment this section to explicitly disable session support. + session: + handler_id: null + cookie_secure: auto + cookie_samesite: lax + + #esi: true + #fragments: true + php_errors: + log: true diff --git a/symfony/framework-bundle/5.1/config/packages/test/framework.yaml b/symfony/framework-bundle/5.1/config/packages/test/framework.yaml new file mode 100644 index 000000000..d051c8400 --- /dev/null +++ b/symfony/framework-bundle/5.1/config/packages/test/framework.yaml @@ -0,0 +1,4 @@ +framework: + test: true + session: + storage_id: session.storage.mock_file diff --git a/symfony/framework-bundle/5.1/config/preload.php b/symfony/framework-bundle/5.1/config/preload.php new file mode 100644 index 000000000..5ebcdb215 --- /dev/null +++ b/symfony/framework-bundle/5.1/config/preload.php @@ -0,0 +1,5 @@ +Run your application: + 1. Go to the project directory + 2. Create your code repository with the git init command + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server + + * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/5.1/public/index.php b/symfony/framework-bundle/5.1/public/index.php new file mode 100644 index 000000000..097baa370 --- /dev/null +++ b/symfony/framework-bundle/5.1/public/index.php @@ -0,0 +1,30 @@ +bootEnv(dirname(__DIR__).'/.env'); + +if ($_SERVER['APP_DEBUG']) { + umask(0000); + + Debug::enable(); +} + +if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) { + Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO); +} + +if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) { + Request::setTrustedHosts([$trustedHosts]); +} + +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); +$request = Request::createFromGlobals(); +$response = $kernel->handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/symfony/framework-bundle/5.1/src/Controller/.gitignore b/symfony/framework-bundle/5.1/src/Controller/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/symfony/framework-bundle/5.1/src/Kernel.php b/symfony/framework-bundle/5.1/src/Kernel.php new file mode 100644 index 000000000..655e79665 --- /dev/null +++ b/symfony/framework-bundle/5.1/src/Kernel.php @@ -0,0 +1,38 @@ +import('../config/{packages}/*.yaml'); + $container->import('../config/{packages}/'.$this->environment.'/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/services.yaml')) { + $container->import('../config/services.yaml'); + $container->import('../config/{services}_'.$this->environment.'.yaml'); + } elseif (is_file($path = \dirname(__DIR__).'/config/services.php')) { + (require $path)($container->withPath($path), $this); + } + } + + protected function configureRoutes(RoutingConfigurator $routes): void + { + $routes->import('../config/{routes}/'.$this->environment.'/*.yaml'); + $routes->import('../config/{routes}/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/routes.yaml')) { + $routes->import('../config/routes.yaml'); + } elseif (is_file($path = \dirname(__DIR__).'/config/routes.php')) { + (require $path)($routes->withPath($path), $this); + } + } +} diff --git a/symfony/framework-bundle/5.2/config/packages/cache.yaml b/symfony/framework-bundle/5.2/config/packages/cache.yaml new file mode 100644 index 000000000..6899b7200 --- /dev/null +++ b/symfony/framework-bundle/5.2/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Unique name of your app: used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The "app" cache stores to the filesystem by default. + # The data in this cache should persist between deploys. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: null diff --git a/symfony/framework-bundle/5.2/config/packages/framework.yaml b/symfony/framework-bundle/5.2/config/packages/framework.yaml new file mode 100644 index 000000000..cad7f780f --- /dev/null +++ b/symfony/framework-bundle/5.2/config/packages/framework.yaml @@ -0,0 +1,17 @@ +# see https://symfony.com/doc/current/reference/configuration/framework.html +framework: + secret: '%env(APP_SECRET)%' + #csrf_protection: true + #http_method_override: true + + # Enables session support. Note that the session will ONLY be started if you read or write from it. + # Remove or comment this section to explicitly disable session support. + session: + handler_id: null + cookie_secure: auto + cookie_samesite: lax + + #esi: true + #fragments: true + php_errors: + log: true diff --git a/symfony/framework-bundle/5.2/config/packages/test/framework.yaml b/symfony/framework-bundle/5.2/config/packages/test/framework.yaml new file mode 100644 index 000000000..d051c8400 --- /dev/null +++ b/symfony/framework-bundle/5.2/config/packages/test/framework.yaml @@ -0,0 +1,4 @@ +framework: + test: true + session: + storage_id: session.storage.mock_file diff --git a/symfony/framework-bundle/5.2/config/preload.php b/symfony/framework-bundle/5.2/config/preload.php new file mode 100644 index 000000000..5ebcdb215 --- /dev/null +++ b/symfony/framework-bundle/5.2/config/preload.php @@ -0,0 +1,5 @@ +Run your application: + 1. Go to the project directory + 2. Create your code repository with the git init command + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server + + * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/5.2/public/index.php b/symfony/framework-bundle/5.2/public/index.php new file mode 100644 index 000000000..3bcee0b19 --- /dev/null +++ b/symfony/framework-bundle/5.2/public/index.php @@ -0,0 +1,22 @@ +bootEnv(dirname(__DIR__).'/.env'); + +if ($_SERVER['APP_DEBUG']) { + umask(0000); + + Debug::enable(); +} + +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); +$request = Request::createFromGlobals(); +$response = $kernel->handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/symfony/framework-bundle/5.2/src/Controller/.gitignore b/symfony/framework-bundle/5.2/src/Controller/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/symfony/framework-bundle/5.2/src/Kernel.php b/symfony/framework-bundle/5.2/src/Kernel.php new file mode 100644 index 000000000..655e79665 --- /dev/null +++ b/symfony/framework-bundle/5.2/src/Kernel.php @@ -0,0 +1,38 @@ +import('../config/{packages}/*.yaml'); + $container->import('../config/{packages}/'.$this->environment.'/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/services.yaml')) { + $container->import('../config/services.yaml'); + $container->import('../config/{services}_'.$this->environment.'.yaml'); + } elseif (is_file($path = \dirname(__DIR__).'/config/services.php')) { + (require $path)($container->withPath($path), $this); + } + } + + protected function configureRoutes(RoutingConfigurator $routes): void + { + $routes->import('../config/{routes}/'.$this->environment.'/*.yaml'); + $routes->import('../config/{routes}/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/routes.yaml')) { + $routes->import('../config/routes.yaml'); + } elseif (is_file($path = \dirname(__DIR__).'/config/routes.php')) { + (require $path)($routes->withPath($path), $this); + } + } +} diff --git a/symfony/framework-bundle/5.3/config/packages/cache.yaml b/symfony/framework-bundle/5.3/config/packages/cache.yaml new file mode 100644 index 000000000..6899b7200 --- /dev/null +++ b/symfony/framework-bundle/5.3/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Unique name of your app: used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The "app" cache stores to the filesystem by default. + # The data in this cache should persist between deploys. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: null diff --git a/symfony/framework-bundle/5.3/config/packages/framework.yaml b/symfony/framework-bundle/5.3/config/packages/framework.yaml new file mode 100644 index 000000000..7853e9ed5 --- /dev/null +++ b/symfony/framework-bundle/5.3/config/packages/framework.yaml @@ -0,0 +1,24 @@ +# see https://symfony.com/doc/current/reference/configuration/framework.html +framework: + secret: '%env(APP_SECRET)%' + #csrf_protection: true + http_method_override: false + + # Enables session support. Note that the session will ONLY be started if you read or write from it. + # Remove or comment this section to explicitly disable session support. + session: + handler_id: null + cookie_secure: auto + cookie_samesite: lax + storage_factory_id: session.storage.factory.native + + #esi: true + #fragments: true + php_errors: + log: true + +when@test: + framework: + test: true + session: + storage_factory_id: session.storage.factory.mock_file diff --git a/symfony/framework-bundle/5.3/config/preload.php b/symfony/framework-bundle/5.3/config/preload.php new file mode 100644 index 000000000..5ebcdb215 --- /dev/null +++ b/symfony/framework-bundle/5.3/config/preload.php @@ -0,0 +1,5 @@ +Run your application: + 1. Go to the project directory + 2. Create your code repository with the git init command + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server + + * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/5.3/public/index.php b/symfony/framework-bundle/5.3/public/index.php new file mode 100644 index 000000000..9982c218d --- /dev/null +++ b/symfony/framework-bundle/5.3/public/index.php @@ -0,0 +1,9 @@ +import('../config/{packages}/*.yaml'); + $container->import('../config/{packages}/'.$this->environment.'/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/services.yaml')) { + $container->import('../config/services.yaml'); + $container->import('../config/{services}_'.$this->environment.'.yaml'); + } else { + $container->import('../config/{services}.php'); + } + } + + protected function configureRoutes(RoutingConfigurator $routes): void + { + $routes->import('../config/{routes}/'.$this->environment.'/*.yaml'); + $routes->import('../config/{routes}/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/routes.yaml')) { + $routes->import('../config/routes.yaml'); + } else { + $routes->import('../config/{routes}.php'); + } + } +} diff --git a/symfony/framework-bundle/5.4/config/packages/cache.yaml b/symfony/framework-bundle/5.4/config/packages/cache.yaml new file mode 100644 index 000000000..6899b7200 --- /dev/null +++ b/symfony/framework-bundle/5.4/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Unique name of your app: used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The "app" cache stores to the filesystem by default. + # The data in this cache should persist between deploys. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: null diff --git a/symfony/framework-bundle/5.4/config/packages/framework.yaml b/symfony/framework-bundle/5.4/config/packages/framework.yaml new file mode 100644 index 000000000..7853e9ed5 --- /dev/null +++ b/symfony/framework-bundle/5.4/config/packages/framework.yaml @@ -0,0 +1,24 @@ +# see https://symfony.com/doc/current/reference/configuration/framework.html +framework: + secret: '%env(APP_SECRET)%' + #csrf_protection: true + http_method_override: false + + # Enables session support. Note that the session will ONLY be started if you read or write from it. + # Remove or comment this section to explicitly disable session support. + session: + handler_id: null + cookie_secure: auto + cookie_samesite: lax + storage_factory_id: session.storage.factory.native + + #esi: true + #fragments: true + php_errors: + log: true + +when@test: + framework: + test: true + session: + storage_factory_id: session.storage.factory.mock_file diff --git a/symfony/framework-bundle/5.4/config/preload.php b/symfony/framework-bundle/5.4/config/preload.php new file mode 100644 index 000000000..5ebcdb215 --- /dev/null +++ b/symfony/framework-bundle/5.4/config/preload.php @@ -0,0 +1,5 @@ +Run your application: + 1. Go to the project directory + 2. Create your code repository with the git init command + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server + + * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/5.4/public/index.php b/symfony/framework-bundle/5.4/public/index.php new file mode 100644 index 000000000..9982c218d --- /dev/null +++ b/symfony/framework-bundle/5.4/public/index.php @@ -0,0 +1,9 @@ +Run your application: + 1. Go to the project directory + 2. Create your code repository with the git init command + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server + + * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/6.2/public/index.php b/symfony/framework-bundle/6.2/public/index.php new file mode 100644 index 000000000..9982c218d --- /dev/null +++ b/symfony/framework-bundle/6.2/public/index.php @@ -0,0 +1,9 @@ +Run your application: + 1. Go to the project directory + 2. Create your code repository with the git init command + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server + + * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/6.4/public/index.php b/symfony/framework-bundle/6.4/public/index.php new file mode 100644 index 000000000..9982c218d --- /dev/null +++ b/symfony/framework-bundle/6.4/public/index.php @@ -0,0 +1,9 @@ +Run your application: + 1. Go to the project directory + 2. Create your code repository with the git init command + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server + + * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/7.0/public/index.php b/symfony/framework-bundle/7.0/public/index.php new file mode 100644 index 000000000..9982c218d --- /dev/null +++ b/symfony/framework-bundle/7.0/public/index.php @@ -0,0 +1,9 @@ +Run your application: + 1. Go to the project directory + 2. Create your code repository with the git init command + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server + + * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/7.2/public/index.php b/symfony/framework-bundle/7.2/public/index.php new file mode 100644 index 000000000..9982c218d --- /dev/null +++ b/symfony/framework-bundle/7.2/public/index.php @@ -0,0 +1,9 @@ + - What's next? - - * You're ready to send emails. * If you want to send emails via a supported email provider, install diff --git a/symfony/mailgun-mailer/4.4/manifest.json b/symfony/mailgun-mailer/4.4/manifest.json index a80fd18fa..464bdd287 100644 --- a/symfony/mailgun-mailer/4.4/manifest.json +++ b/symfony/mailgun-mailer/4.4/manifest.json @@ -1,6 +1,6 @@ { "env": { - "#1": "MAILER_DSN=mailgun://KEY:DOMAIN@default", - "#2": "MAILER_DSN=mailgun+smtp://USERNAME:PASSWORD@default" + "#1": "MAILER_DSN=mailgun://KEY:DOMAIN@default?region=us", + "#2": "MAILER_DSN=mailgun+smtp://USERNAME:PASSWORD@default?region=us" } } diff --git a/symfony/mailjet-mailer/5.2/manifest.json b/symfony/mailjet-mailer/5.2/manifest.json new file mode 100644 index 000000000..28e704475 --- /dev/null +++ b/symfony/mailjet-mailer/5.2/manifest.json @@ -0,0 +1,6 @@ +{ + "env": { + "#1": "MAILER_DSN=mailjet+api://PUBLIC_KEY:PRIVATE_KEY@api.mailjet.com", + "#2": "#MAILER_DSN=mailjet+smtp://PUBLIC_KEY:PRIVATE_KEY@in-v3.mailjet.com" + } +} diff --git a/symfony/mailjet-notifier/5.4/manifest.json b/symfony/mailjet-notifier/5.4/manifest.json new file mode 100644 index 000000000..25c8ab167 --- /dev/null +++ b/symfony/mailjet-notifier/5.4/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " mailjet: '%env(MAILJET_DSN)%'" + } + ], + "env": { + "#1": "MAILJET_DSN=mailjet://TOKEN@default?from=FROM" + } +} diff --git a/symfony/mailomat-mailer/7.2/manifest.json b/symfony/mailomat-mailer/7.2/manifest.json new file mode 100644 index 000000000..ebf7a7611 --- /dev/null +++ b/symfony/mailomat-mailer/7.2/manifest.json @@ -0,0 +1,6 @@ +{ + "env": { + "#1": "MAILER_DSN=mailomat+api://KEY@default", + "#2": "#MAILER_DSN=mailomat+smtp://USERNAME:PASSWORD@default" + } +} diff --git a/symfony/mailtrap-mailer/7.2/manifest.json b/symfony/mailtrap-mailer/7.2/manifest.json new file mode 100644 index 000000000..a5fc16597 --- /dev/null +++ b/symfony/mailtrap-mailer/7.2/manifest.json @@ -0,0 +1,6 @@ +{ + "env": { + "#1": "MAILER_DSN=mailtrap+api://TOKEN@default", + "#2": "MAILER_DSN=mailtrap+smtp://PASSWORD@default" + } +} diff --git a/symfony/mastodon-notifier/6.3/manifest.json b/symfony/mastodon-notifier/6.3/manifest.json new file mode 100644 index 000000000..e190c26dc --- /dev/null +++ b/symfony/mastodon-notifier/6.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " chatter_transports:", + "content": " mastodon: '%env(MASTODON_DSN)%'" + } + ], + "env": { + "#1": "MASTODON_DSN=mastodon://ACCESS_TOKEN@HOST" + } +} diff --git a/symfony/mattermost-notifier/5.1/manifest.json b/symfony/mattermost-notifier/5.1/manifest.json new file mode 100644 index 000000000..490ca0a59 --- /dev/null +++ b/symfony/mattermost-notifier/5.1/manifest.json @@ -0,0 +1,15 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " chatter_transports:", + "content": " mattermost: '%env(MATTERMOST_DSN)%'" + } + ], + "env": { + "#1": "See https://docs.mattermost.com/developer/bot-accounts.html", + "#2": "MATTERMOST_DSN=mattermost://ACCESS_TOKEN@HOST/PATH?channel=CHANNEL" + } +} diff --git a/symfony/mercure-bundle/0.1/manifest.json b/symfony/mercure-bundle/0.1/manifest.json index b9c57f6d5..ba8f74df6 100644 --- a/symfony/mercure-bundle/0.1/manifest.json +++ b/symfony/mercure-bundle/0.1/manifest.json @@ -11,21 +11,5 @@ "#2": "The default token is signed with the secret key: !ChangeMe!", "MERCURE_JWT_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjdXJlIjp7InB1Ymxpc2giOltdfX0.Oo0yg7y4yMa1vr_bziltxuTCqb8JVHKxp-f_FwwOim0" }, - "docker-compose": { - "services": [ - "mercure:", - " # In production, you may want to use the managed version of Mercure, https://mercure.rocks", - " image: dunglas/mercure", - " environment:", - " # You should definitely change all these values in production", - " - JWT_KEY=!ChangeMe!", - " - ALLOW_ANONYMOUS=1", - " - CORS_ALLOWED_ORIGINS=*", - " - PUBLISH_ALLOWED_ORIGINS=http://localhost:1337", - " - DEMO=1", - " ports:", - " - \"1337:80\"" - ] - }, "aliases": ["mercure"] } diff --git a/symfony/mercure-bundle/0.2/manifest.json b/symfony/mercure-bundle/0.2/manifest.json deleted file mode 120000 index 601da6023..000000000 --- a/symfony/mercure-bundle/0.2/manifest.json +++ /dev/null @@ -1 +0,0 @@ -../0.1/manifest.json \ No newline at end of file diff --git a/symfony/mercure-bundle/0.2/manifest.json b/symfony/mercure-bundle/0.2/manifest.json new file mode 100644 index 000000000..ba8f74df6 --- /dev/null +++ b/symfony/mercure-bundle/0.2/manifest.json @@ -0,0 +1,15 @@ +{ + "bundles": { + "Symfony\\Bundle\\MercureBundle\\MercureBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "env": { + "#1": "See https://symfony.com/doc/current/mercure.html#configuration", + "MERCURE_PUBLISH_URL": "http://mercure/.well-known/mercure", + "#2": "The default token is signed with the secret key: !ChangeMe!", + "MERCURE_JWT_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjdXJlIjp7InB1Ymxpc2giOltdfX0.Oo0yg7y4yMa1vr_bziltxuTCqb8JVHKxp-f_FwwOim0" + }, + "aliases": ["mercure"] +} diff --git a/symfony/mercure-bundle/0.3/config/packages/mercure.yaml b/symfony/mercure-bundle/0.3/config/packages/mercure.yaml new file mode 100644 index 000000000..f2a739540 --- /dev/null +++ b/symfony/mercure-bundle/0.3/config/packages/mercure.yaml @@ -0,0 +1,8 @@ +mercure: + hubs: + default: + url: '%env(MERCURE_URL)%' + public_url: '%env(MERCURE_PUBLIC_URL)%' + jwt: + secret: '%env(MERCURE_JWT_SECRET)%' + publish: '*' diff --git a/symfony/mercure-bundle/0.3/manifest.json b/symfony/mercure-bundle/0.3/manifest.json new file mode 100644 index 000000000..3e21b31e8 --- /dev/null +++ b/symfony/mercure-bundle/0.3/manifest.json @@ -0,0 +1,53 @@ +{ + "bundles": { + "Symfony\\Bundle\\MercureBundle\\MercureBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "env": { + "#1": "See https://symfony.com/doc/current/mercure.html#configuration", + "#2": "The URL of the Mercure hub, used by the app to publish updates (can be a local URL)", + "MERCURE_URL": "https://example.com/.well-known/mercure", + "#3": "The public URL of the Mercure hub, used by the browser to connect", + "MERCURE_PUBLIC_URL": "https://example.com/.well-known/mercure", + "#4": "The secret used to sign the JWTs", + "MERCURE_JWT_SECRET": "!ChangeThisMercureHubJWTSecretKey!" + }, + "docker-compose": { + "docker-compose.yml": { + "services": [ + "mercure:", + " image: dunglas/mercure", + " restart: unless-stopped", + " environment:", + " # Uncomment the following line to disable HTTPS,", + " #SERVER_NAME: ':80'", + " MERCURE_PUBLISHER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'", + " MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'", + " # Set the URL of your Symfony project (without trailing slash!) as value of the cors_origins directive", + " MERCURE_EXTRA_DIRECTIVES: |", + " cors_origins http://127.0.0.1:8000", + " # Comment the following line to disable the development mode", + " command: /usr/bin/caddy run --config /etc/caddy/dev.Caddyfile", + " healthcheck:", + " test: [\"CMD\", \"curl\", \"-f\", \"https://localhost/healthz\"]", + " timeout: 5s", + " retries: 5", + " start_period: 60s", + " volumes:", + " - mercure_data:/data", + " - mercure_config:/config" + ], + "volumes": ["mercure_data:", "mercure_config:"] + }, + "docker-compose.override.yml": { + "services": [ + "mercure:", + " ports:", + " - \"80\"" + ] + } + }, + "aliases": ["mercure"] +} diff --git a/symfony/mercure-notifier/5.3/manifest.json b/symfony/mercure-notifier/5.3/manifest.json new file mode 100644 index 000000000..f5706fe98 --- /dev/null +++ b/symfony/mercure-notifier/5.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " chatter_transports:", + "content": " mercure: '%env(MERCURE_DSN)%'" + } + ], + "env": { + "#1": "MERCURE_DSN=mercure://default" + } +} diff --git a/symfony/message-bird-notifier/5.3/manifest.json b/symfony/message-bird-notifier/5.3/manifest.json new file mode 100644 index 000000000..8be9dfb67 --- /dev/null +++ b/symfony/message-bird-notifier/5.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " messagebird: '%env(MESSAGEBIRD_DSN)%'" + } + ], + "env": { + "#1": "MESSAGEBIRD_DSN=messagebird://TOKEN@default?from=FROM" + } +} diff --git a/symfony/message-media-notifier/5.4/manifest.json b/symfony/message-media-notifier/5.4/manifest.json new file mode 100644 index 000000000..39b26b30b --- /dev/null +++ b/symfony/message-media-notifier/5.4/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " messagemedia: '%env(MESSAGEMEDIA_DSN)%'" + } + ], + "env": { + "#1": "MESSAGEMEDIA_DSN=messagemedia://API_KEY:API_SECRET@default?from=FROM" + } +} diff --git a/symfony/messenger/4.1/manifest.json b/symfony/messenger/4.1/manifest.json index 243aa9572..d0ff17321 100644 --- a/symfony/messenger/4.1/manifest.json +++ b/symfony/messenger/4.1/manifest.json @@ -5,21 +5,6 @@ "env": { "#1": "MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages" }, - "docker-compose": { - "services": [ - "rabbitmq:", - " image: rabbitmq:management-alpine", - " environment:", - " # You should definitely change the password in production", - " - RABBITMQ_DEFAULT_USER=guest", - " - RABBITMQ_DEFAULT_PASS=guest", - " volumes:", - " - rabbitmq-data:/var/lib/rabbitmq", - " ports:", - " - \"5672\"" - ], - "volumes": ["rabbitmq-data: {}"] - }, "aliases": ["messenger"], "conflict": { "symfony/framework-bundle": "<4.1" diff --git a/symfony/messenger/4.1/post-install.txt b/symfony/messenger/4.1/post-install.txt index 037d25ce9..6a2c8ade7 100644 --- a/symfony/messenger/4.1/post-install.txt +++ b/symfony/messenger/4.1/post-install.txt @@ -1,7 +1,3 @@ - - What's next? - - * You're ready to use the Messenger component. You can define your own message buses or start using the default one right now by injecting the messenger.bus.default service or typehinting Symfony\Component\Messenger\MessageBusInterface in your code. diff --git a/symfony/messenger/4.3/manifest.json b/symfony/messenger/4.3/manifest.json index 10305894a..dc045158f 100644 --- a/symfony/messenger/4.3/manifest.json +++ b/symfony/messenger/4.3/manifest.json @@ -4,25 +4,10 @@ }, "env": { "#1": "Choose one of the transports below", - "#2": "MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages", - "#3": "MESSENGER_TRANSPORT_DSN=doctrine://default", + "#2": "MESSENGER_TRANSPORT_DSN=doctrine://default", + "#3": "MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages", "#4": "MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages" }, - "docker-compose": { - "services": [ - "rabbitmq:", - " image: rabbitmq:management-alpine", - " environment:", - " # You should definitely change the password in production", - " - RABBITMQ_DEFAULT_USER=guest", - " - RABBITMQ_DEFAULT_PASS=guest", - " volumes:", - " - rabbitmq-data:/var/lib/rabbitmq", - " ports:", - " - \"5672\"" - ], - "volumes": ["rabbitmq-data: {}"] - }, "aliases": ["messenger"], "conflict": { "symfony/framework-bundle": "<4.3" diff --git a/symfony/messenger/4.3/post-install.txt b/symfony/messenger/4.3/post-install.txt index 89028d76c..8844fe7a0 100644 --- a/symfony/messenger/4.3/post-install.txt +++ b/symfony/messenger/4.3/post-install.txt @@ -1,7 +1,3 @@ - - What's next? - - * You're ready to use the Messenger component. You can define your own message buses or start using the default one right now by injecting the message_bus service or type-hinting Symfony\Component\Messenger\MessageBusInterface in your code. diff --git a/symfony/messenger/5.4/config/packages/messenger.yaml b/symfony/messenger/5.4/config/packages/messenger.yaml new file mode 100644 index 000000000..ce25a11f7 --- /dev/null +++ b/symfony/messenger/5.4/config/packages/messenger.yaml @@ -0,0 +1,17 @@ +framework: + messenger: + # reset services after consuming messages + reset_on_message: true + + # Uncomment this (and the failed transport below) to send failed messages to this transport for later handling. + # failure_transport: failed + + transports: + # https://symfony.com/doc/current/messenger.html#transport-configuration + # async: '%env(MESSENGER_TRANSPORT_DSN)%' + # failed: 'doctrine://default?queue_name=failed' + # sync: 'sync://' + + routing: + # Route your messages to the transports + # 'App\Message\YourMessage': async diff --git a/symfony/messenger/5.4/manifest.json b/symfony/messenger/5.4/manifest.json new file mode 100644 index 000000000..793ce2784 --- /dev/null +++ b/symfony/messenger/5.4/manifest.json @@ -0,0 +1,15 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "env": { + "#1": "Choose one of the transports below", + "#2": "MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages", + "#3": "MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages", + "MESSENGER_TRANSPORT_DSN": "doctrine://default?auto_setup=0" + }, + "aliases": ["messenger"], + "conflict": { + "symfony/framework-bundle": "<4.3" + } +} diff --git a/symfony/messenger/5.4/post-install.txt b/symfony/messenger/5.4/post-install.txt new file mode 100644 index 000000000..8844fe7a0 --- /dev/null +++ b/symfony/messenger/5.4/post-install.txt @@ -0,0 +1,11 @@ + * You're ready to use the Messenger component. You can define your own message buses + or start using the default one right now by injecting the message_bus service + or type-hinting Symfony\Component\Messenger\MessageBusInterface in your code. + + * To send messages to a transport and handle them asynchronously: + + 1. Uncomment the MESSENGER_TRANSPORT_DSN env var in .env + and framework.messenger.transports.async in config/packages/messenger.yaml; + 2. Route your message classes to the async transport in config/packages/messenger.yaml. + + * Read the documentation at https://symfony.com/doc/current/messenger.html diff --git a/symfony/messenger/6.0/config/packages/messenger.yaml b/symfony/messenger/6.0/config/packages/messenger.yaml new file mode 100644 index 000000000..672b6c40a --- /dev/null +++ b/symfony/messenger/6.0/config/packages/messenger.yaml @@ -0,0 +1,22 @@ +framework: + messenger: + # Uncomment this (and the failed transport below) to send failed messages to this transport for later handling. + # failure_transport: failed + + transports: + # https://symfony.com/doc/current/messenger.html#transport-configuration + # async: '%env(MESSENGER_TRANSPORT_DSN)%' + # failed: 'doctrine://default?queue_name=failed' + # sync: 'sync://' + + routing: + # Route your messages to the transports + # 'App\Message\YourMessage': async + +# when@test: +# framework: +# messenger: +# transports: +# # replace with your transport name here (e.g., my_transport: 'in-memory://') +# # For more Messenger testing tools, see https://github.com/zenstruck/messenger-test +# async: 'in-memory://' diff --git a/symfony/messenger/6.0/manifest.json b/symfony/messenger/6.0/manifest.json new file mode 100644 index 000000000..793ce2784 --- /dev/null +++ b/symfony/messenger/6.0/manifest.json @@ -0,0 +1,15 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "env": { + "#1": "Choose one of the transports below", + "#2": "MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages", + "#3": "MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages", + "MESSENGER_TRANSPORT_DSN": "doctrine://default?auto_setup=0" + }, + "aliases": ["messenger"], + "conflict": { + "symfony/framework-bundle": "<4.3" + } +} diff --git a/symfony/messenger/6.0/post-install.txt b/symfony/messenger/6.0/post-install.txt new file mode 100644 index 000000000..186bec8a2 --- /dev/null +++ b/symfony/messenger/6.0/post-install.txt @@ -0,0 +1,13 @@ + * You're ready to use the Messenger component. You can define your own message buses + or start using the default one right now by injecting the message_bus service + or type-hinting Symfony\Component\Messenger\MessageBusInterface in your code. + + * To send messages to a transport and handle them asynchronously: + + 1. Update the MESSENGER_TRANSPORT_DSN env var in .env if needed + and framework.messenger.transports.async in config/packages/messenger.yaml; + 2. (if using Doctrine) Generate a Doctrine migration bin/console doctrine:migration:diff + and execute it bin/console doctrine:migration:migrate + 3. Route your message classes to the async transport in config/packages/messenger.yaml. + + * Read the documentation at https://symfony.com/doc/current/messenger.html diff --git a/symfony/microsoft-teams-notifier/5.3/manifest.json b/symfony/microsoft-teams-notifier/5.3/manifest.json new file mode 100644 index 000000000..39e570462 --- /dev/null +++ b/symfony/microsoft-teams-notifier/5.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " chatter_transports:", + "content": " microsoftteams: '%env(MICROSOFT_TEAMS_DSN)%'" + } + ], + "env": { + "#1": "MICROSOFT_TEAMS_DSN=microsoftteams://default/HOSTPATH" + } +} diff --git a/symfony/mobyt-notifier/5.2/manifest.json b/symfony/mobyt-notifier/5.2/manifest.json new file mode 100644 index 000000000..8fc83d69f --- /dev/null +++ b/symfony/mobyt-notifier/5.2/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " mobyt: '%env(MOBYT_DSN)%'" + } + ], + "env": { + "#1": "MOBYT_DSN=mobyt://USER_KEY:ACCESS_TOKEN@default?from=FROM" + } +} diff --git a/symfony/monolog-bundle/3.1/config/packages/dev/monolog.yaml b/symfony/monolog-bundle/3.1/config/packages/dev/monolog.yaml index 418f060fb..b1998da1a 100644 --- a/symfony/monolog-bundle/3.1/config/packages/dev/monolog.yaml +++ b/symfony/monolog-bundle/3.1/config/packages/dev/monolog.yaml @@ -17,7 +17,3 @@ monolog: type: console process_psr_3_messages: false channels: ["!event", "!doctrine", "!console"] - # # As of Symfony 4.3 you can configure the log output: - # console_formater_options: - # format: "%%datetime%% %%start_tag%%%%level_name%%%%end_tag%% [%%channel%%] %%message%%%%context%%\n" - # multiline: false diff --git a/symfony/monolog-bundle/3.1/config/packages/prod/deprecations.yaml b/symfony/monolog-bundle/3.1/config/packages/prod/deprecations.yaml new file mode 100644 index 000000000..920a06197 --- /dev/null +++ b/symfony/monolog-bundle/3.1/config/packages/prod/deprecations.yaml @@ -0,0 +1,8 @@ +# As of Symfony 5.1, deprecations are logged in the dedicated "deprecation" channel when it exists +#monolog: +# channels: [deprecation] +# handlers: +# deprecation: +# type: stream +# channels: [deprecation] +# path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" diff --git a/symfony/monolog-bundle/3.1/config/packages/prod/monolog.yaml b/symfony/monolog-bundle/3.1/config/packages/prod/monolog.yaml index 96dbf9693..4aa906d42 100644 --- a/symfony/monolog-bundle/3.1/config/packages/prod/monolog.yaml +++ b/symfony/monolog-bundle/3.1/config/packages/prod/monolog.yaml @@ -4,6 +4,7 @@ monolog: type: fingers_crossed action_level: error handler: nested + buffer_size: 50 # How many messages should be saved? Prevent memory leaks excluded_404s: # regex: exclude all 404 errors from the logs - ^/ @@ -15,11 +16,3 @@ monolog: type: console process_psr_3_messages: false channels: ["!event", "!doctrine"] - deprecation: - type: stream - path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" - deprecation_filter: - type: filter - handler: deprecation - max_level: info - channels: ["php"] diff --git a/symfony/monolog-bundle/3.3/config/packages/prod/deprecations.yaml b/symfony/monolog-bundle/3.3/config/packages/prod/deprecations.yaml new file mode 100644 index 000000000..920a06197 --- /dev/null +++ b/symfony/monolog-bundle/3.3/config/packages/prod/deprecations.yaml @@ -0,0 +1,8 @@ +# As of Symfony 5.1, deprecations are logged in the dedicated "deprecation" channel when it exists +#monolog: +# channels: [deprecation] +# handlers: +# deprecation: +# type: stream +# channels: [deprecation] +# path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" diff --git a/symfony/monolog-bundle/3.3/config/packages/prod/monolog.yaml b/symfony/monolog-bundle/3.3/config/packages/prod/monolog.yaml index 5bcdf06ea..bfe69c015 100644 --- a/symfony/monolog-bundle/3.3/config/packages/prod/monolog.yaml +++ b/symfony/monolog-bundle/3.3/config/packages/prod/monolog.yaml @@ -5,6 +5,7 @@ monolog: action_level: error handler: nested excluded_http_codes: [404, 405] + buffer_size: 50 # How many messages should be saved? Prevent memory leaks nested: type: stream path: "%kernel.logs_dir%/%kernel.environment%.log" @@ -13,11 +14,3 @@ monolog: type: console process_psr_3_messages: false channels: ["!event", "!doctrine"] - deprecation: - type: stream - path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" - deprecation_filter: - type: filter - handler: deprecation - max_level: info - channels: ["php"] diff --git a/symfony/monolog-bundle/3.3/config/packages/test/monolog.yaml b/symfony/monolog-bundle/3.3/config/packages/test/monolog.yaml index 2762653c8..fc40641dc 100644 --- a/symfony/monolog-bundle/3.3/config/packages/test/monolog.yaml +++ b/symfony/monolog-bundle/3.3/config/packages/test/monolog.yaml @@ -1,7 +1,12 @@ monolog: handlers: main: + type: fingers_crossed + action_level: error + handler: nested + excluded_http_codes: [404, 405] + channels: ["!event"] + nested: type: stream path: "%kernel.logs_dir%/%kernel.environment%.log" level: debug - channels: ["!event"] diff --git a/symfony/monolog-bundle/3.7/config/packages/monolog.yaml b/symfony/monolog-bundle/3.7/config/packages/monolog.yaml new file mode 100644 index 000000000..9db7d8a7f --- /dev/null +++ b/symfony/monolog-bundle/3.7/config/packages/monolog.yaml @@ -0,0 +1,62 @@ +monolog: + channels: + - deprecation # Deprecations are logged in the dedicated "deprecation" channel when it exists + +when@dev: + monolog: + handlers: + main: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + channels: ["!event"] + # uncomment to get logging in your browser + # you may have to allow bigger header sizes in your Web server configuration + #firephp: + # type: firephp + # level: info + #chromephp: + # type: chromephp + # level: info + console: + type: console + process_psr_3_messages: false + channels: ["!event", "!doctrine", "!console"] + +when@test: + monolog: + handlers: + main: + type: fingers_crossed + action_level: error + handler: nested + excluded_http_codes: [404, 405] + channels: ["!event"] + nested: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + +when@prod: + monolog: + handlers: + main: + type: fingers_crossed + action_level: error + handler: nested + excluded_http_codes: [404, 405] + buffer_size: 50 # How many messages should be saved? Prevent memory leaks + nested: + type: stream + path: php://stderr + level: debug + formatter: monolog.formatter.json + console: + type: console + process_psr_3_messages: false + channels: ["!event", "!doctrine"] + deprecation: + type: stream + channels: [deprecation] + path: php://stderr + formatter: monolog.formatter.json diff --git a/symfony/monolog-bundle/3.7/manifest.json b/symfony/monolog-bundle/3.7/manifest.json new file mode 100644 index 000000000..ed73c591f --- /dev/null +++ b/symfony/monolog-bundle/3.7/manifest.json @@ -0,0 +1,12 @@ +{ + "bundles": { + "Symfony\\Bundle\\MonologBundle\\MonologBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "aliases": ["log", "logger", "logging", "logs", "monolog"], + "conflict": { + "symfony/framework-bundle": "<5.3" + } +} diff --git a/symfony/nexmo-notifier/5.0/manifest.json b/symfony/nexmo-notifier/5.0/manifest.json new file mode 100644 index 000000000..b35bf53b7 --- /dev/null +++ b/symfony/nexmo-notifier/5.0/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " nexmo: '%env(NEXMO_DSN)%'" + } + ], + "env": { + "#1": "NEXMO_DSN=nexmo://KEY:SECRET@default?from=FROM" + } +} diff --git a/symfony/notifier/5.0/config/packages/notifier.yaml b/symfony/notifier/5.0/config/packages/notifier.yaml index 3984a48dc..d02f986ac 100644 --- a/symfony/notifier/5.0/config/packages/notifier.yaml +++ b/symfony/notifier/5.0/config/packages/notifier.yaml @@ -1,11 +1,7 @@ framework: notifier: - #chatter_transports: - # slack: '%env(SLACK_DSN)%' - # telegram: '%env(TELEGRAM_DSN)%' - #texter_transports: - # twilio: '%env(TWILIO_DSN)%' - # nexmo: '%env(NEXMO_DSN)%' + chatter_transports: + texter_transports: channel_policy: # use chat/slack, chat/telegram, sms/twilio or sms/nexmo urgent: ['email'] diff --git a/symfony/novu-notifier/6.4/manifest.json b/symfony/novu-notifier/6.4/manifest.json new file mode 100644 index 000000000..13d5b6a2f --- /dev/null +++ b/symfony/novu-notifier/6.4/manifest.json @@ -0,0 +1,5 @@ +{ + "env": { + "#1": "NOVU_DSN=novu://API_KEY@default" + } +} diff --git a/symfony/ntfy-notifier/6.4/manifest.json b/symfony/ntfy-notifier/6.4/manifest.json new file mode 100644 index 000000000..790f190c8 --- /dev/null +++ b/symfony/ntfy-notifier/6.4/manifest.json @@ -0,0 +1,5 @@ +{ + "env": { + "#1": "NTFY_DSN=ntfy://default/TOPIC" + } +} diff --git a/symfony/octopush-notifier/5.3/manifest.json b/symfony/octopush-notifier/5.3/manifest.json new file mode 100644 index 000000000..e2c42e4dd --- /dev/null +++ b/symfony/octopush-notifier/5.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " octopush: '%env(OCTOPUSH_DSN)%'" + } + ], + "env": { + "#1": "OCTOPUSH_DSN=octopush://USERLOGIN:APIKEY@default?from=FROM&type=TYPE" + } +} diff --git a/symfony/one-signal-notifier/5.4/manifest.json b/symfony/one-signal-notifier/5.4/manifest.json new file mode 100644 index 000000000..436885d64 --- /dev/null +++ b/symfony/one-signal-notifier/5.4/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " onesignal: '%env(ONESIGNAL_DSN)%'" + } + ], + "env": { + "#1": "ONESIGNAL_DSN=onesignal://APP_ID:API_KEY@default?defaultRecipientId=DEFAULT_RECIPIENT_ID" + } +} diff --git a/symfony/orange-sms-notifier/6.1/manifest.json b/symfony/orange-sms-notifier/6.1/manifest.json new file mode 100644 index 000000000..daa2eef79 --- /dev/null +++ b/symfony/orange-sms-notifier/6.1/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " orange-sms: '%env(ORANGE_SMS_DSN)%'" + } + ], + "env": { + "#1": "ORANGE_SMS_DSN=orange-sms://CLIENT_ID:CLIENT_SECRET@default?from=FROM&sender_name=SENDER_NAME" + } +} diff --git a/symfony/ovh-cloud-notifier/5.1/manifest.json b/symfony/ovh-cloud-notifier/5.1/manifest.json new file mode 100644 index 000000000..8d08e5875 --- /dev/null +++ b/symfony/ovh-cloud-notifier/5.1/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " ovhcloud: '%env(OVHCLOUD_DSN)%'" + } + ], + "env": { + "#1": "OVHCLOUD_DSN=ovhcloud://APPLICATION_KEY:APPLICATION_SECRET@default?consumer_key=CONSUMER_KEY&service_name=SERVICE_NAME" + } +} diff --git a/symfony/pager-duty-notifier/6.3/manifest.json b/symfony/pager-duty-notifier/6.3/manifest.json new file mode 100644 index 000000000..0cbf6441f --- /dev/null +++ b/symfony/pager-duty-notifier/6.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " pagerduty: '%env(PAGERDUTY_DSN)%'" + } + ], + "env": { + "#1": "PAGERDUTY_DSN=pagerduty://TOKEN@SUBDOMAIN" + } +} diff --git a/symfony/panther/1.0/manifest.json b/symfony/panther/1.0/manifest.json new file mode 100644 index 000000000..2fbd2eafd --- /dev/null +++ b/symfony/panther/1.0/manifest.json @@ -0,0 +1,25 @@ +{ + "dockerfile": [ + "# Chromium and ChromeDriver", + "ENV PANTHER_NO_SANDBOX 1", + "# Not mandatory, but recommended", + "ENV PANTHER_CHROME_ARGUMENTS='--disable-dev-shm-usage'", + "RUN apt-get update && apt-get install -y --no-install-recommends chromium chromium-driver && rm -rf /var/lib/apt/lists/*", + "", + "# Firefox and geckodriver", + "#ARG GECKODRIVER_VERSION=0.34.0", + "#RUN apt-get update && apt-get install -y --no-install-recommends firefox && rm -rf /var/lib/apt/lists/*", + "#RUN wget -q https://github.com/mozilla/geckodriver/releases/download/v$GECKODRIVER_VERSION/geckodriver-v$GECKODRIVER_VERSION-aarch64.tar.gz; \\", + "#\ttar -zxf geckodriver-v$GECKODRIVER_VERSION-aarch64.tar.gz -C /usr/bin; \\", + "#\trm geckodriver-v$GECKODRIVER_VERSION-aarch64.tar.gz" + ], + "add-lines": [ + { + "file": "phpunit.xml.dist", + "content": " ", + "position": "after_target", + "target": "", + "warn_if_missing": true + } + ] +} diff --git a/symfony/panther/1.0/post-install.txt b/symfony/panther/1.0/post-install.txt new file mode 100644 index 000000000..d059724e9 --- /dev/null +++ b/symfony/panther/1.0/post-install.txt @@ -0,0 +1,9 @@ + * Install ChromeDriver or geckodriver with + the package manager of your Operating System. + + Alternatively, use Browser Driver Installer: + + composer require --dev dbrekelmans/bdi + vendor/bin/bdi detect drivers + + This step is not necessary when using Docker. diff --git a/symfony/phpunit-bridge/3.3/config/bootstrap.php b/symfony/phpunit-bridge/3.3/config/bootstrap.php deleted file mode 120000 index 57ba1e6e0..000000000 --- a/symfony/phpunit-bridge/3.3/config/bootstrap.php +++ /dev/null @@ -1 +0,0 @@ -../../../../symfony/framework-bundle/3.3/config/bootstrap.php \ No newline at end of file diff --git a/symfony/phpunit-bridge/3.3/config/services_test.yaml b/symfony/phpunit-bridge/3.3/config/services_test.yaml deleted file mode 100644 index 876c36bda..000000000 --- a/symfony/phpunit-bridge/3.3/config/services_test.yaml +++ /dev/null @@ -1,9 +0,0 @@ -services: - _defaults: - public: true - - # If you need to access services in a test, create an alias - # and then fetch that alias from the container. As a convention, - # aliases are prefixed with test. For example: - # - # test.App\Service\MyService: '@App\Service\MyService' diff --git a/symfony/phpunit-bridge/3.3/manifest.json b/symfony/phpunit-bridge/3.3/manifest.json index 6a0aab996..a2ed0cb42 100644 --- a/symfony/phpunit-bridge/3.3/manifest.json +++ b/symfony/phpunit-bridge/3.3/manifest.json @@ -2,12 +2,12 @@ "copy-from-recipe": { ".env.test": ".env.test", "bin/": "%BIN_DIR%/", - "config/": "%CONFIG_DIR%/", "phpunit.xml.dist": "phpunit.xml.dist", "tests/": "tests/" }, "gitignore": [ ".phpunit", + ".phpunit.result.cache", "/phpunit.xml" ], "aliases": ["simple-phpunit"] diff --git a/symfony/phpunit-bridge/3.3/phpunit.xml.dist b/symfony/phpunit-bridge/3.3/phpunit.xml.dist index 57c353356..294a5593e 100644 --- a/symfony/phpunit-bridge/3.3/phpunit.xml.dist +++ b/symfony/phpunit-bridge/3.3/phpunit.xml.dist @@ -5,9 +5,10 @@ xsi:noNamespaceSchemaLocation="bin/.phpunit/phpunit.xsd" backupGlobals="false" colors="true" - bootstrap="config/bootstrap.php" + bootstrap="tests/bootstrap.php" > + diff --git a/symfony/phpunit-bridge/3.3/post-install.txt b/symfony/phpunit-bridge/3.3/post-install.txt index 6dd929f7f..2db39ab85 100644 --- a/symfony/phpunit-bridge/3.3/post-install.txt +++ b/symfony/phpunit-bridge/3.3/post-install.txt @@ -1,6 +1,2 @@ - - How to test? - - * Write test cases in the tests/ folder * Run php bin/phpunit diff --git a/symfony/phpunit-bridge/3.3/tests/bootstrap.php b/symfony/phpunit-bridge/3.3/tests/bootstrap.php new file mode 100644 index 000000000..3181151d9 --- /dev/null +++ b/symfony/phpunit-bridge/3.3/tests/bootstrap.php @@ -0,0 +1,15 @@ +bootEnv(dirname(__DIR__).'/.env'); +} + +if ($_SERVER['APP_DEBUG']) { + umask(0000); +} diff --git a/symfony/phpunit-bridge/4.1/.env.test b/symfony/phpunit-bridge/4.1/.env.test index d0486867e..9e7162f0b 100644 --- a/symfony/phpunit-bridge/4.1/.env.test +++ b/symfony/phpunit-bridge/4.1/.env.test @@ -3,3 +3,4 @@ KERNEL_CLASS='App\Kernel' APP_SECRET='$ecretf0rt3st' SYMFONY_DEPRECATIONS_HELPER=999999 PANTHER_APP_ENV=panther +PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots diff --git a/symfony/phpunit-bridge/4.1/config/bootstrap.php b/symfony/phpunit-bridge/4.1/config/bootstrap.php deleted file mode 120000 index 57ba1e6e0..000000000 --- a/symfony/phpunit-bridge/4.1/config/bootstrap.php +++ /dev/null @@ -1 +0,0 @@ -../../../../symfony/framework-bundle/3.3/config/bootstrap.php \ No newline at end of file diff --git a/symfony/phpunit-bridge/4.1/manifest.json b/symfony/phpunit-bridge/4.1/manifest.json index a0437e546..a2ed0cb42 100644 --- a/symfony/phpunit-bridge/4.1/manifest.json +++ b/symfony/phpunit-bridge/4.1/manifest.json @@ -2,7 +2,6 @@ "copy-from-recipe": { ".env.test": ".env.test", "bin/": "%BIN_DIR%/", - "config/": "%CONFIG_DIR%/", "phpunit.xml.dist": "phpunit.xml.dist", "tests/": "tests/" }, diff --git a/symfony/phpunit-bridge/4.1/phpunit.xml.dist b/symfony/phpunit-bridge/4.1/phpunit.xml.dist index 5b7c82022..d81f0c307 100644 --- a/symfony/phpunit-bridge/4.1/phpunit.xml.dist +++ b/symfony/phpunit-bridge/4.1/phpunit.xml.dist @@ -5,7 +5,7 @@ xsi:noNamespaceSchemaLocation="bin/.phpunit/phpunit.xsd" backupGlobals="false" colors="true" - bootstrap="config/bootstrap.php" + bootstrap="tests/bootstrap.php" > @@ -22,8 +22,8 @@ - - src + + src diff --git a/symfony/phpunit-bridge/4.1/post-install.txt b/symfony/phpunit-bridge/4.1/post-install.txt index 6dd929f7f..2db39ab85 100644 --- a/symfony/phpunit-bridge/4.1/post-install.txt +++ b/symfony/phpunit-bridge/4.1/post-install.txt @@ -1,6 +1,2 @@ - - How to test? - - * Write test cases in the tests/ folder * Run php bin/phpunit diff --git a/symfony/phpunit-bridge/4.1/tests/bootstrap.php b/symfony/phpunit-bridge/4.1/tests/bootstrap.php new file mode 100644 index 000000000..3181151d9 --- /dev/null +++ b/symfony/phpunit-bridge/4.1/tests/bootstrap.php @@ -0,0 +1,15 @@ +bootEnv(dirname(__DIR__).'/.env'); +} + +if ($_SERVER['APP_DEBUG']) { + umask(0000); +} diff --git a/symfony/phpunit-bridge/4.3/.env.test b/symfony/phpunit-bridge/4.3/.env.test deleted file mode 120000 index ba1559e97..000000000 --- a/symfony/phpunit-bridge/4.3/.env.test +++ /dev/null @@ -1 +0,0 @@ -../4.1/.env.test \ No newline at end of file diff --git a/symfony/phpunit-bridge/4.3/.env.test b/symfony/phpunit-bridge/4.3/.env.test new file mode 100644 index 000000000..9e7162f0b --- /dev/null +++ b/symfony/phpunit-bridge/4.3/.env.test @@ -0,0 +1,6 @@ +# define your env variables for the test env here +KERNEL_CLASS='App\Kernel' +APP_SECRET='$ecretf0rt3st' +SYMFONY_DEPRECATIONS_HELPER=999999 +PANTHER_APP_ENV=panther +PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots diff --git a/symfony/phpunit-bridge/4.3/config/bootstrap.php b/symfony/phpunit-bridge/4.3/config/bootstrap.php deleted file mode 120000 index 57ba1e6e0..000000000 --- a/symfony/phpunit-bridge/4.3/config/bootstrap.php +++ /dev/null @@ -1 +0,0 @@ -../../../../symfony/framework-bundle/3.3/config/bootstrap.php \ No newline at end of file diff --git a/symfony/phpunit-bridge/4.3/manifest.json b/symfony/phpunit-bridge/4.3/manifest.json deleted file mode 120000 index 39fa2e74e..000000000 --- a/symfony/phpunit-bridge/4.3/manifest.json +++ /dev/null @@ -1 +0,0 @@ -../4.1/manifest.json \ No newline at end of file diff --git a/symfony/phpunit-bridge/4.3/manifest.json b/symfony/phpunit-bridge/4.3/manifest.json new file mode 100644 index 000000000..a2ed0cb42 --- /dev/null +++ b/symfony/phpunit-bridge/4.3/manifest.json @@ -0,0 +1,14 @@ +{ + "copy-from-recipe": { + ".env.test": ".env.test", + "bin/": "%BIN_DIR%/", + "phpunit.xml.dist": "phpunit.xml.dist", + "tests/": "tests/" + }, + "gitignore": [ + ".phpunit", + ".phpunit.result.cache", + "/phpunit.xml" + ], + "aliases": ["simple-phpunit"] +} diff --git a/symfony/phpunit-bridge/4.3/phpunit.xml.dist b/symfony/phpunit-bridge/4.3/phpunit.xml.dist deleted file mode 120000 index 87fc05322..000000000 --- a/symfony/phpunit-bridge/4.3/phpunit.xml.dist +++ /dev/null @@ -1 +0,0 @@ -../4.1/phpunit.xml.dist \ No newline at end of file diff --git a/symfony/phpunit-bridge/4.3/phpunit.xml.dist b/symfony/phpunit-bridge/4.3/phpunit.xml.dist new file mode 100644 index 000000000..576677914 --- /dev/null +++ b/symfony/phpunit-bridge/4.3/phpunit.xml.dist @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + tests + + + + + + src + + + + + + + diff --git a/symfony/phpunit-bridge/4.3/post-install.txt b/symfony/phpunit-bridge/4.3/post-install.txt deleted file mode 120000 index 62244d6b4..000000000 --- a/symfony/phpunit-bridge/4.3/post-install.txt +++ /dev/null @@ -1 +0,0 @@ -../4.1/post-install.txt \ No newline at end of file diff --git a/symfony/phpunit-bridge/4.3/post-install.txt b/symfony/phpunit-bridge/4.3/post-install.txt new file mode 100644 index 000000000..2db39ab85 --- /dev/null +++ b/symfony/phpunit-bridge/4.3/post-install.txt @@ -0,0 +1,2 @@ + * Write test cases in the tests/ folder + * Run php bin/phpunit diff --git a/symfony/phpunit-bridge/4.3/tests/bootstrap.php b/symfony/phpunit-bridge/4.3/tests/bootstrap.php new file mode 100644 index 000000000..3181151d9 --- /dev/null +++ b/symfony/phpunit-bridge/4.3/tests/bootstrap.php @@ -0,0 +1,15 @@ +bootEnv(dirname(__DIR__).'/.env'); +} + +if ($_SERVER['APP_DEBUG']) { + umask(0000); +} diff --git a/symfony/phpunit-bridge/5.1/.env.test b/symfony/phpunit-bridge/5.1/.env.test new file mode 100644 index 000000000..9e7162f0b --- /dev/null +++ b/symfony/phpunit-bridge/5.1/.env.test @@ -0,0 +1,6 @@ +# define your env variables for the test env here +KERNEL_CLASS='App\Kernel' +APP_SECRET='$ecretf0rt3st' +SYMFONY_DEPRECATIONS_HELPER=999999 +PANTHER_APP_ENV=panther +PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots diff --git a/symfony/phpunit-bridge/5.1/bin/phpunit b/symfony/phpunit-bridge/5.1/bin/phpunit new file mode 100755 index 000000000..4d1ed05d3 --- /dev/null +++ b/symfony/phpunit-bridge/5.1/bin/phpunit @@ -0,0 +1,13 @@ +#!/usr/bin/env php + + + + + + + + + + + + + + + tests + + + + + + src + + + + + + + + + diff --git a/symfony/phpunit-bridge/5.1/post-install.txt b/symfony/phpunit-bridge/5.1/post-install.txt new file mode 100644 index 000000000..2db39ab85 --- /dev/null +++ b/symfony/phpunit-bridge/5.1/post-install.txt @@ -0,0 +1,2 @@ + * Write test cases in the tests/ folder + * Run php bin/phpunit diff --git a/symfony/phpunit-bridge/5.1/tests/bootstrap.php b/symfony/phpunit-bridge/5.1/tests/bootstrap.php new file mode 100644 index 000000000..3181151d9 --- /dev/null +++ b/symfony/phpunit-bridge/5.1/tests/bootstrap.php @@ -0,0 +1,15 @@ +bootEnv(dirname(__DIR__).'/.env'); +} + +if ($_SERVER['APP_DEBUG']) { + umask(0000); +} diff --git a/symfony/phpunit-bridge/5.3/.env.test b/symfony/phpunit-bridge/5.3/.env.test new file mode 100644 index 000000000..9e7162f0b --- /dev/null +++ b/symfony/phpunit-bridge/5.3/.env.test @@ -0,0 +1,6 @@ +# define your env variables for the test env here +KERNEL_CLASS='App\Kernel' +APP_SECRET='$ecretf0rt3st' +SYMFONY_DEPRECATIONS_HELPER=999999 +PANTHER_APP_ENV=panther +PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots diff --git a/symfony/phpunit-bridge/5.3/bin/phpunit b/symfony/phpunit-bridge/5.3/bin/phpunit new file mode 100755 index 000000000..692baccb6 --- /dev/null +++ b/symfony/phpunit-bridge/5.3/bin/phpunit @@ -0,0 +1,23 @@ +#!/usr/bin/env php += 80000) { + require dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit'; + } else { + define('PHPUNIT_COMPOSER_INSTALL', dirname(__DIR__).'/vendor/autoload.php'); + require PHPUNIT_COMPOSER_INSTALL; + PHPUnit\TextUI\Command::main(); + } +} else { + if (!is_file(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php')) { + echo "Unable to find the `simple-phpunit.php` script in `vendor/symfony/phpunit-bridge/bin/`.\n"; + exit(1); + } + + require dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php'; +} diff --git a/symfony/phpunit-bridge/5.3/manifest.json b/symfony/phpunit-bridge/5.3/manifest.json new file mode 100644 index 000000000..724e4810a --- /dev/null +++ b/symfony/phpunit-bridge/5.3/manifest.json @@ -0,0 +1,16 @@ +{ + "copy-from-recipe": { + ".env.test": ".env.test", + "bin/": "%BIN_DIR%/", + "phpunit.xml.dist": "phpunit.xml.dist", + "tests/": "tests/" + }, + "gitignore": [ + ".phpunit.result.cache", + "/phpunit.xml" + ], + "conflict": { + "symfony/framework-bundle": "<5.4" + }, + "aliases": ["simple-phpunit"] +} diff --git a/symfony/phpunit-bridge/5.3/phpunit.xml.dist b/symfony/phpunit-bridge/5.3/phpunit.xml.dist new file mode 100644 index 000000000..23ea5cfae --- /dev/null +++ b/symfony/phpunit-bridge/5.3/phpunit.xml.dist @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + tests + + + + + + src + + + + + + + + + diff --git a/symfony/phpunit-bridge/5.3/post-install.txt b/symfony/phpunit-bridge/5.3/post-install.txt new file mode 100644 index 000000000..e9da2a653 --- /dev/null +++ b/symfony/phpunit-bridge/5.3/post-install.txt @@ -0,0 +1,3 @@ + * Write test cases in the tests/ folder + * Use MakerBundle's make:test command as a shortcut! + * Run the tests with php bin/phpunit diff --git a/symfony/phpunit-bridge/5.3/tests/bootstrap.php b/symfony/phpunit-bridge/5.3/tests/bootstrap.php new file mode 100644 index 000000000..47a58557d --- /dev/null +++ b/symfony/phpunit-bridge/5.3/tests/bootstrap.php @@ -0,0 +1,13 @@ +bootEnv(dirname(__DIR__).'/.env'); +} + +if ($_SERVER['APP_DEBUG']) { + umask(0000); +} diff --git a/symfony/phpunit-bridge/6.3/.env.test b/symfony/phpunit-bridge/6.3/.env.test new file mode 100644 index 000000000..9e7162f0b --- /dev/null +++ b/symfony/phpunit-bridge/6.3/.env.test @@ -0,0 +1,6 @@ +# define your env variables for the test env here +KERNEL_CLASS='App\Kernel' +APP_SECRET='$ecretf0rt3st' +SYMFONY_DEPRECATIONS_HELPER=999999 +PANTHER_APP_ENV=panther +PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots diff --git a/symfony/phpunit-bridge/6.3/bin/phpunit b/symfony/phpunit-bridge/6.3/bin/phpunit new file mode 100755 index 000000000..692baccb6 --- /dev/null +++ b/symfony/phpunit-bridge/6.3/bin/phpunit @@ -0,0 +1,23 @@ +#!/usr/bin/env php += 80000) { + require dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit'; + } else { + define('PHPUNIT_COMPOSER_INSTALL', dirname(__DIR__).'/vendor/autoload.php'); + require PHPUNIT_COMPOSER_INSTALL; + PHPUnit\TextUI\Command::main(); + } +} else { + if (!is_file(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php')) { + echo "Unable to find the `simple-phpunit.php` script in `vendor/symfony/phpunit-bridge/bin/`.\n"; + exit(1); + } + + require dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php'; +} diff --git a/symfony/phpunit-bridge/6.3/manifest.json b/symfony/phpunit-bridge/6.3/manifest.json new file mode 100644 index 000000000..485aa5c66 --- /dev/null +++ b/symfony/phpunit-bridge/6.3/manifest.json @@ -0,0 +1,17 @@ +{ + "copy-from-recipe": { + ".env.test": ".env.test", + "bin/": "%BIN_DIR%/", + "phpunit.xml.dist": "phpunit.xml.dist", + "tests/": "tests/" + }, + "gitignore": [ + ".phpunit.result.cache", + "/phpunit.xml" + ], + "conflict": { + "phpunit/phpunit": "<9.6", + "symfony/framework-bundle": "<5.4" + }, + "aliases": ["simple-phpunit"] +} diff --git a/symfony/phpunit-bridge/6.3/phpunit.xml.dist b/symfony/phpunit-bridge/6.3/phpunit.xml.dist new file mode 100644 index 000000000..c76a655ac --- /dev/null +++ b/symfony/phpunit-bridge/6.3/phpunit.xml.dist @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + tests + + + + + + src + + + + + + + + + + diff --git a/symfony/phpunit-bridge/6.3/post-install.txt b/symfony/phpunit-bridge/6.3/post-install.txt new file mode 100644 index 000000000..e9da2a653 --- /dev/null +++ b/symfony/phpunit-bridge/6.3/post-install.txt @@ -0,0 +1,3 @@ + * Write test cases in the tests/ folder + * Use MakerBundle's make:test command as a shortcut! + * Run the tests with php bin/phpunit diff --git a/symfony/phpunit-bridge/6.3/tests/bootstrap.php b/symfony/phpunit-bridge/6.3/tests/bootstrap.php new file mode 100644 index 000000000..47a58557d --- /dev/null +++ b/symfony/phpunit-bridge/6.3/tests/bootstrap.php @@ -0,0 +1,13 @@ +bootEnv(dirname(__DIR__).'/.env'); +} + +if ($_SERVER['APP_DEBUG']) { + umask(0000); +} diff --git a/symfony/phrase-translation-provider/6.4/manifest.json b/symfony/phrase-translation-provider/6.4/manifest.json new file mode 100644 index 000000000..ab532bbf9 --- /dev/null +++ b/symfony/phrase-translation-provider/6.4/manifest.json @@ -0,0 +1,13 @@ +{ + "add-lines": [ + { + "file": "config/packages/translation.yaml", + "position": "after_target", + "target": " providers:", + "content": " phrase:\n dsn: '%env(PHRASE_DSN)%'" + } + ], + "env": { + "#1": "PHRASE_DSN=phrase://PROJECT_ID:API_TOKEN@default?userAgent=Symfony-Phrase-Provider" + } +} diff --git a/symfony/plivo-notifier/6.3/manifest.json b/symfony/plivo-notifier/6.3/manifest.json new file mode 100644 index 000000000..4727cb940 --- /dev/null +++ b/symfony/plivo-notifier/6.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " plivo: '%env(PLIVO_DSN)%'" + } + ], + "env": { + "#1": "PLIVO_DSN=plivo://AUTH_ID:AUTH_TOKEN@default?from=FROM" + } +} diff --git a/symfony/postal-mailer/7.2/manifest.json b/symfony/postal-mailer/7.2/manifest.json new file mode 100644 index 000000000..9d12b3523 --- /dev/null +++ b/symfony/postal-mailer/7.2/manifest.json @@ -0,0 +1,6 @@ +{ + "env": { + "#1": "MAILER_DSN=postal+api://API_TOKEN@BASE_URL", + "#2": "MAILER_DSN=postal://API_TOKEN@BASE_URL" + } +} diff --git a/symfony/postmark-mailer/4.4/manifest.json b/symfony/postmark-mailer/4.4/manifest.json index e7d798ec0..7bee685ad 100644 --- a/symfony/postmark-mailer/4.4/manifest.json +++ b/symfony/postmark-mailer/4.4/manifest.json @@ -1,4 +1,12 @@ { + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "target": " texter_transports:", + "content": " postmark: '%env(MAILER_DSN)%'" + } + ], "env": { "#1": "MAILER_DSN=postmark://ID@default" } diff --git a/symfony/primotexto-notifier/7.2/manifest.json b/symfony/primotexto-notifier/7.2/manifest.json new file mode 100644 index 000000000..356392fec --- /dev/null +++ b/symfony/primotexto-notifier/7.2/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " primotexto: '%env(PRIMOTEXTO_DSN)%'" + } + ], + "env": { + "#1": "PRIMOTEXTO_DSN=primotexto://API_KEY@default?from=FROM" + } +} diff --git a/symfony/psr7-pack/1.0/config/packages/psr_http_message_bridge.yaml b/symfony/psr7-pack/1.0/config/packages/psr_http_message_bridge.yaml new file mode 100644 index 000000000..c1d0e5d2d --- /dev/null +++ b/symfony/psr7-pack/1.0/config/packages/psr_http_message_bridge.yaml @@ -0,0 +1,19 @@ +services: + _defaults: + autowire: true + autoconfigure: true + + Symfony\Bridge\PsrHttpMessage\HttpFoundationFactoryInterface: + '@Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory' + + Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface: + '@Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory' + + Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory: null + Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory: null + + # Uncomment to allow controllers to receive a PSR-7 server request object as argument + #Symfony\Bridge\PsrHttpMessage\ArgumentValueResolver\PsrServerRequestResolver: null + + # Uncomment to allow controllers to return a PSR-7 response object + #Symfony\Bridge\PsrHttpMessage\EventListener\PsrResponseListener: null diff --git a/symfony/psr7-pack/1.0/manifest.json b/symfony/psr7-pack/1.0/manifest.json new file mode 100644 index 000000000..72cb92294 --- /dev/null +++ b/symfony/psr7-pack/1.0/manifest.json @@ -0,0 +1,6 @@ +{ + "aliases": ["psr-7", "psr-17"], + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/pushover-notifier/6.3/manifest.json b/symfony/pushover-notifier/6.3/manifest.json new file mode 100644 index 000000000..a3a4c3eb7 --- /dev/null +++ b/symfony/pushover-notifier/6.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " pushover: '%env(PUSHOVER_DSN)%'" + } + ], + "env": { + "#1": "PUSHOVER_DSN=pushover://USER_KEY:APP_TOKEN@default" + } +} diff --git a/symfony/pushy-notifier/7.1/manifest.json b/symfony/pushy-notifier/7.1/manifest.json new file mode 100644 index 000000000..496178df0 --- /dev/null +++ b/symfony/pushy-notifier/7.1/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " pushy: '%env(PUSHY_DSN)%'" + } + ], + "env": { + "#1": "PUSHY_DSN=pushy://API_KEY@default" + } +} diff --git a/symfony/redlink-notifier/6.4/manifest.json b/symfony/redlink-notifier/6.4/manifest.json new file mode 100644 index 000000000..4f55538a8 --- /dev/null +++ b/symfony/redlink-notifier/6.4/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " redlink: '%env(REDLINK_DSN)%'" + } + ], + "env": { + "#1": "REDLINK_DSN=redlink://API_TOKEN:APP_TOKEN@default?from=FROM&version=VERSION" + } +} diff --git a/symfony/requirements-checker/1.0/manifest.json b/symfony/requirements-checker/1.0/manifest.json index dc76919c8..993ae66df 100644 --- a/symfony/requirements-checker/1.0/manifest.json +++ b/symfony/requirements-checker/1.0/manifest.json @@ -1,6 +1,6 @@ { - "copy-from-package": { - "public/check.php": "%PUBLIC_DIR%/check.php" + "copy-from-recipe": { + "public/": "%PUBLIC_DIR%/" }, "composer-scripts": { "requirements-checker": "script" diff --git a/symfony/requirements-checker/1.0/public/check.php b/symfony/requirements-checker/1.0/public/check.php new file mode 100644 index 000000000..2be7d49e6 --- /dev/null +++ b/symfony/requirements-checker/1.0/public/check.php @@ -0,0 +1,3 @@ + "hello" + * + * Delete this file or adapt it for your use! + */ +export default class extends Controller { + connect() { + this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js'; + } +} diff --git a/symfony/stimulus-bundle/2.13/manifest.json b/symfony/stimulus-bundle/2.13/manifest.json new file mode 100644 index 000000000..470121517 --- /dev/null +++ b/symfony/stimulus-bundle/2.13/manifest.json @@ -0,0 +1,39 @@ +{ + "bundles": { + "Symfony\\UX\\StimulusBundle\\StimulusBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "aliases": ["stimulus", "stimulus-bundle"], + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n // enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js)\n .enableStimulusBridge('./assets/controllers.json')", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import './bootstrap.js';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/bootstrap.js", + "content": "import { startStimulusApp } from '@symfony/stimulus-bridge';\n\n// Registers Stimulus controllers from controllers.json and in the controllers/ directory\nexport const app = startStimulusApp(require.context(\n '@symfony/stimulus-bridge/lazy-controller-loader!./controllers',\n true,\n /\\.[jt]sx?$/\n));", + "position": "top", + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/bootstrap.js", + "content": "import { startStimulusApp } from '@symfony/stimulus-bundle';\n\nconst app = startStimulusApp();", + "position": "top", + "requires": "symfony/asset-mapper" + } + ] +} diff --git a/symfony/stimulus-bundle/2.20/assets/bootstrap.js b/symfony/stimulus-bundle/2.20/assets/bootstrap.js new file mode 100644 index 000000000..2689398a6 --- /dev/null +++ b/symfony/stimulus-bundle/2.20/assets/bootstrap.js @@ -0,0 +1,2 @@ +// register any custom, 3rd party controllers here +// app.register('some_controller_name', SomeImportedController); diff --git a/symfony/stimulus-bundle/2.20/assets/controllers.json b/symfony/stimulus-bundle/2.20/assets/controllers.json new file mode 100644 index 000000000..a1c6e90cf --- /dev/null +++ b/symfony/stimulus-bundle/2.20/assets/controllers.json @@ -0,0 +1,4 @@ +{ + "controllers": [], + "entrypoints": [] +} diff --git a/symfony/stimulus-bundle/2.20/assets/controllers/csrf_protection_controller.js b/symfony/stimulus-bundle/2.20/assets/controllers/csrf_protection_controller.js new file mode 100644 index 000000000..6d42e5c9f --- /dev/null +++ b/symfony/stimulus-bundle/2.20/assets/controllers/csrf_protection_controller.js @@ -0,0 +1,60 @@ +var nameCheck = /^[-_a-zA-Z0-9]{4,22}$/; +var tokenCheck = /^[-_/+a-zA-Z0-9]{24,}$/; + +// Generate and double-submit a CSRF token in a form field and a cookie, as defined by Symfony's SameOriginCsrfTokenManager +document.addEventListener('submit', function (event) { + var csrfField = event.target.querySelector('input[data-controller="csrf-protection"]'); + + if (!csrfField) { + return; + } + + var csrfCookie = csrfField.getAttribute('data-csrf-protection-cookie-value'); + var csrfToken = csrfField.value; + + if (!csrfCookie && nameCheck.test(csrfToken)) { + csrfField.setAttribute('data-csrf-protection-cookie-value', csrfCookie = csrfToken); + csrfField.value = csrfToken = btoa(String.fromCharCode.apply(null, (window.crypto || window.msCrypto).getRandomValues(new Uint8Array(18)))); + } + + if (csrfCookie && tokenCheck.test(csrfToken)) { + var cookie = csrfCookie + '_' + csrfToken + '=' + csrfCookie + '; path=/; samesite=strict'; + document.cookie = window.location.protocol === 'https:' ? '__Host-' + cookie + '; secure' : cookie; + } +}); + +// When @hotwired/turbo handles form submissions, send the CSRF token in a header in addition to a cookie +// The `framework.csrf_protection.check_header` config option needs to be enabled for the header to be checked +document.addEventListener('turbo:submit-start', function (event) { + var csrfField = event.detail.formSubmission.formElement.querySelector('input[data-controller="csrf-protection"]'); + + if (!csrfField) { + return; + } + + var csrfCookie = csrfField.getAttribute('data-csrf-protection-cookie-value'); + + if (tokenCheck.test(csrfField.value) && nameCheck.test(csrfCookie)) { + event.detail.formSubmission.fetchRequest.headers[csrfCookie] = csrfField.value; + } +}); + +// When @hotwired/turbo handles form submissions, remove the CSRF cookie once a form has been submitted +document.addEventListener('turbo:submit-end', function (event) { + var csrfField = event.detail.formSubmission.formElement.querySelector('input[data-controller="csrf-protection"]'); + + if (!csrfField) { + return; + } + + var csrfCookie = csrfField.getAttribute('data-csrf-protection-cookie-value'); + + if (tokenCheck.test(csrfField.value) && nameCheck.test(csrfCookie)) { + var cookie = csrfCookie + '_' + csrfField.value + '=0; path=/; samesite=strict; max-age=0'; + + document.cookie = window.location.protocol === 'https:' ? '__Host-' + cookie + '; secure' : cookie; + } +}); + +/* stimulusFetch: 'lazy' */ +export default 'csrf-protection-controller'; diff --git a/symfony/stimulus-bundle/2.20/assets/controllers/hello_controller.js b/symfony/stimulus-bundle/2.20/assets/controllers/hello_controller.js new file mode 100644 index 000000000..e847027bd --- /dev/null +++ b/symfony/stimulus-bundle/2.20/assets/controllers/hello_controller.js @@ -0,0 +1,16 @@ +import { Controller } from '@hotwired/stimulus'; + +/* + * This is an example Stimulus controller! + * + * Any element with a data-controller="hello" attribute will cause + * this controller to be executed. The name "hello" comes from the filename: + * hello_controller.js -> "hello" + * + * Delete this file or adapt it for your use! + */ +export default class extends Controller { + connect() { + this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js'; + } +} diff --git a/symfony/stimulus-bundle/2.20/manifest.json b/symfony/stimulus-bundle/2.20/manifest.json new file mode 100644 index 000000000..428949575 --- /dev/null +++ b/symfony/stimulus-bundle/2.20/manifest.json @@ -0,0 +1,41 @@ +{ + "bundles": { + "Symfony\\UX\\StimulusBundle\\StimulusBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "aliases": ["stimulus", "stimulus-bundle"], + "conflict": { + "symfony/framework-bundle": "<7.2", + "symfony/security-csrf": "<7.2", + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n // enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js)\n .enableStimulusBridge('./assets/controllers.json')", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import './bootstrap.js';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/bootstrap.js", + "content": "import { startStimulusApp } from '@symfony/stimulus-bridge';\n\n// Registers Stimulus controllers from controllers.json and in the controllers/ directory\nexport const app = startStimulusApp(require.context(\n '@symfony/stimulus-bridge/lazy-controller-loader!./controllers',\n true,\n /\\.[jt]sx?$/\n));", + "position": "top", + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/bootstrap.js", + "content": "import { startStimulusApp } from '@symfony/stimulus-bundle';\n\nconst app = startStimulusApp();", + "position": "top", + "requires": "symfony/asset-mapper" + } + ] +} diff --git a/symfony/stimulus-bundle/2.8/manifest.json b/symfony/stimulus-bundle/2.8/manifest.json new file mode 100644 index 000000000..ff66e8746 --- /dev/null +++ b/symfony/stimulus-bundle/2.8/manifest.json @@ -0,0 +1,6 @@ +{ + "bundles": { + "Symfony\\UX\\StimulusBundle\\StimulusBundle": ["all"] + }, + "aliases": ["stimulus", "stimulus-bundle"] +} diff --git a/symfony/stimulus-bundle/2.9/assets/bootstrap.js b/symfony/stimulus-bundle/2.9/assets/bootstrap.js new file mode 100644 index 000000000..2689398a6 --- /dev/null +++ b/symfony/stimulus-bundle/2.9/assets/bootstrap.js @@ -0,0 +1,2 @@ +// register any custom, 3rd party controllers here +// app.register('some_controller_name', SomeImportedController); diff --git a/symfony/stimulus-bundle/2.9/assets/controllers.json b/symfony/stimulus-bundle/2.9/assets/controllers.json new file mode 100644 index 000000000..a1c6e90cf --- /dev/null +++ b/symfony/stimulus-bundle/2.9/assets/controllers.json @@ -0,0 +1,4 @@ +{ + "controllers": [], + "entrypoints": [] +} diff --git a/symfony/stimulus-bundle/2.9/assets/controllers/hello_controller.js b/symfony/stimulus-bundle/2.9/assets/controllers/hello_controller.js new file mode 100644 index 000000000..e847027bd --- /dev/null +++ b/symfony/stimulus-bundle/2.9/assets/controllers/hello_controller.js @@ -0,0 +1,16 @@ +import { Controller } from '@hotwired/stimulus'; + +/* + * This is an example Stimulus controller! + * + * Any element with a data-controller="hello" attribute will cause + * this controller to be executed. The name "hello" comes from the filename: + * hello_controller.js -> "hello" + * + * Delete this file or adapt it for your use! + */ +export default class extends Controller { + connect() { + this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js'; + } +} diff --git a/symfony/stimulus-bundle/2.9/manifest.json b/symfony/stimulus-bundle/2.9/manifest.json new file mode 100644 index 000000000..60e0ddbe3 --- /dev/null +++ b/symfony/stimulus-bundle/2.9/manifest.json @@ -0,0 +1,47 @@ +{ + "bundles": { + "Symfony\\UX\\StimulusBundle\\StimulusBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "aliases": ["stimulus", "stimulus-bundle"], + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n // enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js)\n .enableStimulusBridge('./assets/controllers.json')", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import './bootstrap.js';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/bootstrap.js", + "content": "import { startStimulusApp } from '@symfony/stimulus-bridge';\n\n// Registers Stimulus controllers from controllers.json and in the controllers/ directory\nexport const app = startStimulusApp(require.context(\n '@symfony/stimulus-bridge/lazy-controller-loader!./controllers',\n true,\n /\\.[jt]sx?$/\n));", + "position": "top", + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/bootstrap.js", + "content": "import { startStimulusApp } from '@symfony/stimulus-bundle';\n\nconst app = startStimulusApp();", + "position": "top", + "requires": "symfony/asset-mapper" + }, + { + "file": "templates/base.html.twig", + "content": " {{ ux_controller_link_tags() }}", + "position": "after_target", + "target": "{% block stylesheets %}", + "warn_if_missing": true, + "requires": "symfony/asset-mapper" + } + ] +} diff --git a/symfony/sweego-mailer/7.2/manifest.json b/symfony/sweego-mailer/7.2/manifest.json new file mode 100644 index 000000000..95750c6b6 --- /dev/null +++ b/symfony/sweego-mailer/7.2/manifest.json @@ -0,0 +1,6 @@ +{ + "env": { + "#1": "MAILER_DSN=sweego+api://API_KEY@default", + "#2": "MAILER_DSN=sweego+smtp://LOGIN:PASSWORD@HOST:PORT" + } +} diff --git a/symfony/sweego-notifier/7.2/manifest.json b/symfony/sweego-notifier/7.2/manifest.json new file mode 100644 index 000000000..6f4380c22 --- /dev/null +++ b/symfony/sweego-notifier/7.2/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " sweego: '%env(SWEEGO_DSN)%'" + } + ], + "env": { + "#1": "SWEEGO_DSN=sweego://API_KEY@default?region=REGION&campaign_type=CAMPAIGN_TYPE" + } +} diff --git a/symfony/swiftmailer-bundle/2.5/config/packages/dev/swiftmailer.yaml b/symfony/swiftmailer-bundle/2.5/config/packages/dev/swiftmailer.yaml index b98158ee1..9bf58d62a 100644 --- a/symfony/swiftmailer-bundle/2.5/config/packages/dev/swiftmailer.yaml +++ b/symfony/swiftmailer-bundle/2.5/config/packages/dev/swiftmailer.yaml @@ -1,4 +1,4 @@ # See https://symfony.com/doc/current/email/dev_environment.html -swiftmailer: - # send all emails to a specific address - #delivery_addresses: ['me@example.com'] +#swiftmailer: +# send all emails to a specific address +# delivery_addresses: ['me@example.com'] diff --git a/symfony/telegram-notifier/5.0/manifest.json b/symfony/telegram-notifier/5.0/manifest.json new file mode 100644 index 000000000..f96f10685 --- /dev/null +++ b/symfony/telegram-notifier/5.0/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " chatter_transports:", + "content": " telegram: '%env(TELEGRAM_DSN)%'" + } + ], + "env": { + "#1": "TELEGRAM_DSN=telegram://TOKEN@default?channel=CHAT_ID" + } +} diff --git a/symfony/telnyx-notifier/5.4/manifest.json b/symfony/telnyx-notifier/5.4/manifest.json new file mode 100644 index 000000000..e2ab7579d --- /dev/null +++ b/symfony/telnyx-notifier/5.4/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " telnyx: '%env(TELNYX_DSN)%'" + } + ], + "env": { + "#1": "TELNYX_DSN=telnyx://API_KEY@default?from=FROM&messaging_profile_id=MESSAGING_PROFILE_ID" + } +} diff --git a/symfony/termii-notifier/6.3/manifest.json b/symfony/termii-notifier/6.3/manifest.json new file mode 100644 index 000000000..b20226d70 --- /dev/null +++ b/symfony/termii-notifier/6.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " termii: '%env(TERMII_DSN)%'" + } + ], + "env": { + "#1": "TERMII_DSN=termii://API_KEY@default?from=FROM&channel=CHANNEL" + } +} diff --git a/symfony/translation/5.3/config/packages/translation.yaml b/symfony/translation/5.3/config/packages/translation.yaml new file mode 100644 index 000000000..b3f8f9cfe --- /dev/null +++ b/symfony/translation/5.3/config/packages/translation.yaml @@ -0,0 +1,7 @@ +framework: + default_locale: en + translator: + default_path: '%kernel.project_dir%/translations' + fallbacks: + - en + providers: diff --git a/symfony/translation/5.3/manifest.json b/symfony/translation/5.3/manifest.json new file mode 100644 index 000000000..685d6aaa3 --- /dev/null +++ b/symfony/translation/5.3/manifest.json @@ -0,0 +1,7 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "translations/": "translations/" + }, + "aliases": ["translator", "translations"] +} diff --git a/symfony/translation/5.3/translations/.gitignore b/symfony/translation/5.3/translations/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/symfony/translation/6.3/config/packages/translation.yaml b/symfony/translation/6.3/config/packages/translation.yaml new file mode 100644 index 000000000..b3f8f9cfe --- /dev/null +++ b/symfony/translation/6.3/config/packages/translation.yaml @@ -0,0 +1,7 @@ +framework: + default_locale: en + translator: + default_path: '%kernel.project_dir%/translations' + fallbacks: + - en + providers: diff --git a/symfony/translation/6.3/manifest.json b/symfony/translation/6.3/manifest.json new file mode 100644 index 000000000..685d6aaa3 --- /dev/null +++ b/symfony/translation/6.3/manifest.json @@ -0,0 +1,7 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "translations/": "translations/" + }, + "aliases": ["translator", "translations"] +} diff --git a/symfony/translation/6.3/translations/.gitignore b/symfony/translation/6.3/translations/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/symfony/turbo-sms-notifier/5.4/manifest.json b/symfony/turbo-sms-notifier/5.4/manifest.json new file mode 100644 index 000000000..f3a397ce8 --- /dev/null +++ b/symfony/turbo-sms-notifier/5.4/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " turbosms: '%env(TURBOSMS_DSN)%'" + } + ], + "env": { + "#1": "TURBOSMS_DSN=turbosms://AUTH_TOKEN@default?from=FROM" + } +} diff --git a/symfony/twig-bundle/3.3/templates/base.html.twig b/symfony/twig-bundle/3.3/templates/base.html.twig index 043f42d1a..16d7273bb 100644 --- a/symfony/twig-bundle/3.3/templates/base.html.twig +++ b/symfony/twig-bundle/3.3/templates/base.html.twig @@ -3,10 +3,17 @@ {% block title %}Welcome!{% endblock %} - {% block stylesheets %}{% endblock %} + {# Run `composer require symfony/webpack-encore-bundle` + and uncomment the following Encore helpers to start using Symfony UX #} + {% block stylesheets %} + {#{{ encore_entry_link_tags('app') }}#} + {% endblock %} + + {% block javascripts %} + {#{{ encore_entry_script_tags('app') }}#} + {% endblock %} {% block body %}{% endblock %} - {% block javascripts %}{% endblock %} diff --git a/symfony/twig-bundle/4.4/config/packages/test b/symfony/twig-bundle/4.4/config/packages/test deleted file mode 120000 index ee2f5f60a..000000000 --- a/symfony/twig-bundle/4.4/config/packages/test +++ /dev/null @@ -1 +0,0 @@ -../../../3.3/config/packages/test \ No newline at end of file diff --git a/symfony/twig-bundle/4.4/config/packages/test/twig.yaml b/symfony/twig-bundle/4.4/config/packages/test/twig.yaml new file mode 100644 index 000000000..8c6e0b401 --- /dev/null +++ b/symfony/twig-bundle/4.4/config/packages/test/twig.yaml @@ -0,0 +1,2 @@ +twig: + strict_variables: true diff --git a/symfony/twig-bundle/4.4/manifest.json b/symfony/twig-bundle/4.4/manifest.json deleted file mode 120000 index ae0cf2332..000000000 --- a/symfony/twig-bundle/4.4/manifest.json +++ /dev/null @@ -1 +0,0 @@ -../3.3/manifest.json \ No newline at end of file diff --git a/symfony/twig-bundle/4.4/manifest.json b/symfony/twig-bundle/4.4/manifest.json new file mode 100644 index 000000000..30d5643be --- /dev/null +++ b/symfony/twig-bundle/4.4/manifest.json @@ -0,0 +1,9 @@ +{ + "bundles": { + "Symfony\\Bundle\\TwigBundle\\TwigBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "templates/": "templates/" + } +} diff --git a/symfony/twig-bundle/4.4/templates b/symfony/twig-bundle/4.4/templates deleted file mode 120000 index 4acb28068..000000000 --- a/symfony/twig-bundle/4.4/templates +++ /dev/null @@ -1 +0,0 @@ -../3.3/templates/ \ No newline at end of file diff --git a/symfony/twig-bundle/4.4/templates/base.html.twig b/symfony/twig-bundle/4.4/templates/base.html.twig new file mode 100644 index 000000000..16d7273bb --- /dev/null +++ b/symfony/twig-bundle/4.4/templates/base.html.twig @@ -0,0 +1,19 @@ + + + + + {% block title %}Welcome!{% endblock %} + {# Run `composer require symfony/webpack-encore-bundle` + and uncomment the following Encore helpers to start using Symfony UX #} + {% block stylesheets %} + {#{{ encore_entry_link_tags('app') }}#} + {% endblock %} + + {% block javascripts %} + {#{{ encore_entry_script_tags('app') }}#} + {% endblock %} + + + {% block body %}{% endblock %} + + diff --git a/symfony/twig-bundle/5.0/config/packages/test b/symfony/twig-bundle/5.0/config/packages/test deleted file mode 120000 index ee2f5f60a..000000000 --- a/symfony/twig-bundle/5.0/config/packages/test +++ /dev/null @@ -1 +0,0 @@ -../../../3.3/config/packages/test \ No newline at end of file diff --git a/symfony/twig-bundle/5.0/config/packages/test/twig.yaml b/symfony/twig-bundle/5.0/config/packages/test/twig.yaml new file mode 100644 index 000000000..8c6e0b401 --- /dev/null +++ b/symfony/twig-bundle/5.0/config/packages/test/twig.yaml @@ -0,0 +1,2 @@ +twig: + strict_variables: true diff --git a/symfony/twig-bundle/5.0/manifest.json b/symfony/twig-bundle/5.0/manifest.json deleted file mode 120000 index ae0cf2332..000000000 --- a/symfony/twig-bundle/5.0/manifest.json +++ /dev/null @@ -1 +0,0 @@ -../3.3/manifest.json \ No newline at end of file diff --git a/symfony/twig-bundle/5.0/manifest.json b/symfony/twig-bundle/5.0/manifest.json new file mode 100644 index 000000000..30d5643be --- /dev/null +++ b/symfony/twig-bundle/5.0/manifest.json @@ -0,0 +1,9 @@ +{ + "bundles": { + "Symfony\\Bundle\\TwigBundle\\TwigBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "templates/": "templates/" + } +} diff --git a/symfony/twig-bundle/5.0/templates b/symfony/twig-bundle/5.0/templates deleted file mode 120000 index 4acb28068..000000000 --- a/symfony/twig-bundle/5.0/templates +++ /dev/null @@ -1 +0,0 @@ -../3.3/templates/ \ No newline at end of file diff --git a/symfony/twig-bundle/5.0/templates/base.html.twig b/symfony/twig-bundle/5.0/templates/base.html.twig new file mode 100644 index 000000000..16d7273bb --- /dev/null +++ b/symfony/twig-bundle/5.0/templates/base.html.twig @@ -0,0 +1,19 @@ + + + + + {% block title %}Welcome!{% endblock %} + {# Run `composer require symfony/webpack-encore-bundle` + and uncomment the following Encore helpers to start using Symfony UX #} + {% block stylesheets %} + {#{{ encore_entry_link_tags('app') }}#} + {% endblock %} + + {% block javascripts %} + {#{{ encore_entry_script_tags('app') }}#} + {% endblock %} + + + {% block body %}{% endblock %} + + diff --git a/symfony/twig-bundle/5.3/config/packages/twig.yaml b/symfony/twig-bundle/5.3/config/packages/twig.yaml new file mode 100644 index 000000000..f9f4cc539 --- /dev/null +++ b/symfony/twig-bundle/5.3/config/packages/twig.yaml @@ -0,0 +1,6 @@ +twig: + default_path: '%kernel.project_dir%/templates' + +when@test: + twig: + strict_variables: true diff --git a/symfony/twig-bundle/5.3/manifest.json b/symfony/twig-bundle/5.3/manifest.json new file mode 100644 index 000000000..c4835ac76 --- /dev/null +++ b/symfony/twig-bundle/5.3/manifest.json @@ -0,0 +1,12 @@ +{ + "bundles": { + "Symfony\\Bundle\\TwigBundle\\TwigBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "templates/": "templates/" + }, + "conflict": { + "symfony/framework-bundle": "<5.3" + } +} diff --git a/symfony/twig-bundle/5.3/templates/base.html.twig b/symfony/twig-bundle/5.3/templates/base.html.twig new file mode 100644 index 000000000..16d7273bb --- /dev/null +++ b/symfony/twig-bundle/5.3/templates/base.html.twig @@ -0,0 +1,19 @@ + + + + + {% block title %}Welcome!{% endblock %} + {# Run `composer require symfony/webpack-encore-bundle` + and uncomment the following Encore helpers to start using Symfony UX #} + {% block stylesheets %} + {#{{ encore_entry_link_tags('app') }}#} + {% endblock %} + + {% block javascripts %} + {#{{ encore_entry_script_tags('app') }}#} + {% endblock %} + + + {% block body %}{% endblock %} + + diff --git a/symfony/twig-bundle/5.4/config/packages/twig.yaml b/symfony/twig-bundle/5.4/config/packages/twig.yaml new file mode 100644 index 000000000..f9f4cc539 --- /dev/null +++ b/symfony/twig-bundle/5.4/config/packages/twig.yaml @@ -0,0 +1,6 @@ +twig: + default_path: '%kernel.project_dir%/templates' + +when@test: + twig: + strict_variables: true diff --git a/symfony/twig-bundle/5.4/manifest.json b/symfony/twig-bundle/5.4/manifest.json new file mode 100644 index 000000000..c4835ac76 --- /dev/null +++ b/symfony/twig-bundle/5.4/manifest.json @@ -0,0 +1,12 @@ +{ + "bundles": { + "Symfony\\Bundle\\TwigBundle\\TwigBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "templates/": "templates/" + }, + "conflict": { + "symfony/framework-bundle": "<5.3" + } +} diff --git a/symfony/twig-bundle/5.4/templates/base.html.twig b/symfony/twig-bundle/5.4/templates/base.html.twig new file mode 100644 index 000000000..d4f83f7f8 --- /dev/null +++ b/symfony/twig-bundle/5.4/templates/base.html.twig @@ -0,0 +1,19 @@ + + + + + {% block title %}Welcome!{% endblock %} + + {# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #} + {% block stylesheets %} + {{ encore_entry_link_tags('app') }} + {% endblock %} + + {% block javascripts %} + {{ encore_entry_script_tags('app') }} + {% endblock %} + + + {% block body %}{% endblock %} + + diff --git a/symfony/twig-bundle/6.3/config/packages/twig.yaml b/symfony/twig-bundle/6.3/config/packages/twig.yaml new file mode 100644 index 000000000..f9f4cc539 --- /dev/null +++ b/symfony/twig-bundle/6.3/config/packages/twig.yaml @@ -0,0 +1,6 @@ +twig: + default_path: '%kernel.project_dir%/templates' + +when@test: + twig: + strict_variables: true diff --git a/symfony/twig-bundle/6.3/manifest.json b/symfony/twig-bundle/6.3/manifest.json new file mode 100644 index 000000000..c4835ac76 --- /dev/null +++ b/symfony/twig-bundle/6.3/manifest.json @@ -0,0 +1,12 @@ +{ + "bundles": { + "Symfony\\Bundle\\TwigBundle\\TwigBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "templates/": "templates/" + }, + "conflict": { + "symfony/framework-bundle": "<5.3" + } +} diff --git a/symfony/twig-bundle/6.3/templates/base.html.twig b/symfony/twig-bundle/6.3/templates/base.html.twig new file mode 100644 index 000000000..67598ac2c --- /dev/null +++ b/symfony/twig-bundle/6.3/templates/base.html.twig @@ -0,0 +1,16 @@ + + + + + {% block title %}Welcome!{% endblock %} + + {% block stylesheets %} + {% endblock %} + + {% block javascripts %} + {% endblock %} + + + {% block body %}{% endblock %} + + diff --git a/symfony/twig-bundle/6.4/config/packages/twig.yaml b/symfony/twig-bundle/6.4/config/packages/twig.yaml new file mode 100644 index 000000000..3f795d921 --- /dev/null +++ b/symfony/twig-bundle/6.4/config/packages/twig.yaml @@ -0,0 +1,6 @@ +twig: + file_name_pattern: '*.twig' + +when@test: + twig: + strict_variables: true diff --git a/symfony/twig-bundle/6.4/manifest.json b/symfony/twig-bundle/6.4/manifest.json new file mode 100644 index 000000000..c4835ac76 --- /dev/null +++ b/symfony/twig-bundle/6.4/manifest.json @@ -0,0 +1,12 @@ +{ + "bundles": { + "Symfony\\Bundle\\TwigBundle\\TwigBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "templates/": "templates/" + }, + "conflict": { + "symfony/framework-bundle": "<5.3" + } +} diff --git a/symfony/twig-bundle/6.4/templates/base.html.twig b/symfony/twig-bundle/6.4/templates/base.html.twig new file mode 100644 index 000000000..1069c1476 --- /dev/null +++ b/symfony/twig-bundle/6.4/templates/base.html.twig @@ -0,0 +1,16 @@ + + + + + {% block title %}Welcome!{% endblock %} + + {% block stylesheets %} + {% endblock %} + + {% block javascripts %} + {% endblock %} + + + {% block body %}{% endblock %} + + diff --git a/symfony/twilio-notifier/5.0/manifest.json b/symfony/twilio-notifier/5.0/manifest.json new file mode 100644 index 000000000..3390126e7 --- /dev/null +++ b/symfony/twilio-notifier/5.0/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " twilio: '%env(TWILIO_DSN)%'" + } + ], + "env": { + "#1": "TWILIO_DSN=twilio://SID:TOKEN@default?from=FROM" + } +} diff --git a/symfony/twitter-notifier/6.3/manifest.json b/symfony/twitter-notifier/6.3/manifest.json new file mode 100644 index 000000000..ca98a2501 --- /dev/null +++ b/symfony/twitter-notifier/6.3/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " chatter_transports:", + "content": " twitter: '%env(TWITTER_DSN)%'" + } + ], + "env": { + "#1": "TWITTER_DSN=twitter://API_KEY:API_SECRET:ACCESS_TOKEN:ACCESS_SECRET@default" + } +} diff --git a/symfony/uid/6.2/config/packages/uid.yaml b/symfony/uid/6.2/config/packages/uid.yaml new file mode 100644 index 000000000..01520944f --- /dev/null +++ b/symfony/uid/6.2/config/packages/uid.yaml @@ -0,0 +1,4 @@ +framework: + uid: + default_uuid_version: 7 + time_based_uuid_version: 7 diff --git a/symfony/uid/6.2/manifest.json b/symfony/uid/6.2/manifest.json new file mode 100644 index 000000000..61b9612c0 --- /dev/null +++ b/symfony/uid/6.2/manifest.json @@ -0,0 +1,8 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "conflict": { + "symfony/framework-bundle": "<6.2" + } +} diff --git a/symfony/uid/7.0/manifest.json b/symfony/uid/7.0/manifest.json new file mode 100644 index 000000000..5ecb16753 --- /dev/null +++ b/symfony/uid/7.0/manifest.json @@ -0,0 +1,5 @@ +{ + "conflict": { + "symfony/framework-bundle": "<7.0" + } +} diff --git a/symfony/unifonic-notifier/7.1/manifest.json b/symfony/unifonic-notifier/7.1/manifest.json new file mode 100644 index 000000000..8697405c9 --- /dev/null +++ b/symfony/unifonic-notifier/7.1/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " unifonic: '%env(UNIFONIC_DSN)%'" + } + ], + "env": { + "#1": "UNIFONIC_DSN=unifonic://APP_SID@default?from=SENDER" + } +} diff --git a/symfony/ux-autocomplete/2.2/config/routes/ux_autocomplete.yaml b/symfony/ux-autocomplete/2.2/config/routes/ux_autocomplete.yaml new file mode 100644 index 000000000..d20a79e97 --- /dev/null +++ b/symfony/ux-autocomplete/2.2/config/routes/ux_autocomplete.yaml @@ -0,0 +1,3 @@ +ux_autocomplete: + resource: '@AutocompleteBundle/Resources/routes.php' + prefix: '/autocomplete' diff --git a/symfony/ux-autocomplete/2.2/manifest.json b/symfony/ux-autocomplete/2.2/manifest.json new file mode 100644 index 000000000..434d3cb17 --- /dev/null +++ b/symfony/ux-autocomplete/2.2/manifest.json @@ -0,0 +1,8 @@ +{ + "bundles": { + "Symfony\\UX\\Autocomplete\\AutocompleteBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/ux-autocomplete/2.6/config/routes/ux_autocomplete.yaml b/symfony/ux-autocomplete/2.6/config/routes/ux_autocomplete.yaml new file mode 100644 index 000000000..da6b261a6 --- /dev/null +++ b/symfony/ux-autocomplete/2.6/config/routes/ux_autocomplete.yaml @@ -0,0 +1,3 @@ +ux_autocomplete: + resource: '@AutocompleteBundle/config/routes.php' + prefix: '/autocomplete' diff --git a/symfony/ux-autocomplete/2.6/manifest.json b/symfony/ux-autocomplete/2.6/manifest.json new file mode 100644 index 000000000..434d3cb17 --- /dev/null +++ b/symfony/ux-autocomplete/2.6/manifest.json @@ -0,0 +1,8 @@ +{ + "bundles": { + "Symfony\\UX\\Autocomplete\\AutocompleteBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/ux-google-map/2.19/manifest.json b/symfony/ux-google-map/2.19/manifest.json new file mode 100644 index 000000000..0adf0fc68 --- /dev/null +++ b/symfony/ux-google-map/2.19/manifest.json @@ -0,0 +1,11 @@ +{ + "conflict": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "env": { + "#1": "Options available at https://github.com/symfony/ux/blob/2.x/src/Map/src/Bridge/Google/README.md", + "#2": "", + "GOOGLE_MAPS_API_KEY": "# Get your API key at https://developers.google.com/maps/documentation/javascript/get-api-key", + "UX_MAP_DSN": "google://%env(GOOGLE_MAPS_API_KEY)%@default" + } +} diff --git a/symfony/ux-google-map/2.19/post-install.txt b/symfony/ux-google-map/2.19/post-install.txt new file mode 100644 index 000000000..0a25cb8dc --- /dev/null +++ b/symfony/ux-google-map/2.19/post-install.txt @@ -0,0 +1 @@ + * Read the documentation at https://github.com/symfony/ux/blob/2.x/src/Map/src/Bridge/Google/README.md diff --git a/symfony/ux-google-map/2.22/manifest.json b/symfony/ux-google-map/2.22/manifest.json new file mode 100644 index 000000000..eb14c9eb0 --- /dev/null +++ b/symfony/ux-google-map/2.22/manifest.json @@ -0,0 +1,20 @@ +{ + "conflict": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "config/packages/ux_map.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " renderer: '%env(resolve:default::UX_MAP_DSN)%'", + "content": " google_maps:\n # define the default map id for all maps (https://developers.google.com/maps/documentation/get-map-id)\n default_map_id: null" + } + ], + "env": { + "#1": "Options available at https://github.com/symfony/ux/blob/2.x/src/Map/src/Bridge/Google/README.md", + "#2": "", + "GOOGLE_MAPS_API_KEY": "# Get your API key at https://developers.google.com/maps/documentation/javascript/get-api-key", + "UX_MAP_DSN": "google://%env(GOOGLE_MAPS_API_KEY)%@default" + } +} diff --git a/symfony/ux-google-map/2.22/post-install.txt b/symfony/ux-google-map/2.22/post-install.txt new file mode 100644 index 000000000..0a25cb8dc --- /dev/null +++ b/symfony/ux-google-map/2.22/post-install.txt @@ -0,0 +1 @@ + * Read the documentation at https://github.com/symfony/ux/blob/2.x/src/Map/src/Bridge/Google/README.md diff --git a/symfony/ux-icons/2.17/assets/icons/symfony.svg b/symfony/ux-icons/2.17/assets/icons/symfony.svg new file mode 100644 index 000000000..93fb329cc --- /dev/null +++ b/symfony/ux-icons/2.17/assets/icons/symfony.svg @@ -0,0 +1 @@ + diff --git a/symfony/ux-icons/2.17/manifest.json b/symfony/ux-icons/2.17/manifest.json new file mode 100644 index 000000000..60cabefb9 --- /dev/null +++ b/symfony/ux-icons/2.17/manifest.json @@ -0,0 +1,8 @@ +{ + "bundles": { + "Symfony\\UX\\Icons\\UXIconsBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/" + } +} diff --git a/symfony/ux-lazy-image/2.17/config/packages/lazy_image.yaml b/symfony/ux-lazy-image/2.17/config/packages/lazy_image.yaml new file mode 100644 index 000000000..c701d01f6 --- /dev/null +++ b/symfony/ux-lazy-image/2.17/config/packages/lazy_image.yaml @@ -0,0 +1,11 @@ +# lazy_image: + # It is recommended to cache the generated BlurHash for performance reasons, to avoid generating it for each request. + # https://symfony.com/bundles/ux-lazy-image/current/index.html#performance-considerations + # cache: cache.lazy_image + +framework: + cache: + # pools: + # cache.lazy_image: + # If possible, prefer to use a cache adapter that is not cleared between deployments, like "cache.adapter.redis" + # adapter: cache.app diff --git a/symfony/ux-lazy-image/2.17/manifest.json b/symfony/ux-lazy-image/2.17/manifest.json new file mode 100644 index 000000000..e10d0f28e --- /dev/null +++ b/symfony/ux-lazy-image/2.17/manifest.json @@ -0,0 +1,8 @@ +{ + "bundles": { + "Symfony\\UX\\LazyImage\\LazyImageBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/ux-lazy-image/2.18/config/packages/lazy_image.yaml b/symfony/ux-lazy-image/2.18/config/packages/lazy_image.yaml new file mode 100644 index 000000000..0ea8aa9b6 --- /dev/null +++ b/symfony/ux-lazy-image/2.18/config/packages/lazy_image.yaml @@ -0,0 +1,16 @@ +# lazy_image: + # By default, images are fetched through "file_get_contents" function, but you can use your own implementation + # with an invokable service or a callable. + # https://symfony.com/bundles/ux-lazy-image/current/index.html#customizing-images-fetching + # fetch_image_content: 'App\BlurHash\FetchImageContent' + + # It is recommended to cache the generated BlurHash for performance reasons, to avoid generating it for each request. + # https://symfony.com/bundles/ux-lazy-image/current/index.html#performance-considerations + # cache: cache.lazy_image + +framework: + cache: + # pools: + # cache.lazy_image: + # If possible, prefer to use a cache adapter that is not cleared between deployments, like "cache.adapter.redis" + # adapter: cache.app diff --git a/symfony/ux-lazy-image/2.18/manifest.json b/symfony/ux-lazy-image/2.18/manifest.json new file mode 100644 index 000000000..e10d0f28e --- /dev/null +++ b/symfony/ux-lazy-image/2.18/manifest.json @@ -0,0 +1,8 @@ +{ + "bundles": { + "Symfony\\UX\\LazyImage\\LazyImageBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/ux-leaflet-map/2.19/manifest.json b/symfony/ux-leaflet-map/2.19/manifest.json new file mode 100644 index 000000000..11d0e3f26 --- /dev/null +++ b/symfony/ux-leaflet-map/2.19/manifest.json @@ -0,0 +1,10 @@ +{ + "conflict": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "env": { + "#1": "Options available at https://github.com/symfony/ux/blob/2.x/src/Map/src/Bridge/Leaflet/README.md", + "#2": "", + "UX_MAP_DSN": "leaflet://default" + } +} diff --git a/symfony/ux-leaflet-map/2.19/post-install.txt b/symfony/ux-leaflet-map/2.19/post-install.txt new file mode 100644 index 000000000..6d72f28a2 --- /dev/null +++ b/symfony/ux-leaflet-map/2.19/post-install.txt @@ -0,0 +1 @@ + * Read the documentation at https://github.com/symfony/ux/blob/2.x/src/Map/src/Bridge/Leaflet/README.md diff --git a/symfony/ux-live-component/2.0/config/routes/ux_live_component.yaml b/symfony/ux-live-component/2.0/config/routes/ux_live_component.yaml new file mode 100644 index 000000000..e4e401fbc --- /dev/null +++ b/symfony/ux-live-component/2.0/config/routes/ux_live_component.yaml @@ -0,0 +1,4 @@ +live_component: + resource: '@LiveComponentBundle/Resources/config/routing/live_component.xml' + # uncomment to add localization to your components + #prefix: '/{_locale}' diff --git a/symfony/ux-live-component/2.0/manifest.json b/symfony/ux-live-component/2.0/manifest.json new file mode 100644 index 000000000..5a817eed1 --- /dev/null +++ b/symfony/ux-live-component/2.0/manifest.json @@ -0,0 +1,8 @@ +{ + "bundles": { + "Symfony\\UX\\LiveComponent\\LiveComponentBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/ux-live-component/2.6/config/routes/ux_live_component.yaml b/symfony/ux-live-component/2.6/config/routes/ux_live_component.yaml new file mode 100644 index 000000000..e56523abf --- /dev/null +++ b/symfony/ux-live-component/2.6/config/routes/ux_live_component.yaml @@ -0,0 +1,5 @@ +live_component: + resource: '@LiveComponentBundle/config/routes.php' + prefix: '/_components' + # adjust prefix to add localization to your components + #prefix: '/{_locale}/_components' diff --git a/symfony/ux-live-component/2.6/manifest.json b/symfony/ux-live-component/2.6/manifest.json new file mode 100644 index 000000000..5a817eed1 --- /dev/null +++ b/symfony/ux-live-component/2.6/manifest.json @@ -0,0 +1,8 @@ +{ + "bundles": { + "Symfony\\UX\\LiveComponent\\LiveComponentBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/ux-map/2.19/config/packages/ux_map.yaml b/symfony/ux-map/2.19/config/packages/ux_map.yaml new file mode 100644 index 000000000..ce0f0c75f --- /dev/null +++ b/symfony/ux-map/2.19/config/packages/ux_map.yaml @@ -0,0 +1,3 @@ +ux_map: + # https://symfony.com/bundles/ux-map/current/index.html#available-renderers + renderer: '%env(resolve:default::UX_MAP_DSN)%' diff --git a/symfony/ux-map/2.19/manifest.json b/symfony/ux-map/2.19/manifest.json new file mode 100644 index 000000000..22f6b800b --- /dev/null +++ b/symfony/ux-map/2.19/manifest.json @@ -0,0 +1,11 @@ +{ + "bundles": { + "Symfony\\UX\\Map\\UXMapBundle": ["all"] + }, + "conflict": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/ux-map/2.19/post-install.txt b/symfony/ux-map/2.19/post-install.txt new file mode 100644 index 000000000..814b7c24c --- /dev/null +++ b/symfony/ux-map/2.19/post-install.txt @@ -0,0 +1,6 @@ + * You're near ready to use the Symfony UX Map component. You can create your first map + by using the Map class, but you will not be able to render it yet until you + install the Symfony UX Map Bridge you want to use, they can be found at + https://symfony.com/bundles/ux-map/current/index.html#available-renderers. + + * Read the documentation at https://symfony.com/bundles/ux-map/current/index.html diff --git a/symfony/ux-react/2.8/manifest.json b/symfony/ux-react/2.8/manifest.json new file mode 100644 index 000000000..be0ff742e --- /dev/null +++ b/symfony/ux-react/2.8/manifest.json @@ -0,0 +1,5 @@ +{ + "bundles": { + "Symfony\\UX\\React\\ReactBundle": ["all"] + } +} diff --git a/symfony/ux-react/2.9/assets/react/controllers/Hello.jsx b/symfony/ux-react/2.9/assets/react/controllers/Hello.jsx new file mode 100644 index 000000000..54fe3686c --- /dev/null +++ b/symfony/ux-react/2.9/assets/react/controllers/Hello.jsx @@ -0,0 +1,5 @@ +import React from 'react'; + +export default function (props) { + return
Hello {props.fullName}
; +} diff --git a/symfony/ux-react/2.9/manifest.json b/symfony/ux-react/2.9/manifest.json new file mode 100644 index 000000000..444d845b1 --- /dev/null +++ b/symfony/ux-react/2.9/manifest.json @@ -0,0 +1,40 @@ +{ + "bundles": { + "Symfony\\UX\\React\\ReactBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n .enableReactPreset()", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import { registerReactControllerComponents } from '@symfony/ux-react';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/app.js", + "content": "registerReactControllerComponents(require.context('./react/controllers', true, /\\.(j|t)sx?$/));", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/app.js", + "content": "registerReactControllerComponents();", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/asset-mapper" + } + ] +} diff --git a/symfony/ux-svelte/2.8/manifest.json b/symfony/ux-svelte/2.8/manifest.json new file mode 100644 index 000000000..7c82371ec --- /dev/null +++ b/symfony/ux-svelte/2.8/manifest.json @@ -0,0 +1,5 @@ +{ + "bundles": { + "Symfony\\UX\\Svelte\\SvelteBundle": ["all"] + } +} diff --git a/symfony/ux-svelte/2.9/assets/svelte/controllers/Hello.svelte b/symfony/ux-svelte/2.9/assets/svelte/controllers/Hello.svelte new file mode 100644 index 000000000..3499af48b --- /dev/null +++ b/symfony/ux-svelte/2.9/assets/svelte/controllers/Hello.svelte @@ -0,0 +1,5 @@ + + +
Hello {name}
diff --git a/symfony/ux-svelte/2.9/manifest.json b/symfony/ux-svelte/2.9/manifest.json new file mode 100644 index 000000000..c5e3457b8 --- /dev/null +++ b/symfony/ux-svelte/2.9/manifest.json @@ -0,0 +1,40 @@ +{ + "bundles": { + "Symfony\\UX\\Svelte\\SvelteBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n .enableSvelte()", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import { registerSvelteControllerComponents } from '@symfony/ux-svelte';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/app.js", + "content": "registerSvelteControllerComponents(require.context('./svelte/controllers', true, /\\.svelte$/));", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/app.js", + "content": "registerSvelteControllerComponents();", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/asset-mapper" + } + ] +} diff --git a/symfony/ux-translator/2.8/assets/translator.js b/symfony/ux-translator/2.8/assets/translator.js new file mode 100644 index 000000000..eab7b6c71 --- /dev/null +++ b/symfony/ux-translator/2.8/assets/translator.js @@ -0,0 +1,16 @@ +/* + * This file is part of the Symfony UX Translator package. + * + * If folder "../var/translations" does not exist, or some translations are missing, + * you must warmup your Symfony cache to refresh JavaScript translations. + * + * If you use TypeScript, you can rename this file to "translator.ts" to take advantage of types checking. + */ + +import { trans, getLocale, setLocale, setLocaleFallbacks } from '@symfony/ux-translator'; +import { localeFallbacks } from '../var/translations/configuration'; + +setLocaleFallbacks(localeFallbacks); + +export { trans }; +export * from '../var/translations'; diff --git a/symfony/ux-translator/2.8/config/packages/ux_translator.yaml b/symfony/ux-translator/2.8/config/packages/ux_translator.yaml new file mode 100644 index 000000000..1c1c70608 --- /dev/null +++ b/symfony/ux-translator/2.8/config/packages/ux_translator.yaml @@ -0,0 +1,3 @@ +ux_translator: + # The directory where the JavaScript translations are dumped + dump_directory: '%kernel.project_dir%/var/translations' diff --git a/symfony/ux-translator/2.8/manifest.json b/symfony/ux-translator/2.8/manifest.json new file mode 100644 index 000000000..3f984fca8 --- /dev/null +++ b/symfony/ux-translator/2.8/manifest.json @@ -0,0 +1,9 @@ +{ + "bundles": { + "Symfony\\UX\\Translator\\UxTranslatorBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/", + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/ux-translator/2.9/assets/translator.js b/symfony/ux-translator/2.9/assets/translator.js new file mode 100644 index 000000000..28012a657 --- /dev/null +++ b/symfony/ux-translator/2.9/assets/translator.js @@ -0,0 +1,13 @@ +import { trans, getLocale, setLocale, setLocaleFallbacks } from '@symfony/ux-translator'; +/* + * This file is part of the Symfony UX Translator package. + * + * If folder "../var/translations" does not exist, or some translations are missing, + * you must warmup your Symfony cache to refresh JavaScript translations. + * + * If you use TypeScript, you can rename this file to "translator.ts" to take advantage of types checking. + */ + +setLocaleFallbacks(localeFallbacks); + +export { trans }; diff --git a/symfony/ux-translator/2.9/config/packages/ux_translator.yaml b/symfony/ux-translator/2.9/config/packages/ux_translator.yaml new file mode 100644 index 000000000..1c1c70608 --- /dev/null +++ b/symfony/ux-translator/2.9/config/packages/ux_translator.yaml @@ -0,0 +1,3 @@ +ux_translator: + # The directory where the JavaScript translations are dumped + dump_directory: '%kernel.project_dir%/var/translations' diff --git a/symfony/ux-translator/2.9/manifest.json b/symfony/ux-translator/2.9/manifest.json new file mode 100644 index 000000000..a1ac08bac --- /dev/null +++ b/symfony/ux-translator/2.9/manifest.json @@ -0,0 +1,39 @@ +{ + "bundles": { + "Symfony\\UX\\Translator\\UxTranslatorBundle": ["all"] + }, + "conflict": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "copy-from-recipe": { + "assets/": "assets/", + "config/": "%CONFIG_DIR%/", + "var/": "var/" + }, + "add-lines": [ + { + "file": "assets/translator.js", + "content": "import { localeFallbacks } from '../var/translations/configuration';", + "position": "top", + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/translator.js", + "content": "import { localeFallbacks } from '@app/translations/configuration';", + "position": "top", + "requires": "symfony/asset-mapper" + }, + { + "file": "assets/translator.js", + "content": "export * from '../var/translations';", + "position": "bottom", + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/translator.js", + "content": "export * from '@app/translations';", + "position": "bottom", + "requires": "symfony/asset-mapper" + } + ] +} diff --git a/symfony/ux-translator/2.9/var/translations/configuration.js b/symfony/ux-translator/2.9/var/translations/configuration.js new file mode 100644 index 000000000..bea96d631 --- /dev/null +++ b/symfony/ux-translator/2.9/var/translations/configuration.js @@ -0,0 +1,3 @@ +export const localeFallbacks = {}; + +console.log('Run bin/console cache:warmup to generate the translation files.'); diff --git a/symfony/ux-translator/2.9/var/translations/index.js b/symfony/ux-translator/2.9/var/translations/index.js new file mode 100644 index 000000000..34f7c1ba7 --- /dev/null +++ b/symfony/ux-translator/2.9/var/translations/index.js @@ -0,0 +1 @@ +console.log('Run bin/console cache:warmup to generate the translation files.'); diff --git a/symfony/ux-turbo/2.20/manifest.json b/symfony/ux-turbo/2.20/manifest.json new file mode 100644 index 000000000..48149c60a --- /dev/null +++ b/symfony/ux-turbo/2.20/manifest.json @@ -0,0 +1,14 @@ +{ + "conflict": { + "symfony/framework-bundle": "<7.2", + "symfony/security-csrf": "<7.2" + }, + "add-lines": [ + { + "file": "config/packages/framework.yaml", + "position": "after_target", + "target": " csrf_protection:", + "content": " check_header: true" + } + ] +} diff --git a/symfony/ux-twig-component/2.13/config/packages/twig_component.yaml b/symfony/ux-twig-component/2.13/config/packages/twig_component.yaml new file mode 100644 index 000000000..fd17ac693 --- /dev/null +++ b/symfony/ux-twig-component/2.13/config/packages/twig_component.yaml @@ -0,0 +1,5 @@ +twig_component: + anonymous_template_directory: 'components/' + defaults: + # Namespace & directory for components + App\Twig\Components\: 'components/' diff --git a/symfony/ux-twig-component/2.13/manifest.json b/symfony/ux-twig-component/2.13/manifest.json new file mode 100644 index 000000000..c6968c457 --- /dev/null +++ b/symfony/ux-twig-component/2.13/manifest.json @@ -0,0 +1,8 @@ +{ + "bundles": { + "Symfony\\UX\\TwigComponent\\TwigComponentBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/ux-vue/2.8/manifest.json b/symfony/ux-vue/2.8/manifest.json new file mode 100644 index 000000000..9010c6f25 --- /dev/null +++ b/symfony/ux-vue/2.8/manifest.json @@ -0,0 +1,5 @@ +{ + "bundles": { + "Symfony\\UX\\Vue\\VueBundle": ["all"] + } +} diff --git a/symfony/ux-vue/2.9/assets/vue/controllers/Hello.vue b/symfony/ux-vue/2.9/assets/vue/controllers/Hello.vue new file mode 100644 index 000000000..2812aa432 --- /dev/null +++ b/symfony/ux-vue/2.9/assets/vue/controllers/Hello.vue @@ -0,0 +1,9 @@ + + + diff --git a/symfony/ux-vue/2.9/manifest.json b/symfony/ux-vue/2.9/manifest.json new file mode 100644 index 000000000..2682a6221 --- /dev/null +++ b/symfony/ux-vue/2.9/manifest.json @@ -0,0 +1,40 @@ +{ + "bundles": { + "Symfony\\UX\\Vue\\VueBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n .enableVueLoader()", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import { registerVueControllerComponents } from '@symfony/ux-vue';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/app.js", + "content": "registerVueControllerComponents(require.context('./vue/controllers', true, /\\.vue$/));", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/app.js", + "content": "registerVueControllerComponents();", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/asset-mapper" + } + ] +} diff --git a/symfony/validator/4.3/manifest.json b/symfony/validator/4.3/manifest.json deleted file mode 120000 index 39fa2e74e..000000000 --- a/symfony/validator/4.3/manifest.json +++ /dev/null @@ -1 +0,0 @@ -../4.1/manifest.json \ No newline at end of file diff --git a/symfony/validator/4.3/manifest.json b/symfony/validator/4.3/manifest.json new file mode 100644 index 000000000..57f78dce7 --- /dev/null +++ b/symfony/validator/4.3/manifest.json @@ -0,0 +1,6 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "aliases": ["validation"] +} diff --git a/symfony/validator/5.3/config/packages/validator.yaml b/symfony/validator/5.3/config/packages/validator.yaml new file mode 100644 index 000000000..0201281d3 --- /dev/null +++ b/symfony/validator/5.3/config/packages/validator.yaml @@ -0,0 +1,13 @@ +framework: + validation: + email_validation_mode: html5 + + # Enables validator auto-mapping support. + # For instance, basic validation constraints will be inferred from Doctrine's metadata. + #auto_mapping: + # App\Entity\: [] + +when@test: + framework: + validation: + not_compromised_password: false diff --git a/symfony/validator/5.3/manifest.json b/symfony/validator/5.3/manifest.json new file mode 100644 index 000000000..84521dbac --- /dev/null +++ b/symfony/validator/5.3/manifest.json @@ -0,0 +1,9 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "aliases": ["validation"], + "conflict": { + "symfony/framework-bundle": "<5.3" + } +} diff --git a/symfony/validator/7.0/config/packages/validator.yaml b/symfony/validator/7.0/config/packages/validator.yaml new file mode 100644 index 000000000..dd47a6ad8 --- /dev/null +++ b/symfony/validator/7.0/config/packages/validator.yaml @@ -0,0 +1,11 @@ +framework: + validation: + # Enables validator auto-mapping support. + # For instance, basic validation constraints will be inferred from Doctrine's metadata. + #auto_mapping: + # App\Entity\: [] + +when@test: + framework: + validation: + not_compromised_password: false diff --git a/symfony/validator/7.0/manifest.json b/symfony/validator/7.0/manifest.json new file mode 100644 index 000000000..8a204c0c0 --- /dev/null +++ b/symfony/validator/7.0/manifest.json @@ -0,0 +1,9 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "aliases": ["validation"], + "conflict": { + "symfony/framework-bundle": "<7.0" + } +} diff --git a/symfony/vonage-notifier/5.4/manifest.json b/symfony/vonage-notifier/5.4/manifest.json new file mode 100644 index 000000000..25b0376ea --- /dev/null +++ b/symfony/vonage-notifier/5.4/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " vonage: '%env(VONAGE_DSN)%'" + } + ], + "env": { + "#1": "VONAGE_DSN=vonage://KEY:SECRET@default?from=FROM" + } +} diff --git a/symfony/web-profiler-bundle/5.3/config/packages/web_profiler.yaml b/symfony/web-profiler-bundle/5.3/config/packages/web_profiler.yaml new file mode 100644 index 000000000..17893da18 --- /dev/null +++ b/symfony/web-profiler-bundle/5.3/config/packages/web_profiler.yaml @@ -0,0 +1,15 @@ +when@dev: + web_profiler: + toolbar: true + intercept_redirects: false + + framework: + profiler: { only_exceptions: false } + +when@test: + web_profiler: + toolbar: false + intercept_redirects: false + + framework: + profiler: { collect: false } diff --git a/symfony/web-profiler-bundle/5.3/config/routes/web_profiler.yaml b/symfony/web-profiler-bundle/5.3/config/routes/web_profiler.yaml new file mode 100644 index 000000000..8d85319fd --- /dev/null +++ b/symfony/web-profiler-bundle/5.3/config/routes/web_profiler.yaml @@ -0,0 +1,8 @@ +when@dev: + web_profiler_wdt: + resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml' + prefix: /_wdt + + web_profiler_profiler: + resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml' + prefix: /_profiler diff --git a/symfony/web-profiler-bundle/5.3/manifest.json b/symfony/web-profiler-bundle/5.3/manifest.json new file mode 100644 index 000000000..be741281b --- /dev/null +++ b/symfony/web-profiler-bundle/5.3/manifest.json @@ -0,0 +1,11 @@ +{ + "bundles": { + "Symfony\\Bundle\\WebProfilerBundle\\WebProfilerBundle": ["dev", "test"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "conflict": { + "symfony/framework-bundle": "<5.3" + } +} diff --git a/symfony/web-profiler-bundle/6.1/config/packages/web_profiler.yaml b/symfony/web-profiler-bundle/6.1/config/packages/web_profiler.yaml new file mode 100644 index 000000000..b94611102 --- /dev/null +++ b/symfony/web-profiler-bundle/6.1/config/packages/web_profiler.yaml @@ -0,0 +1,17 @@ +when@dev: + web_profiler: + toolbar: true + intercept_redirects: false + + framework: + profiler: + only_exceptions: false + collect_serializer_data: true + +when@test: + web_profiler: + toolbar: false + intercept_redirects: false + + framework: + profiler: { collect: false } diff --git a/symfony/web-profiler-bundle/6.1/config/routes/web_profiler.yaml b/symfony/web-profiler-bundle/6.1/config/routes/web_profiler.yaml new file mode 100644 index 000000000..8d85319fd --- /dev/null +++ b/symfony/web-profiler-bundle/6.1/config/routes/web_profiler.yaml @@ -0,0 +1,8 @@ +when@dev: + web_profiler_wdt: + resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml' + prefix: /_wdt + + web_profiler_profiler: + resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml' + prefix: /_profiler diff --git a/symfony/web-profiler-bundle/6.1/manifest.json b/symfony/web-profiler-bundle/6.1/manifest.json new file mode 100644 index 000000000..fceb97f41 --- /dev/null +++ b/symfony/web-profiler-bundle/6.1/manifest.json @@ -0,0 +1,11 @@ +{ + "bundles": { + "Symfony\\Bundle\\WebProfilerBundle\\WebProfilerBundle": ["dev", "test"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "conflict": { + "symfony/framework-bundle": "<6.1" + } +} diff --git a/symfony/webapp-pack/1.0/config/packages/messenger.yaml b/symfony/webapp-pack/1.0/config/packages/messenger.yaml new file mode 100644 index 000000000..270f3c75d --- /dev/null +++ b/symfony/webapp-pack/1.0/config/packages/messenger.yaml @@ -0,0 +1,29 @@ +framework: + messenger: + failure_transport: failed + + transports: + # https://symfony.com/doc/current/messenger.html#transport-configuration + async: + dsn: '%env(MESSENGER_TRANSPORT_DSN)%' + options: + use_notify: true + check_delayed_interval: 60000 + retry_strategy: + max_retries: 3 + multiplier: 2 + failed: 'doctrine://default?queue_name=failed' + # sync: 'sync://' + + default_bus: messenger.bus.default + + buses: + messenger.bus.default: [] + + routing: + Symfony\Component\Mailer\Messenger\SendEmailMessage: async + Symfony\Component\Notifier\Message\ChatMessage: async + Symfony\Component\Notifier\Message\SmsMessage: async + + # Route your messages to the transports + # 'App\Message\YourMessage': async diff --git a/symfony/webapp-pack/1.0/manifest.json b/symfony/webapp-pack/1.0/manifest.json new file mode 100644 index 000000000..00574434f --- /dev/null +++ b/symfony/webapp-pack/1.0/manifest.json @@ -0,0 +1,6 @@ +{ + "aliases": ["webapp"], + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/webhook/6.3/config/routes/webhook.yaml b/symfony/webhook/6.3/config/routes/webhook.yaml new file mode 100644 index 000000000..bf07b3813 --- /dev/null +++ b/symfony/webhook/6.3/config/routes/webhook.yaml @@ -0,0 +1,3 @@ +webhook: + resource: '@FrameworkBundle/Resources/config/routing/webhook.xml' + prefix: /webhook diff --git a/symfony/webhook/6.3/manifest.json b/symfony/webhook/6.3/manifest.json new file mode 100644 index 000000000..e164c6e63 --- /dev/null +++ b/symfony/webhook/6.3/manifest.json @@ -0,0 +1,5 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfony/webpack-encore-bundle/1.0/assets/app.js b/symfony/webpack-encore-bundle/1.0/assets/app.js new file mode 100644 index 000000000..bb0a6aa13 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.0/assets/app.js @@ -0,0 +1,12 @@ +/* + * Welcome to your app's main JavaScript file! + * + * We recommend including the built version of this JavaScript file + * (and its CSS file) in your base layout (base.html.twig). + */ + +// any CSS you import will output into a single css file (app.css in this case) +import './styles/app.css'; + +// start the Stimulus application +import './bootstrap'; diff --git a/symfony/webpack-encore-bundle/1.0/assets/bootstrap.js b/symfony/webpack-encore-bundle/1.0/assets/bootstrap.js new file mode 100644 index 000000000..4ab2df643 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.0/assets/bootstrap.js @@ -0,0 +1,11 @@ +import { startStimulusApp } from '@symfony/stimulus-bridge'; + +// Registers Stimulus controllers from controllers.json and in the controllers/ directory +export const app = startStimulusApp(require.context( + '@symfony/stimulus-bridge/lazy-controller-loader!./controllers', + true, + /\.[jt]sx?$/ +)); + +// register any custom, 3rd party controllers here +// app.register('some_controller_name', SomeImportedController); diff --git a/symfony/webpack-encore-bundle/1.0/assets/controllers.json b/symfony/webpack-encore-bundle/1.0/assets/controllers.json new file mode 100644 index 000000000..a1c6e90cf --- /dev/null +++ b/symfony/webpack-encore-bundle/1.0/assets/controllers.json @@ -0,0 +1,4 @@ +{ + "controllers": [], + "entrypoints": [] +} diff --git a/symfony/webpack-encore-bundle/1.0/assets/controllers/hello_controller.js b/symfony/webpack-encore-bundle/1.0/assets/controllers/hello_controller.js new file mode 100644 index 000000000..8c79f65a2 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.0/assets/controllers/hello_controller.js @@ -0,0 +1,16 @@ +import { Controller } from 'stimulus'; + +/* + * This is an example Stimulus controller! + * + * Any element with a data-controller="hello" attribute will cause + * this controller to be executed. The name "hello" comes from the filename: + * hello_controller.js -> "hello" + * + * Delete this file or adapt it for your use! + */ +export default class extends Controller { + connect() { + this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js'; + } +} diff --git a/symfony/webpack-encore-bundle/1.0/assets/js/app.js b/symfony/webpack-encore-bundle/1.0/assets/js/app.js deleted file mode 100644 index 0648e871c..000000000 --- a/symfony/webpack-encore-bundle/1.0/assets/js/app.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Welcome to your app's main JavaScript file! - * - * We recommend including the built version of this JavaScript file - * (and its CSS file) in your base layout (base.html.twig). - */ - -// any CSS you require will output into a single css file (app.css in this case) -require('../css/app.css'); - -// Need jQuery? Install it with "yarn add jquery", then uncomment to require it. -// const $ = require('jquery'); - -console.log('Hello Webpack Encore! Edit me in assets/js/app.js'); diff --git a/symfony/webpack-encore-bundle/1.0/assets/css/app.css b/symfony/webpack-encore-bundle/1.0/assets/styles/app.css similarity index 100% rename from symfony/webpack-encore-bundle/1.0/assets/css/app.css rename to symfony/webpack-encore-bundle/1.0/assets/styles/app.css diff --git a/symfony/webpack-encore-bundle/1.0/manifest.json b/symfony/webpack-encore-bundle/1.0/manifest.json index 2b6e9f772..84ab3961b 100644 --- a/symfony/webpack-encore-bundle/1.0/manifest.json +++ b/symfony/webpack-encore-bundle/1.0/manifest.json @@ -8,7 +8,7 @@ "package.json": "package.json", "webpack.config.js": "webpack.config.js" }, - "aliases": ["encore", "webpack", "webpack-encore"], + "aliases": ["ux", "encore", "webpack", "webpack-encore"], "gitignore": [ "/node_modules/", "/%PUBLIC_DIR%/build/", diff --git a/symfony/webpack-encore-bundle/1.0/package.json b/symfony/webpack-encore-bundle/1.0/package.json index cfa25b99c..ba0e4f414 100644 --- a/symfony/webpack-encore-bundle/1.0/package.json +++ b/symfony/webpack-encore-bundle/1.0/package.json @@ -1,8 +1,10 @@ { "devDependencies": { - "@symfony/webpack-encore": "^0.28.0", + "@symfony/stimulus-bridge": "^2.0.0", + "@symfony/webpack-encore": "^1.0.0", "core-js": "^3.0.0", "regenerator-runtime": "^0.13.2", + "stimulus": "^2.0.0", "webpack-notifier": "^1.6.0" }, "license": "UNLICENSED", diff --git a/symfony/webpack-encore-bundle/1.0/webpack.config.js b/symfony/webpack-encore-bundle/1.0/webpack.config.js index f077608a2..056b04aa6 100644 --- a/symfony/webpack-encore-bundle/1.0/webpack.config.js +++ b/symfony/webpack-encore-bundle/1.0/webpack.config.js @@ -1,4 +1,4 @@ -var Encore = require('@symfony/webpack-encore'); +const Encore = require('@symfony/webpack-encore'); // Manually configure the runtime environment if not already configured yet by the "encore" command. // It's useful when you use tools that rely on webpack.config.js file. @@ -17,15 +17,13 @@ Encore /* * ENTRY CONFIG * - * Add 1 entry for each "page" of your app - * (including one that's included on every page - e.g. "app") - * * Each entry will result in one JavaScript file (e.g. app.js) * and one CSS file (e.g. app.css) if your JavaScript imports CSS. */ - .addEntry('app', './assets/js/app.js') - //.addEntry('page1', './assets/js/page1.js') - //.addEntry('page2', './assets/js/page2.js') + .addEntry('app', './assets/app.js') + + // enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js) + .enableStimulusBridge('./assets/controllers.json') // When enabled, Webpack "splits" your files into smaller pieces for greater optimization. .splitEntryChunks() @@ -47,10 +45,14 @@ Encore // enables hashed filenames (e.g. app.abc123.css) .enableVersioning(Encore.isProduction()) + .configureBabel((config) => { + config.plugins.push('@babel/plugin-proposal-class-properties'); + }) + // enables @babel/preset-env polyfills - .configureBabel(() => {}, { - useBuiltIns: 'usage', - corejs: 3 + .configureBabelPresetEnv((config) => { + config.useBuiltIns = 'usage'; + config.corejs = 3; }) // enables Sass/SCSS support @@ -59,16 +61,15 @@ Encore // uncomment if you use TypeScript //.enableTypeScriptLoader() + // uncomment if you use React + //.enableReactPreset() + // uncomment to get integrity="..." attributes on your script & link tags // requires WebpackEncoreBundle 1.4 or higher //.enableIntegrityHashes(Encore.isProduction()) // uncomment if you're having problems with a jQuery plugin //.autoProvidejQuery() - - // uncomment if you use API Platform Admin (composer req api-admin) - //.enableReactPreset() - //.addEntry('admin', './assets/js/admin.js') ; module.exports = Encore.getWebpackConfig(); diff --git a/symfony/webpack-encore-bundle/1.10/assets/app.js b/symfony/webpack-encore-bundle/1.10/assets/app.js new file mode 100644 index 000000000..bb0a6aa13 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.10/assets/app.js @@ -0,0 +1,12 @@ +/* + * Welcome to your app's main JavaScript file! + * + * We recommend including the built version of this JavaScript file + * (and its CSS file) in your base layout (base.html.twig). + */ + +// any CSS you import will output into a single css file (app.css in this case) +import './styles/app.css'; + +// start the Stimulus application +import './bootstrap'; diff --git a/symfony/webpack-encore-bundle/1.10/assets/bootstrap.js b/symfony/webpack-encore-bundle/1.10/assets/bootstrap.js new file mode 100644 index 000000000..4ab2df643 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.10/assets/bootstrap.js @@ -0,0 +1,11 @@ +import { startStimulusApp } from '@symfony/stimulus-bridge'; + +// Registers Stimulus controllers from controllers.json and in the controllers/ directory +export const app = startStimulusApp(require.context( + '@symfony/stimulus-bridge/lazy-controller-loader!./controllers', + true, + /\.[jt]sx?$/ +)); + +// register any custom, 3rd party controllers here +// app.register('some_controller_name', SomeImportedController); diff --git a/symfony/webpack-encore-bundle/1.10/assets/controllers.json b/symfony/webpack-encore-bundle/1.10/assets/controllers.json new file mode 100644 index 000000000..a1c6e90cf --- /dev/null +++ b/symfony/webpack-encore-bundle/1.10/assets/controllers.json @@ -0,0 +1,4 @@ +{ + "controllers": [], + "entrypoints": [] +} diff --git a/symfony/webpack-encore-bundle/1.10/assets/controllers/hello_controller.js b/symfony/webpack-encore-bundle/1.10/assets/controllers/hello_controller.js new file mode 100644 index 000000000..e847027bd --- /dev/null +++ b/symfony/webpack-encore-bundle/1.10/assets/controllers/hello_controller.js @@ -0,0 +1,16 @@ +import { Controller } from '@hotwired/stimulus'; + +/* + * This is an example Stimulus controller! + * + * Any element with a data-controller="hello" attribute will cause + * this controller to be executed. The name "hello" comes from the filename: + * hello_controller.js -> "hello" + * + * Delete this file or adapt it for your use! + */ +export default class extends Controller { + connect() { + this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js'; + } +} diff --git a/symfony/webpack-encore-bundle/1.10/assets/styles/app.css b/symfony/webpack-encore-bundle/1.10/assets/styles/app.css new file mode 100644 index 000000000..cb33b1315 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.10/assets/styles/app.css @@ -0,0 +1,3 @@ +body { + background-color: lightgray; +} diff --git a/symfony/webpack-encore-bundle/1.10/config/packages/webpack_encore.yaml b/symfony/webpack-encore-bundle/1.10/config/packages/webpack_encore.yaml new file mode 100644 index 000000000..4c009ee49 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.10/config/packages/webpack_encore.yaml @@ -0,0 +1,45 @@ +webpack_encore: + # The path where Encore is building the assets - i.e. Encore.setOutputPath() + output_path: '%kernel.project_dir%/public/build' + # If multiple builds are defined (as shown below), you can disable the default build: + # output_path: false + + # Set attributes that will be rendered on all script and link tags + script_attributes: + defer: true + # Uncomment (also under link_attributes) if using Turbo Drive + # https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change + # 'data-turbo-track': reload + # link_attributes: + # Uncomment if using Turbo Drive + # 'data-turbo-track': reload + + # If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials') + # crossorigin: 'anonymous' + + # Preload all rendered script and link tags automatically via the HTTP/2 Link header + # preload: true + + # Throw an exception if the entrypoints.json file is missing or an entry is missing from the data + # strict_mode: false + + # If you have multiple builds: + # builds: + # frontend: '%kernel.project_dir%/public/frontend/build' + + # pass the build name as the 3rd argument to the Twig functions + # {{ encore_entry_script_tags('entry1', null, 'frontend') }} + +framework: + assets: + json_manifest_path: '%kernel.project_dir%/public/build/manifest.json' + +#when@prod: +# webpack_encore: +# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes) +# # Available in version 1.2 +# cache: true + +#when@test: +# webpack_encore: +# strict_mode: false diff --git a/symfony/webpack-encore-bundle/1.10/manifest.json b/symfony/webpack-encore-bundle/1.10/manifest.json new file mode 100644 index 000000000..39b0363ea --- /dev/null +++ b/symfony/webpack-encore-bundle/1.10/manifest.json @@ -0,0 +1,21 @@ +{ + "bundles": { + "Symfony\\WebpackEncoreBundle\\WebpackEncoreBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/", + "config/": "%CONFIG_DIR%/", + "package.json": "package.json", + "webpack.config.js": "webpack.config.js" + }, + "aliases": ["encore", "webpack", "webpack-encore"], + "gitignore": [ + "/node_modules/", + "/%PUBLIC_DIR%/build/", + "npm-debug.log", + "yarn-error.log" + ], + "conflict": { + "symfony/framework-bundle": "<5.4" + } +} diff --git a/symfony/webpack-encore-bundle/1.10/package.json b/symfony/webpack-encore-bundle/1.10/package.json new file mode 100644 index 000000000..d83a414df --- /dev/null +++ b/symfony/webpack-encore-bundle/1.10/package.json @@ -0,0 +1,22 @@ +{ + "devDependencies": { + "@babel/core": "^7.17.0", + "@babel/preset-env": "^7.16.0", + "@hotwired/stimulus": "^3.0.0", + "@symfony/stimulus-bridge": "^3.2.0", + "@symfony/webpack-encore": "^4.0.0", + "core-js": "^3.23.0", + "regenerator-runtime": "^0.13.9", + "webpack": "^5.74.0", + "webpack-cli": "^4.10.0", + "webpack-notifier": "^1.15.0" + }, + "license": "UNLICENSED", + "private": true, + "scripts": { + "dev-server": "encore dev-server", + "dev": "encore dev", + "watch": "encore dev --watch", + "build": "encore production --progress" + } +} diff --git a/symfony/webpack-encore-bundle/1.10/post-install.txt b/symfony/webpack-encore-bundle/1.10/post-install.txt new file mode 100644 index 000000000..e53f05dc4 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.10/post-install.txt @@ -0,0 +1,3 @@ + * Install Yarn and run yarn install + + * Start the development server: yarn encore dev-server diff --git a/symfony/webpack-encore-bundle/1.10/webpack.config.js b/symfony/webpack-encore-bundle/1.10/webpack.config.js new file mode 100644 index 000000000..408012fa4 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.10/webpack.config.js @@ -0,0 +1,76 @@ +const Encore = require('@symfony/webpack-encore'); + +// Manually configure the runtime environment if not already configured yet by the "encore" command. +// It's useful when you use tools that rely on webpack.config.js file. +if (!Encore.isRuntimeEnvironmentConfigured()) { + Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev'); +} + +Encore + // directory where compiled assets will be stored + .setOutputPath('public/build/') + // public path used by the web server to access the output path + .setPublicPath('/build') + // only needed for CDN's or subdirectory deploy + //.setManifestKeyPrefix('build/') + + /* + * ENTRY CONFIG + * + * Each entry will result in one JavaScript file (e.g. app.js) + * and one CSS file (e.g. app.css) if your JavaScript imports CSS. + */ + .addEntry('app', './assets/app.js') + + // enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js) + .enableStimulusBridge('./assets/controllers.json') + + // When enabled, Webpack "splits" your files into smaller pieces for greater optimization. + .splitEntryChunks() + + // will require an extra script tag for runtime.js + // but, you probably want this, unless you're building a single-page app + .enableSingleRuntimeChunk() + + /* + * FEATURE CONFIG + * + * Enable & configure other features below. For a full + * list of features, see: + * https://symfony.com/doc/current/frontend.html#adding-more-features + */ + .cleanupOutputBeforeBuild() + .enableBuildNotifications() + .enableSourceMaps(!Encore.isProduction()) + // enables hashed filenames (e.g. app.abc123.css) + .enableVersioning(Encore.isProduction()) + + // configure Babel + // .configureBabel((config) => { + // config.plugins.push('@babel/a-babel-plugin'); + // }) + + // enables and configure @babel/preset-env polyfills + .configureBabelPresetEnv((config) => { + config.useBuiltIns = 'usage'; + config.corejs = '3.23'; + }) + + // enables Sass/SCSS support + //.enableSassLoader() + + // uncomment if you use TypeScript + //.enableTypeScriptLoader() + + // uncomment if you use React + //.enableReactPreset() + + // uncomment to get integrity="..." attributes on your script & link tags + // requires WebpackEncoreBundle 1.4 or higher + //.enableIntegrityHashes(Encore.isProduction()) + + // uncomment if you're having problems with a jQuery plugin + //.autoProvidejQuery() +; + +module.exports = Encore.getWebpackConfig(); diff --git a/symfony/webpack-encore-bundle/1.6/assets b/symfony/webpack-encore-bundle/1.6/assets deleted file mode 120000 index 4dec183cf..000000000 --- a/symfony/webpack-encore-bundle/1.6/assets +++ /dev/null @@ -1 +0,0 @@ -../1.0/assets \ No newline at end of file diff --git a/symfony/webpack-encore-bundle/1.6/assets/app.js b/symfony/webpack-encore-bundle/1.6/assets/app.js new file mode 100644 index 000000000..bb0a6aa13 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.6/assets/app.js @@ -0,0 +1,12 @@ +/* + * Welcome to your app's main JavaScript file! + * + * We recommend including the built version of this JavaScript file + * (and its CSS file) in your base layout (base.html.twig). + */ + +// any CSS you import will output into a single css file (app.css in this case) +import './styles/app.css'; + +// start the Stimulus application +import './bootstrap'; diff --git a/symfony/webpack-encore-bundle/1.6/assets/bootstrap.js b/symfony/webpack-encore-bundle/1.6/assets/bootstrap.js new file mode 100644 index 000000000..4ab2df643 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.6/assets/bootstrap.js @@ -0,0 +1,11 @@ +import { startStimulusApp } from '@symfony/stimulus-bridge'; + +// Registers Stimulus controllers from controllers.json and in the controllers/ directory +export const app = startStimulusApp(require.context( + '@symfony/stimulus-bridge/lazy-controller-loader!./controllers', + true, + /\.[jt]sx?$/ +)); + +// register any custom, 3rd party controllers here +// app.register('some_controller_name', SomeImportedController); diff --git a/symfony/webpack-encore-bundle/1.6/assets/controllers.json b/symfony/webpack-encore-bundle/1.6/assets/controllers.json new file mode 100644 index 000000000..a1c6e90cf --- /dev/null +++ b/symfony/webpack-encore-bundle/1.6/assets/controllers.json @@ -0,0 +1,4 @@ +{ + "controllers": [], + "entrypoints": [] +} diff --git a/symfony/webpack-encore-bundle/1.6/assets/controllers/hello_controller.js b/symfony/webpack-encore-bundle/1.6/assets/controllers/hello_controller.js new file mode 100644 index 000000000..8c79f65a2 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.6/assets/controllers/hello_controller.js @@ -0,0 +1,16 @@ +import { Controller } from 'stimulus'; + +/* + * This is an example Stimulus controller! + * + * Any element with a data-controller="hello" attribute will cause + * this controller to be executed. The name "hello" comes from the filename: + * hello_controller.js -> "hello" + * + * Delete this file or adapt it for your use! + */ +export default class extends Controller { + connect() { + this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js'; + } +} diff --git a/symfony/webpack-encore-bundle/1.6/assets/styles/app.css b/symfony/webpack-encore-bundle/1.6/assets/styles/app.css new file mode 100644 index 000000000..cb33b1315 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.6/assets/styles/app.css @@ -0,0 +1,3 @@ +body { + background-color: lightgray; +} diff --git a/symfony/webpack-encore-bundle/1.6/config/packages/assets.yaml b/symfony/webpack-encore-bundle/1.6/config/packages/assets.yaml deleted file mode 120000 index 7cb513320..000000000 --- a/symfony/webpack-encore-bundle/1.6/config/packages/assets.yaml +++ /dev/null @@ -1 +0,0 @@ -../../../1.0/config/packages/assets.yaml \ No newline at end of file diff --git a/symfony/webpack-encore-bundle/1.6/config/packages/assets.yaml b/symfony/webpack-encore-bundle/1.6/config/packages/assets.yaml new file mode 100644 index 000000000..051d36dce --- /dev/null +++ b/symfony/webpack-encore-bundle/1.6/config/packages/assets.yaml @@ -0,0 +1,3 @@ +framework: + assets: + json_manifest_path: '%kernel.project_dir%/public/build/manifest.json' diff --git a/symfony/webpack-encore-bundle/1.6/config/packages/prod b/symfony/webpack-encore-bundle/1.6/config/packages/prod deleted file mode 120000 index bc7768cf6..000000000 --- a/symfony/webpack-encore-bundle/1.6/config/packages/prod +++ /dev/null @@ -1 +0,0 @@ -../../../1.0/config/packages/prod \ No newline at end of file diff --git a/symfony/webpack-encore-bundle/1.6/config/packages/prod/webpack_encore.yaml b/symfony/webpack-encore-bundle/1.6/config/packages/prod/webpack_encore.yaml new file mode 100644 index 000000000..d0b3ba81e --- /dev/null +++ b/symfony/webpack-encore-bundle/1.6/config/packages/prod/webpack_encore.yaml @@ -0,0 +1,4 @@ +#webpack_encore: + # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes) + # Available in version 1.2 + #cache: true diff --git a/symfony/webpack-encore-bundle/1.6/config/packages/webpack_encore.yaml b/symfony/webpack-encore-bundle/1.6/config/packages/webpack_encore.yaml index 9191f4f46..a1335c53c 100644 --- a/symfony/webpack-encore-bundle/1.6/config/packages/webpack_encore.yaml +++ b/symfony/webpack-encore-bundle/1.6/config/packages/webpack_encore.yaml @@ -4,16 +4,16 @@ webpack_encore: # If multiple builds are defined (as shown below), you can disable the default build: # output_path: false - # if using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials') + # If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials') # crossorigin: 'anonymous' - # preload all rendered script and link tags automatically via the http2 Link header + # Preload all rendered script and link tags automatically via the HTTP/2 Link header # preload: true # Throw an exception if the entrypoints.json file is missing or an entry is missing from the data # strict_mode: false - # if you have multiple builds: + # If you have multiple builds: # builds: # pass "frontend" as the 3rg arg to the Twig functions # {{ encore_entry_script_tags('entry1', null, 'frontend') }} diff --git a/symfony/webpack-encore-bundle/1.6/manifest.json b/symfony/webpack-encore-bundle/1.6/manifest.json deleted file mode 120000 index 3abdbe322..000000000 --- a/symfony/webpack-encore-bundle/1.6/manifest.json +++ /dev/null @@ -1 +0,0 @@ -../1.0/manifest.json \ No newline at end of file diff --git a/symfony/webpack-encore-bundle/1.6/manifest.json b/symfony/webpack-encore-bundle/1.6/manifest.json new file mode 100644 index 000000000..84ab3961b --- /dev/null +++ b/symfony/webpack-encore-bundle/1.6/manifest.json @@ -0,0 +1,18 @@ +{ + "bundles": { + "Symfony\\WebpackEncoreBundle\\WebpackEncoreBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/", + "config/": "%CONFIG_DIR%/", + "package.json": "package.json", + "webpack.config.js": "webpack.config.js" + }, + "aliases": ["ux", "encore", "webpack", "webpack-encore"], + "gitignore": [ + "/node_modules/", + "/%PUBLIC_DIR%/build/", + "npm-debug.log", + "yarn-error.log" + ] +} diff --git a/symfony/webpack-encore-bundle/1.6/package.json b/symfony/webpack-encore-bundle/1.6/package.json deleted file mode 120000 index cc120ecef..000000000 --- a/symfony/webpack-encore-bundle/1.6/package.json +++ /dev/null @@ -1 +0,0 @@ -../1.0/package.json \ No newline at end of file diff --git a/symfony/webpack-encore-bundle/1.6/package.json b/symfony/webpack-encore-bundle/1.6/package.json new file mode 100644 index 000000000..ba0e4f414 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.6/package.json @@ -0,0 +1,18 @@ +{ + "devDependencies": { + "@symfony/stimulus-bridge": "^2.0.0", + "@symfony/webpack-encore": "^1.0.0", + "core-js": "^3.0.0", + "regenerator-runtime": "^0.13.2", + "stimulus": "^2.0.0", + "webpack-notifier": "^1.6.0" + }, + "license": "UNLICENSED", + "private": true, + "scripts": { + "dev-server": "encore dev-server", + "dev": "encore dev", + "watch": "encore dev --watch", + "build": "encore production --progress" + } +} diff --git a/symfony/webpack-encore-bundle/1.6/webpack.config.js b/symfony/webpack-encore-bundle/1.6/webpack.config.js deleted file mode 120000 index 0eb7084a5..000000000 --- a/symfony/webpack-encore-bundle/1.6/webpack.config.js +++ /dev/null @@ -1 +0,0 @@ -../1.0/webpack.config.js \ No newline at end of file diff --git a/symfony/webpack-encore-bundle/1.6/webpack.config.js b/symfony/webpack-encore-bundle/1.6/webpack.config.js new file mode 100644 index 000000000..056b04aa6 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.6/webpack.config.js @@ -0,0 +1,75 @@ +const Encore = require('@symfony/webpack-encore'); + +// Manually configure the runtime environment if not already configured yet by the "encore" command. +// It's useful when you use tools that rely on webpack.config.js file. +if (!Encore.isRuntimeEnvironmentConfigured()) { + Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev'); +} + +Encore + // directory where compiled assets will be stored + .setOutputPath('public/build/') + // public path used by the web server to access the output path + .setPublicPath('/build') + // only needed for CDN's or sub-directory deploy + //.setManifestKeyPrefix('build/') + + /* + * ENTRY CONFIG + * + * Each entry will result in one JavaScript file (e.g. app.js) + * and one CSS file (e.g. app.css) if your JavaScript imports CSS. + */ + .addEntry('app', './assets/app.js') + + // enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js) + .enableStimulusBridge('./assets/controllers.json') + + // When enabled, Webpack "splits" your files into smaller pieces for greater optimization. + .splitEntryChunks() + + // will require an extra script tag for runtime.js + // but, you probably want this, unless you're building a single-page app + .enableSingleRuntimeChunk() + + /* + * FEATURE CONFIG + * + * Enable & configure other features below. For a full + * list of features, see: + * https://symfony.com/doc/current/frontend.html#adding-more-features + */ + .cleanupOutputBeforeBuild() + .enableBuildNotifications() + .enableSourceMaps(!Encore.isProduction()) + // enables hashed filenames (e.g. app.abc123.css) + .enableVersioning(Encore.isProduction()) + + .configureBabel((config) => { + config.plugins.push('@babel/plugin-proposal-class-properties'); + }) + + // enables @babel/preset-env polyfills + .configureBabelPresetEnv((config) => { + config.useBuiltIns = 'usage'; + config.corejs = 3; + }) + + // enables Sass/SCSS support + //.enableSassLoader() + + // uncomment if you use TypeScript + //.enableTypeScriptLoader() + + // uncomment if you use React + //.enableReactPreset() + + // uncomment to get integrity="..." attributes on your script & link tags + // requires WebpackEncoreBundle 1.4 or higher + //.enableIntegrityHashes(Encore.isProduction()) + + // uncomment if you're having problems with a jQuery plugin + //.autoProvidejQuery() +; + +module.exports = Encore.getWebpackConfig(); diff --git a/symfony/webpack-encore-bundle/1.9/assets/app.js b/symfony/webpack-encore-bundle/1.9/assets/app.js new file mode 100644 index 000000000..bb0a6aa13 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.9/assets/app.js @@ -0,0 +1,12 @@ +/* + * Welcome to your app's main JavaScript file! + * + * We recommend including the built version of this JavaScript file + * (and its CSS file) in your base layout (base.html.twig). + */ + +// any CSS you import will output into a single css file (app.css in this case) +import './styles/app.css'; + +// start the Stimulus application +import './bootstrap'; diff --git a/symfony/webpack-encore-bundle/1.9/assets/bootstrap.js b/symfony/webpack-encore-bundle/1.9/assets/bootstrap.js new file mode 100644 index 000000000..4ab2df643 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.9/assets/bootstrap.js @@ -0,0 +1,11 @@ +import { startStimulusApp } from '@symfony/stimulus-bridge'; + +// Registers Stimulus controllers from controllers.json and in the controllers/ directory +export const app = startStimulusApp(require.context( + '@symfony/stimulus-bridge/lazy-controller-loader!./controllers', + true, + /\.[jt]sx?$/ +)); + +// register any custom, 3rd party controllers here +// app.register('some_controller_name', SomeImportedController); diff --git a/symfony/webpack-encore-bundle/1.9/assets/controllers.json b/symfony/webpack-encore-bundle/1.9/assets/controllers.json new file mode 100644 index 000000000..a1c6e90cf --- /dev/null +++ b/symfony/webpack-encore-bundle/1.9/assets/controllers.json @@ -0,0 +1,4 @@ +{ + "controllers": [], + "entrypoints": [] +} diff --git a/symfony/webpack-encore-bundle/1.9/assets/controllers/hello_controller.js b/symfony/webpack-encore-bundle/1.9/assets/controllers/hello_controller.js new file mode 100644 index 000000000..e847027bd --- /dev/null +++ b/symfony/webpack-encore-bundle/1.9/assets/controllers/hello_controller.js @@ -0,0 +1,16 @@ +import { Controller } from '@hotwired/stimulus'; + +/* + * This is an example Stimulus controller! + * + * Any element with a data-controller="hello" attribute will cause + * this controller to be executed. The name "hello" comes from the filename: + * hello_controller.js -> "hello" + * + * Delete this file or adapt it for your use! + */ +export default class extends Controller { + connect() { + this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js'; + } +} diff --git a/symfony/webpack-encore-bundle/1.9/assets/styles/app.css b/symfony/webpack-encore-bundle/1.9/assets/styles/app.css new file mode 100644 index 000000000..cb33b1315 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.9/assets/styles/app.css @@ -0,0 +1,3 @@ +body { + background-color: lightgray; +} diff --git a/symfony/webpack-encore-bundle/1.9/config/packages/webpack_encore.yaml b/symfony/webpack-encore-bundle/1.9/config/packages/webpack_encore.yaml new file mode 100644 index 000000000..46834f0c9 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.9/config/packages/webpack_encore.yaml @@ -0,0 +1,49 @@ +webpack_encore: + # The path where Encore is building the assets - i.e. Encore.setOutputPath() + output_path: '%kernel.project_dir%/public/build' + # If multiple builds are defined (as shown below), you can disable the default build: + # output_path: false + + # Set attributes that will be rendered on all script and link tags + script_attributes: + defer: true + # Uncomment (also under link_attributes) if using Turbo Drive + # https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change + # 'data-turbo-track': reload + # link_attributes: + # Uncomment if using Turbo Drive + # 'data-turbo-track': reload + + # If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials') + # crossorigin: 'anonymous' + + # Preload all rendered script and link tags automatically via the HTTP/2 Link header + # preload: true + + # Throw an exception if the entrypoints.json file is missing or an entry is missing from the data + # strict_mode: false + + # If you have multiple builds: + # builds: + # pass "frontend" as the 3rg arg to the Twig functions + # {{ encore_entry_script_tags('entry1', null, 'frontend') }} + + # frontend: '%kernel.project_dir%/public/frontend/build' + + # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes) + # Put in config/packages/prod/webpack_encore.yaml + # cache: true + +framework: + assets: + json_manifest_path: '%kernel.project_dir%/public/build/manifest.json' + +#when@prod: +# webpack_encore: +# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes) +# # Available in version 1.2 +# cache: true + +#when@test: +# webpack_encore: +# strict_mode: false diff --git a/symfony/webpack-encore-bundle/1.9/manifest.json b/symfony/webpack-encore-bundle/1.9/manifest.json new file mode 100644 index 000000000..84ab3961b --- /dev/null +++ b/symfony/webpack-encore-bundle/1.9/manifest.json @@ -0,0 +1,18 @@ +{ + "bundles": { + "Symfony\\WebpackEncoreBundle\\WebpackEncoreBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/", + "config/": "%CONFIG_DIR%/", + "package.json": "package.json", + "webpack.config.js": "webpack.config.js" + }, + "aliases": ["ux", "encore", "webpack", "webpack-encore"], + "gitignore": [ + "/node_modules/", + "/%PUBLIC_DIR%/build/", + "npm-debug.log", + "yarn-error.log" + ] +} diff --git a/symfony/webpack-encore-bundle/1.9/package.json b/symfony/webpack-encore-bundle/1.9/package.json new file mode 100644 index 000000000..813010a74 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.9/package.json @@ -0,0 +1,18 @@ +{ + "devDependencies": { + "@hotwired/stimulus": "^3.0.0", + "@symfony/stimulus-bridge": "^3.0.0", + "@symfony/webpack-encore": "^1.7.0", + "core-js": "^3.0.0", + "regenerator-runtime": "^0.13.2", + "webpack-notifier": "^1.6.0" + }, + "license": "UNLICENSED", + "private": true, + "scripts": { + "dev-server": "encore dev-server", + "dev": "encore dev", + "watch": "encore dev --watch", + "build": "encore production --progress" + } +} diff --git a/symfony/webpack-encore-bundle/1.9/post-install.txt b/symfony/webpack-encore-bundle/1.9/post-install.txt new file mode 100644 index 000000000..6169d37b7 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.9/post-install.txt @@ -0,0 +1,5 @@ + * Install Yarn and run yarn install + + * Uncomment the Twig helpers in templates/base.html.twig (they may be already) + + * Start the development server: yarn encore dev-server diff --git a/symfony/webpack-encore-bundle/1.9/webpack.config.js b/symfony/webpack-encore-bundle/1.9/webpack.config.js new file mode 100644 index 000000000..056b04aa6 --- /dev/null +++ b/symfony/webpack-encore-bundle/1.9/webpack.config.js @@ -0,0 +1,75 @@ +const Encore = require('@symfony/webpack-encore'); + +// Manually configure the runtime environment if not already configured yet by the "encore" command. +// It's useful when you use tools that rely on webpack.config.js file. +if (!Encore.isRuntimeEnvironmentConfigured()) { + Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev'); +} + +Encore + // directory where compiled assets will be stored + .setOutputPath('public/build/') + // public path used by the web server to access the output path + .setPublicPath('/build') + // only needed for CDN's or sub-directory deploy + //.setManifestKeyPrefix('build/') + + /* + * ENTRY CONFIG + * + * Each entry will result in one JavaScript file (e.g. app.js) + * and one CSS file (e.g. app.css) if your JavaScript imports CSS. + */ + .addEntry('app', './assets/app.js') + + // enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js) + .enableStimulusBridge('./assets/controllers.json') + + // When enabled, Webpack "splits" your files into smaller pieces for greater optimization. + .splitEntryChunks() + + // will require an extra script tag for runtime.js + // but, you probably want this, unless you're building a single-page app + .enableSingleRuntimeChunk() + + /* + * FEATURE CONFIG + * + * Enable & configure other features below. For a full + * list of features, see: + * https://symfony.com/doc/current/frontend.html#adding-more-features + */ + .cleanupOutputBeforeBuild() + .enableBuildNotifications() + .enableSourceMaps(!Encore.isProduction()) + // enables hashed filenames (e.g. app.abc123.css) + .enableVersioning(Encore.isProduction()) + + .configureBabel((config) => { + config.plugins.push('@babel/plugin-proposal-class-properties'); + }) + + // enables @babel/preset-env polyfills + .configureBabelPresetEnv((config) => { + config.useBuiltIns = 'usage'; + config.corejs = 3; + }) + + // enables Sass/SCSS support + //.enableSassLoader() + + // uncomment if you use TypeScript + //.enableTypeScriptLoader() + + // uncomment if you use React + //.enableReactPreset() + + // uncomment to get integrity="..." attributes on your script & link tags + // requires WebpackEncoreBundle 1.4 or higher + //.enableIntegrityHashes(Encore.isProduction()) + + // uncomment if you're having problems with a jQuery plugin + //.autoProvidejQuery() +; + +module.exports = Encore.getWebpackConfig(); diff --git a/symfony/webpack-encore-bundle/2.0/assets/app.js b/symfony/webpack-encore-bundle/2.0/assets/app.js new file mode 100644 index 000000000..850650488 --- /dev/null +++ b/symfony/webpack-encore-bundle/2.0/assets/app.js @@ -0,0 +1,9 @@ +/* + * Welcome to your app's main JavaScript file! + * + * We recommend including the built version of this JavaScript file + * (and its CSS file) in your base layout (base.html.twig). + */ + +// any CSS you import will output into a single css file (app.css in this case) +import './styles/app.css'; diff --git a/symfony/webpack-encore-bundle/2.0/assets/styles/app.css b/symfony/webpack-encore-bundle/2.0/assets/styles/app.css new file mode 100644 index 000000000..cb33b1315 --- /dev/null +++ b/symfony/webpack-encore-bundle/2.0/assets/styles/app.css @@ -0,0 +1,3 @@ +body { + background-color: lightgray; +} diff --git a/symfony/webpack-encore-bundle/2.0/config/packages/webpack_encore.yaml b/symfony/webpack-encore-bundle/2.0/config/packages/webpack_encore.yaml new file mode 100644 index 000000000..4c009ee49 --- /dev/null +++ b/symfony/webpack-encore-bundle/2.0/config/packages/webpack_encore.yaml @@ -0,0 +1,45 @@ +webpack_encore: + # The path where Encore is building the assets - i.e. Encore.setOutputPath() + output_path: '%kernel.project_dir%/public/build' + # If multiple builds are defined (as shown below), you can disable the default build: + # output_path: false + + # Set attributes that will be rendered on all script and link tags + script_attributes: + defer: true + # Uncomment (also under link_attributes) if using Turbo Drive + # https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change + # 'data-turbo-track': reload + # link_attributes: + # Uncomment if using Turbo Drive + # 'data-turbo-track': reload + + # If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials') + # crossorigin: 'anonymous' + + # Preload all rendered script and link tags automatically via the HTTP/2 Link header + # preload: true + + # Throw an exception if the entrypoints.json file is missing or an entry is missing from the data + # strict_mode: false + + # If you have multiple builds: + # builds: + # frontend: '%kernel.project_dir%/public/frontend/build' + + # pass the build name as the 3rd argument to the Twig functions + # {{ encore_entry_script_tags('entry1', null, 'frontend') }} + +framework: + assets: + json_manifest_path: '%kernel.project_dir%/public/build/manifest.json' + +#when@prod: +# webpack_encore: +# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes) +# # Available in version 1.2 +# cache: true + +#when@test: +# webpack_encore: +# strict_mode: false diff --git a/symfony/webpack-encore-bundle/2.0/manifest.json b/symfony/webpack-encore-bundle/2.0/manifest.json new file mode 100644 index 000000000..6c2c54295 --- /dev/null +++ b/symfony/webpack-encore-bundle/2.0/manifest.json @@ -0,0 +1,38 @@ +{ + "bundles": { + "Symfony\\WebpackEncoreBundle\\WebpackEncoreBundle": ["all"] + }, + "copy-from-recipe": { + "assets/": "assets/", + "config/": "%CONFIG_DIR%/", + "package.json": "package.json", + "webpack.config.js": "webpack.config.js" + }, + "aliases": ["ux", "encore", "webpack", "webpack-encore"], + "gitignore": [ + "/node_modules/", + "/%PUBLIC_DIR%/build/", + "npm-debug.log", + "yarn-error.log" + ], + "conflict": { + "symfony/framework-bundle": "<5.4", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "templates/base.html.twig", + "content": " {{ encore_entry_script_tags('app') }}", + "position": "after_target", + "target": "{% block javascripts %}", + "warn_if_missing": true + }, + { + "file": "templates/base.html.twig", + "content": " {{ encore_entry_link_tags('app') }}", + "position": "after_target", + "target": "{% block stylesheets %}", + "warn_if_missing": true + } + ] +} diff --git a/symfony/webpack-encore-bundle/2.0/package.json b/symfony/webpack-encore-bundle/2.0/package.json new file mode 100644 index 000000000..1d9ddc361 --- /dev/null +++ b/symfony/webpack-encore-bundle/2.0/package.json @@ -0,0 +1,20 @@ +{ + "devDependencies": { + "@babel/core": "^7.17.0", + "@babel/preset-env": "^7.16.0", + "@symfony/webpack-encore": "^5.0.0", + "core-js": "^3.38.0", + "regenerator-runtime": "^0.13.9", + "webpack": "^5.74.0", + "webpack-cli": "^5.1.0", + "webpack-notifier": "^1.15.0" + }, + "license": "UNLICENSED", + "private": true, + "scripts": { + "dev-server": "encore dev-server", + "dev": "encore dev", + "watch": "encore dev --watch", + "build": "encore production --progress" + } +} diff --git a/symfony/webpack-encore-bundle/2.0/post-install.txt b/symfony/webpack-encore-bundle/2.0/post-install.txt new file mode 100644 index 000000000..d0ca6c4b4 --- /dev/null +++ b/symfony/webpack-encore-bundle/2.0/post-install.txt @@ -0,0 +1,9 @@ + * Install NPM and run npm install + + * Compile your assets for development: npm run dev + + * Compile your assets for development and watch for any modifications: npm run watch + + * Or start the development server: npm run dev-server + + * Compile your assets for production: npm run build diff --git a/symfony/webpack-encore-bundle/2.0/webpack.config.js b/symfony/webpack-encore-bundle/2.0/webpack.config.js new file mode 100644 index 000000000..97de62c5a --- /dev/null +++ b/symfony/webpack-encore-bundle/2.0/webpack.config.js @@ -0,0 +1,73 @@ +const Encore = require('@symfony/webpack-encore'); + +// Manually configure the runtime environment if not already configured yet by the "encore" command. +// It's useful when you use tools that rely on webpack.config.js file. +if (!Encore.isRuntimeEnvironmentConfigured()) { + Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev'); +} + +Encore + // directory where compiled assets will be stored + .setOutputPath('public/build/') + // public path used by the web server to access the output path + .setPublicPath('/build') + // only needed for CDN's or subdirectory deploy + //.setManifestKeyPrefix('build/') + + /* + * ENTRY CONFIG + * + * Each entry will result in one JavaScript file (e.g. app.js) + * and one CSS file (e.g. app.css) if your JavaScript imports CSS. + */ + .addEntry('app', './assets/app.js') + + // When enabled, Webpack "splits" your files into smaller pieces for greater optimization. + .splitEntryChunks() + + // will require an extra script tag for runtime.js + // but, you probably want this, unless you're building a single-page app + .enableSingleRuntimeChunk() + + /* + * FEATURE CONFIG + * + * Enable & configure other features below. For a full + * list of features, see: + * https://symfony.com/doc/current/frontend.html#adding-more-features + */ + .cleanupOutputBeforeBuild() + .enableBuildNotifications() + .enableSourceMaps(!Encore.isProduction()) + // enables hashed filenames (e.g. app.abc123.css) + .enableVersioning(Encore.isProduction()) + + // configure Babel + // .configureBabel((config) => { + // config.plugins.push('@babel/a-babel-plugin'); + // }) + + // enables and configure @babel/preset-env polyfills + .configureBabelPresetEnv((config) => { + config.useBuiltIns = 'usage'; + config.corejs = '3.38'; + }) + + // enables Sass/SCSS support + //.enableSassLoader() + + // uncomment if you use TypeScript + //.enableTypeScriptLoader() + + // uncomment if you use React + //.enableReactPreset() + + // uncomment to get integrity="..." attributes on your script & link tags + // requires WebpackEncoreBundle 1.4 or higher + //.enableIntegrityHashes(Encore.isProduction()) + + // uncomment if you're having problems with a jQuery plugin + //.autoProvidejQuery() +; + +module.exports = Encore.getWebpackConfig(); diff --git a/symfony/webpack-encore-pack/1.0/manifest.json b/symfony/webpack-encore-pack/1.0/manifest.json deleted file mode 100644 index e5e1354f4..000000000 --- a/symfony/webpack-encore-pack/1.0/manifest.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "gitignore": [ - "/node_modules/", - "/%PUBLIC_DIR%/build/", - "npm-debug.log", - "yarn-error.log" - ] -} diff --git a/symfony/webpack-encore-pack/1.0/post-install.txt b/symfony/webpack-encore-pack/1.0/post-install.txt deleted file mode 100644 index d20d64e4f..000000000 --- a/symfony/webpack-encore-pack/1.0/post-install.txt +++ /dev/null @@ -1,7 +0,0 @@ - - The symfony/webpack-encore-pack is no longer required anymore. Instead, use symfony/webpack-encore-bundle. - - - * Instead: - 1. Remove it now: composer remove symfony/webpack-encore-pack - 2. Use Symfony's bridge: composer require encore diff --git a/symfony/yunpian-notifier/5.4/manifest.json b/symfony/yunpian-notifier/5.4/manifest.json new file mode 100644 index 000000000..80ca5463d --- /dev/null +++ b/symfony/yunpian-notifier/5.4/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " texter_transports:", + "content": " yunpian: '%env(YUNPIAN_DSN)%'" + } + ], + "env": { + "#1": "YUNPIAN_DSN=yunpian://APIKEY@default" + } +} diff --git a/symfony/zendesk-notifier/6.2/manifest.json b/symfony/zendesk-notifier/6.2/manifest.json new file mode 100644 index 000000000..c31366092 --- /dev/null +++ b/symfony/zendesk-notifier/6.2/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " chatter_transports:", + "content": " zendesk: '%env(ZENDESK_DSN)%'" + } + ], + "env": { + "#1": "ZENDESK_DSN=zendesk://EMAIL:TOKEN@SUBDOMAIN" + } +} diff --git a/symfony/zulip-notifier/5.2/manifest.json b/symfony/zulip-notifier/5.2/manifest.json new file mode 100644 index 000000000..d90b07875 --- /dev/null +++ b/symfony/zulip-notifier/5.2/manifest.json @@ -0,0 +1,14 @@ +{ + "add-lines": [ + { + "file": "config/packages/notifier.yaml", + "position": "after_target", + "warn_if_missing": true, + "target": " chatter_transports:", + "content": " zulip: '%env(ZULIP_DSN)%'" + } + ], + "env": { + "#1": "ZULIP_DSN=zulip://EMAIL:TOKEN@HOST?channel=CHANNEL" + } +} diff --git a/symfonycasts/reset-password-bundle/1.0/config/packages/reset_password.yaml b/symfonycasts/reset-password-bundle/1.0/config/packages/reset_password.yaml new file mode 100644 index 000000000..bd37a3a5c --- /dev/null +++ b/symfonycasts/reset-password-bundle/1.0/config/packages/reset_password.yaml @@ -0,0 +1,5 @@ +symfonycasts_reset_password: + # Replace symfonycasts.reset_password.fake_request_repository with the full + # namespace of the password reset request repository after it has been created. + # i.e. App\Repository\ResetPasswordRequestRepository + request_password_repository: symfonycasts.reset_password.fake_request_repository diff --git a/symfonycasts/reset-password-bundle/1.0/manifest.json b/symfonycasts/reset-password-bundle/1.0/manifest.json new file mode 100644 index 000000000..4d1d90cc4 --- /dev/null +++ b/symfonycasts/reset-password-bundle/1.0/manifest.json @@ -0,0 +1,8 @@ +{ + "bundles": { + "SymfonyCasts\\Bundle\\ResetPassword\\SymfonyCastsResetPasswordBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + } +} diff --git a/symfonycorp/platformsh-pack/1.0/manifest.json b/symfonycorp/platformsh-pack/1.0/manifest.json new file mode 100644 index 000000000..863d4b242 --- /dev/null +++ b/symfonycorp/platformsh-pack/1.0/manifest.json @@ -0,0 +1,3 @@ +{ + "aliases": ["platformsh"] +} diff --git a/zenstruck/browser/1.9/manifest.json b/zenstruck/browser/1.9/manifest.json new file mode 100644 index 000000000..9679a7026 --- /dev/null +++ b/zenstruck/browser/1.9/manifest.json @@ -0,0 +1,12 @@ +{ + "aliases": ["browser"], + "add-lines": [ + { + "file": "phpunit.xml.dist", + "content": " ", + "position": "after_target", + "target": "", + "warn_if_missing": true + } + ] +} diff --git a/zenstruck/browser/1.9/post-install.txt b/zenstruck/browser/1.9/post-install.txt new file mode 100644 index 000000000..d2cc63a5c --- /dev/null +++ b/zenstruck/browser/1.9/post-install.txt @@ -0,0 +1,5 @@ + * You're ready to use zenstruck/browser: + 1. Add the HasBrowser trait to "kernel" test cases + 2. Start using $this->browser()->... in your tests + + * Read the documentation at https://github.com/zenstruck/browser#zenstruckbrowser diff --git a/zenstruck/foundry/1.10/config/packages/zenstruck_foundry.yaml b/zenstruck/foundry/1.10/config/packages/zenstruck_foundry.yaml new file mode 100644 index 000000000..0657d2c3c --- /dev/null +++ b/zenstruck/foundry/1.10/config/packages/zenstruck_foundry.yaml @@ -0,0 +1,7 @@ +when@dev: &dev + # See full configuration: https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#full-default-bundle-configuration + zenstruck_foundry: + # Whether to auto-refresh proxies by default (https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#auto-refresh) + auto_refresh_proxies: true + +when@test: *dev diff --git a/zenstruck/foundry/1.10/manifest.json b/zenstruck/foundry/1.10/manifest.json new file mode 100644 index 000000000..050fabbe8 --- /dev/null +++ b/zenstruck/foundry/1.10/manifest.json @@ -0,0 +1,12 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "bundles": { + "Zenstruck\\Foundry\\ZenstruckFoundryBundle": ["dev", "test"] + }, + "conflict": { + "symfony/framework-bundle": "<5.3" + }, + "aliases": ["foundry"] +} diff --git a/zenstruck/foundry/1.10/post-install.txt b/zenstruck/foundry/1.10/post-install.txt new file mode 100644 index 000000000..456b63d04 --- /dev/null +++ b/zenstruck/foundry/1.10/post-install.txt @@ -0,0 +1,4 @@ + * You're ready to use zenstruck/foundry. Create your first factory with + bin/console make:factory. + + * Read the documentation at https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html diff --git a/zenstruck/foundry/1.9/config/packages/dev/zenstruck_foundry.yaml b/zenstruck/foundry/1.9/config/packages/dev/zenstruck_foundry.yaml new file mode 100644 index 000000000..655840cef --- /dev/null +++ b/zenstruck/foundry/1.9/config/packages/dev/zenstruck_foundry.yaml @@ -0,0 +1,4 @@ +# See full configuration: https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#full-default-bundle-configuration +zenstruck_foundry: + # Whether to auto-refresh proxies by default (https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#auto-refresh) + auto_refresh_proxies: true diff --git a/zenstruck/foundry/1.9/config/packages/test/zenstruck_foundry.yaml b/zenstruck/foundry/1.9/config/packages/test/zenstruck_foundry.yaml new file mode 100644 index 000000000..3bf6547e4 --- /dev/null +++ b/zenstruck/foundry/1.9/config/packages/test/zenstruck_foundry.yaml @@ -0,0 +1,5 @@ +# Unless you want different configuration for test/dev environments, +# add configuration to config/packages/dev/zenstruck_foundry.yml +# and this will be synced to your test environment. +imports: + - { resource: ../dev/zenstruck_foundry.yaml } diff --git a/zenstruck/foundry/1.9/manifest.json b/zenstruck/foundry/1.9/manifest.json new file mode 100644 index 000000000..9fe1ceb1f --- /dev/null +++ b/zenstruck/foundry/1.9/manifest.json @@ -0,0 +1,8 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "bundles": { + "Zenstruck\\Foundry\\ZenstruckFoundryBundle": ["dev", "test"] + } +} diff --git a/zenstruck/foundry/1.9/post-install.txt b/zenstruck/foundry/1.9/post-install.txt new file mode 100644 index 000000000..456b63d04 --- /dev/null +++ b/zenstruck/foundry/1.9/post-install.txt @@ -0,0 +1,4 @@ + * You're ready to use zenstruck/foundry. Create your first factory with + bin/console make:factory. + + * Read the documentation at https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html diff --git a/zenstruck/foundry/2.0/config/packages/zenstruck_foundry.yaml b/zenstruck/foundry/2.0/config/packages/zenstruck_foundry.yaml new file mode 100644 index 000000000..e3ed04b46 --- /dev/null +++ b/zenstruck/foundry/2.0/config/packages/zenstruck_foundry.yaml @@ -0,0 +1,5 @@ +when@dev: &dev + # See full configuration: https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#full-default-bundle-configuration + zenstruck_foundry: + +when@test: *dev diff --git a/zenstruck/foundry/2.0/manifest.json b/zenstruck/foundry/2.0/manifest.json new file mode 100644 index 000000000..050fabbe8 --- /dev/null +++ b/zenstruck/foundry/2.0/manifest.json @@ -0,0 +1,12 @@ +{ + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "bundles": { + "Zenstruck\\Foundry\\ZenstruckFoundryBundle": ["dev", "test"] + }, + "conflict": { + "symfony/framework-bundle": "<5.3" + }, + "aliases": ["foundry"] +} diff --git a/zenstruck/foundry/2.0/post-install.txt b/zenstruck/foundry/2.0/post-install.txt new file mode 100644 index 000000000..456b63d04 --- /dev/null +++ b/zenstruck/foundry/2.0/post-install.txt @@ -0,0 +1,4 @@ + * You're ready to use zenstruck/foundry. Create your first factory with + bin/console make:factory. + + * Read the documentation at https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html diff --git a/zenstruck/messenger-test/1.7/manifest.json b/zenstruck/messenger-test/1.7/manifest.json new file mode 100644 index 000000000..869deffa9 --- /dev/null +++ b/zenstruck/messenger-test/1.7/manifest.json @@ -0,0 +1,6 @@ +{ + "bundles": { + "Zenstruck\\Messenger\\Test\\ZenstruckMessengerTestBundle": ["test"] + }, + "aliases": ["messenger-test"] +} diff --git a/zenstruck/messenger-test/1.7/post-install.txt b/zenstruck/messenger-test/1.7/post-install.txt new file mode 100644 index 000000000..86ab8142d --- /dev/null +++ b/zenstruck/messenger-test/1.7/post-install.txt @@ -0,0 +1,5 @@ + * You're ready to use zenstruck/messenger-test: + 1. Override your transport(s) in your test environment with test:// + 2. Use the InteractsWithMessenger trait in your "kernel" tests + + * Read the documentation at https://github.com/zenstruck/messenger-test#zenstruckmessenger-test