Skip to content

Commit bfa094e

Browse files
committed
fix mutations messing with nodes between runs
1 parent 1e8be19 commit bfa094e

File tree

5 files changed

+158
-157
lines changed

5 files changed

+158
-157
lines changed

packages/svelte/scripts/process-messages/index.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ function transform(name, dest) {
339339
};
340340

341341
for (let i = 0; i < node.expressions.length; i += 1) {
342-
const q = node.quasis[i + 1];
342+
const q = structuredClone(node.quasis[i + 1]);
343343
const e = node.expressions[i];
344344

345345
if (e.type === 'Literal' && e.value === 'CODE') {
@@ -355,10 +355,11 @@ function transform(name, dest) {
355355
}
356356

357357
if (message.type === 'TemplateLiteral') {
358-
quasi.value.raw += message.quasis[0].value.raw;
359-
out.quasis.push(...message.quasis.slice(1));
360-
out.expressions.push(...message.expressions);
361-
quasi = message.quasis[message.quasis.length - 1];
358+
const m = structuredClone(message);
359+
quasi.value.raw += m.quasis[0].value.raw;
360+
out.quasis.push(...m.quasis.slice(1));
361+
out.expressions.push(...m.expressions);
362+
quasi = m.quasis[m.quasis.length - 1];
362363
quasi.value.raw += q.value.raw;
363364
continue;
364365
}

0 commit comments

Comments
 (0)