ihm_client/scripts/setup-remote-deps.sh

50 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env sh
set -eu
echo "[ihm_client] Préparation des dépendances wasm (pkg/sdk_client)"
PKG_DIR="$(pwd)/pkg"
if [ -d "$PKG_DIR" ] && [ -f "$PKG_DIR/sdk_client.js" ]; then
echo "[ihm_client] pkg déjà présent, rien à faire."
exit 0
fi
SDK_URL="${SDK_CLIENT_PKG_URL:-}"
SDK_TARBALL="${SDK_CLIENT_PKG_TARBALL:-}"
SDK_BASE="${SDK_CLIENT_PKG_BASE:-}"
mkdir -p "$PKG_DIR"
if [ -n "$SDK_URL" ]; then
echo "[ihm_client] Téléchargement depuis SDK_CLIENT_PKG_URL=$SDK_URL"
TMP_TGZ="/tmp/sdk_client_pkg.tgz"
curl -fsSL "$SDK_URL" -o "$TMP_TGZ"
tar -xzf "$TMP_TGZ" -C "$PKG_DIR" --strip-components=1 || tar -xzf "$TMP_TGZ" -C "$PKG_DIR" || true
rm -f "$TMP_TGZ"
elif [ -n "$SDK_TARBALL" ] && [ -f "$SDK_TARBALL" ]; then
echo "[ihm_client] Extraction du tarball local $SDK_TARBALL"
tar -xzf "$SDK_TARBALL" -C "$PKG_DIR" --strip-components=1 || tar -xzf "$SDK_TARBALL" -C "$PKG_DIR" || true
elif [ -n "$SDK_BASE" ]; then
echo "[ihm_client] Téléchargement des fichiers depuis SDK_CLIENT_PKG_BASE=$SDK_BASE"
# Liste des fichiers nécessaires issus de wasm-pack
for f in \
sdk_client.js \
sdk_client_bg.wasm \
sdk_client.d.ts \
sdk_client_bg.js \
sdk_client_bg.wasm.d.ts \
package.json \
README.md; do
echo " - $f"
curl -fsSL "$SDK_BASE/$f" -o "$PKG_DIR/$f"
done
else
echo "[ERREUR] pkg/sdk_client absent et aucune source fournie."
echo "Définissez SDK_CLIENT_PKG_URL (tar.gz), SDK_CLIENT_PKG_BASE (URL raw du dossier pkg) ou montez un tarball local via SDK_CLIENT_PKG_TARBALL."
exit 2
fi
test -f "$PKG_DIR/sdk_client.js" || { echo "[ERREUR] pkg/sdk_client.js introuvable après extraction"; exit 3; }
echo "[ihm_client] Dépendance wasm prête."