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

Testing Laravel Package

indexnowkit/testing

Testing helpers for IndexNowKit: fake IndexNow submissions, assert which URLs were sent, and inspect requests without hitting live search engine endpoints, so your test suite stays fast, deterministic, and offline.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for search-indexing plumbing. IndexNow submission (URL push to Bing/Yandex/Seznam/Naver and others) is undifferentiated infrastructure. This package plus its framework adapters lets you buy that layer and keep engineering focused on catalog/content work.
  • Roadmap: time-to-index as a product metric. If content freshness or price/stock changes materially affect organic traffic, IndexNow is a lever worth instrumenting. The adapter gives you a submission path you can wire to model events (publish, update, retire) instead of a batch cron.
  • Framework standardization across a polyglot estate. The 0.3.2 release makes the adapter set self-reinforcing: conformance tests are now discovered from the filesystem rather than a hard-coded list of four names, and a new adapter (Bitrix) must ship the H01–H06 conformance suite the day it lands. That is a governance decision — one protocol contract, many frameworks — and it de-risks multi-platform shops (e.g. Laravel storefront + legacy Yii2 admin + Bitrix CMS) using a single submission ruleset.
  • Release-gating and QA policy. Conformance\OptionalPackageAssertions::assertDetected() lets CI assert that physically absent optional packages (sitemap, verify, history) are correctly reported as "not installed," via a dedicated optional-packages-absent job that composer removes them before detection runs. That's a real product concern: your "is this feature on?" diagnostics must not lie when a dependency is missing.
  • Dependency/upgrade posture. This release pins indexnowkit/core ^0.13. Adopters should treat core as a coupled version stream and plan upgrades adapter-and-core together.
  • Ecosystem expansion signal for buy-vs-wrap. Active multi-framework maintenance (Bitrix next) is evidence the abstraction is being held stable by tests, not by documentation — a genuine reason to prefer adoption over a homegrown curl wrapper.

When to Consider This Package

Good fit when:

  • You run Laravel (or another supported adapter: Yii2, Yii3, Bitrix) and want URL submission wired to application events rather than a bespoke script.
  • You want submission behavior specified and tested across frameworks — the conformance suite (H01–H06) is the differentiator; it means an adapter either meets the protocol contract or fails CI.
  • You need confidence in feature-detection messages ("not installed") in mixed CI/production dependency states — the new assertDetected() and INDEXNOWKIT_OPTIONAL_PACKAGES=absent job cover exactly that class of bug.
  • Your team values test-option ergonomics: Conformance\Arrays::merge($base, $overrides) (nested associative blocks merge key-by-key; lists, empty arrays, scalars replace) is now the single implementation behind the Laravel, Yii2 and Yii3 test fixtures — useful if you write adapter-level tests or extend fixtures.

Look elsewhere or wait when:

  • You are not on a supported framework and have no appetite to write an adapter against the conformance suite. A 30-line HTTP client may genuinely suffice.
  • You need a hosted, managed submission service with dashboards, retry backoff, and per-URL reporting — this is a library, not a service.
  • You are single-framework Laravel with no multi-platform ambitions and no CI feature-matrix requirements; a good chunk of this release (polyglot conformance, absent-package CI job, filesystem adapter discovery) is value you will not consume.
  • You cannot absorb a coupled core/adapter upgrade cadence — the ^0.13 core requirement means adapters are not independently versioned in practice.

How to Pitch It (Stakeholders)

To executives (one paragraph). This is a small, low-cost infrastructure dependency that automates telling search engines when our pages change — shortening the gap between publishing and being indexed, without a paid vendor. The new release doesn't add customer-facing features; it hardens the quality gate: the project's test suite now automatically enforces the same protocol contract across every framework it supports, and expands to a new platform (Bitrix) next. Translation for the business: if we adopt across more than one platform, they stay behaviorally consistent, and each new adapter must pass compliance tests on day one rather than after a bug report.

To engineering. Upgrade is low-risk and mostly test-surface: no breaking API changes described, one version constraint (indexnowkit/core ^0.13). Three things worth knowing — (1) ConformanceIdsTest no longer hard-codes the four known adapters; it derives the list from packages/* requiring indexnowkit/core with a tests/ directory and asserts at least four are found, so a newly added adapter is automatically required to supply H01–H06. (2) OptionalPackageAssertions::assertDetected() closes a real gap: previously the "not installed" tests passed false with packages still installed, which verified the message text but not the actual boot path. Adopt the optional-packages-absent CI job pattern (composer remove sitemap/verify/history, then run detection) if you have feature-detection code of your own. (3) Conformance\Arrays::merge() is now the single merge implementation — nested associative merges key-by-key, everything else replaces. If your fixtures carry a local copy, delete it and delegate.

Ask: approve the core+adapter upgrade in the next maintenance window and adopt the absent-package CI job; no product roadmap change required.

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.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource