Archivos tocados en confirmaciones que están en la twig actual pero no en el maestro (para Jenkins)

Intento escribir un command para get todos los files (como ruta / file) en las confirmaciones que están en mi twig actual pero no en el maestro.

Para dar un context, Jenkins pasará esos files (cuando coincidan con .jsx y .js) como arguments para eslint y publicará los problemas. No puedo ejecutar eslint en toda la base de código porque nunca se analizó con un linter, hay una cantidad infinita de errores.

Esto es lo que tengo hasta ahora:

nodo node_modules / eslint / bin / eslint.js -f checkstyle $ ($ (printf 'npm ejecutar compare_master_current') | tail -n +5) –ext .jsx> eslint.xml;

donde compare_master_current es:

git log –pretty = 'format:' – master solo de nombre … $ (git branch | grep \ * | awk '{print $ 2}')

Ambos están almacenados en mi package.json como scripts npm:

 "scripts": { "eslint:jenkins": "node node_modules/eslint/bin/eslint.js -f checkstyle $( $(printf 'npm run compare_master_current') | tail -n +5 ) --ext .jsx > eslint.xml; exit 0", "compare_master_current": "git log --pretty='format:' --name-only master..$(git branch | grep \\* | awk '{print $2}')" } 

Mi solución funciona, pero no soy un experto, así que: 1) No puedo estar seguro de que esté libre de errores 2) No puedo estar seguro de que sea la mejor manera de hacerlo (estoy bastante seguro de que hay margen de mejora)

Cualquier contribución será muy apreciada!

¡Gracias!

ACTUALIZACIÓN: para que funcione en Jenkins, tuve que hacer este cambio:

 "compare_master_current": "git log --pretty='format:' --name-only master.." 

No tengo idea de por qué el voto negativo pero agregué a Jenkins al título, para dejar más claro cuál es el context del command.

Una forma más sencilla de suprimir los errores en los files existentes sería poner esto en la parte superior de cada file:

 /* eslint-disable */ 

Luego, puede ejecutar eslint en toda la base de código, y solo informará los errores de los nuevos files que no tienen esta supresión.

De esta forma, también puede limpiar gradualmente los errores existentes file por file y eliminar la supresión de esos files.