magicserve 1.2.6 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/run.sh +30 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "magicserve",
3
- "version": "1.2.6",
3
+ "version": "1.2.7",
4
4
  "description": "Script to run local environments via magicserve.json",
5
5
  "files": [
6
6
  "run.sh",
package/run.sh CHANGED
@@ -164,6 +164,7 @@ start_tunnel() {
164
164
 
165
165
  echo "🚇 Iniciando túnel para $DOMAIN en puerto $PORT..."
166
166
  local TUNNEL_PID_FILE="$PIDS_DIR/${DOMAIN}_tunnel.pid"
167
+ local TUNNEL_URL_FILE="$PIDS_DIR/${DOMAIN}_tunnel.url"
167
168
 
168
169
  # Si pasaron false o null, no hacer nada
169
170
  if [ "$TUNNEL_SUBDOMAIN" == "false" ] || [ "$TUNNEL_SUBDOMAIN" == "null" ] || [ -z "$TUNNEL_SUBDOMAIN" ]; then
@@ -174,13 +175,28 @@ start_tunnel() {
174
175
 
175
176
  if [ "$TUNNEL_SUBDOMAIN" == "true" ]; then
176
177
  nohup npx localtunnel --port $PORT > "$TUNNEL_LOG" 2>&1 &
178
+ local PID=$!
179
+ echo $PID > "$TUNNEL_PID_FILE"
180
+ echo "✅ Túnel corriendo (PID: $PID)"
181
+ # Esperar a que localtunnel imprima la URL dinámica
182
+ echo "⏳ Esperando URL del túnel..."
183
+ sleep 4
184
+ local URL=$(grep -o 'https://[^ ]*' "$TUNNEL_LOG" 2>/dev/null | head -1)
185
+ if [ -n "$URL" ]; then
186
+ echo "$URL" > "$TUNNEL_URL_FILE"
187
+ echo "🌐 URL pública del túnel: $URL"
188
+ else
189
+ echo "⚠️ No se pudo obtener la URL del túnel aún. Revisa: $TUNNEL_LOG"
190
+ fi
177
191
  else
178
192
  nohup npx localtunnel --port $PORT --subdomain "$TUNNEL_SUBDOMAIN" > "$TUNNEL_LOG" 2>&1 &
193
+ local PID=$!
194
+ echo $PID > "$TUNNEL_PID_FILE"
195
+ local URL="https://${TUNNEL_SUBDOMAIN}.loca.lt"
196
+ echo "$URL" > "$TUNNEL_URL_FILE"
197
+ echo "✅ Túnel corriendo (PID: $PID)"
198
+ echo "🌐 URL pública del túnel: $URL"
179
199
  fi
180
-
181
- local PID=$!
182
- echo $PID > "$TUNNEL_PID_FILE"
183
- echo "✅ Túnel corriendo (PID: $PID)"
184
200
  }
185
201
 
186
202
  start_all() {
@@ -235,6 +251,7 @@ stop_all() {
235
251
  fi
236
252
 
237
253
  local TUNNEL_PID_FILE="$PIDS_DIR/${DOMAIN}_tunnel.pid"
254
+ local TUNNEL_URL_FILE="$PIDS_DIR/${DOMAIN}_tunnel.url"
238
255
  if [ -f "$TUNNEL_PID_FILE" ]; then
239
256
  local TPID=$(cat "$TUNNEL_PID_FILE")
240
257
  if ps -p $TPID > /dev/null; then
@@ -244,6 +261,7 @@ stop_all() {
244
261
  echo "⚠️ Proceso de túnel para $DOMAIN no encontrado."
245
262
  fi
246
263
  rm "$TUNNEL_PID_FILE"
264
+ rm -f "$TUNNEL_URL_FILE"
247
265
  fi
248
266
 
249
267
  # Limpiar de /etc/hosts
@@ -283,10 +301,17 @@ status() {
283
301
  fi
284
302
 
285
303
  local TUNNEL_PID_FILE="$PIDS_DIR/${DOMAIN}_tunnel.pid"
304
+ local TUNNEL_URL_FILE="$PIDS_DIR/${DOMAIN}_tunnel.url"
286
305
  if [ -f "$TUNNEL_PID_FILE" ]; then
287
306
  local TPID=$(cat "$TUNNEL_PID_FILE")
288
307
  if ps -p $TPID > /dev/null; then
289
- echo " ↳ 🚇 Túnel expuesto (PID: $TPID)"
308
+ local TURL=""
309
+ [ -f "$TUNNEL_URL_FILE" ] && TURL=$(cat "$TUNNEL_URL_FILE")
310
+ if [ -n "$TURL" ]; then
311
+ echo " ↳ 🚇 Túnel activo (PID: $TPID) → 🌐 $TURL"
312
+ else
313
+ echo " ↳ 🚇 Túnel activo (PID: $TPID)"
314
+ fi
290
315
  else
291
316
  echo " ↳ 🔴 Túnel: Archivo PID existe pero no está corriendo"
292
317
  fi