Releases: symfony/reprise
Release list
🎉 Symfony Reprise 0.1.0
Webpack Encore served Symfony well for years, but it's no longer the tool to reach for. It isn't going anywhere: it's still widely used, and it stays maintained with bug fixes and dependency upgrades. For a new project, though, the ground has shifted.
Webpack has been overtaken by a generation of faster bundlers (Vite, Rsbuild, esbuild, Rolldown) and the JavaScript ecosystem moved with them. On a modern stack (TypeScript, Vue, Tailwind, Vitest, linting), Webpack feels dated, and Symfony AssetMapper's no-build approach only stretches so far.
The Symfony team made the case in symfony/symfony#59707: rather than keep building on aging infrastructure, integrate the modern tools.
That's why Symfony Reprise exists: it brings Encore's Symfony integration to Vite and Rsbuild, without reinventing what those bundlers already do.
The bundler owns the build: TypeScript, Sass/Less/PostCSS, JSX/Vue/Svelte, code splitting, content hashing, source maps, minification, and HMR -- all native, all fast.
Reprise owns the Symfony glue: entrypoints.json and manifest.json, Twig tags that render them (reprise_entry_link_tags / reprise_entry_script_tags), asset versioning through asset(), the dev server and HMR client wired into Twig, file copy, Stimulus controllers, CDN support, and Subresource Integrity.
Installation
composer require symfony/reprise
npm install @symfony/reprise --save-devPoint your bundler config at @symfony/reprise/vite or @symfony/reprise/rsbuild, add reprise_entry_link_tags('app') and reprise_entry_script_tags('app') to your template, and you're set.
Documentation
The documentation has the full walkthrough, with Vite and Rsbuild side by side.
This is an early, experimental first release, so expect a few rough edges. Send your issues and feedback our way. 🙌