Quiero ejecutar JSLint antes de que se realice una confirmación en un repositorio Mercurial o Git.Gancho precommitido para JSLint en Mercurial y Git
Quiero esto como un paso automático que se configura en lugar de depender del desarrollador (sobre todo yo) recordando ejecutar JSLint de antemano. Normalmente corro JSLint mientras desarrollo, pero quiero especificar un contrato en archivos JS que pasen JSLint antes de comprometerse con el repositorio.
Para Mercurial this page, explica la sintaxis precommit, pero las únicas variables que parecen estar disponibles son los ID Parent1 y del conjunto de cambios parent2 involucrados en la confirmación. Lo que realmente quiero es una lista de nombres de archivos que están involucrados con la confirmación, para poder elegir el archivo .js y ejecutar jslint sobre ellos.
Similar issue for GIT, la información predeterminada disponible como parte de la secuencia previa de ejecución parece limitada.
Lo que podría funcionar es llamar al estado hg status/git como parte del script precommit, analizar ese resultado para encontrar archivos JS y luego hacer el trabajo de esa manera. Sin embargo, esperaba algo más fácil y no estoy seguro de si el estado de las llamadas como parte de un enlace precommitido refleja la información correcta. Por ejemplo, en Git, si aún no se han agregado los archivos de cambios, pero la confirmación de git usa -a, ¿aparecerían los archivos en la sección correcta del resultado del estado de git como parte del conjunto de compromisos?
actualización: Tengo algo de trabajo, se puede ver aquí: http://github.com/jrburke/dvcs_jslint/
simplemente para la corrección, aquí hay algunas instrucciones para configurar [JSLint como una confirmación en Subversion Hook] (http://www.amaxus.com/cms-blog/jslint-as-subversion-hook). –
Tenía la misma necesidad, así que escribí este http://bitbucket.org/robmadole/hgjslint/ –