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

Assetic Laravel Package

sanpi/assetic

Laravel integration for the Assetic asset management library. Define CSS/JS asset collections, apply filters such as LESS, Sass, CoffeeScript and minification, then dump and serve compiled, cached assets via Blade helpers for a simple PHP asset pipeline.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build-vs-buy on the asset pipeline. Frames the real choice for a Laravel product: the sanctioned default (Vite via laravel-vite-plugin, or Laravel Mix for legacy apps) versus a server-side, Node-free PHP asset pipeline. Assetic only wins the comparison if the constraint is "no Node runtime anywhere in build or deploy," which is rarely true for a Laravel team.
  • Legacy migration sequencing. If the product inherits a Symfony/Assetic-era codebase (or a hybrid Laravel + legacy frontend), this assessment bounds the exit work: inventory every asset collection, filter, and assetic:dump step, map each filter to a Vite equivalent, and size the change across templates, CI, and cache-busting.
  • Roadmap guardrail. Supports a standing rule that no new feature, module, or package may introduce an Assetic-based pipeline; new work uses the sanctioned bundler. This prevents the fork from spreading into greenfield areas while a migration is pending.
  • Risk and supportability posture. Zero stars, zero dependents, single maintainer over an end-of-life upstream is a procurement/architecture signal — no vendor support, no security response, no downstream validation. This feeds directly into supported-dependency policy, SBOM hygiene, and audit findings.
  • Feature-scope triage. If the underlying need is only "combine and minify CSS/JS," that need is already met at lower total cost by Laravel's default tooling; this lets the PM decline the dependency and redirect the request rather than open a modernization project.
  • Frontend capability roadmap. Assetic's model (server-side concatenation at build time) has no path to ES modules, tree-shaking, code splitting, HMR, or TypeScript. If any of those are on the roadmap, the bundler decision is forced and this package is off the table.

When to Consider This Package

Consider it only in narrow, well-understood circumstances:

  • You are maintaining an existing Laravel app that already depends on Assetic (typically inherited alongside a ported Symfony frontend or a bespoke build step), it is pinned to an older PHP version, and upstream assetic/assetic no longer installs cleanly. A fork can be a short-term unlock to get builds green.
  • You need an asset pipeline that runs entirely during the PHP build/deploy step with no Node.js on build agents or runtime hosts, and the team already understands Assetic's collections/filters/formulas model.
  • The asset surface is small and stable — a handful of CSS/JS bundles, no module graph, no TypeScript — and migration to Vite is scheduled rather than aspirational.
  • You are willing to pin an exact version or commit, fork internally if needed, assign a named owner, and accept full ownership of the code path.

Look elsewhere if any of the following is true:

  • Greenfield or actively developed Laravel product. Vite or Laravel Mix is the maintained path with first-class Blade integration (@vite), a hashed manifest, and cache busting that works with asset(). Assetic has no service provider, no facade, no publishable config, and no Blade integration — you would build the adapter yourself.
  • Composer conflicts are likely. The fork requires Symfony Process/Filesystem components; Laravel 10/11 pins Symfony 6/7. If constraints don't reconcile, you are isolating it into a separate build container for very little gain.
  • You need vendor support, security patching, or an SLA. No community, no dependents, no advisory channel: treat it as unmaintained code adopted wholesale.
  • Your frontend has a real module graph — ES modules, tree-shaking, code splitting, HMR, TypeScript. Assetic does none of this.
  • You cannot tolerate a single-maintainer dependency in a production build path.
  • Compilation would run per-request. Runtime filtering couples latency to disk I/O and external binaries and degrades badly under concurrency.

How to Pitch It (Stakeholders)

For executives: This is not a strategic technology choice; at best it is a maintenance patch. sanpi/assetic is an unmaintained community fork of Assetic, a PHP asset-compilation library the broader PHP ecosystem has moved away from in favor of Vite and Webpack Encore. It has effectively no community — no stars, no dependent packages — which means no support contract, no security response, and a single point of failure over an already abandoned upstream. Recommendation: treat it as a time-boxed unblock for legacy systems only, with a named owner, a dated exit checkpoint, and a prohibition on use in any new product or module. It delivers no user-facing feature value; the decision it drives is purely sequencing and risk.

For engineering: Do not adopt this for a Laravel codebase unless an existing Assetic dependency forces it. If forced, contain it strictly to the build pipeline behind a manifest contract: run the dump step in CI (never at request time), emit content-hashed files into public/build/, and expose a small helper or Blade directive that maps logical asset names to hashed outputs — so no Assetic class is touched at request time. Pin the exact version, verify composer install against the target PHP/Laravel versions first, and confirm each filter binary survives your CI image. Do not extend it, do not write new filters against it, and do not let it leak into new bundles. In parallel, inventory every usage and fund migration to Vite as a defined project, not incidental cleanup — it touches templates, build pipelines, and cache-busting semantics at once.

For product: The practical risk is a build or deploy break on a dependency nobody maintains — most probably a Composer conflict on the next Laravel or PHP upgrade — plus a drag on future frontend work (no HMR, no code splitting, no TypeScript). There is no user-facing feature upside. The decision is when to fund the asset-pipeline migration relative to other roadmap items, and what our exposure is if we defer it by one or two quarters. For any greenfield initiative, skip the debate: standardize on Vite and decline Assetic outright.

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.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
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
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core