Antes de comprometerse

Hay ciertas acciones que se deben realizar antes de que el código entre en la confirmación y el repositorio, por lo que al menos no se debe sufrir más adelante con rebase cada vez. La solución que describiré es breve y sencilla, pero facilita mucho la vida del desarrollador.





El propósito más obvio es ejecutar pruebas, pero para mí también es construir un paquete. Dado que no uso watch y regularmente me olvido de ejecutar el comando de compilación a mano, las versiones irrelevantes de los paquetes a menudo entran en la confirmación, y las actuales deben confirmarse a continuación. Resulta no muy ordenado. Para javascript, la utilidad de confirmación previa nos ayudará. Utiliza hook git, pero te da la oportunidad de no entrar en todas estas tripas y administrar la galaxia sin salir de npm. Además, esta mecánica no se olvidará al cambiar el repositorio.





Vayamos de manera práctica: agregue la biblioteca al proyecto





npm i pre-commit --save-dev
      
      



En package.json, agregue el comando de compilación a la sección de confirmación previa





"pre-commit": [
 "build"
],
      
      



Sin embargo, los archivos de paquete recopilados no se incluirán en la confirmación, ya que El git necesita indicar explícitamente los archivos modificados y agregados y agregar todo parece bastante peligroso. Para que todo comience a funcionar correctamente, definamos el comando add-bundles que agrega archivos de paquete.





"scripts": {
 "build": "npx rollup --config rollup.config.js",
 "add-bundles": "git add dist/*",
 "test": "echo \"Error: no test specified\" && exit 1"
},
      
      



Y agregue el comando en sí mismo a la sección de confirmación previa





"pre-commit": [
 "build", "add-bundles"
],
      
      



Ahora, justo antes de la confirmación, el paquete se ensambla inmediatamente y se agrega a la confirmación. Si necesita un ejemplo funcional completo, hay uno en el repositorio de esta biblioteca .





Este paquete tiene análogos para otros ganchos, por ejemplo, este .








All Articles