Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Splade Jetstream Laravel Package

protonemedia/laravel-splade-jetstream

Brings Laravel Jetstream's authentication, teams, API tokens, and profile features to Splade, replacing Jetstream's Vue/Inertia stack with Splade's Blade and Alpine.js approach. Includes matching Splade components and scaffolding for a lighter, JavaScript-driven Laravel app.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • The package is a Jetstream stack installer, not a runtime library. It swaps Jetstream's default Livewire or Inertia stacks for a Splade stack: Blade templates rendered server-side, with Vue components hydrating interactive islands and Splade's middleware returning JSON payloads for SPA-style navigation.
  • Fit is therefore narrow and time-boxed: it matters for ~1 day during project bootstrap and then becomes irrelevant, because the install command publishes controllers, routes, views, and Vue components into your repository. The generated code is yours to own; the Composer dependency is scaffolding only.
  • Release 1.1.1 changes the supported baseline: new projects now require Laravel 10, because the Laravel skeleton moved to JS modules (laravel/laravel#6090). The previously assumed Laravel 9 / PHP 8.0–8.1 target is retired for new installs. Practical floor is now Laravel 10 with PHP 8.1+, Splade 1.x, and Jetstream 3.x-era wiring — Splade 0.x and the Laravel 9 skeleton are out of scope.
  • The JS-modules change is not cosmetic. Laravel 10's skeleton boots via ES modules in resources/js/app.js (import-based bootstrap.js, Vite entry config), so the published package.json, vite.config.js, and JS entry files must match that shape. Scaffolding generated against the old skeleton will not merge cleanly into a Laravel 10 app.
  • Archival status now needs re-verification. A 1.1.1 release means the repo was not frozen at the May 2023 cut. Treat it as minimal-maintenance rather than dead, but do not upgrade that to "actively maintained": one compatibility commit is not a support commitment, a CVE process, or a forward roadmap.
  • The upgrade path still runs through your own fork. This release lowers the cost of starting on a modern Laravel but does not create a durable dependency relationship.

Integration feasibility

  • Improved but still conditional. High for a greenfield Laravel 10 prototype, low for an existing product. Mechanically: composer require --dev protonemedia/laravel-splade-jetstream, run the Jetstream install with the Splade stack, then delete the dependency.
  • The 1.1.1 bump removes the single biggest blocker from the prior review — you no longer have to start on an EOL Laravel — but it shifts the risk rather than eliminating it. Verify the installer's published files against a current laravel/laravel skeleton, not a Laravel 10.0 one; the JS-module layout has continued to drift since the PR cited in the release note.
  • Real friction sits in the transitive stack, not this repo: Splade itself, Jetstream's Fortify actions, Sanctum, teams/profile/API-token feature parity, and whether the Splade port covers all Jetstream features (teams, API tokens, browser session logout, profile photos) or silently omits some.
  • Frontend build assumptions are now 2023-late vintage (Vite 4/5 + Tailwind 3 + Vue 3 with ES modules). A 2025 toolchain (Tailwind 4, Vite 6/7) still requires migration work on the published assets; 1.1.1 does not address that.

Technical risk

  • Maintenance risk: high, marginally improved. One release proves the repo is not abandoned in the strict sense, but there are still no committed maintainers, no published support policy, and no evidence of CVE response or Splade version tracking. Plan as if 1.1.1 is the last release.
  • Security surface: moderate. The published code includes auth flows, password confirmation, API token issuance, and CSRF-bearing XHR navigation. You inherit full responsibility for auditing and patching it. Laravel 10's baseline (PHP 8.1+, Sanctum 3.x) is a better starting point than Laravel 9, but the audit obligation is unchanged.
  • Skeleton-drift risk: new and specific to this release. Requiring Laravel 10 means the published JS/CSS entry files must track the skeleton's module layout. This is a fast-moving surface; expect the scaffolding to be subtly stale even on a fresh install.
  • Lock-in risk: medium. Splade is a single-vendor framework (Protonemedia) with a much smaller community than Livewire or Inertia; hiring and knowledge transfer are constrained.
  • Supply-chain risk: low-to-medium. MIT license is permissive and the code volume is small and auditable, but a low-star repo with a single drive-by compatibility commit has not been reviewed by anyone else.
  • The high opportunity score (8.64) is best read as market signal that the problem space — lightweight reactive Blade without a full SPA — is under-served, not that this artifact is a good dependency.

Key questions

  1. Does 1.1.1 install cleanly on the current Laravel 10/11/12 skeleton, or only on the Laravel 10.0 layout referenced in the release note?
  2. Is Laravel 11+ supported, or does 1.1.1 hard-cap at Laravel 10? Check composer.json constraints before assuming anything beyond the release note.
  3. Is every Jetstream feature we need (teams, API tokens, profile management, 2FA) present in the Splade stack, or partially stubbed?
  4. Is the install command idempotent and re-runnable, or does it overwrite customized files — particularly the JS entry files that Laravel 10 changed?
  5. Who made the 1.1.1 commit, and is there any stated intent to continue? Contact the author before depending on this.
  6. Who on the team owns the forked scaffolding and its quarterly compatibility review?

Integration Approach

Stack fit

  • Only sensible for a greenfield Laravel 10 app where the team has explicitly chosen Splade over Livewire/Inertia. If Splade is not already a decision, this package is the wrong entry point — evaluate Splade first, then decide on scaffolding.
  • For an established codebase, treat it as a reference implementation: read the published views and components to learn the Splade + Jetstream wiring, then hand-write the equivalent into your app.
  • 1.1.1 makes the greenfield case materially stronger than the prior review allowed, since it no longer forces you onto an EOL framework. That is a genuine, if narrow, improvement.

Migration path

  • Recommended pattern remains install → publish → vendor → sever:
    1. Scaffold a throwaway Laravel 10 app at the pinned versions, created now so the skeleton matches the release note's target.
    2. Run the install and publish everything.
    3. Diff the generated JS/CSS entry files against the stock skeleton and note what the installer overrides — this is where 1.1.1's changes concentrate.
    4. Commit the generated tree into an internal starter-kit repository under your own license and CI.
    5. Remove protonemedia/laravel-splade-jetstream from composer.json entirely — it should never appear in a production composer.lock.
  • Treat the vendored tree as first-party code from day one: your code review, your tests, your upgrade cadence.

Compatibility

  • Verify against the actual pinned matrix in composer.json for 1.1.1; confirm the Laravel ceiling (10 only, or 10+) and the PHP floor (8.1+ expected).
  • Confirm the published vite.config.js, package.json, and resources/js entry files match the Laravel 10 ES-module skeleton; if they carry pre-1.1.1 assumptions, budget a day for reconciliation.
  • Cross-check the Splade version the scaffolding targets against the most recent Splade release and confirm the middleware, Blade directives, and Vue component API have not drifted.
  • Confirm Tailwind config and Vite versions are upgradeable without rewriting the component library.

Sequencing

  1. Week 0 — spike (now shorter). Two-day proof: scaffold on Laravel 10, run auth + profile + teams flows end-to-end, verify SPA navigation and asset build, document gaps.
  2. Week 1 — audit. Security review of published auth and token code; enumerate missing Jetstream features; estimate porting cost; confirm skeleton-diff scope.
  3. Week 1 — go/no-go. Decide: vendored starter kit, or switch to Livewire/Inertia and abandon the Splade path.
  4. Week 2 — harden. Add feature tests for login, registration, 2FA, team switching, and SPA navigation; wire CI.
  5. Ongoing — scheduled review. Quarterly dependency bump of the vendored tree against current Laravel and Splade; re-check whether any further upstream releases appear, and do not plan around them.

Operational Impact

Maintenance

  • Total ownership transfer. Budget roughly 5–10 engineer-days up front for audit and hardening, plus 1–2 days per quarter for dependency drift on the vendored copy. 1.1.1 does not change this number; it only moves the starting point from Laravel 9 to 10.
  • No dependable upstream to lean on. The single 1.1.1 commit is a compatibility patch, not a maintenance commitment — do not build a process that assumes a next release.

Support

  • Zero vendor support, minimal community. Internal documentation of the scaffolding decisions becomes mandatory — capture why Splade, what was customized, and what was dropped from Jetstream.
  • Onboarding depends on Splade documentation staying online. Mirror the relevant Splade docs into the internal starter-kit README as a hedge.
  • Record the Laravel 10 / JS-modules rationale from 1.1.1 in the README, so a future maintainer understands why the published JS entry files look the way they do.

Scaling

  • Splade's model — server-rendered Blade plus JSON partial responses — scales like a traditional monolith: fine horizontally, but each navigation is a PHP round trip. Cache headers, response payload size, and per-request middleware overhead must be measured early.
  • No specific scaling advantage or disadvantage versus Inertia; the risk is operational novelty rather than performance ceiling.

Failure modes

  • Skeleton drift: a fresh install on a newer Laravel 10.x/11 skeleton produces mismatched JS entry files or a broken Vite build — most likely right after a framework patch release and least likely to be caught by the package's own tests.
  • Silent feature gaps: a Jetstream capability absent from the Splade port only surfaces in production (e.g. team invitation edge cases, API token revocation).
  • Broken SPA navigation: routes not returning Splade-compatible responses fall back to full page loads or blank transitions.
  • Session/CSRF expiry: expired sessions return JSON instead of a redirect, producing a dead UI rather than a login prompt. Test this explicitly.
  • Asset pipeline decay: stale Vite/Tailwind versions block framework upgrades later.
  • Abandoned-with-a-CVE scenario: no patch path; you must hotfix your fork under incident pressure. 1.1.1 slightly reduces the probability that the repo is wholly unmaintained, but does not create a patch path you can rely on.

Ramp-up

  • Team needs Blade fluency, Vue 3 component authoring with ES modules, and Splade-specific concepts (middleware, @splade directives, templates). No Livewire knowledge is required, but Livewire is the far more common hiring signal.
  • Expect 1–2 weeks before a mid-level engineer is productive, plus a Splade learning curve that no teammate is likely to have seen before.
  • TPM recommendation (revised): 1.1.1 makes harvesting viable on a current Laravel baseline, so the prior "do not adopt" softens to "adopt only as a harvested scaffold." Extract it into an internally owned starter kit if and only if Splade is already a committed architectural choice; keep it out of production composer.lock regardless. If Splade is not yet decided, log the opportunity score as a signal and benchmark Livewire 3 + Volt and Inertia v2 before committing.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console