Absortio

Email → Summary → Bookmark → Email

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 de live() o form() en lugar de schema() 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 commit o pull 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.

GitHub View on GitHub composer require laraveldaily/filacheck --dev

FilaCheck Pro — Launch price $39

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