Skip to content
 
 

Latest commit

 

History

254 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Symfony Logo

Symfony Reprise Symfony Reprise: Webpack Encore's heritage, for modern bundlers

Latest tag PHP version Node version CI License

Webpack Encore gave Symfony first-class asset integration for Webpack.
Symfony Reprise brings the same to Vite and Rsbuild.

📣 Read the announcement blog post

Warning

Experimental this bundle is experimental and is likely to change, or even change drastically.

Symfony Reprise covers only the Symfony-side glue the bundlers leave out:

  • 🎯 Multiple entries: build several independent entry points from one config
  • 📄 entrypoints.json: generated in both build and dev-server modes
  • 🗺️ manifest.json: maps each logical filename to its hashed URL
  • 🔖 Asset versioning: content-hash cache busting, wired into the manifest
  • 📁 File copy: copy static files (images, fonts…) into the build, keyed in the manifest
  • 🔥 Dev server & HMR: points Twig at the running Vite/Rsbuild server
  • 🧱 Multiple builds: drive several bundles (e.g. a main app and a separately-built embeddable widget) from one Symfony app
  • 🏷️ Twig tag rendering: reprise_entry_script_tags/reprise_entry_link_tags render straight from entrypoints.json
  • 🧩 Symfony UX / Stimulus: registers controllers.json and local controllers, eager or lazy
  • 🌐 CDN support: serve built assets from an absolute publicPath
  • 🛡️ Subresource Integrity: SRI hashes in entrypoints.json
  • 🔐 Customizable tag attributes: RenderAssetTagEvent lets listeners add, change or remove attributes on every rendered tag (e.g. a CSP nonce)

Vite and Rsbuild already handle Sass/Less/PostCSS, TypeScript, JSX/Vue/Svelte, code splitting, content hashing, source maps, minification and HMR on their own, so Symfony Reprise does not reimplement any of that.

It generates the Encore-compatible entrypoints.json and manifest.json that Reprise's own Symfony bundle (RepriseBundle) reads to render the <script> and <link> tags, wires up the native dev server, and turns your Stimulus controllers into a running application.

Read the documentation

About

Integrate Vite and Rsbuild with Symfony, a reprise of Webpack Encore Bundle.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages