Language-tools: O aviso de propriedade de exportação não utilizada está na linha errada ao usar o pré-processador TypeScript.

Criado em 27 ago. 2020  ·  18Comentários  ·  Fonte: sveltejs/language-tools

Descreva o bug
export let declarações de uma propriedade não utilizada causam um aviso. O aviso é exibido na linha acima da propriedade real para mim.

Reproduzir

Defina a linguagem do script para texto digitado ( lang="ts" ou type="text/typescript" ).
Declare alguma propriedade de exportação, não a use em nenhum lugar.

Comportamento esperado

O aviso está na propriedade que não está sendo usada.

Capturas de tela

image

Se a propriedade estiver na primeira linha do script:

image

Sistema (preencha as seguintes informações):

  • SO: Windows 10, 64 bits
  • IDE: VSCode
  • Plugin / Pacote: Svelte para VSCode
bug

Todos 18 comentários

Tente atualizar seu @ tsconfig / svelte para o último

Eu não estou usando isso.
Adicionado temporariamente, não fez nada.

Oh, pensei que você estava usando o modelo oficial. O pacote é uma configuração básica para svelte. Você pode atualizar extends de seu tsconfig.json para corresponder a isso.
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87

Duplicado de # 333

@ jasonlyu123 Como eu disse, adicionei a configuração básica temporariamente, mas nada mudou. Ainda recebo os erros na linha errada.

Então você pode tentar executar tsc para compilar um arquivo ts em sua área de trabalho e ver se o arquivo de saída tem mapa de origem?

O problema é com o mapa de origem. Usamos o compilador svelte para obter diagnósticos svelte. se você tiver um svelte.config.js e especificar seu pré-processador nele, nós o usaríamos para pré-processar, exceto que usaremos o pré-processamento oficial svelte. E se o pré-processador não retornar um mapa de origem, o aviso estaria na posição errada.

Além disso, não monitoramos alterações no tsconfig.json, portanto, certifique-se de reiniciar o servidor de idioma após quaisquer alterações.

Nem sempre gera mapas de origem. Se eu chamar tsc em um único arquivo, ele aparentemente não carrega o tsconfig; se eu usar tsc -p . ou tsc --build tsconfig.json , o mapa de origem será gerado conforme o esperado.

Posso dar uma olhada no seu svelte.config.js se você o tiver, também qual pré-processador você usa?

Eu uso o processador padrão, que deve ser svelte-preprocess no modo automático. Fiz um repositório de exemplo mínimo que contém os erros no componente de entrada.

Tentei criar um svelte.config.js , definindo explicitamente o pré-processador no modo automático, não importou. Usar explicitamente apenas typescript com um caminho para tsconfig.json também não fez nada.

Ummm ... isso é inesperado, só funcionaria quando eu também definisse sourcemap como verdadeiro em tsconfig.json

Então o extends não funciona bem. Bem, eu não me importo em definir isso explicitamente por enquanto.
Obrigado

Sim, eu dei uma olhada rápida no arquivo de origem do pré-processo svelte. Parece que não analisa extends .
Obrigado pelo problema!

Abri este problema em svelte-preprocess , porque de acordo com os documentos , no modo de pré-processamento automático, os mapas de origem devem ser gerados. Atualização: os documentos estavam errados, então você precisa definir isso para true você mesmo.

@brunnerh se você remover "sourceMaps": true e a referência de configuração de base de seu tsconfig.json e, em vez disso, fizer sveltePreprocess({sourceMap: true}) em seu svelte.config.js , ele mostra os avisos no correto linha então?

@brunnerh se você remover "sourceMaps": true e a referência de configuração de base de seu tsconfig.json e, em vez disso, fizer sveltePreprocess({sourceMap: true}) em seu svelte.config.js , ele mostra os avisos no correto linha então?

Não, ainda desligado.

Portanto, só funciona se você adicionar "sourceMaps": true ao tsconfig.json ?

sim

Fechando, pois estes são problemas relacionados a svelte-preprocess . O problema "mapa de origem não é aplicado quando eu conto o pré-processamento por meio de sua opção de mapa de origem" foi corrigido na versão mais recente. O " extends -recurso de tsconfig.json não suportado" é rastreado em https://github.com/sveltejs/svelte-preprocess/issues/300 .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

johanbissemattsson picture johanbissemattsson  ·  4Comentários

matthewmueller picture matthewmueller  ·  3Comentários

JAD3N picture JAD3N  ·  5Comentários

scippio picture scippio  ·  3Comentários

baileyherbert picture baileyherbert  ·  3Comentários