Verified Commit c10262e1 authored by Dave Long's avatar Dave Long
Browse files

Issue #3488365 by andypost: Upgrade twig/twig to 3.15.0

parent 9392bd2f
Loading
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -496,7 +496,7 @@
            "dist": {
                "type": "path",
                "url": "core",
                "reference": "60fa149dea68d06e2de45c93bf07d1d94b5394e7"
                "reference": "7369e7a4e89825b0e5c1c8c3a4beaa3a18e5f3ef"
            },
            "require": {
                "asm89/stack-cors": "^2.1",
@@ -541,7 +541,7 @@
                "symfony/serializer": "^6.4",
                "symfony/validator": "^6.4",
                "symfony/yaml": "^6.4",
                "twig/twig": "^3.14.2"
                "twig/twig": "^3.15.0"
            },
            "conflict": {
                "drush/drush": "<12.4.3"
@@ -4347,16 +4347,16 @@
        },
        {
            "name": "twig/twig",
            "version": "v3.14.2",
            "version": "v3.15.0",
            "source": {
                "type": "git",
                "url": "https://github.com/twigphp/Twig.git",
                "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a"
                "reference": "2d5b3964cc21d0188633d7ddce732dc8e874db02"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/twigphp/Twig/zipball/0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a",
                "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a",
                "url": "https://api.github.com/repos/twigphp/Twig/zipball/2d5b3964cc21d0188633d7ddce732dc8e874db02",
                "reference": "2d5b3964cc21d0188633d7ddce732dc8e874db02",
                "shasum": ""
            },
            "require": {
@@ -4410,7 +4410,7 @@
            ],
            "support": {
                "issues": "https://github.com/twigphp/Twig/issues",
                "source": "https://github.com/twigphp/Twig/tree/v3.14.2"
                "source": "https://github.com/twigphp/Twig/tree/v3.15.0"
            },
            "funding": [
                {
@@ -4422,7 +4422,7 @@
                    "type": "tidelift"
                }
            ],
            "time": "2024-11-07T12:36:22+00:00"
            "time": "2024-11-17T15:59:19+00:00"
        }
    ],
    "packages-dev": [
+1 −1
Original line number Diff line number Diff line
@@ -61,6 +61,6 @@
        "symfony/var-dumper": "~v6.4.15",
        "symfony/var-exporter": "~v6.4.13",
        "symfony/yaml": "~v6.4.13",
        "twig/twig": "~v3.14.2"
        "twig/twig": "~v3.15.0"
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@
        "symfony/process": "^6.4",
        "symfony/polyfill-iconv": "^1.26",
        "symfony/yaml": "^6.4",
        "twig/twig": "^3.14.2",
        "twig/twig": "^3.15.0",
        "doctrine/annotations": "^1.14",
        "guzzlehttp/guzzle": "^7.5",
        "guzzlehttp/psr7": "^2.4.5",
+6 −5
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
use Drupal\Core\Render\Component\Exception\InvalidComponentException;
use Drupal\Core\Theme\ComponentPluginManager;
use Twig\Environment;
use Twig\Node\Nodes;
use Twig\TwigFunction;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\FunctionExpression;
@@ -57,24 +58,24 @@ public function leaveNode(Node $node, Environment $env): ?Node {
    }
    $print_nodes[] = new PrintNode(new FunctionExpression(
      new TwigFunction('attach_library', [$env->getExtension(TwigExtension::class), 'attachLibrary']),
      new Node([new ConstantExpression($component->getLibraryName(), $line)]),
      new Nodes([new ConstantExpression($component->getLibraryName(), $line)]),
      $line
    ), $line);
    $print_nodes[] = new PrintNode(new FunctionExpression(
      new TwigFunction('add_component_context', [$env->getExtension(ComponentsTwigExtension::class), 'addAdditionalContext'], ['needs_context' => TRUE]),
      new Node([new ConstantExpression($component_id, $line)]),
      new Nodes([new ConstantExpression($component_id, $line)]),
      $line
    ), $line);
    $print_nodes[] = new PrintNode(new FunctionExpression(
      new TwigFunction('validate_component_props', [$env->getExtension(ComponentsTwigExtension::class), 'validateProps'], ['needs_context' => TRUE]),
      new Node([new ConstantExpression($component_id, $line)]),
      new Nodes([new ConstantExpression($component_id, $line)]),
      $line
    ), $line);

    // Append the print nodes to the display_start node.
    $node->setNode(
      'display_start',
      new Node([
      new Nodes([
        $node->getNode('display_start'),
        ...$print_nodes,
      ]),
@@ -84,7 +85,7 @@ public function leaveNode(Node $node, Environment $env): ?Node {
      // Append the closing comment to the display_end node.
      $node->setNode(
        'display_end',
        new Node([
        new Nodes([
          new PrintNode(new ConstantExpression(sprintf('<!-- %s Component end: %s -->', $emoji, $component_id), $line), $line),
          $node->getNode('display_end'),
        ])
+4 −2
Original line number Diff line number Diff line
@@ -13,7 +13,9 @@
use Twig\Node\Expression\GetAttrExpression;
use Twig\Node\Expression\NameExpression;
use Twig\Node\Expression\TempNameExpression;
use Twig\Node\Expression\Variable\ContextVariable;
use Twig\Node\Node;
use Twig\Node\Nodes;
use Twig\Node\PrintNode;

/**
@@ -178,7 +180,7 @@ protected function compileString(Node $body) {
            if (!is_null($args)) {
              $argName = $args->getAttribute('name');
            }
            $expr = new NameExpression($argName, $n->getTemplateLine());
            $expr = new ContextVariable($argName, $n->getTemplateLine());
          }
          $placeholder = sprintf('%s%s', $argPrefix, $argName);
          $text .= $placeholder;
@@ -198,7 +200,7 @@ protected function compileString(Node $body) {
    }

    return [
      new Node([new ConstantExpression(trim($text), $body->getTemplateLine())]),
      new Nodes([new ConstantExpression(trim($text), $body->getTemplateLine())]),
      $tokens,
    ];
  }
Loading