FilaCheck - Static Analysis for Filament Filament Examples
Extracto
Free & Open Source
Resumen
Resumen Principal
FilaCheck emerge como una herramienta de análisis estático fundamental para proyectos construidos con Filament v4/v5, posicionándose como un equivalente a Pint pero específicamente adaptado para este framework. Su objetivo principal es identificar y corregir automáticamente patrones de código problemáticos y deprecados, siendo especialmente útil para desarrolladores que trabajan con agentes de inteligencia artificial para generar código o para integrar en flujos de trabajo de Integración Continua (CI/CD). La herramienta detecta desde métodos en desuso como reactive() o form() en acciones, hasta namespaces incorrectos y configuraciones subóptimas. Con una clara distinción entre reglas gratuitas centradas en deprecaciones y un conjunto Pro de reglas adicionales que abordan optimización de rendimiento y mejores prácticas, FilaCheck busca elevar la calidad del código, reducir la deuda técnica y asegurar que los proyectos Filament se mantengan actualizados y eficientes. Su capacidad de auto-corrección y su preparación para CI/CD lo convierten en un activo valioso para mantener la consistencia y fiabilidad del código.
Elementos Clave
- Análisis Estático Específico para Filament: FilaCheck es una herramienta especializada en análisis estático diseñada exclusivamente para proyectos Filament v4/v5. Su funcionamiento es análogo a Pint para PHP en general, pero enfocado en las particularidades y estándares de Filament, lo que permite identificar problemas como el uso de
reactive()en lugar delive()oform()en lugar deschema()en Actions, tal como se ilustra en su salida de terminal. - Detección de Deprecaciones y Auto-corrección Integrada: La funcionalidad central de FilaCheck radica en su habilidad para detectar una amplia gama de patrones de código deprecados, como
deprecated-reactive,deprecated-action-form, entre otros. Además, incorpora un auto-fixer que permite corregir automáticamente muchos de estos problemas, ofreciendo incluso la opción de crear archivos de respaldo para mayor seguridad, lo que agiliza significativamente el proceso de refactorización y actualización. - Modelo Fremium con Reglas Pro de Valor Añadido: La herramienta ofrece un conjunto de 12 reglas gratuitas que se centran principalmente en la detección de deprecaciones. Complementariamente, existe la versión FilaCheck Pro, que por un precio de lanzamiento de $39 (pago único) añade 9 reglas adicionales. Estas reglas Pro se enfocan en la optimización del rendimiento (ej.,
too-many-columns,table-missing-eager-loading) y en mejores prácticas (ej.,string-icon-instead-of-enum,unnecessary-unique-ignore-record), incluyendo varias que son auto-corregibles. - Integración Continua (CI/CD) Lista para Usar: FilaCheck está diseñado para ser fácilmente integrable en flujos de trabajo de desarrollo modernos. Proporciona códigos de salida limpios que son esenciales para los sistemas de CI/CD y viene con un flujo de trabajo pre-configurado para GitHub Actions, lo que facilita su implementación para ejecutar análisis automáticamente después de cada
commitopull request, asegurando que el código cumpla con los estándares definidos antes de ser fusionado.
Análisis e Implicaciones
FilaCheck representa una solución robusta para mantener la salud y la modernidad de los proyectos Filament. Su capacidad para automatizar la detección y corrección de deprecaciones y malas prácticas reduce drásticamente el esfuerzo manual, mejorando la eficiencia del equipo de desarrollo y asegurando la longevidad del código base en un framework en constante evolución.
Contexto Adicional
La herramienta se instala fácilmente a través de Composer (composer require laraveldaily/filacheck --dev) y la versión Pro ofrece acceso de por vida a la versión adquirida con actualizaciones anuales opcionales, lo que subraya su propuesta de valor a largo plazo.
Contenido
Free & Open Source
Static analysis for Filament v4/v5 projects. Like Pint, but for Filament. Run it after AI agents generate code or during CI to catch common issues.
View on GitHub
composer require laraveldaily/filacheck --dev
Terminal output
$ vendor/bin/filacheck Scanning: app/Filament ..x..x........ deprecated-reactive (Deprecated Code) app/Filament/Resources/UserResource.php Line 45: The `reactive()` method is deprecated. → Use `live()` instead of `reactive()`. deprecated-action-form (Deprecated Code) app/Filament/Resources/PostResource.php Line 78: The `form()` method is deprecated on Actions. → Use `schema()` instead of `form()`. Rules: 10 passed, 2 failed Issues: 2 warning(s)
What FilaCheck Does
Detect Deprecations
Find deprecated patterns like ->reactive(), old form methods, and more.
Auto-Fix Issues
Built-in auto-fixer with optional backup file creation.
CI/CD Ready
Clean exit codes and pre-configured GitHub Actions workflow.
Detection Rules
deprecated-reactive
deprecated-action-form
deprecated-filter-form
deprecated-placeholder
deprecated-mutate-form-data-using
deprecated-empty-label
deprecated-forms-set
deprecated-image-column-size
deprecated-view-property
action-in-bulk-action-group
wrong-tab-namespace
deprecated-bulk-actions
Pro
9 additional rules for performance optimization and best practices — on top of the 12 free rules.
Performance Rules
too-many-columns
Warns when tables have more than 10 columns
table-defer-loading
Suggests adding ->deferLoading() to tables
table-missing-eager-loading
Suggests enabling Model::preventLazyLoading() to catch N+1 queries
large-option-list-searchable
Suggests ->searchable() for lists with 10+ options
Best Practices Rules
string-icon-instead-of-enum
Use Heroicon::Pencil enum instead of string icons (auto-fixable)
string-font-weight-instead-of-enum
Use FontWeight::Bold enum instead of strings (auto-fixable)
deprecated-notification-action-namespace
Detects old notification Action namespace (auto-fixable)
unnecessary-unique-ignore-record
Detects ->unique(ignoreRecord: true) — default in Filament v4 (auto-fixable)
custom-theme-needed
Detects Tailwind CSS usage in Blade without a custom theme configured
$49 $39
One-time payment · Launch price
All 9 Pro rules + 12 free rules included
Lifetime access to purchased version
Optional yearly upgrades
Secure checkout powered by Paddle