midudev / la-velada-web-oficial

Web oficial de La Velada IV de Ibai Llanos
https://lavelada.es
Other
1.39k stars 609 forks source link

/.husky/pre-commit for webstorm, others intellj idles and Github Desktop #796

Closed MattEzekiel closed 7 months ago

MattEzekiel commented 7 months ago

Descripción

Agregué unas lineas de código para poder hacer commits desde otro editor de texto como WebStorm

Problema solucionado

No permitia hacer commits desde otro editor de texto que no sea visual studio code

Cambios propuestos

# add this to ~/.huskyrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

Comprobación de cambios

Enlaces útiles

vercel[bot] commented 7 months ago

@MattEzekiel is attempting to deploy a commit to the midudev pro Team on Vercel.

A member of the Team first needs to authorize it.

SeanLuis commented 7 months ago

@MattEzekiel trabajo con WebStorm y si me dejaba hacer commits, inclusive ayer mismo subí un cambio y fue mergeado hoy. Y es extraño porque e intentado subir con VS Code y es con el que no me deja.

@midudev

MattEzekiel commented 7 months ago

@SeanLuis usas algún plugin en particular para webstorm? A mí ni con GitHub cli ni del mismo webstorm me dejaba hacer commits

SeanLuis commented 7 months ago

@SeanLuis usas algún plugin en particular para webstorm? A mí ni con GitHub cli ni del mismo webstorm me dejaba hacer commits

No 🫤, ninguno, uso las herramientas del propio IDE. Muy raro la verdad!

AlejandroSuero commented 7 months ago

Yo probé desde NeoVim (mi editor habitual), VSCode y desde herramientas como lazygit, Github Desktop y la UI de VSCode. No he tenido problemas desde ninguno.

Si tienes que añadir nvm, probablemente sea o un problema de instalación de tu editor por alguna razón, o lo más posible, que tu instalación de nvm no se esté llamando desde tu terminal.

MattEzekiel commented 7 months ago

@AlejandroSuero

Yo probé desde NeoVim (mi editor habitual), VSCode y desde herramientas como lazygit, Github Desktop y la UI de VSCode. No he tenido problemas desde ninguno.

Bueno desde githubdesktop tampoco me ha dejado hacer commits, por eso he utilizado el editor de webstorm... Pero con esta PR es la única manera en la que pude hacer commits y además respetar la configuración de husky

AlejandroSuero commented 7 months ago

@AlejandroSuero

Yo probé desde NeoVim (mi editor habitual), VSCode y desde herramientas como lazygit, Github Desktop y la UI de VSCode. No he tenido problemas desde ninguno.

Bueno desde githubdesktop tampoco me ha dejado hacer commits, por eso he utilizado el editor de webstorm... Pero con esta PR es la única manera en la que pude hacer commits y además respetar la configuración de husky

Desde qué sistema operativo estás trabajando? Para ver si lo puedo recrear e intentar ver el problema.

Y si puedes poner captura del error que te aparece, también sería de ayuda.

AlejandroSuero commented 7 months ago

He estado probando en WebStorm desde Windows y Mac, y este es el resultado.

image

image

Por si puedes agregar tu una imagen parecida para ver el problema.

MattEzekiel commented 7 months ago

Github CLI windows 10: image

Webstorm: image

El cambio: image

Por cierto tambíen marca estos errores: image

AlejandroSuero commented 7 months ago

@MattEzekiel voy a descargarme un Windows 10 para probar.

En la primera imagen, qué wsl estás usando y qué distribución, para descargarlos también. Y cómo estás abriendo Github Desktop desde wsl.

En la imagen de WebStorm, parece que lint-staged está funcionando correctamente.

En la imagen de los errores, no sé por qué está dando ese error, si todos usamos lo mismo. Es tu versión de Node la misma que el proyecto? Si lo es y has pnpm install o npm install, prueba a borrar el directorio y clonarlo de nuevo, a ver si ha habido alguna configuración que se haya roto por alguna razón.

Desde la terminal te deja hacer el commit o tienes el mismo error? Qué shell (bash, zsh, fish, pwsh, cmd ...) estás usando?

AlejandroSuero commented 7 months ago

