Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

376
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda