ionic-team / ionic-team/ionic-cli

`ionic cordova` wrapping swallows "Terminate batch job (Y/N)?" prompt, causing e.g. `cordova run` processes to not really stop and cause increasing port numbers to be used

Abierto
#2,916 3 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
2k
Forks
682
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Compare what happens when you hit Ctrl + C when running `ionic cordova run ...` vs. when running `cordova run ...`:

On the pure `cordova` command you get an additional prompt:
```
^CTerminate batch job (Y/N)? y
```

When you immediately run the same command again after killing it, it should just start a server again on the same port, `8000` by default. But with `ionic cordova ...` you get increasing port numbers:

```PS C:\Projects\Ionic Demo Projects\browserTest2> ionic cordova run browser
Running app-scripts build: --platform browser --target cordova
[23:04:40] build dev started ...
...
[23:04:55] build dev finished in 14.75 s
> cordova run browser
startPage = index.html
Static file server running @ http://localhost:8001/index.html
CTRL + C to shut down
200 /index.html (gzip)
...
404 /screen
200 /build/vendor.js (gzip)
[23:05:01] lint finished in 6.07 s
PS C:\Projects\Ionic Demo Projects\browserTest2> ionic cordova run browser
Running app-scripts build: --platform browser --target cordova
[23:05:19] build dev started ...
...
[23:05:34] build dev finished in 14.90 s
> cordova run browser
startPage = index.html
Static file server running @ http://localhost:8002/index.html
CTRL + C to shut down
200 /index.html (gzip)
...
404 /screen
```

vs.

```
PS C:\Projects\Ionic Demo Projects\browserTest2> cordova run browser
startPage = index.html
Static file server running @ http://localhost:8000/index.html
CTRL + C to shut down
200 /index.html (gzip)
...
404 /screen
^CTerminate batch job (Y/N)?
^C
PS C:\Projects\Ionic Demo Projects\browserTest2> cordova run browser
startPage = index.html
Static file server running @ http://localhost:8000/index.html
CTRL + C to shut down
304 /index.html
...
404 /screen
```

That this "Terminate batch job" prompt is important can be deduced from what happens when you first run `ionic cordova run` with increasing port numbers, then `cordova run` once with another +1 port and kill it with the prompt, after that the next run will get the initial port number again:

```
...
PS C:\Projects\Ionic Demo Projects\browserTest2> cordova run browser
startPage = index.html
Static file server running @ http://localhost:8003/index.html
CTRL + C to shut down...
^CTerminate batch job (Y/N)?
^CThe system cannot open the device or file specified.
PS C:\Projects\Ionic Demo Projects\browserTest2> cordova run browser
startPage = index.html
Static file server running @ http://localhost:8000/index.html
CTRL + C to shut down
...
```

PS: Found via StackOverflow question https://stackoverflow.com/q/47737515/252627

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

No files or tests are named. Reproduce the Ctrl+C behavior on Windows by comparing `ionic cordova run browser` with `cordova run browser`, then trace how the Ionic CLI wraps the Cordova process. Done means the termination prompt is handled and repeated runs reuse port 8000 instead of incrementing it.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript
Área
cli
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.