From 87ec9a2c835e0bf8e84ca5a3bb3877f52e9b7a46 Mon Sep 17 00:00:00 2001 From: Aiman Date: Fri, 30 Jan 2026 23:59:25 +0530 Subject: [PATCH] fix: stricter types for sveltekit link options (#17366) TypeScript now rejects invalid values (false, numbers) for data-sveltekit-* attributes. --- .changeset/slick-months-play.md | 5 +++++ packages/svelte/elements.d.ts | 3 --- .../svelte/tests/types/link-options.svelte | 22 +++++++++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 .changeset/slick-months-play.md create mode 100644 packages/svelte/tests/types/link-options.svelte diff --git a/.changeset/slick-months-play.md b/.changeset/slick-months-play.md new file mode 100644 index 0000000000..9496452f81 --- /dev/null +++ b/.changeset/slick-months-play.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: type check for link options diff --git a/packages/svelte/elements.d.ts b/packages/svelte/elements.d.ts index fa74124472..2fe31fec3b 100644 --- a/packages/svelte/elements.d.ts +++ b/packages/svelte/elements.d.ts @@ -868,9 +868,6 @@ export interface HTMLAttributes extends AriaAttributes, D 'data-sveltekit-reload'?: true | '' | 'off' | undefined | null; 'data-sveltekit-replacestate'?: true | '' | 'off' | undefined | null; - // allow any data- attribute - [key: `data-${string}`]: any; - // allow any attachment and falsy values (by using false we prevent the usage of booleans values by themselves) [key: symbol]: Attachment | false | undefined | null; } diff --git a/packages/svelte/tests/types/link-options.svelte b/packages/svelte/tests/types/link-options.svelte new file mode 100644 index 0000000000..7373f6d964 --- /dev/null +++ b/packages/svelte/tests/types/link-options.svelte @@ -0,0 +1,22 @@ +