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 .