Language-tools: La advertencia de propiedad de exportación no utilizada está en la línea incorrecta cuando se usa el preprocesador de TypeScript.

Creado en 27 ago. 2020  ·  18Comentarios  ·  Fuente: sveltejs/language-tools

Describe el error
export let declaraciones de una propiedad no utilizada provocan una advertencia. La advertencia se muestra en la línea sobre la propiedad real para mí.

Reproducir

Establezca el lenguaje de secuencia de comandos en mecanografiado ( lang="ts" o type="text/typescript" ).
Declare alguna propiedad de exportación, no la use en ningún lado.

Comportamiento esperado

La advertencia indica que la propiedad no se está utilizando.

Capturas de pantalla

image

Si la propiedad está en la primera línea del script:

image

Sistema (complete la siguiente información):

  • SO: Windows 10, 64 bits
  • IDE: VSCode
  • Complemento / Paquete: Svelte para VSCode
bug

Todos 18 comentarios

Intente actualizar su @ tsconfig / svelte al último

No lo estoy usando.
Lo agregó temporalmente, no hizo nada.

Oh, pensé que estabas usando la plantilla oficial. El paquete es una configuración básica para svelte. Puede actualizar el extends de su tsconfig.json para que coincida con esto.
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87

Duplicado de # 333

@ jasonlyu123 Como dije, agregué la configuración base temporalmente pero nada cambió. Sigo recibiendo los errores en la línea incorrecta.

Entonces, ¿puede intentar ejecutar tsc para compilar un archivo ts en su espacio de trabajo y ver si el archivo de salida tiene un mapa de origen?

El problema está en el mapa fuente. Usamos el compilador esbelto para obtener diagnósticos esbeltos. si tiene un svelte.config.js y especifica su preprocesador en él, lo usaríamos para preprocesar, aparte de eso, usaremos el preproceso oficial svelte. Y si el preprocesador no devuelve un mapa fuente, la advertencia estaría en una posición incorrecta.

Además, no supervisamos los cambios en tsconfig.json, así que asegúrese de reiniciar el servidor de idioma después de cualquier cambio.

No siempre genera mapas de origen. Si llamo a tsc en un solo archivo, aparentemente no carga el tsconfig; si utilizo tsc -p . o tsc --build tsconfig.json generará el mapa fuente como se esperaba.

¿Puedo echar un vistazo a su svelte.config.js si lo tiene, también qué preprocesador usa?

Utilizo el procesador predeterminado, que debería ser svelte-preprocess en modo automático. Hice un repositorio de ejemplo mínimo que tiene los errores en el componente de entrada.

Intenté crear un svelte.config.js , estableciendo explícitamente el preprocesador en modo automático, no importaba. Usar explícitamente solo el typescript uno con una ruta al tsconfig.json tampoco hizo nada.

Ummm ... esto es inesperado, solo funcionaría cuando también establezco sourcemap en verdadero en tsconfig.json

Entonces extends no funciona del todo. Bueno, no me importa establecer eso explícitamente por ahora.
Gracias

Sí, eché un vistazo rápido al archivo fuente del preproceso svelte. Parece que no analiza el extends .
¡Gracias por el problema!

Abrí este problema en svelte-preprocess , porque de acuerdo con los documentos , en el modo de preprocesamiento automático, se deben generar mapas de origen. Actualización: los documentos eran incorrectos, por lo que debe configurarlo en true usted mismo.

@brunnerh si elimina "sourceMaps": true y la referencia de configuración base de su tsconfig.json y en su lugar hace sveltePreprocess({sourceMap: true}) en su svelte.config.js , ¿muestra las advertencias en el lugar correcto? línea entonces?

@brunnerh si elimina "sourceMaps": true y la referencia de configuración base de su tsconfig.json y en su lugar hace sveltePreprocess({sourceMap: true}) en su svelte.config.js , ¿muestra las advertencias en el lugar correcto? línea entonces?

No, todavía apagado.

Entonces, solo funciona si agrega "sourceMaps": true al tsconfig.json ?

Cerrando ya que estos son problemas relacionados con svelte-preprocess . El "mapa fuente no se aplica cuando le digo al preproceso a través de su opción sourceMap" -el problema está arreglado en la última versión. La " extends -característica de tsconfig.json no admitida" se rastrea en https://github.com/sveltejs/svelte-preprocess/issues/300 .

¿Fue útil esta página
0 / 5 - 0 calificaciones