onelearningcommunity/laravel-model-explorer
Model Explorer's UI requires a reactive, component-driven frontend capable of rendering graph visualisations, navigable data trees, and live query interfaces in later phases. Several integration strategies were considered:
The self-contained SPA pattern is used by Laravel Telescope, Laravel Horizon, and Filament Nova for the same reason: developer tools must work across the full spectrum of Laravel applications regardless of their chosen frontend approach.
Model Explorer ships as a self-contained Vue 3 SPA. The package maintains its own package.json and vite.config.js. Compiled output goes to the package's public/ directory and is served via ADR-001's route-based asset delivery.
Isolation guarantees:
package.json, vite.config.js, and frontend toolchain are not touched.<div id="app"> inside a minimal Blade shell (resources/views/app.blade.php) that contains no host application layout, components, or styles.Vue 3 specifically (over Vue 2) was chosen because:
The host application in the current development environment uses Vue 2, but this is an implementation detail of that specific application and not a constraint the package should inherit.
Frontend dependencies are kept minimal for Phase 1:
vue@^3.5 — UI framework[@vitejs](https://github.com/vitejs)/plugin-vue — Vite transform (dev dependency)vite@^6 — build toolchain (dev dependency)Vue Router and any graph or UI libraries will be introduced in the phases that require them.
Positive:
npm run dev in the package directory is sufficient.Negative:
npm run build step is required as part of the package release process. Compiled assets (public/app.js, public/app.css) must be committed to the package repository so consumers receive them via Composer without needing Node.js themselves.How can I help you explore Laravel packages today?