A package to provide support for compiling Elm in Laravel 12+ with Vite.
For use with: laravel-elm
Requirements:
- Laravel 12.x+
- PHP 8.4 / 8.5
- Vite 7.x
- Node.js 18+
npm install --save-dev laravel-elmIn your vite.config.js:
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import laravelElm from 'laravel-elm';
export default defineConfig({
plugins: [
laravel({
input: [
'resources/css/app.css',
'resources/js/app.js',
'resources/js/elm.js', // Add your Elm entry point
],
refresh: true,
}),
laravelElm({
debug: true, // Enable debug mode for development
}),
],
});In your Blade templates, use the @elm directive:
@elm // Uses default path: resources/js/elm.js
// or
@elm('resources/js/custom-elm.js') // Use a custom pathnpm run devnpm run build- Hot Module Replacement (HMR): Automatic page updates when Elm files change
- Debug Mode: Includes Elm debugger in development
- Production Optimization: Automatically optimizes Elm output for production builds
- WebSocket Support: Real-time updates during development
View the license for this repo.