pruebas
This commit is contained in:
@@ -177,3 +177,4 @@ WARNING: Restricted methods will be blocked in a future release unless native ac
|
|||||||
(thunar:793578): thunar-WARNING **: 18:49:45.891: Thumbnailer Proxy Failed ... starting attempt to re-initialize
|
(thunar:793578): thunar-WARNING **: 18:49:45.891: Thumbnailer Proxy Failed ... starting attempt to re-initialize
|
||||||
|
|
||||||
(thunar:793578): thunar-WARNING **: 18:49:46.732: ThunarThumbnailer: failed to create proxy: Cannot autolaunch D-Bus without X11 $DISPLAY
|
(thunar:793578): thunar-WARNING **: 18:49:46.732: ThunarThumbnailer: failed to create proxy: Cannot autolaunch D-Bus without X11 $DISPLAY
|
||||||
|
Gdk-Message: 05:42:34.451: Error reading events from display: Broken pipe
|
||||||
|
|||||||
Executable
+83
@@ -0,0 +1,83 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# build-gioser-web.sh — wrapper para compilar gioser-web a WASM
|
||||||
|
# y generar los bindings JS via wasm-bindgen.
|
||||||
|
#
|
||||||
|
# Uso:
|
||||||
|
# ./scripts/build-gioser-web.sh [dev|release] (default: release)
|
||||||
|
#
|
||||||
|
# Output:
|
||||||
|
# crates/apps/gioser-web/pkg/{gioser_web.js, gioser_web_bg.wasm, ...}
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
MODE="${1:-release}"
|
||||||
|
case "$MODE" in
|
||||||
|
dev)
|
||||||
|
PROFILE_FLAG=""
|
||||||
|
PROFILE_DIR="debug"
|
||||||
|
;;
|
||||||
|
release)
|
||||||
|
PROFILE_FLAG="--release"
|
||||||
|
PROFILE_DIR="release"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Uso: $0 [dev|release]" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||||
|
cd "$REPO_ROOT"
|
||||||
|
|
||||||
|
# Sanity check: target wasm32-unknown-unknown disponible.
|
||||||
|
if ! ls /usr/lib/rustlib/wasm32-unknown-unknown >/dev/null 2>&1 \
|
||||||
|
&& ! (command -v rustup >/dev/null 2>&1 \
|
||||||
|
&& rustup target list --installed 2>/dev/null | grep -q wasm32-unknown-unknown); then
|
||||||
|
echo "✗ falta el target wasm32-unknown-unknown" >&2
|
||||||
|
echo " con rustup: rustup target add wasm32-unknown-unknown" >&2
|
||||||
|
echo " en Artix/Arch suele venir con el paquete rust base" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Sanity check: wasm-bindgen-cli disponible.
|
||||||
|
if ! command -v wasm-bindgen >/dev/null 2>&1; then
|
||||||
|
echo "✗ falta wasm-bindgen-cli" >&2
|
||||||
|
echo " instalar con: cargo install wasm-bindgen-cli --version 0.2.99" >&2
|
||||||
|
echo " (la versión debe coincidir con la del Cargo.lock — buscá la entrada" >&2
|
||||||
|
echo " [[package]] name = \"wasm-bindgen\")" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "▶ cargo build $MODE → wasm32-unknown-unknown"
|
||||||
|
cargo build $PROFILE_FLAG --target wasm32-unknown-unknown -p gioser-web
|
||||||
|
|
||||||
|
WASM_IN="target/wasm32-unknown-unknown/$PROFILE_DIR/gioser_web.wasm"
|
||||||
|
PKG_OUT="crates/apps/gioser-web/pkg"
|
||||||
|
|
||||||
|
if [[ ! -f "$WASM_IN" ]]; then
|
||||||
|
echo "✗ no se generó $WASM_IN" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "▶ wasm-bindgen → $PKG_OUT"
|
||||||
|
mkdir -p "$PKG_OUT"
|
||||||
|
wasm-bindgen "$WASM_IN" --out-dir "$PKG_OUT" --target web
|
||||||
|
|
||||||
|
# Reporte de tamaños.
|
||||||
|
WASM_OUT="$PKG_OUT/gioser_web_bg.wasm"
|
||||||
|
if [[ -f "$WASM_OUT" ]]; then
|
||||||
|
size_bytes=$(stat -c%s "$WASM_OUT")
|
||||||
|
size_kib=$(( size_bytes / 1024 ))
|
||||||
|
if command -v gzip >/dev/null 2>&1; then
|
||||||
|
gz_bytes=$(gzip -c "$WASM_OUT" | wc -c)
|
||||||
|
gz_kib=$(( gz_bytes / 1024 ))
|
||||||
|
echo "✓ $WASM_OUT — ${size_kib} KiB (~${gz_kib} KiB gzipped)"
|
||||||
|
else
|
||||||
|
echo "✓ $WASM_OUT — ${size_kib} KiB"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Para probarlo:"
|
||||||
|
echo " python3 -m http.server -d crates/apps/gioser-web 8080"
|
||||||
|
echo " → http://localhost:8080/"
|
||||||
Reference in New Issue
Block a user