diff --git a/packages/svelte2tsx/src/svelte2tsx/processModuleScriptTag.ts b/packages/svelte2tsx/src/svelte2tsx/processModuleScriptTag.ts
index bfd9e1417..ee3df17f9 100644
--- a/packages/svelte2tsx/src/svelte2tsx/processModuleScriptTag.ts
+++ b/packages/svelte2tsx/src/svelte2tsx/processModuleScriptTag.ts
@@ -2,6 +2,7 @@ import MagicString from 'magic-string';
import { Node } from 'estree-walker';
import ts from 'typescript';
import { ImplicitStoreValues } from './nodes/ImplicitStoreValues';
+import { handleTypeAssertion } from './nodes/handleTypeAssertion';
export function processModuleScriptTag(
str: MagicString,
@@ -47,6 +48,10 @@ function resolveImplicitStores(
implicitStoreValues.addImportStatement(node);
}
+ if (ts.isTypeAssertionExpression?.(node)) {
+ handleTypeAssertion(str, node, astOffset);
+ }
+
ts.forEachChild(node, (n) => walk(n));
};
diff --git a/packages/svelte2tsx/test/svelte2tsx/samples/ts-type-assertion/expected.tsx b/packages/svelte2tsx/test/svelte2tsx/samples/ts-type-assertion/expected.tsx
index 1853e99e1..e4e510d8f 100644
--- a/packages/svelte2tsx/test/svelte2tsx/samples/ts-type-assertion/expected.tsx
+++ b/packages/svelte2tsx/test/svelte2tsx/samples/ts-type-assertion/expected.tsx
@@ -1,9 +1,13 @@
///
-<>>;function render() {
+<>>;
+ let a = '' as string;
+;<>>;function render() {
let a = document.querySelector('#id') as HTMLInputElement;
;
-() => (<>>);
+() => (<>
+
+>);
return { props: {}, slots: {}, getters: {}, events: {} }}
export default class Input__SvelteComponent_ extends createSvelte2TsxComponent(__sveltets_partial_ts(__sveltets_with_any_event(render))) {
diff --git a/packages/svelte2tsx/test/svelte2tsx/samples/ts-type-assertion/input.svelte b/packages/svelte2tsx/test/svelte2tsx/samples/ts-type-assertion/input.svelte
index 01d77b6a3..4cab6f347 100644
--- a/packages/svelte2tsx/test/svelte2tsx/samples/ts-type-assertion/input.svelte
+++ b/packages/svelte2tsx/test/svelte2tsx/samples/ts-type-assertion/input.svelte
@@ -1,3 +1,7 @@
-
+
+