Skip to content

Commit 923c5cd

Browse files
committed
fix: prevent var name clashing for delegated events without params
1 parent dee8db5 commit 923c5cd

File tree

4 files changed

+26
-1
lines changed

4 files changed

+26
-1
lines changed

.changeset/smooth-dragons-push.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
fix: prevent var name clashing for delegated events without params

packages/svelte/src/compiler/phases/3-transform/client/utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ export function build_hoisted_params(node, context) {
136136
if (node.params.length === 0) {
137137
if (hoisted_params.length > 0) {
138138
// For the event object
139-
params.push(b.id('_'));
139+
params.push(b.id(context.state.scope.generate('_')));
140140
}
141141
} else {
142142
for (const param of node.params) {
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { flushSync } from 'svelte';
2+
import { test } from '../../test';
3+
4+
export default test({
5+
mode: ['client'],
6+
test({ assert, target, logs }) {
7+
const btn = target.querySelector('button');
8+
9+
flushSync(() => {
10+
btn?.click();
11+
});
12+
assert.deepEqual(logs, ['test']);
13+
}
14+
});
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<svelte:options runes />
2+
<script>
3+
let _ = "test"
4+
</script>
5+
6+
<button onclick={() => { console.log(_)} }></button>

0 commit comments

Comments
 (0)