bombshell-dev / clack

Effortlessly build beautiful command-line apps
https://clack.cc
5.23k stars 88 forks source link

[Bug] ERR_TTY_INIT_FAILED on git bash (MINGW64) #192

Open brc-dd opened 2 months ago

brc-dd commented 2 months ago

Environment

Describe the bug

https://github.com/natemoo-re/clack/blob/45ee73bf33b25f9a8c7e1bb6117ccc165478bf4d/packages/core/src/prompts/prompt.ts#L82

This line throws ERR_TTY_INIT_FAILED when used inside terminals like Git Bash, most likely because of the extra basedir stuff added by package managers in node_modules/.bin/*.

To Reproduce

You'll need a Windows machine (or VM, I'm using UTM on mac) with Git Bash installed. Then try running any project using clack. For example with VitePress:

mkdir foo
npm add -D vitepress
npx vitepress init

Or with Svelte:

npm create svelte@latest foo

Expected behavior

Work similar to other terminals or maybe a fallback strategy in case write stream can't be opened on stdin.

Additional Information

Downstream issues - https://github.com/vuejs/vitepress/issues/3841, https://github.com/sveltejs/svelte/issues/8595, https://stackoverflow.com/q/75750730/11613622,