Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

377
Visualizações
Prettier on git commit hook muestra problemas de estilo de código, pero solo diferencias CRLF

Estoy usando Prettier en mi proyecto TypeScript. Formato todos los archivos al guardarlos en Visual Studio Code. También configuré un git hook de confirmación previa con Husky que verifica el formato de todos los archivos.

Así es como se ve mi archivo de enlace pre-commit :

 #!/bin/sh . "$(dirname "$0")/_/husky.sh" cd ./MyApp/ClientApp npx prettier --check .

Ahora viene la parte divertida. Trabajo con archivos en el directorio MyApp/ClientApp con VS Code, que hace todo el formato al guardar. Hasta aquí todo bien.

Sin embargo, cuando intento realizar una confirmación, se ejecuta el gancho de confirmación previa de Prettier y aparece el siguiente error:

 git commit Checking formatting... [warn] src\dataTypes\numeratorObjectType.ts [warn] src\viewModels\numeratorViewModel.ts [warn] Code style issues found in the above file(s). Forgot to run Prettier? husky - pre-commit hook exited with code 1 (error)

Si abro estos archivos en VS Code y los guardo, no pasa nada porque ya han sido formateados.

Así que ejecuto Prettier manualmente ejecutando el siguiente comando en el directorio MyApp/ClientApp :

 npx prettier --write .

Este comando genera todos los archivos, con los dos problemáticos aparentemente reformateados:

ingrese la descripción de la imagen aquí

También veo estos archivos cambiados en git. Sin embargo, git diff no muestra nada. Cuando ejecuto git add . , recibo la siguiente advertencia:

 The file will have its original line endings in your working directory. warning: LF will be replaced by CRLF

Lo que significa que estos archivos solo tenían problemas con los finales de línea. De acuerdo con este hilo , configuré los siguientes parámetros de configuración en mi repositorio de git:

 git config core.autocrlf true git config core.safecrlf false

Parece que desaparece la advertencia con CRLF al hacer git add , pero aún no resuelve el problema con Prettier. Todavía muestra problemas de estilo de código, aunque no hay diferencias reales/problemas de estilo en los archivos.

Estoy en Windows, ya que eso podría ser importante, supongo.

¿Alguna idea de lo que puede estar mal aquí? Actualmente, verificar el formato de Prettier en el enlace previo a la confirmación no tiene sentido.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Después de profundizar más en el problema y gracias a los comentarios de @eDonkey y @torek , encontré una solución. Lo probé durante 2 días y parece funcionar.

Tenga en cuenta que esta solución probablemente funcione para un proyecto con desarrolladores solo de Windows. Si todos ustedes están en Mac/Linux, probablemente querrán usar LF en lugar de CRLF. Si el equipo es mixto, no estoy seguro de que haya una solución perfecta aquí.

Primero, configure git para que no haga la conversión CRLF -> LF:

 git config core.autocrlf false

A continuación, configure Prettier para usar CRLF como carácter de final de línea. Puede hacerlo agregando la siguiente configuración en el archivo de configuración de Prettier :

 "endOfLine": "crlf"

Si algunos de sus archivos ya tienen terminaciones de línea LF, es posible que deba convertirlos a CRLF. Es suficiente usar npx prettier --write . para eso.

Lo único que noté es que git ahora agrega el carácter ^M al final de cada línea:

ingrese la descripción de la imagen aquí

Pero no es un problema para mí.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda