diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/global.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/global.js index 4c1d8af7b8..9b7cc359ef 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/global.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/global.js @@ -101,5 +101,13 @@ export const global_visitors = { return b.call(b.thunk(b.block(statements))); } } + }, + // @ts-expect-error + TSAsExpression(node, context) { + return context.visit(node.expression); + }, + // @ts-expect-error + TSNonNullExpression(node, context) { + return context.visit(node.expression); } }; diff --git a/packages/svelte/tests/runtime-runes/samples/typescript-in-event-handler/_config.js b/packages/svelte/tests/runtime-runes/samples/typescript-in-event-handler/_config.js new file mode 100644 index 0000000000..2115ae298a --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/typescript-in-event-handler/_config.js @@ -0,0 +1,11 @@ +import { test } from '../../test'; + +export default test({ + html: '', + + async test({ assert, target }) { + const btn = target.querySelector('button'); + await btn?.click(); + assert.htmlEqual(target.innerHTML, ``); + } +}); diff --git a/packages/svelte/tests/runtime-runes/samples/typescript-in-event-handler/main.svelte b/packages/svelte/tests/runtime-runes/samples/typescript-in-event-handler/main.svelte new file mode 100644 index 0000000000..80a7c879ec --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/typescript-in-event-handler/main.svelte @@ -0,0 +1,10 @@ + + +