Releases: Stillat/blade-parser
Releases · Stillat/blade-parser
1.10.1
1.10.0
This release adds a few new helper methods:
toDocument()
onDocumentParser
simplifies the process of converting an existingDocumentParser
to aDocument
instancetoDocument
will resolve structures on the document by default. To prevent this, simply supplyfalse
when calling (i.e.,toDocument(false)
)
parseTemplate
onDocumentParser
parses the input like the existingparse
method, but will return theDocumentParser
instance instead of a node array
New AttributeCompiler
The AttributeCompiler
is a new compiler service that can be used to compile attributes/parameters on a parsed ComponentNode
. The AttributeCompiler
implementation will use the core Laravel compiler for content that contains interpolated values.
Usage:
<?php
use Stillat\BladeParser\Parser\DocumentParser;
use Stillat\BladeParser\Compiler\CompilerServices\AttributeCompiler;
$template = <<<'TEMPLATE'
<prefix:component
parameter="content"
:binding="$theVariable"
/>
TEMPLATE;
$params = (new DocumentParser)
->onlyParseComponents()
->registerCustomComponentTags(['prefix'])
->parseTemplate($template)
->toDocument()
->getComponents()
->first()
->parameters;
$compiler = new AttributeCompiler;
$result = $compiler->compile($params);
After compilation, $result
would contain the following:
['parameter'=>'content','binding'=>$theVariable]
1.9.0
- Bumps the minimum PHP version to 8.2
- Migrates the test suite to Pest
- Code cleanup/formatting 🧹
- Improves parsing of HTML fragments and attributes/parameters
1.8.0
- Adds new helper methods to determine the type of an
EchoNode
EchoNode::isRaw()
,EchoNode::isTriple()
, andEchoNode::isRegular()
1.7.2
1.7.1
1.7.0
- Updates dependencies to allow Laravel 11
- Refactors some tests
1.6.1
This release improves the out-of-box experience with the document validator:
- Resolves an issue where custom Blade component compilers would not be used when compiling documents
- Corrects an issue preventing some component tag parameters from being compiled successfully
In addition, this PR makes the following changes:
- The
ignore_directives
validation configuration option will now be used to disable parsing and compilation across all validators, for consistency (#25) - Adds the livewire directive to the list of ignored directives to prevent users from having to add it each time (due to some lifecycle items)
1.6.0
- Updates the component tag compiler to have parity with latest Laravel changes
- Adds compiler support for the
@use
directive
1.5.1
Update PHP version constraint to match language features used