sweetchuck/lint-report
Laravel package to generate lint reports from your PHP and frontend tooling, suitable for CI pipelines. Aggregates linter outputs into a consistent report format to help track issues across runs and surface results in build artifacts.
Artisan commands) or CI hooks (e.g., GitHub Actions). The package’s output (e.g., JSON, Markdown, or HTML) can feed into Laravel’s logging (Monolog) or notification systems (e.g., laravel-notification-channels).Console/Command for programmatic access. Example:
// app/Console/Commands/GenerateLintReport.php
public function handle() {
$output = Artisan::call('lint:report', [
'--format' => 'json',
'--output' => storage_path('app/lint-report.json'),
]);
// Process output (e.g., store in DB, trigger notifications)
}
Artisan execution)..github/workflows/lint.yml to generate reports on PRs:
- name: Generate Lint Report
run: vendor/bin/lint-report --format=json --output=lint-report.json
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: lint-report
path: lint-report.json
Artisan command to standardize report generation:
php artisan lint:report --format=json --store-in-db
LintReport) for historical analysis.composer.json constraints.--generate-report flag).parallel-lint or Laravel’s queue:work).LintReport model for fast queries.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Lint tool version mismatch | Reports fail to generate | Pin lint tool versions in composer.json |
| Package API breaks | Laravel wrapper fails | Fork and maintain locally |
| CI pipeline hangs | Slow feedback loop | Set timeouts, split linting into smaller jobs |
| Report format changes | Downstream systems break | Version reports (e.g., v1/lint-report.json) |
How can I help you explore Laravel packages today?