pentatrion/vite-bundle
Symfony bundle integrating Vite for easy asset loading. Provides Twig functions to render the right script and link tags for Vite dev server and production builds (including React dependency handling). Install via Composer and use vite_entry_* tags in templates.
WebpackEncoreBundle is linked with a Symfony Recipe. Before remove this bundle, backup your assets content and package.json/package-lock.json in another location. They will be deleted when you'll remove the bundle.
mv assets assets.bak
mv package.json package.json.bak
mv package-lock.json package-lock.json.bak
composer remove symfony/webpack-encore-bundle
You can safely rename your backup and install the ViteBundle
mv assets.bak assets
mv package.json.bak package.json
mv package-lock.json.bak package-lock.json
composer require pentatrion/vite-bundle
You need to add manually the vite and vite-plugin-symfony packages and scripts in your existant package.json. check the package.json reference file.
There is some minor differences with the twig functions
// webpack.config.js
-Encore.addEntry("app", "./assets/app.js");
// vite.config.js
+export default {
+ // ...
+ plugins: [
+ symfonyPlugin()
+ ],
+ build: {
+ rollupOptions: {
+ input: {
+ app: "./assets/app.js"
+ },
+ },
+ },
+};
{% block stylesheets %}
- {{ encore_entry_link_tags('app') }}
+ {{ vite_entry_link_tags("app") }}
{% endblock %}
{% block javascripts %}
- {{ encore_entry_script_tags('app') }}
+ {{ vite_entry_script_tags("app") }}
{% endblock %}
How can I help you explore Laravel packages today?