Skip to content

Commit 3739af2

Browse files
committed
Only replace transformed nodes
To prevent unexpected replacements we need to just replace when something is acually changed.
1 parent baa651e commit 3739af2

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

packages/guides/src/Compiler/DocumentNodeTraverser.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ private function traverseForTransformer(
5555

5656
if ($supports) {
5757
$transformed = $transformer->enterNode($node, $compilerContext);
58-
$shadowNode->getParent()?->replaceChild($node, $transformed);
58+
if ($transformed !== $node) {
59+
$shadowNode->getParent()?->replaceChild($node, $transformed);
60+
}
5961
}
6062

6163
foreach ($shadowNode->getChildren() as $shadowChild) {
@@ -68,7 +70,9 @@ private function traverseForTransformer(
6870

6971
$transformed = $transformer->leaveNode($node, $compilerContext);
7072
if ($transformed !== null) {
71-
$shadowNode->getParent()?->replaceChild($node, $transformed);
73+
if ($transformed !== $node) {
74+
$shadowNode->getParent()?->replaceChild($node, $transformed);
75+
}
7276

7377
return;
7478
}

0 commit comments

Comments
 (0)