Weave Code
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

Filament Canary Laravel Package

baspa/filament-canary

View on GitHub
Deep Wiki
Context7
v1.2.0

Added โ€” safe to run against real databases

  • The sweep runs in a transaction and rolls it back, so the users/records it creates via factories are never persisted (default connection). Opt out with use_transaction => false.
  • It refuses to run in the production environment โ€” a rollback can't undo the other side effects of requesting every page as an admin (queued jobs, mail, audit logs, writes on secondary connections), so Canary won't run there.

Full changelog: https://github.com/Baspa/filament-canary/compare/v1.1.0...v1.2.0

v1.1.0

Added

  • Clearer failures โ€” when the acting user, a record, or a tenant can't be created, the real exception is now shown in the skip reason (e.g. could not create an authorized user for panel [admin]: Could not verify the hashed value's configuration.) instead of a generic "no authorized user" / "no factory" skip. (#4)

Changed (CI / security)

  • All workflow actions are pinned to full-length commit SHAs, workflows declare least-privilege permissions, and a SECURITY.md disclosure policy was added. (#5)

Docs

  • Why a runtime sweep beats AI-generated tests, and why it's not "AI vs. Canary".
  • How to support non-standard auth (custom API/session guards) by binding your own Requester. (#3)
  • Banner and a code-coverage badge.

Full changelog: https://github.com/Baspa/filament-canary/compare/v1.0.0...v1.1.0

v1.0.0

First release. ๐Ÿค

Filament Canary is a runtime smoke-sweep for your Filament panels. It introspects every panel, resource and page at runtime and asserts the one thing you almost never write tests for: every page mounts for an authorized user, and is denied to guests โ€” enforced in CI on every PR.

No generated test files, no drift: new resources are covered automatically.

What's in it

  • Runtime sweep over Filament::getPanels() โ†’ resources โ†’ pages, driven by the live route table.
  • canary:check command โ€” per-page report + non-zero exit for CI (with --strict).
  • InteractsWithCanary test helper โ€” one $this->canarySweep() assertion in your suite.
  • canary:install โ€” reads each panel's access gate (canAccessPanel, roles, email allowlists, tenancy) and proposes an acting_as config for you.
  • Honest results: โœ… passed ยท โŒ failed (5xx / authorization leak) ยท ๐Ÿ”’ needs-auth ยท โญ๏ธ skipped (with a reason). Nothing is silently left untested.

Requirements

  • PHP 8.2+
  • Filament v4 or v5

Scope (on purpose)

Mount + authorization only. No form submissions / CRUD assertions (that's the app-specific part to write by hand). Filament v3 is out of scope.

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.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle