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

Aberta
#2,916 3 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
TypeScript
Estrelas
2k
Forks
682
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
typescript
Domínio
cli
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.