Skip to content
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

feat!: use a giant multiselect instead of individual toggles for features #695

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

haoqunjiang
Copy link
Member

@haoqunjiang haoqunjiang commented Feb 18, 2025

As we are adding more features, the number of toggles is getting out of hand. A multiselect could save a few keystrokes for most users.

I also take this opportunity to change the prompts library to @clack/prompts.
(For context: create-astro, sv, create-preact, create-solid, create-qwik all use @clack/prompts, while create-vite & create-next-app use prompts)

The color library is changed to picocolors. IMO kleur is still the smaller library because of treeshaking. But @clack/prompts already comes with picocolors as a dependency, so by not adding kleur, we save a few bytes.


This is a proof-of-concept PR. I haven't put much consideration into the code style yet. Nor have I updated the i18n messages. I will do that if this change is accepted.

See the result in a screen recording:
asciicast

…ures

As we are adding more features, the number of toggles is getting out of hand.
A multiselect could save a few keystrokes for most users.

I also take this opportunity to change the prompts library to `@clack/prompts`.
The color library is changed to `picocolors`. IMO `kleur` is still the smaller
library because of treeshaking. But `@clack/prompts` already comes with
`picocolors` as a dependency, so by not adding `kleur`, we save a few bytes.

This is a proof-of-concept change. I haven't put much consideration into the
code style yet. Nor have I updated the i18n messages. I will do that if this
change is accepted.

See the result in a screen recording:
[![asciicast](https://asciinema.org/a/lPaZSGz9LTd7mcWZeJAZxerhx.svg)](https://asciinema.org/a/lPaZSGz9LTd7mcWZeJAZxerhx)
… ci]

Still much work to do. But it's acdceptable for now.
Copy link
Member

@cexbrayat cexbrayat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, I like the idea 👍

@@ -45,19 +45,19 @@
}
},
"needsEslint": {
"message": "Add ESLint for code quality?",
"message": "Add ESLint for code quality",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is no longer a question. Can the Yes in the following options be removed? Otherwise, it looks a bit strange that both options contain Yes.

And the negative option has been removed, the negative attribute below can also be removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants