eslint · Build e tipos
A mensagem
Parsing error: Unexpected token
O que significa
O ESLint parou enquanto lia a sintaxe, antes de aplicar qualquer regra ao arquivo. Muito mais vezes que código realmente quebrado, isso quer dizer que o parser não conhece aquela sintaxe — um arquivo TypeScript lido pelo parser padrão, JSX que nunca foi habilitado, ou decorators e sintaxe muito nova entregues a um parser antigo. Rodar npx eslint --print-config app.ts naquele arquivo exato mostra qual parser e quais parserOptions realmente se aplicam, então comece por aí em vez de adivinhar. TypeScript precisa do @typescript-eslint/parser, e se o arquivo não deve ser verificado, colocá-lo em ignores é a resposta certa.
A correção
npx eslint --print-config app.ts- Impresso por
- eslint
- Build e tipos
- 10
Erros de build são uma ferramenta recusando antes de qualquer execução, então não quebram nada no momento em que aparecem — mas fazem duas perguntas: você vai corrigir o tipo ou o caminho para bater com a forma real, ou vai empurrar aquela linha com um as any ou um comentário de supressão? E é aqui que as coisas verdadeiras só na sua máquina — caixa das letras, extensões e variáveis de ambiente — aparecem pela primeira vez.
Como ler uma mensagem de erro
- Leia da primeira linha para baixo. Quanto mais abaixo, mais são as tripas da ferramenta; a causa costuma estar no topo.
- Se há arquivo e número de linha, comece ali — não o quadro superior da pilha, e sim a linha mais alta que nomeie um arquivo seu.
- Pesquise a mensagem literal, mas tire primeiro seus caminhos e nomes de variáveis: é isso que impede a busca de casar.
- A mesma condição é redigida de formas diferentes conforme a versão. Se os resultados não batem, some o número da versão.
- Antes de colar uma correção, veja o que ela descarta. Algumas não dá para desfazer.
Perguntas frequentes
Q. O que significa “Parsing error: Unexpected token”?
O ESLint parou enquanto lia a sintaxe, antes de aplicar qualquer regra ao arquivo. Muito mais vezes que código realmente quebrado, isso quer dizer que o parser não conhece aquela sintaxe — um arquivo TypeScript lido pelo parser padrão, JSX que nunca foi habilitado, ou decorators e sintaxe muito nova entregues a um parser antigo. Rodar npx eslint --print-config app.ts naquele arquivo exato mostra qual parser e quais parserOptions realmente se aplicam, então comece por aí em vez de adivinhar. TypeScript precisa do @typescript-eslint/parser, e se o arquivo não deve ser verificado, colocá-lo em ignores é a resposta certa.
Q. Como corrigir?
npx eslint --print-config app.ts — antes de rodar, veja acima o que este comando descarta.
Q. Qual ferramenta imprime isso?
eslint. Fica em Build e tipos e a mensagem tem 4 palavras.