Closed 0xradical closed 1 year ago
@0xradical I assume c58170c751d019f269a5439b7b157212f11258c6 was mistakenly pushed here?
Otherwise, code looks good, but I want to test it out a bit before I merge.
@0xradical I assume c58170c was mistakenly pushed here?
Yes, I will create a separate branch with cleaned up history
Replaced by https://github.com/postcss/postcss-cli/pull/448
The presence of stdin doesn't necessarily mean there's an allocated tty. This breaks watch mode in non-TTY stdin contexts (e.g. docker, foreman, etc). A simple process.stdin.isTTY check would theoretically be enough but unfortunately, subprocesses don't have the same API, which are used extensively to test via calls to
spawn
.A simple solution is to inject an env var dependency where we tell the process that it's indeed a TTY-allocated process and so, watch mode with exit handling is good to go.
A more robust but also annoying solution would involve using an actual terminal emulator (like Microsoft's node-pty). Though the environment gets exponentially more difficult to setup since it involves compiling bindings, which require different requirements per OS.
Closes https://github.com/postcss/postcss-cli/pull/424