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

Blade Lucide Icons Laravel Package

inlst/blade-lucide-icons

A Laravel package for rendering Lucide icons in Blade templates. It provides Blade components and directives for the full Lucide icon set, with options for size, color, stroke width, and CSS classes, making icons easy to use consistently across your views.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Revision note (v1.40.0). This release materially changes three things in the prior assessment: the publisher identity, the maintenance-cadence evidence, and the icon-map staleness risk. It changes nothing about the architecture, and it does not answer the Filament-compatibility or support questions. Details below are folded into the affected sections.

Architecture fit Unchanged. Still a thin presentation-layer shim: PHP-side icon map (Lucide SVG path data), a Blade component, and a Filament icon registration hook. No runtime services, no database surface, no queue or middleware footprint. It remains a leaf dependency of the view layer — the lowest-blast-radius package category — and adopting or dropping it is a view-refactor, not a re-platforming.

Fit remains conditional on the UI stack being Filament-centric. In a Blade/TALL app the value is marginal; in a Filament panel where consistent iconography across resources, navigation, and actions is a design requirement, the Filament alias registration is the only non-commodity piece. Nothing in v1.40.0 adds surface area here — the release is icon-data only.

Integration feasibility Unchanged mechanically: composer require, optional config publish, inline <x-lucide-* /> usage and/or FilamentIcon::register([...]) in a service provider. No migrations, env vars, or published assets beyond the icon set. Evaluation remains under a day.

One addition: because v1.40.0 lands a ~20-version upstream delta at once, an upgrade from an earlier pin is no longer a no-op. Treat the first install and any later version bump as separate exercises with different risk profiles (see Compatibility).

Technical risk The supply-chain picture improved and the staleness picture worsened; net risk is roughly flat but differently distributed.

Risk Severity Notes
Namespace collision with mallardduck/blade-lucide-icons High (raised) The publisher is inlinestudio and the package name is literally blade-lucide-icons — this is almost certainly a fork or re-publication of the mallardduck package. Co-installation is not merely likely to conflict; the two are near-certainly the same component prefix by descent. Pick one.
Release provenance / typosquat Low–Medium (downgraded) The vendor resolves to Inline Studio, a plausible legitimate publisher — the prior "inlst" concern was a misreading of the vendor string and should be retired. Two residuals: the 2026-09-30 timestamp is still anomalous, and the referenced Lucide tags (1.29.0–1.49.0) do not match Lucide's actual public version numbering. Verify against Packagist and upstream before install, but treat this as due diligence, not a blocker.
Icon-map staleness vs. upstream Lucide Medium–High (raised) Now empirically confirmed as a batch-catch-up pattern: one release absorbs Lucide 1.29.0 → 1.49.0. That implies long gaps between syncs, followed by large deltas. Renames and retired aliases map to blank renders, not errors, so the blast radius of a single catch-up release is much larger than a continuous-tracking package.
Alias churn on upgrade Medium (new) Twenty-one upstream minor versions of renames land simultaneously. Any icon name you hardcoded against an older pin may silently vanish. This is the concrete cost of the batch model and the strongest argument for the internal wrapper.
Bus factor / abandonment Medium (downgraded from High) Active release activity with conventional commits, compare links, and short SHAs indicates automated release tooling and a functioning repo — not a drive-by publish. Still a small, low-visibility project; assume you own the icon map.
Filament v4 registration API drift Medium (unchanged) Not addressed by this release. No declared compatibility statement, no visible CI matrix against Filament majors.
Memory: full icon map autoloaded per request Low (unchanged) ~1.5k icons of path data; material only if eagerly loaded. Not addressed by the release notes.

Key questions

  1. (Sharpened) Given that this appears to be a fork of mallardduck/blade-lucide-icons, what is the divergence policy — is this a superset, a snapshot, or an independent reimplementation? Which should we standardize on, and is the fork intended to track or replace upstream?
  2. What did v1.39.0 contain, and why does a single minor release absorb twenty-one upstream Lucide syncs? Is the package version decoupled from the Lucide version, and if so what does a package version bump guarantee?
  3. Is the icon map lazy-loaded, or does every request pay for the full set?
  4. Which Filament and Laravel majors are declared in composer.json, and is there a CI matrix proving it? (Release automation is evident; test coverage is not.)
  5. Are upstream icon renames and deprecations carried as aliases, or dropped? Is there a documented alias-retention window?
  6. What is the license, and is Lucide attribution retained as required — particularly relevant if this is a fork of a fork?

Integration Approach

Stack fit Laravel 10/11/12 + Filament v3/v4 remains the assumed target; confirm the constraint block before committing. For non-Filament Blade apps, this is interchangeable with any Blade-Icons-based Lucide provider and the differentiator disappears — which, given the fork relationship, means the choice is really "this vendor's fork" vs. "the original," not "this package" vs. "nothing."

