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
- 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
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