Pesquisa de site

node.js - Suporte de script leve em TypeScript com ESLint e Prettier


TypeScript/ESLint/Prettier se tornaram minhas ferramentas favoritas para todos os tipos de tarefas. No entanto, ainda estou tendo dificuldades com pequenos scripts Nodejs que têm apenas algumas dezenas de linhas de código. Para escrever um pequeno script Nodejs com uma experiência confortável de IDE, eu preciso:

  • Criar um package.json
  • Configure o tsconfig (compilação rigorosa)
  • Configure o ESLint
  • Configurar o Prettier
  • Compile para JavaScript se eu me importar com o desempenho na inicialização (veja abaixo)

Isso é bastante cerimônia para scripts pequenos. Eu tenho scripts onde aqueles arquivos de configuração são maiores do que o próprio código. A compilação de JavaScript é especialmente irritante se você só quer fazer um pequeno ajuste e depois executar o script novamente.

Em teoria, existe o ts-node para resolver esses problemas. No entanto, eu tenho dificuldades com o ts-node por causa das seguintes razões:

  • Desempenho de inicialização lento (>2 segundos para muitos scripts)
  • Não possui boa verificação de tipos a menos que você forneça configuração adicional
  • Falta uma boa experiência de IDE a menos que você configure todas as coisas mencionadas acima

Você tem alguma sugestão sobre como escrever rapidamente pequenos scripts, sem deteriorar a experiência com ESLint/Prettier?

Resposta #1

Minha solução em parte para isso foi escrever uma configuração do eslint que inspeciona o package.json e se configura automaticamente para qualquer ferramenta que meu projeto esteja usando

https://github.com/davidjbradshaw/eslint-config-auto

Para as outras partes, eu usaria um projeto básico como ponto de partida.

Resposta #2

Seus scripts TypeScript devem usar a mesma configuração ESLint que sua base de código. Não use scripts TypeScript em projetos que não sejam TypeScript.

Para tornar o código menos verboso, confira: https://github.com/google/zx