Jshint: Ajout de la prise en charge des importations dynamiques

Créé le 30 mars 2020  ·  5Commentaires  ·  Source: jshint/jshint

Utilisation du code Visual Studio 1.43.2

Extension : "dbaeumer.jshint" utilisant l'installation globale de jshint à partir de npm

JSHint installé : 2.11. 0@npm

Comportement attendu : Reconnaître import() tant que fonction.

Comportement réel

JSHint ne reconnaît pas

import("module/path.mjs") //Returns Promise of export object

en fonction et lance E053 et E021 .

Cette fonction est utilisée dans l'import de modules car les scripts ne se terminent pas par ".mjs".
Vous trouverez plus d'informations sur cette page MDN.

Je ne sais pas si cette fonction est dans les propositions, elle ne fonctionne que dans les principaux navigateurs (Firefox, Chrome, etc.) et node.js.


Valeurs de configuration


N'utilise pas le fichier .jshintrc, utilise un paramètre d'extension global.

{
"jshint.lintHTML": true,
    "jshint.options": {
        "esversion": 9,
        "varstmt": true,
        "unused": true,
        "undef": true,
        "singleGroups": true,
        "eqeqeq": true,
        "freeze": true,
        "lastsemic": true,
        "leanswitch": true,
        "latedef": true,
        "maxdepth": 4,
        "noreturnawait": true,
        "nonbsp": true,
        "noarg": true,
        "maxparams": 3,
        "maxerr": 10,
        "maxcomplexity": 15,
        "node": true
    }
}
Proposal

Commentaire le plus utile

Merci pour le rapport ! Nous n'avons pas implémenté la prise en charge des importations dynamiques, mais nous prévoyons de le faire (cela satisfait définitivement notre politique sur les nouvelles fonctionnalités linguistiques). Cela en fait plus une demande de fonctionnalité qu'un rapport de bogue, j'ai donc un peu modifié le titre du problème - j'espère que cela ne vous dérange pas.

Si vous (ou quelqu'un d'autre) souhaitez essayer de mettre en œuvre cela, alors je serais ravi de vous guider !

Tous les 5 commentaires

Merci pour le rapport ! Nous n'avons pas implémenté la prise en charge des importations dynamiques, mais nous prévoyons de le faire (cela satisfait définitivement notre politique sur les nouvelles fonctionnalités linguistiques). Cela en fait plus une demande de fonctionnalité qu'un rapport de bogue, j'ai donc un peu modifié le titre du problème - j'espère que cela ne vous dérange pas.

Si vous (ou quelqu'un d'autre) souhaitez essayer de mettre en œuvre cela, alors je serais ravi de vous guider !

@jugglinmike Considérant qu'il s'agit d'une proposition es2020, comment imagineriez-vous que quelqu'un puisse basculer cette fonctionnalité ? Je suppose qu'il y aurait un esversion: 11 qui, je suppose, nécessiterait également la prise en charge de toutes les autres propositions es2020 (fusion nulle, chaînage facultatif, etc.).

Je pourrais envisager de mettre en œuvre un soutien pour cette proposition spécifique, car cela aiderait beaucoup.

esversion: 11 me semble juste, @almercier ! La mise en œuvre de toutes les nouvelles fonctionnalités du langage est une entreprise de grande envergure, et je ne m'attendrais pas à ce que quelqu'un s'en charge tout seul. Si vous vouliez vous concentrer sur l'expression import , alors nous pourrions aborder les autres fonctionnalités en parallèle (ou publier une version avec un support partiel pour la nouvelle édition de langue).

J'ai mis à jour notre sous-module pour Test262 afin que nous ayons une meilleure couverture pour les nouvelles fonctionnalités du langage. J'ai également créé une branche de suivi pour une nouvelle version mineure ; c'est là que nous devrions atterrir de nouvelles fonctionnalités.

JSHint version 2.13.0, publiée aujourd'hui , inclut la prise en charge des importations dynamiques. Assurez-vous de mettre à jour votre configuration pour activer la nouvelle fonctionnalité de langue via esversion: 11 ou une version ultérieure.

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