From ba32902abcda6d7d3b93578dd19cf2516f53f5e6 Mon Sep 17 00:00:00 2001 From: "github-action[bot]" <> Date: Fri, 28 Aug 2026 07:01:16 +0000 Subject: [PATCH] Create Flex endpoint --- index.json | 34 ++++++++ symfony.reprise.0.1.json | 178 ++++++++++++++++++++++++++++++++++++++ symfony.reprise.1.1.json | 182 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 394 insertions(+) create mode 100644 index.json create mode 100644 symfony.reprise.0.1.json create mode 100644 symfony.reprise.1.1.json diff --git a/index.json b/index.json new file mode 100644 index 00000000..f37529b5 --- /dev/null +++ b/index.json @@ -0,0 +1,34 @@ +{ + "aliases": { + "reprise": "symfony/reprise" + }, + "recipes": { + "symfony/reprise": [ + "0.1", + "1.1" + ] + }, + "recipe-conflicts": { + "symfony/reprise": { + "0.1": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0", + "symfony/framework-bundle": "<6.4" + }, + "1.1": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0", + "symfony/framework-bundle": "<6.4" + } + } + }, + "versions": [], + "branch": "main", + "is_contrib": false, + "_links": { + "repository": "github.com/symfony/recipes", + "origin_template": "{package}:{version}@github.com/symfony/recipes:main", + "recipe_template": "https://raw.githubusercontent.com/symfony/recipes/flex/pull-1564/{package_dotted}.{version}.json", + "recipe_template_relative": "{package_dotted}.{version}.json", + "archived_recipes_template": "https://raw.githubusercontent.com/symfony/recipes/flex/pull-1564/archived/{package_dotted}/{ref}.json", + "archived_recipes_template_relative": "archived/{package_dotted}/{ref}.json" + } +} diff --git a/symfony.reprise.0.1.json b/symfony.reprise.0.1.json new file mode 100644 index 00000000..2ad6cd6f --- /dev/null +++ b/symfony.reprise.0.1.json @@ -0,0 +1,178 @@ +{ + "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 + } + ], + "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({", + " build: {", + " // On Vite 7 or older, use `rollupOptions` instead", + " rolldownOptions: {", + " 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