Estoy intentando iniciar un servidor en vivo a petición en cualquier carpeta temporalmente con automator, y matarlo cuando haya terminado.
El servidor Live es un paquete de nodos. Lo he instalado globalmente. En terminal, si voy a cualquier carpeta y ejecutar; live-server --port=XXXX
inicia el servidor en vivo para esa carpeta. Pero no he podido ejecutarlo con automator.
He probado varias cosas;
Automator > Quickaction
Shell script Este no devuelve ningún error, pero nada parece ejecutarse.
#!/bin/bash
~/.zprofile live-server --port=5010 --open=$1
osascript -e 'set alertResult to display alert "Live Server running on \n'$1'\n PID: '$$'" buttons {"STOP"} as warning
if button returned of result = "STOP" then
do shell script "kill -9 '$$'
end if'
AppleScript Si lo ejecuto sin watch
parámetro funciona, pero está mirando ~/
si añado watch=
no funciona en absoluto (carpeta no encontrada)
on run {input, parameters}
set folderPath to (the POSIX path of input)
tell application "Terminal"
do script ("live-server --port=5010 --open=" & folderPath as string) & " --watch=" & folderPath as string
activate
end tell
return input
end run
Shell script Así que he decidido hacer un bash script. Contenido del automatizador;
source ~/.zprofile
~/.nvm/versions/node/v16.19.0/bin/launcher.sh $1
Aquí está el contenido de bash script. Esto funciona pero esta vez live-server devuelve 404 (Creo que se trata de permisos esta vez)
#!/bin/zsh
source ~/.zprofile
cd ~/.nvm/versions/node/v16.19.0/lib/node_modules/live-server
~/.nvm/versions/node/v16.19.0/bin/node live-server.js --port=5010 --open=${1}/
¿Puede alguien explicar qué está fallando?