From 0975d10f8aff6e48336b8ce0b0b45bf511e09025 Mon Sep 17 00:00:00 2001 From: "github-action[bot]" <> Date: Fri, 18 Sep 2026 12:59:06 +0000 Subject: [PATCH] Update Flex endpoint --- RECIPES.md | 4 +- ...b7271219d786f2145f292c53ed7866284776c.json | 362 ++++++++++++++++++ ...2d21b563cd68e93020876bc542225eb9f9e20.json | 189 +++++++++ ...2c3f0b2677d51b6f96d594b9b71d241f4d196.json | 248 ++++++++++++ ...0e817b8256281c0a3623781525aec583ca3f4.json | 59 +++ ...f60cec7149fd0cde0ec9d89ccb32335c4d9bd.json | 32 ++ index.json | 9 +- symfony.framework-bundle.8.2.json | 362 ++++++++++++++++++ symfony.reprise.1.1.json | 9 +- symfony.webpack-encore-bundle.2.1.json | 9 +- symfonycasts.sass-bundle.0.6.json | 59 +++ symfonycasts.tailwind-bundle.0.14.json | 11 +- 12 files changed, 1346 insertions(+), 7 deletions(-) create mode 100644 archived/symfony.framework-bundle/b5fb7271219d786f2145f292c53ed7866284776c.json create mode 100644 archived/symfony.reprise/a452d21b563cd68e93020876bc542225eb9f9e20.json create mode 100644 archived/symfony.webpack-encore-bundle/fad2c3f0b2677d51b6f96d594b9b71d241f4d196.json create mode 100644 archived/symfonycasts.sass-bundle/89c0e817b8256281c0a3623781525aec583ca3f4.json create mode 100644 archived/symfonycasts.tailwind-bundle/b8af60cec7149fd0cde0ec9d89ccb32335c4d9bd.json create mode 100644 symfony.framework-bundle.8.2.json create mode 100644 symfonycasts.sass-bundle.0.6.json diff --git a/RECIPES.md b/RECIPES.md index 487890b7..ddc119c5 100644 --- a/RECIPES.md +++ b/RECIPES.md @@ -117,7 +117,7 @@ Additional recipes can be found on the [Contrib Recipes Repository](https://gith | [symfony/flex](https://packagist.org/packages/symfony/flex) | [2.4](../../../tree/main/symfony/flex/2.4) | `flex` | | [symfony/form](https://packagist.org/packages/symfony/form) | [7.2](../../../tree/main/symfony/form/7.2) | `form` | | [symfony/forty-six-elks-notifier](https://packagist.org/packages/symfony/forty-six-elks-notifier) | [6.1](../../../tree/main/symfony/forty-six-elks-notifier/6.1) | `forty-six-elks-notifier`, `fortysixelksnotifier` | -| [symfony/framework-bundle](https://packagist.org/packages/symfony/framework-bundle) | [8.1](../../../tree/main/symfony/framework-bundle/8.1) | `framework-bundle`, `frameworkbundle` | +| [symfony/framework-bundle](https://packagist.org/packages/symfony/framework-bundle) | [8.2](../../../tree/main/symfony/framework-bundle/8.2) | `framework-bundle`, `frameworkbundle` | | [symfony/free-mobile-notifier](https://packagist.org/packages/symfony/free-mobile-notifier) | [5.1](../../../tree/main/symfony/free-mobile-notifier/5.1) | `free-mobile-notifier`, `freemobilenotifier` | | [symfony/gateway-api-notifier](https://packagist.org/packages/symfony/gateway-api-notifier) | [5.3](../../../tree/main/symfony/gateway-api-notifier/5.3) | `gateway-api-notifier` | | [symfony/gatewayapi-notifier](https://packagist.org/packages/symfony/gatewayapi-notifier) | [5.3](../../../tree/main/symfony/gatewayapi-notifier/5.3) | `gatewayapi-notifier`, `gatewayapinotifier` | @@ -248,7 +248,7 @@ Additional recipes can be found on the [Contrib Recipes Repository](https://gith | [symfony/zendesk-notifier](https://packagist.org/packages/symfony/zendesk-notifier) | [6.2](../../../tree/main/symfony/zendesk-notifier/6.2) | `zendesk-notifier`, `zendesknotifier` | | [symfony/zulip-notifier](https://packagist.org/packages/symfony/zulip-notifier) | [5.2](../../../tree/main/symfony/zulip-notifier/5.2) | `zulip-notifier`, `zulipnotifier` | | [symfonycasts/reset-password-bundle](https://packagist.org/packages/symfonycasts/reset-password-bundle) | [1.0](../../../tree/main/symfonycasts/reset-password-bundle/1.0) | | -| [symfonycasts/sass-bundle](https://packagist.org/packages/symfonycasts/sass-bundle) | [0.5](../../../tree/main/symfonycasts/sass-bundle/0.5) | `symfonycasts_sass` | +| [symfonycasts/sass-bundle](https://packagist.org/packages/symfonycasts/sass-bundle) | [0.6](../../../tree/main/symfonycasts/sass-bundle/0.6) | `symfonycasts_sass` | | [symfonycasts/tailwind-bundle](https://packagist.org/packages/symfonycasts/tailwind-bundle) | [0.14](../../../tree/main/symfonycasts/tailwind-bundle/0.14) | `tailwind`, `tailwindcss` | | [theofidry/alice-data-fixtures](https://packagist.org/packages/theofidry/alice-data-fixtures) | [1.0](../../../tree/main/theofidry/alice-data-fixtures/1.0) | | | [twig/cssinliner-extension](https://packagist.org/packages/twig/cssinliner-extension) | [1.0](../../../tree/main/twig/cssinliner-extension/1.0) | | diff --git a/archived/symfony.framework-bundle/b5fb7271219d786f2145f292c53ed7866284776c.json b/archived/symfony.framework-bundle/b5fb7271219d786f2145f292c53ed7866284776c.json new file mode 100644 index 00000000..3d145a8c --- /dev/null +++ b/archived/symfony.framework-bundle/b5fb7271219d786f2145f292c53ed7866284776c.json @@ -0,0 +1,362 @@ +{ + "manifests": { + "symfony/framework-bundle": { + "manifest": { + "bundles": { + "Symfony\\Bundle\\FrameworkBundle\\FrameworkBundle": [ + "all" + ] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "public/": "%PUBLIC_DIR%/", + "src/": "%SRC_DIR%/", + ".editorconfig": ".editorconfig", + ".symfony.local.yaml": ".symfony.local.yaml", + "AGENTS.md": "AGENTS.md", + "CLAUDE.md": "CLAUDE.md" + }, + "composer-scripts": { + "cache:clear": "symfony-cmd", + "assets:install %PUBLIC_DIR%": "symfony-cmd" + }, + "env": { + "APP_ENV": "dev", + "APP_SECRET": "", + "APP_SHARE_DIR": "%VAR_DIR%/share" + }, + "dotenv": { + "dev": { + "APP_SECRET": "%generate(secret)%" + } + }, + "gitignore": [ + "/.env.local", + "/.env.local.php", + "/.env.*.local", + "/%CONFIG_DIR%/secrets/prod/prod.decrypt.private.php", + "/%PUBLIC_DIR%/bundles/", + "/%VAR_DIR%/", + "/vendor/" + ], + "post-install-output": [ + " * 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" + ] + }, + "files": { + ".editorconfig": { + "contents": [ + "# editorconfig.org", + "", + "root = true", + "", + "[*]", + "charset = utf-8", + "end_of_line = lf", + "indent_size = 4", + "indent_style = space", + "insert_final_newline = true", + "trim_trailing_whitespace = true", + "", + "[{compose.yaml,compose.*.yaml}]", + "indent_size = 2", + "", + "[*.md]", + "trim_trailing_whitespace = false", + "" + ], + "executable": false + }, + ".symfony.local.yaml": { + "contents": [ + "# This configuration file is used by the Symfony CLI tool.", + "# See https://symfony.com/doc/current/setup/symfony_cli.html for more information.", + "", + "http:", + " use_gzip: true", + "", + "# Processes that automatically run with the server (https://symfony.com/doc/current/setup/symfony_cli.html#configuring-workers)", + "workers:", + " # Consume async messages, and restart the worker when the code changes", + " #messenger_consume_async:", + " # cmd: ['symfony', 'console', 'messenger:consume', 'async']", + " # watch: ['config', 'src', 'templates', 'vendor/composer/installed.json']", + "" + ], + "executable": false + }, + "AGENTS.md": { + "contents": [ + "# AGENTS.md", + "", + "This is a Symfony project. Check `composer.json` for the exact Symfony/PHP version", + "in use, and read `symfony.lock` to see which recipes ran. Don't assume Doctrine,", + "Twig, API Platform, Messenger, or Lock are installed unless one of those says so.", + "", + "## Ask before generating", + "", + "If the task doesn't specify, ask rather than guess:", + "", + "- Persistence: Doctrine ORM, Doctrine ODM, or none?", + "- Interface: server-rendered (Twig), API (Serializer, maybe API Platform), or both?", + "- Auth: SecurityBundle, and which authenticator?", + "", + "If you can't ask (no interactive channel), state the assumption you're making and", + "pick the smallest option (e.g. no persistence layer) rather than scaffolding a", + "full stack nobody asked for.", + "", + "## Adding features: Flex, not hand-wiring", + "", + "Install new capabilities with `composer require ` (e.g. `symfony/lock`,", + "`symfony/messenger`, `orm-pack`) and let the Flex recipe register the bundle and", + "generate its config. Don't hand-edit `config/bundles.php` or hand-write a bundle's", + "base config; that's what the recipe is for. Don't skip a good-fit component just", + "because it isn't installed yet; installing it is one command.", + "", + "## Conventions", + "", + "Follow https://symfony.com/doc/current/best_practices.html to write idiomatic", + "Symfony:", + "", + "- Use PHP attributes for framework metadata, and not only on controllers:", + " `#[Route]`, `#[MapRequestPayload]`, `#[IsGranted]` on actions, `#[Assert\\...]`", + " on properties, `#[AsCommand]`, `#[AsEventListener]`, `#[AsMessageHandler]`, and", + " `#[AsAlias]` / `#[AsTaggedItem]` / `#[Autoconfigure]` on services. No YAML or", + " XML routing.", + "- Rely on autowiring and autoconfiguration. Type-hint constructor arguments and", + " let the container resolve them. Where a type-hint can't express it, stay in the", + " class with `#[Autowire]` (parameters, env vars, expressions) or `#[Target]` (one", + " of several implementations of an interface). A YAML service definition is the", + " last resort, not the first.", + "- Controllers extend `AbstractController`, stay thin, and delegate to services.", + "- Use the framework for what it already does: Form for server-rendered forms,", + " Validator for validation, Serializer for JSON, Messenger for async work,", + " Security (voters, authenticators) for access control, Twig `path()`/`url()`", + " instead of hardcoded URLs.", + "- Before hand-writing infrastructure (locks, queues, caches, HTTP clients,", + " mailers, schedulers) or reaching for a third-party library, check whether a", + " Symfony component covers it. It usually does.", + "", + "Three specifics worth spelling out, because they are easy to get wrong:", + "", + "- Bind request data with `#[MapRequestPayload]` / `#[MapQueryString]` on action", + " arguments, which wires up Serializer and Validator for you, instead of calling", + " `json_decode()` or `SerializerInterface` by hand. If neither package is", + " installed yet, `composer require` them rather than falling back to manual", + " parsing.", + "- Use constructor property promotion, and `readonly` for DTOs and value objects.", + " Don't mark a service `readonly` if it might become `lazy: true`: a lazy proxy", + " can't extend a `readonly` class.", + "- Use `symfony/lock` (`LockFactory`) for mutual exclusion. A hand-built flag or", + " lock file looks fine in review and is usually wrong under concurrency.", + "", + "## Everyday workflow", + "", + "- Run the app with `symfony serve -d`, and commands with `symfony console ...`", + " (or `bin/console` when the Symfony CLI isn't available).", + "- When something fails, read `var/log/dev.log` and the web profiler", + " (`/_profiler`) before changing code.", + "- If `maker-bundle` is installed, prefer `bin/console make:*` with every argument", + " passed up front and `--no-interaction` where supported: makers prompt on a", + " terminal by default, which hangs a non-interactive shell. If a maker still", + " needs interactive input, hand-write the code instead.", + "- If Doctrine ORM is installed, schema changes go through migrations", + " (`bin/console make:migration`, then `doctrine:migrations:migrate`), never", + " `doctrine:schema:update` or hand-written SQL.", + "- `.env` is committed and holds defaults only. Real secrets belong in `.env.local`", + " (git-ignored) or the secrets vault (`bin/console secrets:set`), read via", + " `%env(...)%`.", + "", + "## Testing", + "", + "Install `symfony/test-pack` if it isn't already. Functional/HTTP tests extend", + "`WebTestCase`; service-level tests extend `KernelTestCase`. Run", + "`php bin/phpunit` (falls back to `vendor/bin/phpunit`). A feature isn't done", + "until it has a test that exercises it the way a caller would, an HTTP request for", + "a controller or a service call for a service, not just \"it didn't throw.\"", + "", + "## Code style", + "", + "Symfony's coding standard, the `@Symfony` php-cs-fixer ruleset (a PSR-12-derived", + "superset). Run `vendor/bin/php-cs-fixer fix` if `friendsofphp/php-cs-fixer` is", + "installed; it isn't part of the skeleton by default.", + "", + "## Discover, don't guess", + "", + "Framework APIs change between versions and your training data may be stale. Look", + "things up in the project instead of relying on memory:", + "", + "- `bin/console about`: versions, environment, paths.", + "- `bin/console debug:router`, `debug:container`, `debug:autowiring `,", + " `debug:config `, `config:dump-reference `: what exists and how", + " it is configured.", + "- `bin/console lint:container`, plus `lint:twig templates/` and", + " `lint:yaml config/` where those packages are installed: validate before running.", + "- Read the installed source and docblocks under `vendor/`.", + "- Docs: https://symfony.com/doc/current/ (switch to the version matching", + " `composer.json` if it differs).", + "" + ], + "executable": false + }, + "CLAUDE.md": { + "contents": [ + "# CLAUDE.md", + "", + "@AGENTS.md", + "" + ], + "executable": false + }, + "config/packages/cache.yaml": { + "contents": [ + "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", + "" + ], + "executable": false + }, + "config/packages/framework.yaml": { + "contents": [ + "# see https://symfony.com/doc/current/reference/configuration/framework.html", + "framework:", + " secret: '%env(APP_SECRET)%'", + "", + " # Note that the session will be started ONLY if you read or write from it.", + " session: true", + "", + " #esi: true", + " #fragments: true", + "", + "when@test:", + " framework:", + " test: true", + " session:", + " storage_factory_id: session.storage.factory.mock_file", + "" + ], + "executable": false + }, + "config/preload.php": { + "contents": [ + " An array of allowed values for APP_ENV", + " */", + " private function getAllowedEnvs(): array", + " {", + " return ['prod', 'dev', 'test'];", + " }", + "}", + "" + ], + "executable": false + } + }, + "ref": "b5fb7271219d786f2145f292c53ed7866284776c" + } + } +} diff --git a/archived/symfony.reprise/a452d21b563cd68e93020876bc542225eb9f9e20.json b/archived/symfony.reprise/a452d21b563cd68e93020876bc542225eb9f9e20.json new file mode 100644 index 00000000..b32b1765 --- /dev/null +++ b/archived/symfony.reprise/a452d21b563cd68e93020876bc542225eb9f9e20.json @@ -0,0 +1,189 @@ +{ + "manifests": { + "symfony/reprise": { + "manifest": { + "bundles": { + "Symfony\\Reprise\\RepriseBundle": [ + "all" + ] + }, + "copy-from-recipe": { + "assets/": "assets/", + "config/": "%CONFIG_DIR%/" + }, + "conflict": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0", + "symfony/framework-bundle": "<6.4" + }, + "gitignore": [ + "/node_modules/", + "/%PUBLIC_DIR%/build/" + ], + "add-lines": [ + { + "file": "templates/base.html.twig", + "content": " {{ reprise_entry_link_tags('app') }}", + "position": "after_target", + "target": "{% block stylesheets %}", + "warn_if_missing": true + }, + { + "file": "templates/base.html.twig", + "content": " {{ reprise_entry_script_tags('app') }}", + "position": "after_target", + "target": "{% block javascripts %}", + "warn_if_missing": true + }, + { + "file": ".symfony.local.yaml", + "content": " # Start the Vite dev server\n vite:\n cmd: ['npx', 'vite']\n # Or instead, if you use Rsbuild (https://rsbuild.rs/)\n #rsbuild:\n # cmd: ['npx', 'rsbuild', 'dev']", + "position": "after_target", + "target": "workers:", + "warn_if_missing": true + } + ], + "post-install-output": [ + "", + " ", + " Symfony Reprise ", + " ", + "", + " A few frontend steps remain to wire up your bundler.", + " The commands below use npm (or pnpm, yarn, ...).", + "", + " * If you don't have a bundler yet, install Vite or Rsbuild:", + "", + " npm install --save-dev vite", + " # or", + " npm install --save-dev @rsbuild/core", + "", + " * Install the Reprise plugin:", + "", + " npm install --save-dev @symfony/reprise", + "", + " * Register the plugin in your bundler config:", + "", + " // vite.config.js", + " import { defineConfig } from 'vite'", + " import Symfony from '@symfony/reprise/vite'", + "", + " export default defineConfig({", + " // If using Vite 8.2+", + " input: {", + " app: './assets/app.js',", + " },", + " // Otherwise, use `build.rollupOptions`", + " // build: {", + " // rollupOptions: {", + " // input: {", + " // app: './assets/app.js',", + " // },", + " // },", + " // },", + " plugins: [", + " Symfony({", + " // Enable support for Stimulus Controller and Symfony UX", + " // stimulus: './assets/controllers.json',", + " }),", + " ],", + " })", + "", + " // rsbuild.config.js", + " import { defineConfig } from '@rsbuild/core'", + " import Symfony from '@symfony/reprise/rsbuild'", + "", + " export default defineConfig({", + " source: {", + " entry: {", + " app: './assets/app.js',", + " },", + " },", + " plugins: [", + " Symfony({", + " // Enable support for Stimulus Controller and Symfony UX", + " // stimulus: './assets/controllers.json',", + " }),", + " ],", + " })", + "", + " * Render your assets from Twig with reprise_entry_link_tags('app') and", + " reprise_entry_script_tags('app') (already added to templates/base.html.twig for you).", + "", + " * Build your assets:", + "", + " npx vite build # or: npx rsbuild build", + " npx vite # dev server (or: npx rsbuild dev)", + "", + " * Read the documentation: https://github.com/symfony/reprise" + ] + }, + "files": { + "assets/app.js": { + "contents": [ + "/*", + " * Welcome to your app's main JavaScript file!", + " *", + " * This file will be included onto the page via the reprise_entry_script_tags('app') 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 Symfony Reprise! \ud83c\udf89');", + "" + ], + "executable": false + }, + "assets/styles/app.css": { + "contents": [ + "body {", + " background-color: skyblue;", + "}", + "" + ], + "executable": false + }, + "config/packages/reprise.yaml": { + "contents": [ + "# Reprise works with zero configuration. Every option below is shown at its", + "# default value; uncomment the block and tweak what you need.", + "# See https://github.com/symfony/reprise/blob/main/doc/index.rst#configuration", + "# reprise:", + " # Directory the @symfony/reprise plugin writes entrypoints.json and manifest.json into.", + " # output_path: '%kernel.project_dir%/public/build'", + "", + " # Throw when entrypoints.json or a requested entry is missing, instead of rendering nothing.", + " # strict_mode: true", + "", + " # A framework.assets package name used to resolve entry URLs. null uses the default package.", + " # asset_package: null", + "", + " # crossorigin attribute set alongside SRI integrity: false, 'anonymous' or 'use-credentials'.", + " # crossorigin: false", + "", + " # Register rendered assets as WebLink HTTP/2 Link: preload headers (needs symfony/web-link).", + " # preload: true", + "", + " # Default attributes added to every rendered