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

Bladestan Laravel Package

tomasvotruba/bladestan

Bladestan adds PHPStan-powered static analysis for Laravel Blade templates. Install as a dev dependency and include its extension if needed. Provides a custom “blade” error formatter showing clickable template paths and where errors are rendered.

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.
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
ecotone/kafka
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata