Ejecutar un script con Expo cuando generas un build con EAS.

Tiempo de lectura: 2 minutos

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.

Autobús en la noche - pexels

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:

Post install Hook Expo

Deja un comentario