Mella
Fornido cambió su manejo de ruta con 4.0.0. Después de este cambio, arroja el siguiente error al confirmar de Visual Studio:
husky > pre-commit (node v12.12.0)/c/path/to/repo/node_modules/.bin/lint-staged:
line 5: cygpath: command not foundinternal/modules/cjs/loader.js:797 throw err;
^Error: Cannot find module 'C:\lint-staged\bin\lint-staged.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)
at Function.Module._load (internal/modules/cjs/loader.js:687:27)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main /run_main_module.js:17:11 { code: 'MODULE_NOT_FOUND', requireStack: []}
husky > pre-commit hook failed
(add --no-verify to bypass)
Sin embargo, al cometer de CLI, funciona como se esperaba. Dado que el mensaje de error tiene 'C:\lint-staged\bin\lint-staged.js'
como la ruta del archivo, asumo que Visual Studio está manejando la ruta de manera diferente.
Estoy tratando de encontrar una manera de hacer que esto funcione desde Visual Studio. Estoy en un entorno empresarial, por lo que espero poder incluir esta configuración dentro del repositorio (en lugar de requerir una configuración local manual).
Tengo la configuración de husky incluida en mi paquete.json como
...
"husky":{
"hooks":{ "pre-commit": "lint-staged"}
},
"lint-staged":{
"!(*.min.*)js": "eslint --fix"
},
...
Actualmente estoy usando:
nvm 1.1.7 con Nodo 12.16.1
husky 4.2.5
pelusa por etapas 10.1.3
estudio visual 2019
Mella
Encontré una solución, aunque no una explicación completa. El trabajo fácil es modificar su comando husky así:
...
"husky":{
"hooks":{ "pre-commit": "npx lint-staged"}
},
...
Especificar el comando NPM corrige el problema con la ruta. Encontré la sugerencia en esta respuesta a un problema de 2018 en el github en etapa de pelusa, fuente aquí.
Editar: solo quería llamar la atención sobre el comentario de TetraDev. Son correctos, debes incluir git add .
en las tareas preparadas de lint después de cualquier tarea de modificación de código (linting, más bonito, etc.) para que los cambios realizados se apliquen a su confirmación.
-
Funciona: este debería ser el valor predeterminado
– Aki
21 de noviembre de 2020 a las 8:59
-
Extraño. Solo Visual Studio requiere esto. La confirmación a través de CLI o SourceTree no requiere la anteposición de
npx
por alguna razón. También tenga en cuenta que Visual Studio no agrega automáticamente ningún cambio del linter al conjunto actual de cambios por etapas, así que agreguegit add .
hasta el final de su lista de comandos preparados para pelusa– TetraDev
17 de febrero de 2021 a las 22:06
-
@TetraDev es correcto. Recibí este error con GitHub Desktop. Todo funcionó como se esperaba desde la línea cmd sin ajustar el
package.json
– Portero
1 de septiembre de 2021 a las 0:46
-
salvó mi lunes. ¡Gracias!
– JBoothUA
3 ene a las 21:47
Tengo un error similar causado por el mismo gancho de confirmación previa, pero no puede encontrar yarn.js:
/c/Users/xxx/AppData/Roaming/npm/yarn: line 5: cygpath: command not found
internal/modules/cjs/loader.js:968
throw err;
^
Error: Cannot find module 'C:\program files (x86)\microsoft visual studio\2019\enterprise\common7\ide\commonextensions\microsoft\teamfoundation\team explorer\Git\node_modules\yarn\bin\yarn.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
at Function.Module._load (internal/modules/cjs/loader.js:841:27)
at Function.executeUserEntryPoint as runMain
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
Desafortunadamente, esto no ayuda:
"husky": {
"hooks": {
"pre-commit": "npx lint-staged"
}
},
Puedo resolver el problema eliminando el gancho de confirmación previa, pero quiero evitarlo.
-
Creo que debería hacer esto como su propia pregunta, probablemente no obtendrá mucha visibilidad aquí. sin embargo, encontré este que parece relacionado. Actualmente no estoy usando hilo, por lo que no he experimentado su problema de primera mano.
– Nick
20 dic 2020 a las 18:45
Michael Kriese
El problema con vs 2019 es que al git integrado le falta el cygpath.exe
presentar en C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\usr\bin
https://developercommunity.visualstudio.com/t/Missing-cygpathexe-in-git/1393876
jorge rozo
Desde la consola VS, ejecute:
npm install husky --save-dev
… y cometer de nuevo.