sv-utils: generate the supported Handle import for Kit 2

Abierto Apto para principiantes
#1,404 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 4 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
85/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript
Área
cli, tooling

Línea de trabajo

Empieza en packages/sv-utils/src/tooling/js/kit.ts, en addHooksHandle, e inspecciona tanto la importación de TypeScript como las anotaciones JSDoc que genera. Ejecuta la comprobación habitual del proyecto, o la comprobación de tipos minimizada descrita en el issue, en todas las versiones principales de Kit compatibles; el trabajo estará terminado cuando el hook generado use una exportación Handle válida y ambas formas superen la comprobación de tipos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

pkg:add

Summary

Adding Better Auth to a supported SvelteKit 2 project emits Handle imports from @sveltejs/kit/hooks. Kit 2 declares that type in @sveltejs/kit and does not export it from the hooks module. The generated hook fails type checking independently of the default Kit 3/Better Auth peer conflict.

Steps to reproduce

Start with a working TypeScript SvelteKit 2.70.3 project and use sv 1.0.1 to add the integrations:

npx --yes [email protected] add drizzle=database:sqlite+client:libsql better-auth=demo:password --no-install --no-git-check

Inspect src/hooks.server.ts. The generated import is:

import type { Handle } from '@sveltejs/kit/hooks';

Run the project's normal check. A minimized type check with the published Kit 2.70.3 declarations and TypeScript 6.0.3 also reproduces the error using only this import and export type ConsumerHandle = Handle.

Expected behavior

The hook generator uses the type export provided by the installed Kit major. Kit 2 projects remain supported by the add-on's setup contract and generated hook imports type-check.

Actual behavior

TypeScript reports:

TS2459: Module '"@sveltejs/kit/hooks"' declares 'Handle' locally, but it is not exported.

Changing only the type import to @sveltejs/kit removes that diagnostic. The minimized type check exits 2 before the correction and 0 afterward.

Affected area

packages/sv-utils/src/tooling/js/kit.ts, specifically addHooksHandle, used by the Better Auth add-on. The helper also writes the hooks-module import in JSDoc annotations.

Runtime or environment

sv 1.0.1, SvelteKit 2.70.3, TypeScript 6.0.3, Better Auth 1.7.7, Svelte 5.57.1, Node.js 22.23.2, npm 12.0.2 on macOS ARM64.

Evidence

Current helper at revision 7ff52c0955e1f07b8719029d60afac1ee634ad69 always sources Handle from @sveltejs/kit/hooks. Kit 2.70.3 type declarations import Handle locally in that module but do not export it. An isolated check against those exact declarations confirms the failing and corrected imports.

Impact

Using a Kit 2 dependency graph to satisfy Better Auth's peer requirements still leaves an independently invalid generated hook. The regression condition is that the helper's output type-checks for each supported Kit major, including its TypeScript and JSDoc forms.

Lenguaje dominante
TypeScript
Estrellas
513
Forks
110
Merge medio
5 d 1 h
PR fusionados (30 d)
24

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de sveltejs/cli

Todos los issues de sveltejs/cli

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.