Migration path Unchanged and now more important: adopt behind a thin internal facade (a single resources/views/components/icon.blade.php wrapper or an App\Support\Icons helper) that delegates to whichever provider is installed. The wrapper is the decision point and it is what makes the fork question a one-hour swap rather than a refactor. Given the near-certainty that inlinestudio and mallardduck share a component prefix, the wrapper is also the only clean way to evaluate both without uninstalling one.

Migrating away from Filament's default Heroicons remains editorial rather than technical work. Build the explicit alias map for icons Filament core references, and budget design review time.

Compatibility Pin an exact version — the batch-sync model makes caret ranges more dangerous than usual, since a minor bump can carry twenty upstream releases of renames. Verify PHP floor, illuminate/support constraint, Filament constraint, and whether the Blade component prefix is configurable (still close to disqualifying in a multi-package app if hardcoded).

New for this release: before upgrading an existing pin, diff the icon map between versions and grep call sites for any icon whose name changed or disappeared. This is a mechanical check and should be a standing step, not a one-off.

Sequencing

  1. Spike (0.5 day): install in a scratch Filament panel, render 20 icons, confirm registration, measure view-render overhead. Include at least one icon renamed upstream in the 1.29–1.49 window to observe the failure mode directly.
  2. Fork check (0.5 day): diff against mallardduck/blade-lucide-icons; establish which is upstream and which is derivative.
  3. Supply-chain check (0.5 day): Packagist provenance, tag signing, license file, repo history depth. Lighter than before, but not skipped.
  4. Wrapper + alias map (1 day): internal icon facade plus Filament alias mapping.
  5. Pilot (1 sprint): one non-critical panel or internal tool.
  6. Decide: promote, or swap the wrapper's backing implementation. Do not standardize before step 6.

Operational Impact

Maintenance Effectively self-maintained, and v1.40.0 makes the shape of that obligation concrete: assume periodic large catch-up syncs rather than continuous tracking. When you upgrade, you inherit a batch of upstream renames and pay for them in QA, not engineering. Pinning and staying put is viable for long stretches — static assets do not rot on their own — but the cost is deferred and lumpy rather than smooth. Still no transitive dependency tree, so no Dependabot churn; that remains a genuine plus.

Support Community-only, small repo. Release automation demonstrates process discipline; it does not demonstrate an SLA, a security disclosure process, or a CVE history. The vendor-identity concern is largely resolved, which removes the "unactionable security report" worry that dominated the prior assessment. For an internal admin panel this is acceptable; for anything customer-facing or audited, it still fails most vendor-risk checklists — though now for ordinary small-project reasons rather than provenance reasons.

Scaling Unchanged and negligible. Static server-rendered SVGs, no per-request I/O, no cache layer, no horizontal-scaling concern. The only scaling-adjacent issue remains HTML payload growth from heavy icon use in long lists, mitigable with component caching or precompiled inline SVG.

Failure modes

  • Silent blank render — unchanged mechanism, materially higher likelihood on version bumps given the batch-sync model. Add a dev-mode assertion or data-icon attribute so missing icons surface in QA rather than in production screenshots. This is now the single most probable failure you will actually hit.
  • Component shadowing — two Lucide providers registered; last-one-wins. Given the probable fork lineage, treat co-installation as unsupported rather than merely risky.
  • Upgrade breakage (Filament major) — fails at panel boot, loud and immediate; acceptable.
  • Upgrade breakage (icon rename) — silent; this is the one to instrument.
  • Abandonment — pinned version continues to work indefinitely for a static asset; failure is deferred, not acute. Lower likelihood than previously assessed given observed release activity.
  • Typosquat/dependency confusion — largely retired as a concern; the vendor is identifiable and the package name matches a known upstream project.

Ramp-up Under two hours for a Laravel developer familiar with Blade components; the API surface is a component tag and an array registration call. No new mental model, no new tooling, no onboarding documentation beyond the internal wrapper. The real ramp-up cost remains with designers remapping the Heroicons vocabulary to Lucide.

Recommendation: Revised from "do not standardize" to "conditionally viable, behind the wrapper, pending the fork check." The v1.40.0 release resolves the provenance question (the vendor is Inline Studio, not an inlst typosquat) and demonstrates active, tooled maintenance, which clears the two objections that previously blocked standardization. It simultaneously confirms the batch-sync staleness pattern, which raises the practical cost of upgrading and makes the internal wrapper and a rename-diff step mandatory rather than advisory. Net position: run the spike, resolve whether this is a derivative of mallardduck/blade-lucide-icons before choosing between them, and standardize on whichever has the clearer upstream relationship — with a pinned exact version, a configurable component prefix, and a wrapper that makes the choice reversible.

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums