grafite/support
A utility support package for Laravel applications, offering reusable helpers, traits, and convenience functions that streamline common development tasks. It centralizes shared code so projects stay cleaner, more consistent, and easier to maintain across your codebase.
composer.lock (e.g., via a Grafite CMS dependency), the PM decision shifts from "should we adopt" to "can we tolerate it," which makes the license question a release blocker rather than a nice-to-have.Roadmap recommendation: do not commit this package to a roadmap line item. Treat it as a spike input only — spend a half-day reading its source to harvest patterns, then write your own ~200-line internal support package under your own license and test suite.
Adopt only if all of the following hold:
NOASSERTION license designation means the repository does not declare a recognized SPDX license, and that is a legal-review item, not a formality. Composer's license field returning NOASSERTION on a package you redistribute or ship to a client is a stop sign until resolved.Str:: wrapper), reimplementation is an afternoon.Look elsewhere — or build in-house — when:
Str, Arr, Number, Collection, and Blade components that have absorbed most of what historical helper packages provided. Check the framework first.spatie/laravel-support, spatie/laravel-helpers, or Laravel's own first-party packages carry real adoption, declared licenses, and version-support commitments. Those are the defensible "buy" options.Diligence checklist before any adoption: read the composer.json for require constraints and PHP/Laravel version pins; read the license file if one exists at all; check the last commit date and open-issue count; run the test suite locally against your Laravel version; and grep for global function definitions (a common source of collision bugs in "support" packages).
For executives — one line: This is a small, unmaintained Laravel utility package with no declared license and no user base; we are not adopting it, and the recommendation costs us roughly a day of engineering rather than an ongoing dependency.
For engineering — the framing: It is a pattern library, not a dependency. Read it, don't require it. The value we can extract is a shortlist of helper categories worth having in our own app/Support or a first-party internal Composer package — things like string/array accessors, Blade macros, and form-input builders. Anything we take, we rewrite, we license as MIT (matching the rest of our stack), and we cover with tests. That gives us the same ergonomics with version control, upgrade ownership, and no legal ambiguity.
The risk story, stated plainly: three independent signals — zero stars, zero dependents, and an unasserted license — each individually survivable, jointly decisive. The technical risk is low (small package, small blast radius, easy to excise). The organizational risk is the real one: a dependency nobody maintains becomes a surprise cost on the next Laravel major upgrade, and a package without a declared license becomes a blocker at exactly the wrong moment — a client security review or an acquisition diligence pass.
What I need from engineering, in priority order: (1) confirm whether this is already in any composer.lock transitively — if yes, escalate the license question immediately; (2) a one-day spike to extract reusable patterns; (3) a proposal for an internal support package with an owner and a test baseline. Decision requested: approve the spike and the build-our-own direction; decline adoption of the package as a direct dependency.
How can I help you explore Laravel packages today?