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

Extraextra Laravel Package

sortarad/extraextra

ExtraExtra is a Laravel/PHP package from sortarad that bundles handy extra helpers and utilities for everyday development, helping reduce boilerplate and keep application code clean. Install it via Composer and start using it in your projects in minutes.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • Unresolved identity conflict — blocking. The repository description says "The hottest news right in your Statamic dashboard," which describes a Statamic CP dashboard widget that renders an external news feed. The supplied description.md describes a general-purpose Laravel utility package (Eloquent helpers, global helpers, publishable config, auto-discovery). These cannot both be true of the same codebase: a Statamic widget registers a nav/dashboard view and depends on statamic/cms; a helpers package does not. Until the source tree is read, we do not know what we would be installing.
  • If it is the Statamic widget, it is presentation-layer only, with no domain, auth, payment, or PII surface — structurally low blast radius. But a widget that fetches remote content adds an outbound HTTP call into the control panel render path, which is an availability and third-party-data-exposure consideration, not a pure UI one.
  • If it is the helpers package, it is a commodity utility dependency. The correct architecture response is a thin internal adapter or, more likely, reimplementation, because a global-helper package leaks into every call site and is expensive to remove later.
  • Either way it is a leaf dependency, not something our architecture should be designed around.

Integration feasibility

  • Technically trivial: composer require sortarad/extraextra, auto-discovery or php please install for the Statamic case. Setup effort is near zero; the cost is entirely in review and lifecycle.
  • Composer is the gate. A 2020-12 release will carry illuminate/* and (if Statamic) statamic/cms constraints from the Laravel 8 / Statamic 3 era. On Laravel 10–12 or Statamic 4–5 this will almost certainly fail resolution, and forcing it with --ignore-platform-reqs is not an acceptable answer for a package that auto-registers a provider.
  • Feasibility therefore collapses to a single question: does our stack fall inside its original compatibility window? If not, integration is a fork-and-port, which is a different project with a different cost.

Technical risk

  • Abandonment. Last release 2020-12-01; roughly five years of no maintenance. Zero stars and a 0.3 composite score indicate no community scrutiny, which means no incidental bug-finding and no downstream patches to borrow.
  • Supply chain. Auto-discovery plus unconditional outbound HTTP is the combination worth reviewing: a service provider that runs on every boot and a widget that calls an external endpoint we did not choose. This needs a source read, not a README read.
  • Upstream decay. A 2020 news feed endpoint may no longer exist. The likely steady-state behaviour is an empty or erroring dashboard panel that we own and cannot get fixed upstream.
  • Evidence quality. The supplied assessment-pm.md reads as a generic Laravel-package template rather than an assessment of this repository — it asserts Eloquent helpers and helper functions that the repo description contradicts, and it explicitly concedes there is no functional changelog. It should not be used as decision input. It does contain one reusable idea (pin the version, wrap behind a seam, cap exit cost), but its "adopt with version pinning" recommendation is unsupported by anything specific to this package.

Key questions

  1. What does the package actually contain — a Statamic widget, a helpers library, or both?
  2. Which statamic/cms, laravel/framework, and PHP versions are permitted by composer.json, and does our stack satisfy them?
  3. Does it make outbound network calls? To which host, on what trigger, with what timeout and caching, and is anything transmitted?
  4. What is the license, and is there any security policy or issue history?
  5. Is the rendered content something we would put in front of editors at all, or is it promotional?

Integration Approach

Stack fit

  • Only a candidate if we are on Statamic 3 / Laravel 8–9 with a matching PHP version. If we are on Statamic 4/5, the fit is negative and the conversation moves to reimplementation.
  • Treat the two candidate identities separately: the widget is a UI convenience we could rebuild in an afternoon; the helpers package is a cross-cutting dependency we should almost certainly not take.

Migration path

  • Preferred path: do not adopt as a dependency. Read the source, and if the widget behaviour is wanted, reimplement it as a first-party widget inside our own addon (likely well under a day) — no third-party provider on boot, no external endpoint we don't control, no orphaned dependency at the next major upgrade.
  • If adopted anyway: pin an exact version (not a caret range), install to a branch, and wrap the surface behind an internal interface or a single named view so removal is a one-file change.
  • Vendoring or forking is the fallback if the package is genuinely wanted and incompatible — but at that point we own it, so the build-vs-buy calculus inverts.

Compatibility

  • Confirm composer.json constraints against our locked Laravel/Statamic/PHP versions before anything else. Run composer require --dry-run on a scratch branch.
  • Check whether the auto-discovered provider registers unconditionally in console context (it should not) and whether the widget's data source still responds.
  • Verify it does not collide with existing dashboard widgets or republish config we already own.

Sequencing

  1. Resolve the identity conflict by reading the repository source and composer.json (half a day, timeboxed).
  2. If incompatible, close the evaluation and route to reimplementation; do not spend further cycles.
  3. If compatible and wanted, install on a branch, exercise the dashboard render, and inspect network behaviour.
  4. Decide: reimplement (default) vs. adopt pinned behind a seam.
  5. Document the exit path before merge, not after.

Operational Impact

Maintenance

  • Effectively unmaintained. Assume zero upstream fixes, zero Laravel/Statamic version bumps, and no response to issues. Every future framework upgrade is a potential blocker we must resolve ourselves.
  • A global-helper package additionally accrues maintenance cost at every call site; that is the expensive shape of dependency and argues strongly for not taking this one.

Support

  • No SLA, no vendor, no security contact, no issue responsiveness to point at. It cannot pass a security review that requires artefacts. For a dashboard widget this may be tolerable; for anything on a critical path it is disqualifying.
  • Onboarding is genuinely easy (single composer require, docs split out in 1.0.1), but self-service install of an unvetted, auto-discovered provider is exactly the case where ease of onboarding is a risk rather than a benefit.

Scaling

  • User-facing scale impact is limited to control-panel page loads for editors, which is a small, bounded population.
  • The real scaling concern is latency coupling: a synchronous remote fetch on dashboard render ties editor experience to a third party's uptime. If adopted, cache aggressively and set a hard timeout, or fetch out of band.
  • No data-volume or concurrency concerns; nothing here touches request-serving hot paths.

Failure modes

  • Upstream feed dead or slow → blank panel or a stalled dashboard load.
  • Composer constraint conflict at the next Laravel/Statamic major → an abandoned dependency blocking a platform upgrade.
  • Auto-discovery + outbound calls discovered late in review → rework or incident.
  • Maintainer disappearance is not a future risk; it is the current state.
  • Silent behaviour change from an unpinned patch release — mitigated only by exact pinning.

Ramp-up

  • Engineering ramp-up is negligible; review ramp-up is the actual cost. Budget the timeboxed half-day to read the source and settle the identity question, and make that the whole investment. If the outcome is "reimplement the widget," the total cost is still under a week and we own something we can maintain.
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.
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle