-
Notifications
You must be signed in to change notification settings - Fork 913
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
prompt: reimplement with ink #86
Comments
JSX transform is needed to enable ink as CLI tool. Plugin and plugin options are recommended by ink as part of the package setup process. <https://github.com/vadimdemedes/ink#getting-started> first step toward #86
I'm interested in helping. |
@huy-nguyen Awesome! You can ping me in the #commitlint slack channel if questions pop up: https://yargs.slack.com/messages/C7M8XJ4RL/ |
Looks like ink is rewritten with flex-box support via yoga-layout. Should make pulling this off easier: https://github.com/vadimdemedes/ink/tree/ef103e0e98f8f04d156834085699ed46a3874eae |
…upport-deprecated-license-object-properties fix: 83 support deprecated license object properties
i started looking into this and Ink seems nice, but using react to create cli seems like overkill to me |
I beg to differ in this case - Do you have a different approach in mind? |
I actually have a hobby project doing interactive commitlint Looks ok (I think 🤔): It is more concerned with typing than choosing(The design of commitzen, for example, focuses on making choices) If you guys think it's good, I'd be happy to rewrite it in ts and integrate it into this great project |
Hey @beetcb thanks for your suggestion! This was just merged: #2547 |
There are too many conflicts between these two implementations 💔.Let's see what @curly210102 thinks first |
@beetcb Glad you has the same needs and also taken actions. It is unlikely to merge code directly, I think the point is that these two implementations are from different motivation. cz-commitlint vs @commitlint/promptThe motivation of cz-commitlint is to provide commitizen adapter, help commitizen works with commitlint.config.js. commitlive vs @commitlint/prompt-clicommitlive is an independent commit tool, provides interactive CLI and message committer. The motivation is same with @commitlint/prompt-cli. We need a commit tool which is good enough to replace commitizen + cz-commitlint. And commitlive has taken the first step, I think there is one thing need to be considered firstly: the reasons to use repll instead of inquirer. |
@curly210102 Thank you for clearly demostrating the difference to me. < why choose repll instead of inquirer ?> The answerinquirer is a powerful command line interaction tool, but repll outperforms inquirer in these cases:
Cons of repllBut as the author of repll, I admit that repll has many shortcomings: poor API design, no DTS files, not well tested, etc. I will work on it in due time though, as I improve commitlive, repll will also be improved |
@escapedcat @beetcb Hi, sorry for the late reply. I have surveyed some interactive CLI tools and got some ideas, might help. Let's clearify the goal: Rewrite @commitlint/prompt-cli for better usability. Plan A: Relay on interactive CLI tool which is stable, extensible and maintainable
Plan B: Targeted, Create prompt CLI from zero to one
The risk:
conclusionTo rewrite @commitlint/prompt-cli, I wouldn't recommend inquirer.js. |
We have no numbers on who is using prompt-cli at the moment. I didn't try but can imagine it's not in a good state. |
The current implementation of
@commitlint/prompt
is tied tovorpal
.While
vorpal
provides great UX in a lot of ways it limits the adaptability of@commitlint/prompt
in important ways, e.g. #46, #63.The text was updated successfully, but these errors were encountered: