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

Bladestan Laravel Package

tomasvotruba/bladestan

Bladestan adds static analysis for Laravel Blade templates to PHPStan, catching errors like undefined methods in your views. Includes a custom error formatter with clickable links to the exact template line.

View on GitHub
Deep Wiki
Context7
0.11.7

Fixed

  • Ignore [@bladestan-signature](https://github.com/bladestan-signature) docblocks instead of failing on them, so a template can be annotated ahead of the template-centric 0.12 release while still analysing cleanly on 0.11.
0.11.6

The final 0.11.x release before the template-centric rewrite, focused on keeping projects that are not ready to upgrade stable.

Added

  • Laravel 13 support

Fixed

  • Compile templates to the same PHP regardless of the installed Livewire version, so analysis is consistent across Livewire 3 and 4
0.11.5

Fixed

  • Ensure PHPStan's result cache is invalidated when any Blade template changes (#174, @AJenbo)
  • Fix broken use keyword in import bubble-up (#176, @rikvdh)
0.11.4

Added

  • Support Livewire 3.3.x and Symfony 8 (#169, @AJenbo)
  • Support Livewire 4.0 (#172, @AJenbo)
0.11.3

Changed

  • Use the error identifier to match ignored errors (#160, @AJenbo)
  • Respect configured rules (#161, @AJenbo)
0.11.2

Fixed

  • Add a workaround for a bug in Laravel Telescope
  • Fix parsing of [@include](https://github.com/include) where arrays or values from arrays are used (#158, @calebdw)
0.11.1

Added

  • Laravel 12 support
0.11.0

Added

  • Support for data provided via ->with*() on all view methods
  • Support for non-HTML mail templates
  • Analyse Facades\Response::view()
  • Read template paths in full from the application
  • Read the Livewire component namespace from the application config
  • Read shared and event data from the application
  • Support PHP 8 syntax in templates
0.10.0

Added

  • Recognise that public properties are passed to views (@spawnia, @AJenbo)
  • Improved Livewire support
  • Use the application's BladeCompiler (@aoi, @AJenbo)

Fixed

  • Fix reading data from variables
  • Fix ->with*() affecting more than the view instance it was called on
  • Fix PHP 8.1 support
  • Fix typos (@szepeviktor)
0.9.0

Added

  • Support for $errors, [@once](https://github.com/once), [@each](https://github.com/each), [@includeWhen](https://github.com/includeWhen), and [@includeUnless](https://github.com/includeUnless)
  • Support for analysing Laravel packages
  • Support for renderEach() and first() on View\Factory
  • Analyse more of Blade's internal scope

Changed

  • More robust parsing
0.8.0

Added

  • Support for non-terminated expressions
  • Support for use statements in partials
  • Support for dynamic method calls
  • Support for dynamic components
  • Analyse anonymous components
  • Analyse use of components
  • Analyse use of Livewire
  • Analyse [@extends](https://github.com/extends) and other indirect statements
  • Analyse all statements on a line
  • Report missing templates
  • Report template syntax errors

Fixed

  • Correct the reported template line
  • Correct some typos (#121, @szepeviktor)
  • Update formatter output to align with the latest PHPStan
0.7.0

Changed

  • Migrate to PHPStan 2.0 (#119, @AJenbo)

Fixed

  • Correct cases that were not being analysed (#120, @ondrejmirtes)
0.6.0

Added

  • Display an error tip (#95, @ngmy)
  • Basic support for components and Livewire attribute validation (#98, @robchett)
  • Parse view data when it is a variable (#108, @mrhn)
  • Support \Illuminate\Support\Facades\View::make (#115, @williamdes)
  • Support Mailable content() (#114, @williamdes)
  • Support Arrayable::toArray() as data (#116, @AJenbo)

Fixed

  • Fix the $this type (#90, #99, @robchett)
  • Remove unnecessary ignores in ErrorFilter.php (#105, @AJenbo)
0.5.0

Added

  • Support for MailMessage::view() (#78, @AJenbo)
  • Recognise calling view() with a single argument (#80, @spawnia)

Changed

Fixed

  • Fix a false positive when echoing Htmlable objects (#91, @AJenbo)
0.4.1

Fixed

  • Resolve a Larastan conflict in BladeToPHPCompiler (#76, @AJenbo)
0.4.0

Added

  • Support for Mailable::view() (#62, @AJenbo)
  • Basic support for components (#61, @AJenbo)

Changed

  • More flexibility in template spacing (#72)
0.3.1

Fixed

  • Recursively fetch and compile includes (#52, @AJenbo)
0.3.0

Added

  • Import mapped variables into scope (#48, @AJenbo)
  • Support passing variables via compact() (#47, @AJenbo)

Fixed

  • Fix $loop in nested [@foreach](https://github.com/foreach) (#53, @AJenbo)
  • Create a new $loop rather than replacing it with a docblock (#50, @AJenbo)
  • Fix warnings about empty lines in generated PHP (#49, @AJenbo)
  • Fix processing [@include](https://github.com/include) with data given in a variable (#46, @AJenbo)
0.2.1

Changed

  • Simpler Blade error formatter
0.2.0

Fixed

  • Fix the regex handling e() output (#16)
  • Various false-positive suppressions and parsing robustness
0.1.0

Initial release. Bladestan compiles each Blade template to PHP, runs PHPStan over the result, and maps the errors back to the original template. Based on earlier work by Can Vural (see Credits in the README).

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package