@MattEzekiel he hecho unas pruebas, aquí las capturas.

Desde Ubuntu (wsl2) instalación limpia de Windows11 (no puedo emular el 10 desde mac m1).

He probado con la instalación limpia, y con la que tengo en mi PC. También he comprobado en máquinas virtuales con Linux (Ubuntu y Debian) y con un portátil viejo al que he instalado Manjaro (ArchLinux).

Los resultados han sido los mismos a estos:

[!important] gh repo clone MattEzekiel/la-velada-web-oficial nvm use pnpm install

image

[!note] Mismo cambio en el mismo archivo

image

[!important] Sin errores de husky pre-commit o lint-staged

[!important] npm install desde WebStorm, haciendo click en el diálogo que pregunta si hacerlo.

image

[!note] Mismo cambio en el mismo archivo

image

[!important] Sin errores de husky pre-commit o lint-staged

image

[!important] Sin errores de husky pre-commit o lint-staged

Creo que tu problema está en tu configuración. Comprueba que la tengas correctamente, que tienes node instalado, que manejador de node tienes si usas, la version de node del proyecto instalado y usada cuando manejas el repositorio.

Si utilizas wsl, que sea wsl2. Que tu Linux tenga en su archivo de la shell (.bashrc para bash, .zshrc para zsh ...) y que uses la carga de nvm si lo usas, que es lo que estás haciendo que haga husky con esta PR.

Asegúrate también que tienes el fork sincronizado. Yo lo he reproducido sin sincronizar, tal como lo tenías, así que no creo que ese sea el problema.

rm -rf el directorio y gh repo clone o la manera en la que clones el repositorio de nuevo e intenta reproducir mis pasos.

AlejandroSuero commented 7 months ago

Un cambio que si podrías hacer es crear una github action para no usar husky en el proyecto.

Pero eso sería crear una issue y hacer un PR con la propuesta y ver si se aprueba. Ya que sería una action más y el encargado del repo es @midudev.

Vídeo de midu al respecto:

Vídeo de midu sobre Github actions

MattEzekiel commented 7 months ago

Bien, ya he logrado hacer commits desde ambos, tanto webstrom como por github desktop con esta linea de código: npx.cmd lint-staged Ahora siendo que cmd es algo de windows @AlejandroSuero necesitaría si se puede corroborar que funcione en otras distribuciones

MattEzekiel commented 7 months ago

Si este paso ya no funciona, entonces si, probaría con una github action

AlejandroSuero commented 7 months ago

@MattEzekiel desde MacOS y Linux, no funciona.

husky failing on MacOSX

Tienes que tener algún problema con tu instalación de Node en Windows seguramente, porque al resto nos funciona. No te funciona de ninguna manera usando wsl con Ubuntu mismo? Webstorm no sé como funcionará pero VSCode al menos puedes trabajar desde wsl al igual que desde la máquina principal.

Pero prueba a hacer la github action a ver que tal funciona así.

AlejandroSuero commented 7 months ago

Comprueba que tienes node instalado correctamente, verificando las variables de entorno.

Haz which node y si no coincide con el nvm root si usas nvm desinstala Node y haz nvm root "C:\Program Files (x86)\Node", si no está creado mkdir "C:\Program Files (x86)\Node" y nvm install 18 nvm use 18.

Yo tuve que hacer algo parecido porque tenía una aplicación (starship) instalada con winget y scoop al mismo tiempo y daba fallos a la hora de usarla y actualizarla.

AlejandroSuero commented 7 months ago

image

En la variable de entorno PATH:

image

AlejandroSuero commented 7 months ago

@MattEzekiel He probado el commit https://github.com/midudev/la-velada-web-oficial/pull/796/commits/f03a473d9a1223d193b8fb095719b4d863b49406 MacOSX, Ubuntu y Windows.

Funciona en todos, pero en Ubuntu me sale esto:

image

MattEzekiel commented 7 months ago

@AlejandroSuero que raro lo de permission denied... Investigaré un poco más

AlejandroSuero commented 7 months ago

@AlejandroSuero que raro lo de permission denied... Investigaré un poco más

Lo sé, no debería pasar en teoría porque no se está ejecutando nada que necesite permisos.