Skip to content

Source maps - EAS Build

This content is not available in your language yet.

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.