moonshine/asset-manager
Asset manager for MoonShine admin panels: a ready-to-use file and media library for Laravel that lets administrators upload, browse, organize, and delete images and files directly from the CMS interface, simplifying asset handling without custom CRUD code.
Evidence basis. The 4.9.1 release note is a pointer only: it links to the MoonShine monorepo release tag and a 4.0.0...4.9.1 compare range in moonshine-software/asset-manager. There is no inline changelog, no migration note, and no explicit breaking-change callout. Treat this as a low-confidence signal until the compare diff and monorepo tag are read directly. The most informative fact in the note is the version delta itself: the package moved from 4.0.0 to 4.9.1, i.e. nine minor releases, without a documented upgrade path in the announcement.
Architecture fit. moonshine/asset-manager is the asset registration and versioning layer for MoonShine admin panels — it is how CSS/JS bundles (core admin UI, custom fields, third-party field packages) get registered, published and cache-busted on top of Laravel's Vite/asset pipeline. It is a sibling package inside the MoonShine monorepo rather than a standalone library, so it is architected to be consumed with moonshine/moonshine 4.x, not independently. Fit is strong if we are standardising on MoonShine as the admin/back-office layer; it is a poor fit as a general-purpose asset manager for a non-MoonShine Laravel app.
Integration feasibility. Mechanically straightforward for a Laravel team: a Composer require, asset publishing, and a Vite manifest present at build time. The real feasibility question is not "can we install it" but "can we pin and predict it." The 4.0.0 → 4.9.1 jump means we adopt either an old, under-tested 4.0.x or a version whose intermediate changes we have not read. Feasibility is high for a greenfield admin panel; medium for an existing one where custom fields and themes are already published against 4.0.x asset paths.
Technical risk.
moonshine/moonshine core is likely lockstep-ish; upgrading one may force the other, turning a patch bump into a coordinated upgrade.Key questions for the maintainers / our spike.
Stack fit. Targets a conventional Laravel + Blade + Vite stack. Best case is Laravel 11/12, PHP 8.2+, Node 20+, Vite 5+, with MoonShine 4.x as the admin layer. Any deviation (older Laravel, Webpack/Mix still in the build, non-Vite asset pipeline) should be checked against the package's actual composer.json constraints before we commit — the release note does not state them.
Migration path. Do not treat 4.9.1 as a drop-in patch on the strength of this note.
asset-manager and moonshine/moonshine versions in composer.lock and snapshot the built asset manifest.4.0.0...4.9.1 compare diff and the monorepo tag; extract any rename/removal of registration methods, published-path changes, or config key changes.vendor/ and public/ rebuild (never a warm cache), then diff the published asset tree and the resulting manifest against the snapshot.Compatibility. The binding constraint will almost certainly be the MoonShine core version, not Laravel itself. Because both packages live in one monorepo, expect them to be released and tested together; budget for upgrading them as a pair. Also verify the Node/Vite side of the build separately from the PHP side — asset-manager failures are frequently build-tool mismatches rather than PHP ones.
Sequencing.
4.9.*) rather than a floating ^4.0, and add a Renovate/Dependabot rule that flags asset-manager bumps for manual review rather than auto-merge.Maintenance. Low code footprint, non-trivial version-tracking overhead. The cadence visible in this single note — nine minors since 4.0.0 — implies frequent releases. We should subscribe to monorepo releases via webhook into our dependency channel rather than relying on reading tags ad hoc. Budget roughly a half-day per upgrade cycle for the asset diff and visual regression pass, not a five-minute bump.
Support. Upstream support is GitHub issues/discussions plus vendor docs; there is no commercial SLA implied by this package. Our realistic support model is internal ownership: one named engineer who understands the asset registration conventions, plus a documented runbook. Escalation beyond that is community-paced.
Scaling. Runtime cost is effectively zero — this shapes published static assets and resolves manifest entries at render time. Scaling concerns are almost entirely about build and CDN distribution: asset publishing must be part of the deploy pipeline (not a manual vendor:publish on the server), and cache-busting must be correct so that a deploy invalidates edge caches. Multi-node deployments without a shared build artefact will drift and produce intermittent broken admin UIs.
Failure modes.
Ramp-up. For a Laravel-competent engineer: 1–2 days to be productive, roughly a week to be the team's owner of the asset pipeline including Vite config, publishing, CDN behaviour, and the upgrade runbook. The learning cost is not the package API — it is the MoonShine asset-registration conventions and the monorepo's release rhythm, neither of which is documented in this release note.
How can I help you explore Laravel packages today?