Aller au contenu

Source maps - EAS Build

Si tu builds avec EAS Build, Pionne fournit une commande qui configure tout en une seule fois.

Fenêtre de terminal
npx @pionne/react-native setup

Cette commande :

  1. Demande ton PIONNE_AUTH_TOKEN (token user, différent du token projet).
  2. Demande ton PIONNE_PROJECT_ID.
  3. Crée trois EAS Secrets via eas secret:create.
  4. Écrit eas-build-on-success.sh à la racine du projet.
  5. Référence le hook dans eas.json.

À chaque build EAS qui réussit, le hook upload automatiquement le .map Metro vers Pionne avec le bon release et la bonne platform.

VariableSourceUsage
PIONNE_AUTH_TOKENCompte user (Settings → Auth tokens)Authentification de l’upload
PIONNE_PROJECT_IDSettings du projetCible de l’upload
PIONNE_APIhttps://api.pionne.appOverride pour self-host

Le fichier généré ressemble à :

#!/usr/bin/env bash
set -e
if [ -z "$PIONNE_AUTH_TOKEN" ] || [ -z "$PIONNE_PROJECT_ID" ]; then
echo "Pionne: secrets manquants, skip upload"
exit 0
fi
RELEASE="${EAS_BUILD_GIT_COMMIT_HASH:-$(node -p "require('./app.json').expo.version")}"
PLATFORM="$EAS_BUILD_PLATFORM"
npx @pionne/react-native upload-sourcemaps \
--token "$PIONNE_AUTH_TOKEN" \
--project "$PIONNE_PROJECT_ID" \
--release "$RELEASE" \
--platform "$PLATFORM"

Tu peux le modifier : par exemple, forcer un release lu depuis app.json plutôt que le commit hash.

{
"build": {
"production": {
"env": {
"PIONNE_API": "https://api.pionne.app"
}
}
}
}

Les secrets eux-mêmes sont injectés automatiquement par EAS.

Dans le dashboard Pionne, ouvre Settings → Source maps. Tu dois voir une entrée par (release, platform) avec une taille en KB et la date d’upload.