Jshint: Adicionar suporte para importações dinâmicas

Criado em 30 mar. 2020  ·  5Comentários  ·  Fonte: jshint/jshint

Usando o código do Visual Studio 1.43.2

Extensão: "dbaeumer.jshint" usando a instalação global do jshint do npm

JSHint instalado: 2.11. 0 @ npm

Comportamento esperado: reconhecer import() como uma função.

Comportamento Real

JSHint não reconhece

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

como uma função e lança E053 e E021 .

Esta função é usada na importação de módulos para scripts não termina com ".mjs".
Mais informações sobre podem ser vistas nesta página do MDN.

Não sei se esta função está em propostas, ela só funciona nos principais navegadores (Firefox, Chrome, etc.) e node.js.


Valores de configuração


Não usando o arquivo .jshintrc, usando uma configuração de extensão 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

Comentários muito úteis

Obrigado pelo relatório! Não implementamos suporte para importações dinâmicas, mas planejamos (definitivamente satisfaz nossa política sobre novos recursos de linguagem). Isso torna isso mais uma solicitação de recurso do que um relatório de bug, então modifiquei um pouco o título do problema - espero que você não se importe.

Se você (ou qualquer outra pessoa) quiser tentar implementar isso, será um prazer dar orientações!

Todos 5 comentários

Obrigado pelo relatório! Não implementamos suporte para importações dinâmicas, mas planejamos (definitivamente satisfaz nossa política sobre novos recursos de linguagem). Isso torna isso mais uma solicitação de recurso do que um relatório de bug, então modifiquei um pouco o título do problema - espero que você não se importe.

Se você (ou qualquer outra pessoa) quiser tentar implementar isso, será um prazer dar orientações!

@jugglinmike Considerando que esta é uma proposta do es2020, como você imagina que alguém seja capaz de alternar esse recurso? Estou assumindo que haveria um esversion: 11 que suponho que exigiria que todas as outras propostas es2020 (coalescência nula, encadeamento opcional, etc ...) também fossem suportadas.

Posso considerar a implementação de suporte para esta proposta específica, pois isso ajudaria um pouco.

esversion: 11 parece certo para mim, @almercier! Implementar todos os novos recursos da linguagem é um grande empreendimento, e eu não esperaria que alguém fizesse tudo isso sozinho. Se você quiser se concentrar na expressão import , poderíamos lidar com os outros recursos em paralelo (ou publicar uma versão com suporte parcial para a nova edição de idioma).

Eu atualizei nosso submódulo para Test262 para que possamos ter uma cobertura melhor para os novos recursos de linguagem. Também criei um branch de rastreamento para uma nova versão secundária ; é aí que devemos lançar novos recursos.

JSHint versão 2.13.0, lançado hoje , inclui suporte para importações dinâmicas. Certifique-se de atualizar sua configuração para aceitar o novo recurso de idioma por meio de esversion: 11 ou posterior.

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

Questões relacionadas

Sriram-Ramaswami picture Sriram-Ramaswami  ·  5Comentários

damyanpetev picture damyanpetev  ·  4Comentários

Daniel-Hug picture Daniel-Hug  ·  3Comentários

TheSavior picture TheSavior  ·  3Comentários

stefanuddenberg picture stefanuddenberg  ·  7Comentários