Skip to content
Snippets Groups Projects
Verified Commit aa5bd859 authored by Dave Long's avatar Dave Long
Browse files

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

parent 59598e57
No related branches found
No related tags found
10 merge requests!11197Issue #3506427 by eduardo morales alberti: Remove responsive_image.ajax from hook,!11131[10.4.x-only-DO-NOT-MERGE]: Issue ##2842525 Ajax attached to Views exposed filter form does not trigger callbacks,!10786Issue #3490579 by shalini_jha, mstrelan: Add void return to all views...,!3878Removed unused condition head title for views,!3818Issue #2140179: $entity->original gets stale between updates,!3154Fixes #2987987 - CSRF token validation broken on routes with optional parameters.,!2062Issue #3246454: Add weekly granularity to views date sort,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation
Pipeline #351708 passed with warnings
Pipeline: drupal

#351733

    Pipeline: drupal

    #351724

      Pipeline: drupal

      #351712

        ......@@ -496,7 +496,7 @@
        "dist": {
        "type": "path",
        "url": "core",
        "reference": "f2db3b7ce714b984d75a410d178d58fa91648926"
        "reference": "35bc6bd18e1e0995a2d3887f713e5670c9cd5b39"
        },
        "require": {
        "asm89/stack-cors": "^2.1",
        ......@@ -545,7 +545,7 @@
        "symfony/serializer": "^7.2@beta",
        "symfony/validator": "^7.2@beta",
        "symfony/yaml": "^7.2@beta",
        "twig/twig": "^3.14.2"
        "twig/twig": "^3.15.0"
        },
        "conflict": {
        "drush/drush": "<12.4.3"
        ......@@ -4420,16 +4420,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": {
        ......@@ -4483,7 +4483,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": [
        {
        ......@@ -4495,7 +4495,7 @@
        "type": "tidelift"
        }
        ],
        "time": "2024-11-07T12:36:22+00:00"
        "time": "2024-11-17T15:59:19+00:00"
        }
        ],
        "packages-dev": [
        ......
        ......@@ -62,6 +62,6 @@
        "symfony/var-dumper": "~v7.2.0-RC1",
        "symfony/var-exporter": "~v7.1.6",
        "symfony/yaml": "~v7.2.0-RC1",
        "twig/twig": "~v3.14.2"
        "twig/twig": "~v3.15.0"
        }
        }
        ......@@ -35,7 +35,7 @@
        "symfony/polyfill-iconv": "^1.26",
        "symfony/yaml": "^7.2@beta",
        "revolt/event-loop": "^1.0",
        "twig/twig": "^3.14.2",
        "twig/twig": "^3.15.0",
        "doctrine/annotations": "^2.0",
        "doctrine/lexer": "^2.0",
        "guzzlehttp/guzzle": "^7.5",
        ......
        ......@@ -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'),
        ])
        ......
        ......@@ -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,
        ];
        }
        ......
        ......@@ -3,6 +3,7 @@
        namespace Drupal\Core\Template;
        use Twig\Environment;
        use Twig\Node\Nodes;
        use Twig\TwigFunction;
        use Twig\Node\Expression\FilterExpression;
        use Twig\Node\Expression\FunctionExpression;
        ......@@ -50,7 +51,7 @@ public function leaveNode(Node $node, Environment $env): ?Node {
        return new $class(
        new FunctionExpression(
        new TwigFunction('render_var', [$env->getExtension(TwigExtension::class), 'renderVar']),
        new Node([$node->getNode('expr')]),
        new Nodes([$node->getNode('expr')]),
        $line
        ),
        $line
        ......
        ......@@ -7,6 +7,7 @@
        use Twig\Node\Expression\NameExpression;
        use Twig\Node\ModuleNode;
        use Twig\Node\Node;
        use Twig\Node\Nodes;
        use Twig\NodeVisitor\NodeVisitorInterface;
        /**
        ......@@ -59,7 +60,7 @@ public function leaveNode(Node $node, Environment $env): ?Node {
        // At the end of the template, check the used variables are not deprecated.
        if ($node instanceof ModuleNode) {
        if (!empty($this->usedNames)) {
        $checkNode = new Node([new TwigNodeCheckDeprecations($this->usedNames), $node->getNode('display_end')]);
        $checkNode = new Nodes([new TwigNodeCheckDeprecations($this->usedNames), $node->getNode('display_end')]);
        $node->setNode('display_end', $checkNode);
        }
        }
        ......
        ......@@ -9,6 +9,7 @@
        use Twig\Environment;
        use Twig\Node\ModuleNode;
        use Twig\Node\Node;
        use Twig\Node\Nodes;
        use Twig\NodeVisitor\NodeVisitorInterface;
        /**
        ......@@ -46,11 +47,11 @@ public function enterNode(Node $node, Environment $env): Node {
        */
        public function leaveNode(Node $node, Environment $env): ?Node {
        if ($node instanceof ModuleNode) {
        $node->setNode('display_start', new Node([
        $node->setNode('display_start', new Nodes([
        new EnterProfileNode($this->extensionName, $this->varName),
        $node->getNode('display_start'),
        ]));
        $node->setNode('display_end', new Node([
        $node->setNode('display_end', new Nodes([
        new LeaveProfileNode($this->varName),
        $node->getNode('display_end'),
        ]));
        ......
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Finish editing this message first!
        Please register or to comment