escapework/laravel-steroids
EscapeWork Laravel Steroids is a small utility package that adds handy extras to Laravel, offering convenience helpers and tools for everyday development. It aims to reduce boilerplate and speed up common tasks without heavy dependencies. Useful for Laravel developers wanting a lightweight boost.
What this package is (inferred): escapework/laravel-steroids is a Laravel 5-era convenience/helper package — the "steroids" naming convention in the Brazilian Laravel community of that period typically denotes base abstractions (base repository/controller classes, model helpers, validation/form-request sugar, presenter or service-layer scaffolding). Treat it as opinionated application scaffolding, not infrastructure.
Architecture fit: Low. It targets Laravel 5.0–5.4 idioms (service providers + facades, config/app.php manual registration, pre-Illuminate\Support\Str facade helpers). Our target estate is Laravel 10/11 on PHP 8.2+. There is no architectural seam where a Laravel 5 helper layer plugs into a modern application without a rewrite. Value, if any, is conceptual: a repository/service pattern reference we could reimplement natively.
Integration feasibility: Poor as a dependency. Zero dependents and 5 stars indicate no production validation anywhere on Packagist. It is almost certainly not on a modern support matrix, has no CI signal we can inspect, and predates Laravel's package auto-discovery, so even a fresh install requires manual provider registration. A composer require is technically possible; a green build is not a realistic outcome.
Technical risk: High across the board.
array_*/str_* global helpers, contract signature changes (Repository, Validation, Kernel), Illuminate\Contracts drift.Key questions for the requester:
TPM recommendation: Do not adopt as a runtime dependency. Approve a time-boxed (≤2 days) spike to mine it for patterns only, and record it in the ADR log as "reference implementation, not a dependency."
Stack fit: Mismatch. The package assumes Laravel ≤5.4 semantics and PHP ≤7.1. Our baseline is Laravel 10/11, PHP 8.2+, Composer 2 with strict platform checks, and PSR-4 autoloading under a namespaced app/ structure. Even where individual helpers are behaviorally correct, the package's composer.json platform constraints will block installation without --ignore-platform-reqs, which is an unacceptable practice for us.
Migration path (if we choose to extract value):
App\Support\…), using native Laravel contracts and PHP 8.2 typing. No third-party inheritance.acme/laravel-steroids package, pin the fork, add a README marking it "internal fork, do not upstream," and set a review date.Compatibility work required (if forked): replace removed global helpers with Str::/Arr:: facades; add composer.json platform constraints and Laravel ^10|^11/illuminate/* constraints; add extra.laravel.providers for auto-discovery or register explicitly; convert facade accessors to string-typed getFacadeAccessor(): string; eliminate dynamic properties (PHP 8.2 deprecation); verify against the current validation and container contracts; add CI (GitHub Actions matrix) before any merge.
Sequencing: Spike → capability inventory → extraction/reimplementation → test coverage → internal adoption. Do not sequence as "install → fix forward"; there is no upstream to fix forward to, so every defect becomes ours permanently.
Compatibility verdict: Native Laravel 10/11 — no. Laravel 9 — no. Laravel 8 — unlikely without patching. Laravel 5.x — plausible, which is precisely the scenario where we should be freezing and isolating rather than integrating.
Maintenance: Fully transferred to us the moment we install it. With zero dependents and a dormant single maintainer, there is no shared burden and no community patch path. Estimate ongoing cost as a permanent internal package: ~2–4 hours/quarter for dependency hygiene, plus unbounded cost at every Laravel major upgrade. That number never reaches zero.
Support: None available. No maintainer SLA, no issue-triage history to reference, no security advisory feed. Our support tier for this dependency must be documented as "internal best-effort, no upstream." Incident responders should not expect a fix from the vendor chain.
Scaling: The package does not sit on the request hot path in any meaningful way — it is scaffolding, so horizontal scaling is unaffected. The real scaling constraint is organizational: every engineer who touches it must learn a bespoke, undocumented helper API with no searchable corpus (5 stars, 0 dependents ⇒ effectively no Stack Overflow surface). Knowledge concentrates in whoever performed the spike. That is a bus-factor-1 risk on shared abstractions, which is worse than a bus-factor-1 risk on a leaf feature.
Failure modes to monitor:
array_*/str_* behavior that changed subtly between PHP 7 and 8 — produces wrong output rather than exceptions. Highest-severity, hardest to detect.Target class does not exist. Loud but only surfaces post-deploy — mitigate with a smoke test in staging.Ramp-up: Cheap to learn (small surface, simple patterns) but the learning doesn't transfer anywhere and decays quickly. Budget half a day per engineer for the fork's conventions if adopted. The larger ramp-up cost is onboarding onto an unreviewed abstraction layer that no new hire will have encountered before — a training tax we pay indefinitely for marginal convenience.
Overall operational verdict: The package buys us a small amount of initial scaffolding convenience in exchange for a permanent, unhedged maintenance liability on code we did not write and cannot escalate. Combined with 0 dependents, 5 stars, and a 0.085 score, the expected operational cost exceeds the benefit. Recommend rejecting as a dependency, capturing the useful patterns as first-party code, and closing the initiative.
How can I help you explore Laravel packages today?