diff --git a/.changeset/early-lobsters-repeat.md b/.changeset/early-lobsters-repeat.md new file mode 100644 index 00000000..8d8071f4 --- /dev/null +++ b/.changeset/early-lobsters-repeat.md @@ -0,0 +1,5 @@ +--- +"svelte-eslint-parser": minor +--- + +feat: improve props type diff --git a/src/parser/converts/attr.ts b/src/parser/converts/attr.ts index da8a5b3d..bc7dc3d2 100644 --- a/src/parser/converts/attr.ts +++ b/src/parser/converts/attr.ts @@ -293,7 +293,7 @@ function buildAttributeType( return null; } const elementName = ctx.elements.get(element)!.name; - const componentPropsType = `import('svelte').ComponentProps<${elementName}>`; + const componentPropsType = `import('svelte').ComponentProps`; return conditional({ check: `'${attrName}'`, extends: `infer PROP`, diff --git a/tests/fixtures/parser/ast/svelte5/ts-event06-type-output.svelte b/tests/fixtures/parser/ast/svelte5/ts-event06-type-output.svelte index d81884dd..81d2b31d 100644 --- a/tests/fixtures/parser/ast/svelte5/ts-event06-type-output.svelte +++ b/tests/fixtures/parser/ast/svelte5/ts-event06-type-output.svelte @@ -1,8 +1,8 @@ -{ // Component: Component<$$ComponentProps, {}, "">, e: { detail: number; } // e.detail is number e.detail; // e.detail: number }}" />