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

Phpspec Skip Example Extension Laravel Package

akeneo/phpspec-skip-example-extension

A phpspec extension from Akeneo that lets you skip selected examples in your specs, so you can temporarily disable tests without deleting or commenting them out. Handy for work-in-progress specs and known failures during refactoring.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: Unchanged. The package is a PhpSpec extension, not a Laravel package. It hooks into PhpSpec's extension/example-runner lifecycle to honor a @skip-style annotation. It has no service provider, facade, config publishing, or framework coupling. Fit remains conditional: it only makes sense where PhpSpec is already the spec runner. In a standard Laravel codebase using PHPUnit or Pest, there is no architectural seam for it.
  • Integration feasibility: Still low-effort where PhpSpec exists: add akeneo/phpspec-skip-example-extension to require-dev, register under extensions in phpspec.yml, annotate examples. Note the constraint is now a matched pair — v5.0.0 targets PhpSpec 6.0/7.0, so the extension's major version must be selected against the project's PhpSpec major, not just against PHP. Still no runtime dependencies, database, queue, or HTTP surface.
  • Technical risk: Improved from moderate-to-high to moderate. The prior assessment's central risk was dormancy — a 2021 last release against a still-moving upstream. v5.0.0 directly addresses that by tracking PhpSpec 6.0 and 7.0, which is the exact upgrade scenario previously flagged as the most likely need for an internal patch. Residual risk: the 2021→present gap suggests maintenance is intermittent rather than continuous, the release is still single-vendor (Akeneo), and a major-version bump implies a compatibility break for anyone on PhpSpec 5 or earlier. Risk has shifted from "abandoned dependency" to "version-floor and version-skew management." Dev-only scope keeps security exposure minimal.
  • Key questions:
    • Does v5.0.0 drop PhpSpec 5.x support entirely, or is it additive? Which projects would be stranded on v4.x?
    • What is the PHP floor for v5.0.0, and does it clear our 8.2/8.3 targets?
    • Are there behavior changes beyond the headline — annotation syntax, parsing, or extension registration — that constitute an actual BC break?
    • Is the PhpSpec 6.0/7.0 support validated in CI upstream, or asserted in release notes only (dependents are still near-zero, so we are an early adopter)?
    • Is PhpSpec actively used in any current or planned Laravel service, or is this legacy only?
    • Do native skip mechanisms (pending-exception patterns, spec-level CI exclusion) cover the need without the dependency?
    • Who owns a fork or patch if the next PhpSpec major arrives and this goes dormant again?

Integration Approach

  • Stack fit: Unchanged — poor for greenfield Laravel, acceptable only for legacy or Akeneo-derived code already standardized on PhpSpec. Do not introduce PhpSpec solely to use this extension.
  • Migration path: Still tactical, not strategic, but the exit-path pressure has eased: the package has demonstrated it can track an upstream major. Isolate to require-dev, one CI job, and a bounded set of specs. Keep the documented fallback to PHPUnit/Pest or an in-repo PhpSpec extension; the 2021–present gap is the justification for keeping that fallback documented even though the immediate trigger has now fired favorably.
  • Compatibility: Revised. Pin the exact version and select the extension major deliberately against the PhpSpec major: v5.0.0 for PhpSpec 6/7, prior line for PhpSpec 5 and below. Re-verify Composer constraints against project PHP and phpspec/phpspec after the bump — a major version on the extension frequently coincides with a raised PHP floor. Test on the lowest and highest supported PHP runtimes, and explicitly validate annotation parsing and extension registration post-upgrade rather than assuming the release notes cover it.
  • Sequencing:
    1. Inventory PhpSpec usage and the PhpSpec major per repository; map which repos can move to v5.0.0 and which are pinned to PhpSpec 5.
    2. Confirm the PHP floor of v5.0.0 against each target repo's runtime before scheduling the upgrade.
    3. Pilot the v5.0.0 upgrade in one non-critical package with a single CI job; treat as a real upgrade (run full spec suite) rather than a patch bump.
    4. Add CI reporting for skipped-spec counts so skips stay visible through the change.
    5. Reassess after one quarter: confirm the PhpSpec 6/7 pairing held in practice, then decide keep, fork, or replace.
    6. Block adoption in new Laravel projects by default.

Operational Impact

  • Maintenance: Materially better than the prior assessment, but not resolved. The package now tracks current PhpSpec majors, which removes the most probable near-term patch burden. However, a multi-year gap between releases means we should still expect bursty maintenance and budget for compatibility patches or a vendored fork at the next upstream major — this release is evidence the model works, not proof of cadence.
  • Support: Unchanged in substance: no vendor SLA, minimal community, single-vendor ownership. Internal owner and documented annotation contract remain required. Support burden stays low until the next PHP or PhpSpec upgrade, and that burden is now demonstrably deferrable rather than permanent.
  • Scaling: Runtime overhead negligible. Organizational risk unchanged: skipped examples accumulate silently across teams and erode trust in the spec suite. Enforce skip-count budgets or review thresholds in CI, and use the v5.0.0 upgrade as a natural moment to audit and clear existing skips so a version migration doesn't carry stale skips forward unexamined.
  • Failure modes:
    • Version skew (new, primary): extension major and PhpSpec major mismatched after a partial upgrade, causing extension registration to fail the whole run or silently not register.
    • Version floor (new): v5.0.0 raising the PHP or PhpSpec floor and blocking a repo that cannot move yet — requires maintaining a split across v4.x and v5.x.
    • Silent skips masking regressions, especially after refactors.
    • Annotation typos or unsupported syntax silently not skipping, or skipping more than intended.
    • Extension registration breaking the entire PhpSpec run after a future PhpSpec upgrade — lower likelihood now, still the dominant tail risk.
    • Divergence from Laravel-standard tooling, increasing onboarding friction.
  • Ramp-up: Low for engineers already fluent in PhpSpec (hours), plus a small increment for the v5.0.0 upgrade itself (constraint change, registration re-verification, skip audit). Near-zero transferability to PHPUnit/Pest teams, so the knowledge investment is stranded if the organization consolidates test runners.
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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
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
adachsoft/api-version-bundle
cgv/localized-resource