Language-tools: L'avertissement de propriété d'exportation inutilisé est sur la mauvaise ligne lors de l'utilisation du préprocesseur TypeScript.

Créé le 27 août 2020  ·  18Commentaires  ·  Source: sveltejs/language-tools

Décrivez le bogue
export let déclarations

Reproduire

Définissez le langage de script sur typescript ( lang="ts" ou type="text/typescript" ).
Déclarez une propriété d'exportation, ne l'utilisez nulle part.

Comportement prévisible

L'avertissement est sur la propriété qui n'est pas utilisée.

Captures d'écran

image

Si la propriété se trouve dans la première ligne du script :

image

Système (veuillez compléter les informations suivantes) :

  • Système d'exploitation : Windows 10, 64 bits
  • IDE : VSCode
  • Plugin/Package : Svelte pour VSCode
bug

Tous les 18 commentaires

Essayez de mettre à jour votre @tsconfig/svelte au dernier

Je n'utilise pas ça.
Je l'ai ajouté temporairement, n'a rien fait.

Oh, je pensais que vous utilisiez le modèle officiel. Le package est une configuration de base pour svelte. Vous pouvez mettre à jour le extends de votre tsconfig.json pour qu'il corresponde à cela.
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87

Duplicata du #333

@ jasonulu123 Comme je l'ai dit, j'ai ajouté temporairement la configuration de base mais rien n'a changé. Je reçois toujours les erreurs sur la mauvaise ligne.

Ensuite, pouvez-vous essayer d'exécuter tsc pour compiler un fichier ts dans votre espace de travail et voir si le fichier de sortie a une sourcemap ?

Le problème est avec sourcemap. Nous utilisons le compilateur svelte pour obtenir des diagnostics sveltes. si vous avez un svelte.config.js et que vous y spécifiez votre préprocesseur, nous l'utiliserions pour le prétraitement, à part cela, nous utiliserons le préprocesseur svelte officiel. Et si le préprocesseur ne renvoie pas de sourcemap, l'avertissement serait dans une mauvaise position.

De plus, nous ne surveillons pas les modifications apportées au fichier tsconfig.json, assurez-vous donc de redémarrer le serveur de langue après toute modification.

Il ne génère pas toujours des cartes sources. Si j'appelle tsc sur un seul fichier, il ne charge apparemment pas le tsconfig; si j'utilise tsc -p . ou tsc --build tsconfig.json , la carte source sera affichée comme prévu.

Puis-je jeter un œil à votre svelte.config.js si vous l'avez, quel préprocesseur utilisez-vous également ?

J'utilise le processeur par défaut, qui devrait être svelte-preprocess en mode automatique. J'ai créé un exemple de référentiel minimal qui contient les erreurs sur le composant d'entrée.

J'ai essayé de créer un svelte.config.js , en définissant explicitement le préprocesseur en mode automatique, n'avait pas d'importance. Utiliser explicitement uniquement le typescript avec un chemin vers le tsconfig.json n'a rien fait non plus.

Ummm... c'est inattendu, cela ne fonctionnerait que si je définissais également sourcemap sur true dans tsconfig.json

Ensuite, le extends ne fonctionne pas tout à fait. Eh bien, cela ne me dérange pas de le définir explicitement pour le moment.
Merci

Oui, j'ai jeté un coup d'œil au fichier source du svelte-preprocess. Il semble qu'il n'analyse pas le extends .
Merci pour le problème !

J'ai ouvert ce problème à svelte-preprocess , car selon la doc , en mode de prétraitement automatique, les cartes sources devraient être générées. Mise à jour : les documents étaient erronés, vous devez donc le définir vous-même sur true .

@brunnerh si vous supprimez "sourceMaps": true et la référence de configuration de base de votre tsconfig.json et faites à la place sveltePreprocess({sourceMap: true}) dans votre svelte.config.js , cela affiche-t-il les avertissements au bon ligne alors ?

@brunnerh si vous supprimez "sourceMaps": true et la référence de configuration de base de votre tsconfig.json et que vous faites plutôt sveltePreprocess({sourceMap: true}) dans votre svelte.config.js , cela affiche-t-il les avertissements au bon ligne alors ?

Non, toujours éteint.

Cela ne fonctionne donc que si vous ajoutez "sourceMaps": true au tsconfig.json ?

Oui

Fermeture car ce sont des problèmes liés à svelte-preprocess . Le problème "la carte source n'est pas appliquée lorsque je dis prétraiter via son option sourceMap" est résolu dans la dernière version. Le " extends -feature of tsconfig.json not supported" est suivi dans https://github.com/sveltejs/svelte-preprocess/issues/300 .

Cette page vous a été utile?
0 / 5 - 0 notes