Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

287 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

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

  • 🎯 Multiple entries: build several independent entry points from one config
  • 🎨 Style entries: point an entry straight at a .scss/.css file and get CSS only, no stray <script>
  • 📄 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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

82 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages