Skip to content

Latest commit

 

History

History
41 lines (32 loc) · 2.91 KB

File metadata and controls

41 lines (32 loc) · 2.91 KB

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.

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
  • 🔥 Dev server & HMR: points Twig at the running Vite/Rsbuild server
  • 🧩 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
  • 📦 Shared runtime chunk: one runtime shared across entries (planned)

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, still a stub) 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