Cuando ejecutamos un build en EAS podemos lanzar distintos hooks antes de la compilación completa, por ejemplo pruebas o modificación de archivos. Hoy vamos a aprender cómo podemos realizar este proceso.
Expo permite ejecutar distintos hooks en el ciclo de vida del build: https://docs.expo.dev/build-reference/npm-hooks/
Para este caso vamos a utilizar justamente en el hook eas-build-post-install.
eas-build-post-install
: Este hook se ejecuta después de que expo prebuild
haya preparado todos los archivos, incluyendo AndroidManifest.xml
, por lo que cualquier permiso añadido por otros plugins estará presente y se puede eliminar en este punto.
Crearemos el siguiente script al que llamamos hook-eas.js
console.log("Ejecutando Hook");
Ahora vamos a nuestro archivo package.json y añadimos dentro de scripts
"scripts": { "hook-eas": "node hook-eas.js", "eas-build-post-install": "npm run hook-eas" },
Indicando la ruta correctamente.
Y esto eliminará ese permiso después de añadirse en tiempo de compilación.
Esto nos dá mucho juego, también podemos ejecutar nuestros scripts personalizados, ejecutar pruebas antes de realizar el build o incluso crear scripts para Android/iOS:
if (process.env.EAS_BUILD_PLATFORM === 'android') { console.log('Run commands for Android builds here'); } else if (process.env.EAS_BUILD_PLATFORM === 'ios') { console.log('Run commands for iOS builds here'); }
Al ejecutar el comando:
eas build -p android --profile production
Veremos en el Build Details cómo se ejecuta el Hook correcto:
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.