diff --git a/.changeset/smart-cheetahs-exercise.md b/.changeset/smart-cheetahs-exercise.md new file mode 100644 index 00000000..bcd88e8a --- /dev/null +++ b/.changeset/smart-cheetahs-exercise.md @@ -0,0 +1,5 @@ +--- +"svelte-eslint-parser": patch +--- + +fix: wrong typing for typescript v5 diff --git a/package.json b/package.json index 73939a16..4d8ba08c 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "semver": "^7.3.5", "string-replace-loader": "^3.0.3", "svelte": "^3.46.1", - "typescript": "~4.9.0", + "typescript": "~5.0.0", "vue-eslint-parser": "^9.0.0" }, "publishConfig": { diff --git a/src/parser/converts/attr.ts b/src/parser/converts/attr.ts index e7e5a7f8..74872efc 100644 --- a/src/parser/converts/attr.ts +++ b/src/parser/converts/attr.ts @@ -333,7 +333,7 @@ function convertEventHandlerDirective( ctx, isCustomEvent ? "(e:CustomEvent)=>void" - : `(e:'${node.name}' extends keyof HTMLElementEventMap?HTMLElementEventMap['${node.name}']:CustomEvent)=>void` + : `(e:'${node.name}' extends infer U?U extends keyof HTMLElementEventMap?HTMLElementEventMap[U]:CustomEvent:never)=>void` ), }); return directive;